SAP PI- B2B ANSIX12 Inbound Scenario


EDI ANSIX12 Inbound

That is an inbound situation the place information move is as follows. Let’s take EDI 850(Orders) in our instance.

Exterior Accomplice——–EDI 850 File—–(1)—->PI————-IDOC——–(2)——>ECC

Exterior Accomplice<——–997 Ack——(3)——PI

Exterior associate sends an EDI 850 file to PI. PI converts it in to an IDOC and sends it to ECC. And likewise PI sends a 997 EDI file again to Exterior associate as an acknowledgement.

There are a number of ANSIX12 EDI transactions like 810(Bill), 850(Orders), 856(Cargo) and so forth. However in our instance we speak about 850(Orders).


  1. Firstly we have to on-board all companions concerned, in to PI TPM. TPM stands for Buying and selling Accomplice Administration which is a B2B central repository to take care of all associate info.

     2. We’ll on-board following 3 companions in to TPM.

    1. Partner_A
    2. Partner_B
    3. Partner_C

     3. Together with these 3 companions we on-board another associate which acts as self-partner.

    1. Partner_ECC

     4. Earlier than we on-board companions in TPM, we have to create corresponding events in ID.

    1. Party_A
    2. Party_B
    3. Party_C
    4. Party_ECC

     5. Above all, make sure that B2B add on is put in in our PI panorama.

Issues to do in TPM

Step 1: Create all events in ID

In our instance, we’ve got 4 events to create.

Step 2: Create all Companions in TPM

To create companions in TPM, we first login in to B2B integration cockpit utilizing following URL.


Postfix b2bic to PI url to login in to integration cockpit, which seems like following

Click on on Buying and selling Accomplice Administration and add our companions there.

In Celebration Title choose its corresponding social gathering which we’ve got already created in ID in step 1.

Now go to identities tab and provides a novel associate ID and associate ID qualifier for the associate and reserve it.

Right here, we give associate ID in identifier textual content field and ID qualifier in company code textual content field. On this case associate ID is 000000000A and Qualifier is ZZ.

Now go to Messages tab, add message kind ANSIX12 850 of model 4010 and reserve it.

Now go to EDI Acknowledgments tab, then go to ANSIX12 tab, mark 997 acknowledgment as required and reserve it.

Equally create companions for Partner_B, Partner_C and Partner_ECC as nicely.

Use associate IDs as 000000000B, 000000000C, 0000000ECC respectively. And use ZZ as qualifier for all companions.

Whereas creating Partner_ECC, choose associate kind as self.

Step 3: Create Agreements

Now we create associate agreements for all companions. Settlement is created between Exterior-partner and self-partner we created. In our instance since we’ve got 3 companions, we create 3 agreements.

     a. A-ECC

     b. B-ECC

     c. C-ECC

To create an settlement for associate A, choose it and go to Agreements tab and click on on Create.

  Equally create agreements for Partner_B and Partner_C too.

Issues to do in ID

In ID, we create 3 ICOs. Beneath is the explanation why we try this.

To attain our performance, we’ve got to do following 2 issues.

  1. Ship EDI file from exterior associate to ECC
  2. Ship a 997 acknowledgment again to associate

So, technically it seems like 2 ICO’s are sufficient right here. However as part of first step (the place we ship EDI file from associate to ECC), we don’t ship it on to ECC. However we break up this in to 2 flows. First move is from exterior associate to EDISeparator channel. And second move is from EDISeparator channel to ECC. The rationale why we do that is, we want EDISeparator channel to separate incoming EDI message in to a number of EDI messages if incorporates a number of transactions in it. And likewise EDISeparator channel is required to ship a 997 acknowledgment again to associate.

Therefore we have to create following 3 ICOs in ID.


Exterior Accomplice——EDI 850 File——>PI———- EDI 850 File ———>EDISeparator


EDISeparator——EDI 850 XML File——–>PI———- IDOC XML ———>ECC


EDISeparator——EDI 997 File——–>PI———- EDI 997 File——->Exterior Accomplice

I’ve created 2 Enterprise elements, one for exterior associate and different for EDISeparator. Moreover, I’ve another enterprise system for ECC.

  1. BC_ExtPartner
  2. BC_Split_conv
  3. BS_ECC

Notice: For simplicity, I’ve used a file channel to choose EDI messages as a substitute of utilizing AS2.

Creating ICO 1

In ICO 1, sender part can be exterior associate part and receiver part can be EDISeparator part.

Whereas creating this ICO, give some dummy identify for Interface and Namespace. This interface and namespace needn’t be current in Integration Repository.

