cancel
Showing results for 
Search instead for 
Did you mean: 

RFC-Adapter, order not put in

Former Member
0 Kudos

Hi,

my scenario File -> XI -> R/3-Backend will be precessed successful. The Response Payload have the items and in detail of messages appears succes status

"RFC adapter received an asynchronous message. Attempting to send tRFC for BAPI_PO_CREATE with TID XIfr1OyAQS4Td..."

But in R/3 the order ísn't put on.

Does one of you have an idea why???????

Thanks

Hüsniye

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Guys,

Any clues on this? I'm also facing same issue. Any insights will be really helpful.

Best regards/ Sanjeev

Former Member
0 Kudos

Hi Husniye ,

I am also working on the same scenario. Could u plz explain the scenario in detail , how to configure rfc adapter and file adapter. If u have any doc plz send to gopal_n2k@yahoo.com.

Thanks in advance.

Ram

Former Member
0 Kudos

Bapi's don't commit.

In the same session you have to execute the:

BAPI_TRANSACTION_COMMIT bapi to commit. Normally you only execute this bapi when it didn't return an error.

regards Sander

Former Member
0 Kudos

This could be because of several reasons. Activate trace for RFC destination you are using and also check system log (SM21) and see if you see any acitvities for the XI communication account in back-end R/3 system. Any security problems could have stopped persisting the data. Or there could be some data issues causing short dumps, so make sure you dont see any short dumps for the XI comm user in ST22 in the back-end R/3 system.

Regards,

Raj Kedambi

Former Member
0 Kudos

Hi,

I have created Z_BAPI_PO_CREATE. I tried with commit work, with no success.

So I call origin BAPI_PO_CREATE and BAPI_TRANSACION_COMMIT with option wait.

I still get TID Number, but th order isnt put in.

In RFC-Trace shows me the steps, but no error messages, also Systemlog (SM21).

Regards

Hüsniye

bhaskar_ghandikota
Participant
0 Kudos

Try this code. This works perfectly for us:

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

SALESDOCUMENTIN = SALESDOCUMENTIN

ORDER_HEADER_IN = ORDER_HEADER_IN

ORDER_HEADER_INX = ORDER_HEADER_INX

SENDER = SENDER

BINARY_RELATIONSHIPTYPE = BINARY_RELATIONSHIPTYPE

INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT

BEHAVE_WHEN_ERROR = BEHAVE_WHEN_ERROR

LOGIC_SWITCH = LOGIC_SWITCH

  • TESTRUN = TESTRUN

CONVERT = CONVERT

IMPORTING

SALESDOCUMENT = SALESDOCUMENT

TABLES

RETURN = RETURN

ORDER_ITEMS_IN = ORDER_ITEMS_IN

ORDER_ITEMS_INX = ORDER_ITEMS_INX

ORDER_PARTNERS = ORDER_PARTNERS

ORDER_SCHEDULES_IN = ORDER_SCHEDULES_IN

ORDER_SCHEDULES_INX = ORDER_SCHEDULES_INX

ORDER_CONDITIONS_IN = ORDER_CONDITIONS_IN

ORDER_CONDITIONS_INX = ORDER_CONDITIONS_INX

ORDER_CFGS_REF = ORDER_CFGS_REF

ORDER_CFGS_INST = ORDER_CFGS_INST

ORDER_CFGS_PART_OF = ORDER_CFGS_PART_OF

ORDER_CFGS_VALUE = ORDER_CFGS_VALUE

ORDER_CFGS_BLOB = ORDER_CFGS_BLOB

ORDER_CFGS_VK = ORDER_CFGS_VK

ORDER_CFGS_REFINST = ORDER_CFGS_REFINST

ORDER_CCARD = ORDER_CCARD

ORDER_TEXT = ORDER_TEXT

ORDER_KEYS = ORDER_KEYS

EXTENSIONIN = EXTENSIONIN

PARTNERADDRESSES = PARTNERADDRESSES

.

**************************************************

**checking if the BAPI returned some errors*****

**************************************************

LOOP AT return ASSIGNING <bapiret>.

IF <bapiret>-type = 'E' OR <bapiret>-type = 'A'.

success = space.

EXIT.

ENDIF.

ENDLOOP.

IF success = 'X'.

************************************************

****in case of success commit the BAPI*********

************************************************

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'

IMPORTING

return = wa_bapiret.

ELSE.

ROLLBACK WORK.

ENDIF.

Also you need to pass on the information for "inx" structures. What I mean is , if you are sending data to field REF_1 in header_in, then ref_1 in header_inx needs to be passed witha value of 'X'.

The update flag in inx structure needs to be 'C' for create.

If have items in your sales order, then you have to pass the values for item_in and item_inx. Additionally you need to pass values for schedule lines also.

Hope this helps.

Thanks,

Bhaskar