cancel
Showing results for 
Search instead for 
Did you mean: 

Webservice(SOAP) to RFC(BAPI) synchoronous Creating Sales Order Error

syedayubahmed
Participant
0 Kudos

Hi,

Iam doing a webservice(SOAP) to RFC scenario. It is a sale order creation. We are using the BAPI--> BAPI_SALESORDER_CREATEFROMDAT2. I tried to execute the BAPI in R/3 manually with the mandatory fields like DocType, Sales Org, Distribution Channel, Division, Customer, Material, Quantity, PARTN_ROLE. It is executed successfully manually.

But when I am testing same from SOAPUI 3.6.1 tool with same data. It is throwing some strange errors like

TYPE='E', Message (ID:VP, NUMBER:112): "Please enter sold-to party or ship-to party", LOG_NO:, LOG_MSG_NO:000000 (PARAMETER:SALES_HEADER_IN, ROW:0, FIELD:, SYSTEM:ECDCLNT200).

TYPE='E', Message (ID:V4, NUMBER:219): "Sales document was not changed", LOG_NO:, LOG_MSG_NO:000000 (PARAMETER:, ROW:0, FIELD:, SYSTEM:ECDCLNT200)

In my PI-->SXMB_MONI--> I can see the success flag with message :

<?xml version="1.0" encoding="UTF-8" ?>

- <ns1:MT_JobClosure_SO_Response xmlns:ns1="http://xyz.com">

<SALESDOCUMENT>Please enter sold-to party or ship-to party</SALESDOCUMENT>

</ns1:MT_JobClosure_SO_Response>

Finally BAPI Executed with the errors. Manually it is working in R/3. But when I call it through SOAPUI it is erroneous. Please help me in resolving this.

I am using PI 7.1

Thank You.

Accepted Solutions (0)

Answers (5)

Answers (5)

syedayubahmed
Participant
0 Kudos

HI friends,

Thanks for all your inputs.

From XI Interface Sales document no is not generating. where as when I am doing same through se37 doing through BAPI sales document is generating.

I tried passing the constant values to BAPI from message mapping.

Still facing issue :

TYPE='E', Message (ID:VP, NUMBER:112): "Please enter sold-to party or ship-to party", LOG_NO:, LOG_MSG_NO:000000 (PARAMETER:SALES_HEADER_IN, ROW:0, FIELD:, SYSTEM:ECDCLNT200).

TYPE='E', Message (ID:V4, NUMBER:219): "Sales document was not changed", LOG_NO:, LOG_MSG_NO:000000 (PARAMETER:, ROW:0, FIELD:, SYSTEM:ECDCLNT200)

Thanks

iaki_vila
Active Contributor
0 Kudos

Hi Ahmed,

I tried passing the constant values to BAPI from message mapping.

This is a weird issue. Have you use the same user in the Receiver RFC communication channel and when you use the se37 transaction?, may be could be an authorization matter altough the error doesn't seem to be it.

If the error continues you could do a Z wrapper RFC to the bapi, all with constants and test to call the Z function from PI, if the error continues o dissapear you next moviment deppends of it, taking the values from PI, putting a log in the ERP to watch what is incoming, researching authorizations, etc

Regards.

nabendu_sen
Active Contributor
0 Kudos

Just take the Target side (RFC Request) payload xml and open it with 'Textpad'. Check whether all the field values are good which you are testing in R/3.

Create Configuration objects with Source and Target SI as RFC. Dont mention any Operation Mapping name in Interface Determination and trigger this RFC Request payload from RWB --> Component Monitoring --> Integration Engine --> Test Message.

In this case, no transformation will happen and directly this RFC Request payload would be sent to R/3. If you find that the same error in SXMB_MONI again, then you can be sure there is no issue with the SOAP UI / Mapping transformation of PI. The issue lies somewhere else.

Thanks,

Nabendu.

Former Member
0 Kudos

Test repository in R/3 do conversion automatically while you test. Hence it is getting executed successfully while you are testing. Execution with same data from SOAP UI getting failed clearly indicates that some conversion is not taking place. Please put additional zero

Also the error 'Please enter sold-to party or ship-to party' you are getting seems to be a response of BAPI BAPI_SALESORDER_CREATEFROMDAT2, so you are actually hitting the BAPI but data is not proper. Also you can try testing this with WSNavigator.

Ryan-Crosby
Active Contributor
0 Kudos

Hi Ahmed,

It sounds like you have something potentially missing in your mapping where certain data is not getting into the BAPI call.  Have you looked the payload in PI or ECC to see which data is actually being passed into the RFC?

Regards,

Ryan Crosby

robertot4s
Active Participant
0 Kudos

Hi Ahmed,

Maybe there are conversions that in SE37 transaction are automatically carried out. Review your data in soapUI and add zeros at the begining of the customer number, for example.

Best Regards,

Roberto