SAP Integration Suite – TPM – B2B PassThrough Scenarios

Estimated read time 5 min read

From TPM generic package 2.5.0 onwards SAP has released feature to enable passThrough B2B scenario. This option is available for below type system only –

UN/EDIFACTASC X12

Ideally below is the case of execution –>

Step 1 –> Step1b –> Step 2 –> Step 3

For demonstration purpose I am using Process Direct at sender and receiver side. However due to certain issues in step 2 and step 3 groovy scripts used the interfaces will fail. 

Follow the steps from earlier blogs to create company/partner profile, agreement template and agreement.

While creating business transaction select a checkbox Pass-Through and activate agreement. This will create enteries in partner directory –

To trigger TPM passThrough interface, create custom IFlow 

Set Content Modifier with Headers –

SAP_COM_SND_Adapter_Type = Process_Direct

SAP_EDI_Document_Standard = ASC-X12

SAP_AS2MessageContentType = application/edi-x12 

Body – Sample X12 – 850 payload file 

PD address – to Step 1b = /tpm/b2b/sap_tpm_internal_processdirect

However when you run interface it will fail in Step 2 and step 3 due to below errors 

Error#1. Step 2 –> Groovy Step –> Set Control Numbers for Pass Through –> This is because groovy is refering to Reusable Groovy Scripts V2. However groovy is available as local script instead.

Solution :- Copy Step 2 to local workspace edit step with local groovy –> Undeply Step 2 from Standard package –> Deploy Step2 from local workspace

Error#2. Step 3 –> Error “com.sap.it.rt.adapter.processdirect.exceptions.ProcessDirectException: Failed to determine address from expression. It was found to be null.” –> This is because code for Process Direct is missing in script  callPDwithHeaderParameters.groovy from Step 2 iflow

 

 

//Process Direct
def recProcessDirectAddress = service.getParameter(“SAP_PROCESS_DIRECT_REC_Address”, partnerID , String.class);
def sndAckProcessDirectAddress = service.getParameter(“SAP_PROCESS_DIRECT_SND_Address”, partnerID , String.class);

 

 

This is the reason step3 not receiving PD receiver address and hence interface failing at step3.

Solution :- Update step 2 in local workspace with –> reference global script collection to older version–> redeploy step2 and run interface for testing

Run custom Iflows to trigger TPM B2B pass-through scenario successfully. Below are monitoring screenshots –

Received payload over email successfully –

 

Hope this helps the community members who are trying to enable pass-through interfaces. Let me know if you were able to implement pass-through interfaces without any issues and share your experiences.

#HappyLearning 🙂

Ref :- https://help.sap.com/docs/integration-suite/sap-integration-suite/creating-pass-through-b2b-transaction

– RJ

 

​ From TPM generic package 2.5.0 onwards SAP has released feature to enable passThrough B2B scenario. This option is available for below type system only -UN/EDIFACTASC X12Ideally below is the case of execution –>Step 1 –> Step1b –> Step 2 –> Step 3For demonstration purpose I am using Process Direct at sender and receiver side. However due to certain issues in step 2 and step 3 groovy scripts used the interfaces will fail. Follow the steps from earlier blogs to create company/partner profile, agreement template and agreement.While creating business transaction select a checkbox Pass-Through and activate agreement. This will create enteries in partner directory -To trigger TPM passThrough interface, create custom IFlow Set Content Modifier with Headers -SAP_COM_SND_Adapter_Type = Process_DirectSAP_EDI_Document_Standard = ASC-X12SAP_AS2MessageContentType = application/edi-x12 Body – Sample X12 – 850 payload file PD address – to Step 1b = /tpm/b2b/sap_tpm_internal_processdirectHowever when you run interface it will fail in Step 2 and step 3 due to below errors Error#1. Step 2 –> Groovy Step –> Set Control Numbers for Pass Through –> This is because groovy is refering to Reusable Groovy Scripts V2. However groovy is available as local script instead.Solution :- Copy Step 2 to local workspace edit step with local groovy –> Undeply Step 2 from Standard package –> Deploy Step2 from local workspaceError#2. Step 3 –> Error “com.sap.it.rt.adapter.processdirect.exceptions.ProcessDirectException: Failed to determine address from expression. It was found to be null.” –> This is because code for Process Direct is missing in script  callPDwithHeaderParameters.groovy from Step 2 iflow   //Process Direct
def recProcessDirectAddress = service.getParameter(“SAP_PROCESS_DIRECT_REC_Address”, partnerID , String.class);
def sndAckProcessDirectAddress = service.getParameter(“SAP_PROCESS_DIRECT_SND_Address”, partnerID , String.class);  This is the reason step3 not receiving PD receiver address and hence interface failing at step3.Solution :- Update step 2 in local workspace with –> reference global script collection to older version–> redeploy step2 and run interface for testingRun custom Iflows to trigger TPM B2B pass-through scenario successfully. Below are monitoring screenshots -Received payload over email successfully – Hope this helps the community members who are trying to enable pass-through interfaces. Let me know if you were able to implement pass-through interfaces without any issues and share your experiences.#HappyLearning 🙂Ref :- https://help.sap.com/docs/integration-suite/sap-integration-suite/creating-pass-through-b2b-transaction- RJ   Read More Technology Blogs by Members articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author