Skip to Content
Author's profile photo Former Member

Click a link in email to call RFC in ECC

Although it pretty straight-forward scenario, no content is present on SCN as a one-stop solution.

Business Requirement: Send an email to the customer with a body like with:

<<Dear Customer,

Click here to accept.

… >>

Clicking the hyperlink, the input parameter (Order ID) will be populated into the URL, and sent to the RFC in SAP ECC:

“htts://<server_pi>:<port>/…/zwebservice?p_order=123”

Solution: A simple HTTP to RFC scenario can help here.

Step 1: Create a HTTP_AAE sender channel in PI with ASMA properties and URL parameters checked. Since we have all our client’s scenarios based on ICOs, I opted for the HTT_AAE channel.

Provide a name for the URLParamOne.


Step 2: Create a test dummy sender interface which could have a simple structure like

DataType.PNG

Step 3: Create a mapping between the dummy sender interface and receiver RFC. This message mapping will read the URL parameter and send it into the Order_ID field in the RFC.

For this purpose develop a UDF with no input parameters and one output parameter

String orderId = new String();

DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

DynamicConfigurationKey urlParameter = DynamicConfigurationKey.create( “http://sap.com/xi/XI/System“, “URLParamOne”);

orderId = conf.get(urlParameter);

return orderId;

Step 4: Create a RFC receiver channel for the SAP ECC system.

Step 5: Provide the URL to be inserted in the email to be sent to the customer.

http://<pi_server>:<port>/HttpAdapter/HttpMessageServlet?interfaceNamespace=<sender_namespace>&interface=<dummy interface>&senderService=<>&qos=EO&<nameofmainpayload as configuredin_HTTP_channel>=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Cns0%3AMT_HTTP_Req%20xmlns%3Ans0%3D%22http%3A%2F%2F<interfaceNS>%2FCRM_ADAPTER%22%3E%0D%0A%20%20%20%3Cdata%3Etest%3C%2Fdata%3E%0D%0A%3C%2Fns0%3AMT_HTTP_Req%3E&<nameProvidedToURLParaminHTTPChannel=<order_id>

Note: Ideally, this URL will have the web-dispatcher/proxy server URL and not the actual PI server URL.

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Good one Diptee