cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Adapter: BAPI_PRODORDCONF_CREATE_TT and Commit

Former Member
0 Kudos

I call BAPI_PRODORDCONF_CREATE_TT through the RFC adapter and I have set the "Commit Control for Single BAPI Calls" flag to make sure COMMIT WORK is done.

If I get the documentation right return types like empty table, S, W and I should lead to COMMIT WORK by calling of BAPI_TRANSACTION_COMMIT afterwards. The actual return type is blank (but the table is not empty -> NUM = 000, so there is only line). Yet the there is still no commit, nothing is being processed.

If I try the same thing on the destination system via a test sequence in SE37 (--> first calling BAPI_PRODORDCONF_CREATE_TT then calling BAPI_TRANSACTION_COMMIT) it works pretty well.

Right now I don't have a clue ...

Thanks for any kind of input.

Cheers,

Andy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

check this

http://help.sap.com/saphelp_crm52/helpdata/EN/c8/e80440a832e369e10000000a155106/content.htm

Under Parameter

Commit Control for Individual BAPI Calls

If successful, the tables are empty and the values u201Cu201D, u201CSu201D, u201CIu201D, and u201CWu201D are displayed. All other entries are evaluated as errors.

To change this setting, choose BAPI Advanced Mode.

Under Successful RETURN Type Values, specify the values that will lead to a successful execution.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi andy,

Is your problem solved. coz im facing the similar problem too...

Would appreciate if you could explain how you resolved..

Thanks

Former Member
0 Kudos

In the end I was able to solve the problem but I couldn't figure out how to get i work as explained in the documentation. I've tried all the option (commit control, return values etc.) - actually it was kind of strange: sometimes it worked, sometimes it didn't. So finally I decided to go the old fashioned way (as in 3.0) and made a copy of BAPI_PRODORDCONF_CREATE_TT with a hard coded commit in the end to have a reliable solution:


FUNCTION YAR_BAPI_PRODORDCONF_CREATE_TT.

...

* begin of insertion AR20090326

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
   EXPORTING
     WAIT          = 'X'.
*   IMPORTING
*     RETURN        =

* end of insertion AR20090326

Another thing: If you want errors to be posted to the confirmation monitor (CO16/CO16N), make sure the POST_WRONG_ENTRIES segment is populated with value '2' either by setting a constant in your PI message mapping or by already delivering it from your shop floor solution (or whatever system you have attached).

Cheers,

Andy

former_member181962
Active Contributor
0 Kudos

HI Andy,

Looks quite peculiar to me.

Try to set an external break point in the BAPI and try to debug what has happened in the BAPI call,(Take help of an ABAPER) and find what the message number 000 means actually.

or alternatively ,

Is there any User Exit in the BAPI ,where you can replace the Space in the return type with a "S" or "W' or "I" ?

Regards,

Ravi