Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

CONF21 Inbound Idoc with process Code:CON2 not updated in SAP

Former Member
0 Kudos

Dear Friends

I am facing Problem in Inbound production order:

We have created one Production Order (Tcode: CO01) and subsequently

confirmed the production order using (Tcode: CO15). It updated goods

receipt (finished product) and goods issue (for semi finished and raw)

in stock (checked and confirmed through Tcode: MMBE for respective

Materials. The process is working fine in SAP R/3.

To achive the above process i.e. updatation of production order through inbound Idoc (CONF21) send by Business connecter not updating stock in SAP (It may be updated some where we don't know where to look) But Idoc status is 53 (application document posted).

what could be the problem? and where we can observe that stock updation except MMBE(it is not updated in transaction).

If there is any other Idoc is there to do the above process pls. help us.

Thanks in advance

K.R.Reddy

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi K.R.,

First of all you need to check if everyting works fine.

For this specific IDoc you can check table T705Z with KANAL='2' and AKTIO='4' and with DATUM=<Date of receiving IDoc>. You can also use UZEIT as a filter here.

Why?

At the moment this IDoc (CONF21) comes inbound to SAP, through the process code CON2 it actually must start function module KK2A_GET_DATA_FROM_IDOC. This places the entry and you can then see that your function has been called.

Secondly inside function module KK2A_GET_DATA_FROM_IDOC the process for updating is started in a parallel (asynchronous) process. Actually function module PROCESS_CC2_MESSAGES_PARALLEL is triggered as a background task that controls its own parallel processing. On its turn this calls the logic in function module PLANT_DATA_ANALYZE_PARALLEL and therein the function module PROCESS_CC234_MESSAGES.

With these mentioned function modules a table is preserved (named ET_PROT) and this table contains (internally) any message, so also error message text.

Unfortunately you are not able to get to this internal table if the proces is running in the background.

Now when SAP calls the parallel process (in background), programcontrol is returned immediately. So function module KK2A_GET_DATA_FROM_IDOC can then finish. Finishing here without setting any error status will lead to final status 53 for the inbound IDoc.

And as you can imagine, it does NOT wait for the result of the background process. Therefore status 53 represents only the fact that function module KK2A_GET_DATA_FROM_IDOC has runned without errors. It does not report errors possibly occuring in PROCESS_CC2_MESSAGES_PARALLEL.

Now how is this then to be solved?

You need to create your own data for running the above mention logic, preferrably based on failed IDoc data and then debug the whole thing (to find the error).

Hope this helps you a bit on your way,

Regards,

Rob.

3 REPLIES 3

Former Member
0 Kudos

Hi K.R.,

First of all you need to check if everyting works fine.

For this specific IDoc you can check table T705Z with KANAL='2' and AKTIO='4' and with DATUM=<Date of receiving IDoc>. You can also use UZEIT as a filter here.

Why?

At the moment this IDoc (CONF21) comes inbound to SAP, through the process code CON2 it actually must start function module KK2A_GET_DATA_FROM_IDOC. This places the entry and you can then see that your function has been called.

Secondly inside function module KK2A_GET_DATA_FROM_IDOC the process for updating is started in a parallel (asynchronous) process. Actually function module PROCESS_CC2_MESSAGES_PARALLEL is triggered as a background task that controls its own parallel processing. On its turn this calls the logic in function module PLANT_DATA_ANALYZE_PARALLEL and therein the function module PROCESS_CC234_MESSAGES.

With these mentioned function modules a table is preserved (named ET_PROT) and this table contains (internally) any message, so also error message text.

Unfortunately you are not able to get to this internal table if the proces is running in the background.

Now when SAP calls the parallel process (in background), programcontrol is returned immediately. So function module KK2A_GET_DATA_FROM_IDOC can then finish. Finishing here without setting any error status will lead to final status 53 for the inbound IDoc.

And as you can imagine, it does NOT wait for the result of the background process. Therefore status 53 represents only the fact that function module KK2A_GET_DATA_FROM_IDOC has runned without errors. It does not report errors possibly occuring in PROCESS_CC2_MESSAGES_PARALLEL.

Now how is this then to be solved?

You need to create your own data for running the above mention logic, preferrably based on failed IDoc data and then debug the whole thing (to find the error).

Hope this helps you a bit on your way,

Regards,

Rob.

Former Member
0 Kudos

Hi Friends

I have solved this problem using user exit.

I am really impressed with one reply I got for this query.

Thanks & Reg.

K.R.Reddy

0 Kudos

This message was moderated.