Skip to Content

Corrupted Provisioning Tasks

Nov 23, 2016 at 09:29 AM


avatar image

Hi All,

Want to know your opinion on our issue in our non-production system. As per checking on why the users are not properly being provisioned, I just found out that some of the Modify Task (Both ABAP and JAVA) are throwing error when you look into them. Please see error below:

As per further investigation, something that I want to confirm is that task in PF should not have repositories attached to them right? I have seen that these tasks that having this error is having a repositories attached to them:

I have checked in mc_jobs and saw that the status text of these pf tasks are "Error retrieving job definition", but whats puzzling me is if you check the Job Definition field of this job the value is not NULL:

Want to know if I recreate these task in Provisioning Framework manually will it create inconsistencies? In addition, do you have any idea that might cause these errors?



error-1.png (6.6 kB)
error-2.png (28.4 kB)
screenshot-1.png (10.0 kB)
screenshot-2.png (6.7 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
Dominik Trui Nov 23, 2016 at 08:15 PM

Hello Santi,

I've had this error some years ago, too. I somehow managed to wreck the job definiton (caused by the wacky MMC and most likely some drag and drop thingy). Luckily, all I did was editing the scripts and I could easily restore two of the three edited ones.

There was no way of restoring the messed up job definition. Before setting up anything, try this:

Copy the definition, remove the prefix and use some base64 decoder on the web. You'll see some xml stuff which is the definition. Do this for a working job, too, so you have something to compare. Compare the structure and determine where the corrupted definition ends. Maybe only some of the ending tags are missing and you can repair the job definition. After doing that you have to encode the definition, add the prefix and update the mc_jobs table.

I couldn't do this way back then. But I managed to get two script definitions out healthy. By importing the job from the old transport export I was able to almost restore my work. The third script was luckily a smaller one which was easy to adapt.

As it's not your prod system, I'd try this:

Export the task from prod and import to somewhere else in the tree. Best would be your own provisioning folder. No updating, but a new import! After that delete the job of the affected task (not the task itself!) and copy the job of the imported task. A bit wacky, but it should do the trick. A similar action would be to copy the job definition of the prod mc_jobs and update the mc_jobs of the affected system (IdM does the same, so you could take that shortcut). Don't forget to set the where clause or you'll mess up the whole system. My motto on these kind of update queries: First do a select and then rewrite it to the update statement.

"Apply pending on group" task, hm. I don't know it by hand, but it could be that the taskid / guid of the task is stored in some constant. If you delete the task and there is such a constant you would have to update it, too.

Best regards

Dominik Trui

10 |10000 characters needed characters left characters exceeded
Dominik Trui Dec 01, 2016 at 05:28 PM

Funny coincidence:

Yesterday I messed up a new job by adding "some character" (it was displayed as a bold US in notepad++) in a script name of a local script in the job. After decoding, removing the culprit, encoding and updating the job definition the job was fine again. Weird stuff...

10 |10000 characters needed characters left characters exceeded
Santi Obejero Dec 12, 2016 at 12:38 AM

Dear Dominik,

Crazy times at work, sorry for the delayed response. Your approach works most of the time, actually I believe the best one. However there are chances that even you do a comparison of html files between the two task (one with error and one without) you cant find anything logically misaligned. What I did instead for these type of tasks is check the tasks and see where they are link with. Then I recreated them to ensure that they are still intact after recreating them. After applying your solution and the one I did all corrupted tasks are working again. Thanks a lot for the help!

Best Regards,


10 |10000 characters needed characters left characters exceeded