Hi All,
I am working on SOAP to RFC scenario with SAP PI 7.31 AEX and SAP R/3 4.7 versions.
I am testing the scenario using SOAPUI tool with below test cases & outcomes.
- 1. Unsuccessful Test Case
Source SOAP Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sap="http://SAP_EWP-Integration">
<soapenv:Header/>
<soapenv:Body>
<sap:MT_CF_DISB_STAT_REQ>
<BUKRS>7000</BUKRS>
<MANU_CO_CODE>TSL0000001</MANU_CO_CODE>
<!--Optional:-->
<PRODUCT></PRODUCT>
<!--Optional:-->
<DATE>
<!--Zero or more repetitions:-->
<ITEM>
<!--Optional:-->
<SIGN></SIGN>
<!--Optional:-->
<OPTION></OPTION>
<!--Optional:-->
<LOW></LOW>
<!--Optional:-->
<HIGH></HIGH>
</ITEM>
</DATE>
</sap:MT_CF_DISB_STAT_REQ>
</soapenv:Body>
</soapenv:Envelope>
Target RFC Request
<?xml version="1.0" encoding="UTF-8" ?>
<ns1:ZTA_DISB_STATUS xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
<BUKRS>7000</BUKRS>
<MANU_CO_CODE>TSL0000001</MANU_CO_CODE>
<PRODUCT/>
<DATE>
<item>
<SIGN/>
<OPTION/>
<LOW/>
<HIGH/>
</item>
</DATE>
<IT_HEADER/>
<RETURN/>
</ns1:ZTA_DISB_STATUS>
While testing this case, I get negative response. Because in target RFC request, it creates blank record for 'DATE' which is an optional parameter but has type 'ACE_PARAM_NAME_RANGE' under 'Tables' tab in RFC.
Now if I remove this 'DATE" tag completely, RFC gets processed and gives response ideally as below .
- 2. Successful Test Case
Source SOAP Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sap="http://SAP_EWP-Integration">
<soapenv:Header/>
<soapenv:Body>
<sap:MT_CF_DISB_STAT_REQ>
<BUKRS>7000</BUKRS>
<MANU_CO_CODE>TSL0000001</MANU_CO_CODE>
<!--Optional:-->
<PRODUCT></PRODUCT>
</sap:MT_CF_DISB_STAT_REQ>
</soapenv:Body>
</soapenv:Envelope>
Target RFC Request
<?xml version="1.0" encoding="UTF-8" ?>
<ns1:ZTA_DISB_STATUS xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
<BUKRS>7000</BUKRS>
<MANU_CO_CODE>TSL0000001</MANU_CO_CODE>
<PRODUCT/>
<IT_HEADER/>
<RETURN/>
</ns1:ZTA_DISB_STATUS>
Since we are not supposed to change anything in RFC(SAP), How do I tackle this mapping issue in SAP PI?
Can I handle it using 'node functions' in message mapping? How?
Thanks,
Amit Patil