Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
JuanDK78
Participant

Scenario:

GS1 Denmark created the HANCOM 1997 and 2002 standards, as a recommendation to implement EDI interfaces between manufacturers and retailers.

This standard is based on EANCOM Messages, most of them version 96A.

The exception is the Acknowledgement message CONTRL, which user directory version 2 and subversion EAN002.

We will illustrate how to create such message with SAP PO/PI and the B2B Add-on SP3 and higher.

Steps:

1. Configure the Receiver EDI Separator Channel


When you receive and EDI message, you want to send it the EDISeparator Adapter.

In out scenario we are using the Trading Partner Manager in the B2B Cockpit to manage the Acknowledgment configuration.


Mark the checkbox Read from Dynamic Headers

By Default the EANCOM acknowledgement will be "Not Required"

We have added TPMContentAccessModule with the parameter enable.ediAckProfile=true, since we want to manage it for each partner in TPM


2. Preparing the CONTRL Message in TPM

In the B2B cockpit (/b2bic)->Trading Partner Manager, you have created your Partner Profile:

In the EDI Acknowledgements Tab for EANCOM select:

  • Acknowledgement Required: Read from envelop segment
    • use Required is you want send it always
  • EANCOM CONTROL Message Version and Release: Version D, Release 3 ),
    • this will make sure the CONTRL message create is always of the same version; which we will need for mapping the message later.

Tip: Identifier qualifier

If you use the GLN number, the standard qualifier(Agency Code) in the B2B Adapter is "014", however in practice most implementation will ignore the initial 0. You should always add the same GLN under both Agency codes "014" and "14".

For TPM to manage the Acknowledge, this identifier must match the one used in the EDI message:

3.  Configure EDISeparator receiver channel for the CONTRL Message

Here is an example of a receiver EDI Separator for the partner used in this example.

As you can see the Message Version is the same as we configured in the TPM.

I am using the the GLN receiver identification, but you can use a wildcard(.*) instead if it fits your scenario.

Add the GenericConverterModule, becaue you want to convert the CONTRL message to XML

This is also where you can add the AcknowledgementReportModule, if you want to see the report added to the Message Monitor in the runtime workbench,

4. Create new CONTRL Messages version D:2 and D:3 in the Message Editor.

SAP-EANCOM Message key does not have version 3 and version 2 of the control message, so we will create those to be able to work with the GenericConverterModule.

You need to create the message version in SAP control key manully, you can see the process in this blog:

Adding Message Keys and Message versions - B2B EANCOM Message Editor

5. Mapping the CONTRL Message to Version D:2:2:EAN002

  • Once you have create the new message version 3 and 2, you can create the XSD schemas.
  • User the schemas in you service interfaces, then create an Operation mapping from CONTRL/3 to CONTRL/2
  • Map the following fields in the message mapping

    

6. Configure the Receiver Communication channel for the CONTRL message.

  • You will need to use a separate channel than you other  receiver channel since we will add the GenericConverterModule
  • The receiver communication channel can be of any adapter type
  • Add the localejbs/GenericConverterModule
    • eancom.ident = true or false (depending or your requirement)
    • eancom.monitos.ackstatus=false
      • Since this is an acknowledgement channel, setting this flag to false will avoid trace-ability issues in the monitoring.
  • Use the localejbs/EDIAckStatusLogModule module which complete the acknowledgement message flog by adding the status "SENT" in the message monitor.


7.Configure the ICO or iFlow for you CONTRL message.

    • Use the sender communication channel setup in step 1.
    • User the Operational mapping from step 5.
    • User the receiver communication channel from step 6

Enjoy

References:

Labels in this area