Give sender channel as NFS/FTP file channel (for simplicity, I’ve used file sender channel as a substitute of AS2 sender channel). We are going to place our EDI recordsdata on this path.

In file sender channel modules tab, give following module sequence.

TPMContentAccessModule is required to dynamically fetch associate info from TPM primarily based on sender associate ID, qual and receiver associate ID, Qual mixture when ICO will get a brand new EDI file.

EDISearchParametersModule provides few EDI search parameters like correlation ID which might be useful whereas monitoring EDI messages.

In Receiver tab, give enterprise part we created for EDISeparator as receiver communication part. On this case, it’s BC_Split_conv.

In Receiver Interfaces tab, give some dummy names for Title and Namespace. They needn’t be current in Integration Repository.

In outbound Processing tab, give EDISeparator receiver channel which receives incoming EDI file.

In EDISeparator receiver channel, test Learn from Dynamic Headers test field. This ensures TPM configuration we did might be given precedence to configuration we do on this channel. For instance if we are saying Ack just isn’t required in communication channel and Ack is required in TPM configuration, TPM configuration might be given precedence and Ack might be despatched.

Now, EDISeparator receiver channel does two issues.

  1. If incoming EDI message has a number of messages in it, EDISeparator receiver adapter will break up that EDI message in to a number of particular person EDI messages. If it incorporates solely single EDI message, it can simply ship out single EDI file as it’s.
  2. If the associate is configured as acknowledgment required in TPM, EDISeparator adapter will create one other EDI message with 997 transaction as an acknowledgment.

Creating ICO 2

Now, we create ICO 2 to obtain splitted EDI messages which is defined in level 1.

So, sender part can be EDISeparator enterprise part and receiver part can be ECC.

On this ICO, give some dummy Interface and Namespace identify. They needn’t be in Integration Repository.

In EDISeparator sender channel do following configuration. Since this ICO ought to decide up splitted EDI 850 messages, we configure channel as following in order that this channel will decide up solely EDI 850 splitted messages and ignore the remaining.

Incoming message is in uncooked EDI format. First we’ve got to transform this EDI file in to XML file. Therefore we use a predefined SAP module to try this.

Go to Modules tab and configure following module sequence.

TPMContentAccessModule and EDISearchParametersModule are elective. X12ConvertedModule is required to transform ANSIX12 EDI file to XML file. tpm.allow parameter ensures to make use of TPM configuration whereas conversion.

Now go to Receivers tab and provides receiver as ECC.

Now go to Receiver Interfaces tab and provides message mapping which we’ve got created to transform EDI XML to IDOC XML.

I’ve already created a mapping which converts EDI XML to IDOC XML in Integration repository. I’m not masking that on this doc. There’s an SAP offered mapping for EDI 850. You’ll be able to refer that to create your personal mapping or simply use that very same mapping on this ICO.

Now, go to outbound processing tab and provides IDOC receiver channel.

Creating ICO 3

Now, we have to create ICO 3 to obtain splitted 997 EDI message and ship it as an acknowledgment again to associate.

Right here since no message mapping is concerned, we simply route the EDI file to associate and no XML conversion is required.

Give some dummy identify to Interface and Namespace. They needn’t be there in Integration Repository.

Create an EDISeparator sender channel to choose up EDI 997 messages and use it right here.

Receiver might be Exterior associate right here.

Give some dummy names for Interface and Namespace.

In outbound processing, configure one NFS file receiver channel to put 997 EDI recordsdata. (In actual time, we use AS2 adapter and route the 997 recordsdata to associate).

That’s it! We’re performed with configuring. Beneath image offers an total view on how EDI inbound interface works. In real-time we use AS2 adapter to hook up with exterior associate as a substitute of file channel in our instance.

To check the interface finish to finish, take a pattern EDI ANSIX12 850 file and alter sender ID, Qualifier and receiver ID, Qualifier in order that they may match with our associate configuration.

For instance, if we’re testing with Accomplice A, following ought to be configured.

Sender Accomplice ID: 000000000A

Sender Accomplice ID Qualifier: ZZ

Receiver Accomplice ID: 0000000ECC

Receiver Accomplice ID Qualifier: ZZ

Whereas testing it is possible for you to to see in message log that sender and receiver associate info is fetched dynamically utilizing TPMContentAccessModule primarily based on associate ID and qualifier mixture in incoming EDI file.

NOTE : Please do not copy -
See also  Passionate About Woodworking? Choose the Ideal Woodworking Career Path For You

Leave a Reply