cancel
Showing results for 
Search instead for 
Did you mean: 

PO release workitem won't clear - 'Check FM ends with exception'

Former Member
0 Kudos

Hi all,

I've got a workflow with multiple approval steps even after all steps in the PO complete successfully, i have one work item in the middle of the approval process that won't clear and the event log shows 'Check FM ends with exception' even though the PO is released successfully.

i've got the BUS2012 RELEASED event set as a terminating even to task TS20000166 as standard but i think the release code might not be getting received correctly. How can i debug this or fix it?

Regards

Amir

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

got to SWEINST, dobule click release event and remove the

ME_REL_CHECK_EVENT_PARAM module. Hop this will work and occur event.

<removed by moderator>

Edited by: Mike Pokraka on Aug 4, 2008 11:19 AM

Former Member
0 Kudos

>

> got to SWEINST, dobule click release event and remove the

> ME_REL_CHECK_EVENT_PARAM module. Hop this will work and occur event.

>

> <removed by moderator>

>

> Edited by: Mike Pokraka on Aug 4, 2008 11:19 AM

THANKS FOR THIS REPLY! THIS SOLVED MY PROBLEM! THANK YOU VERY MUCH!

KKilhavn
Active Contributor
0 Kudos

Where is it you think the release code is not getting received correctly?

In the workflow: it would be available in the container I assume, so it should be easy to check.

In the check function: hopefully it is a customer function, so add a few lines of code to send the event container contents as an e-mail to yourself.

Former Member
0 Kudos

Hi Kjetil

Unfortunately it is not a customer function. ME_REL_CHECK_EVENT_PARAM is a SAP standard Check Function and has trapped me before. Basically it checks the workitem container (before image if you like) against the event container. (see Below)

    • Get the release code from the workitem container.

swc_get_element wi_container 'RELEASECODE' wi_release_code.

if sy-subrc ne 0.

raise container_error.

endif.

    • Get the release code from the event container.

swc_get_element event_container 'RELEASECODE' evt_release_code.

if sy-subrc ne 0.

raise container_error.

endif.

    • Compare the two release codes; if not equal: raise exception.

if wi_release_code ne evt_release_code.

raise release_codes_different.

endif.

Weird, huh.

Regards

Gareth

Former Member
0 Kudos

> Where is it you think the release code is not getting

> received correctly?

>

> In the workflow: it would be available in the

> container I assume, so it should be easy to check.

>

> In the check function: hopefully it is a customer

> function, so add a few lines of code to send the

> event container contents as an e-mail to yourself.

The reason i say the release code is most likely not being received correctly is because when i create the same event with SWUE and pass it both the PO number and release code, it clears it from the inbox of the user. this is the only way I can clear their inbox.

The weird thing is in a three step approval, the work items for the first and third step and removed correctly.

Former Member
0 Kudos

Hi Amir,

So in the middle step, what value is in the container for Release_code?

Regards

Gareth

Former Member
0 Kudos

According to the log it corresponds with the release strategy.

The weird thing is if you look at the workflow log for the 'broken' step it shows as executed, goes to the next step and then removes the work item, then it reappears as if it's an agent of the next step as well and then also changes the log to say that it's unprocessed. It's insane!!!

But as it moves on to the next step anyway, the log of that step shows that it has been executed and the workflow completed successfully. The PO is definitely released anyway. What would make a PO release step work one minute then not work other than the RELEASED step not working correctly?

Former Member
0 Kudos

Hi Amir,

Is there a rollback in the system log (SM21) at the same time? Very strange. I wonder if there is an enqueue occurring stopping the update?

At this point I would be creating an OSS message for this problem.

Regards and Apologies for not having any better ideas

Gareth

Former Member
0 Kudos

Hi Amir,

It is failing due to a check function in transaction SWEINST. The check function is:

ME_REL_CHECK_EVENT_PARAM.

Most likely cause is either lack of release code, or the release code coming out of the event is different ot that expected.

Regards

Gareth

Former Member
0 Kudos

> Hi Amir,

>

> It is failing due to a check function in transaction

> SWEINST. The check function is:

> ME_REL_CHECK_EVENT_PARAM.

>

> Most likely cause is either lack of release code, or

> the release code coming out of the event is different

> ot that expected.

>

> Regards

>

> Gareth

Gareth,

I understand what you mean but my point is what is the cause? I mean it's an event being fired off from the application so I have no control over it. For example, is it data missing from a release strategy or release strategy setup incomplete or something like that?

It could be something i've done but i'm not sure where to look because i Have no visibility of the even container.

Former Member
0 Kudos

Hi Amir,

For the step in question:

1) What is the release code in the workitem container;

2) What is the release code in the event container;

3) did the document crelease correctly?

If the release code in the WI container is null, for example - look to the binding between the workflow and the step for the issue. If the event parameter is different to the workitem parameter (and of course the workitem value for release code is not null), then I would be talking with the purchasing functional people to get an understanding of how they have configured the release strategies.

The most likely is the workitem container release code not being bound to the workflow container, but this is a guess based on what I have seen here, and of course I cannot see your system.

Hope this helps

Gareth

Former Member
0 Kudos

Hi Amir,

A little extra. Confirm there is a value in the workitem container for release code. If there is then As Kjetil said, you can mail the event container to yourself. But as this is not a customer function you will have to:

1) Create a Standard task to using PO.display and ensure the task container is the same as the event container. In agent assignment assign to your user ID.

2) link task to the PO.Released event and bind.

3) Check the task container in the workflow log.

Regards

Gareth