Skip to Content

Recently I had to implement the EDI message handlings using seeburger adatper in PI ,I was searching in SDN and reading the documents of the seeburger,but my knowledge didnt help me to understand fully with the existing documents,so I thought of sharing the same as it may help the people like me,who are new to seeburger EDI implementations.

I will take the scenario of File to IDoc i.e need to pick the EDI ANSI X12 850 message from File system and convert the same to IDoc.

In IR need to create the below objects.

1. Import the XSD of the 850 message,997 messages(edi and xml formats) provided by the seeburger under external definitions. (check with your admin for path where Seeburger XSDs are located) 

image

2.Import the IDoc metadata of orders idoc using the import option at SWC level.

3.Need to create three message interfaces one for 850 of type outbound and two for 997( inbound and outbound).

We will have the below in Interface Objects.

Data and Message Types 

4.create the mappings between

  • 850 and ordersidoc .
  • 997 -From Seeburger propertiary format to 997 EDI-XML format.

5.create the interface mappings for the above created message mappings.

We will have the below in Mapping Objects of IR.

Mappings

Now in ID need to create the below

1. Create the two business systems/services for scenario.(sender and receiver)

2. Create the four communication channels

    Two – Sender adapter channels (dont get confused here as why we need two sender adapters,as one is sufficient for fetching the data,another sender adapter is a vitrual sender adapter ,..go through entire scenario for clarification and better understanding)

    Two – Receiver adapter channels 

 one for picking the data (i.e file sender adapter )

image

  •  second one for sending the idoc data to target system(Idoc receiver adapter )

IDoc-Adapter

  •  Third one for handling EDI payload data sent (850),adapter type should be Split 997,which is needed for initating the payload as separate XI message.

Split997-AdapterSplit-997Adapter

  • Final one for sending the Ack file to File system or different target system(normally will be sent to the partner ,in the current scenario file system is used)

3. Important thing is the creation of sender agreement.Need the below sender agreements for the current scenario.

Need two sender agreements one for 997-Ack data and other for 850 (payload data)

SenderAgreement-One

Here goes the tricky during handling of edi messages . In normal scenarios  sender interface name will be payload(message interface) name as it will get passed in the main document of XI message, but for edi its reverse ,i.e acknowledge gets generated in main document and payload will generated as attachment,so we need to provide the 997 message interface name as sender interface name and need to associate the actual sender adapter to it. 

SenderAgreement-Two

As our payload will get generated as attachment,in order to get process we need to generate it as separate XI message which will be done with the help of SPLIT997 (virtual) adapter.

if your EDI file contains multiple messages (i.e 850 and 860 in a single file) then need to create three sender agreements. (one for ack,one for 850 and other one for 860 and two split 997 adapters one for 850 and other for 860)

4. Create two receiver determinations,two interface determinations and two receiver agreements ,we will have the below in ID.

ID-Objects

Split997 AdapterFor people dont have an idea about the seeburger adapter modules

We will be using the below three modules for any basic scenario of EDI message

1. Classifer : for identifying the EDI message type(ANSIX12,EDIFACT,ODDETTE..)

2. CallBicXIRaBean : In short bic module (business integration converter) responsible for the generation of acknowledgement message,separation of multiple edi messages of same and different type(e.g. 850,860 of ANSIX12) into attachments.

3. MessageSplitter : Generates the each attachment as separate XI message.

Now here goes the configuration of the modules in file sender adapter,As integration engine expects the XML message format,we need to convert the received edi message to XML before passing to IE ,which is taken care by seeburger modules configured in sender file adapter.

ClassifierModule

 Need to provide the below parameters of Classifer

ParameterName           paramterValue 

attID                            classifierAtt  (fileName)

destSourceMsg              MainDocument

Parameter attID of classifier module will read the document received and generates the type of edi message received(e.g ANSI,EDIFACT,..) in the file name (classifierAtt) provided in the parameter value ,which can be seen in the XI message (through SXMB_MONI)

In order to get generated the ack file and to convert the payload from edi to xml format ,need to configure the bic module and it requires the EDI message type details of the payload,which will read from the ClassifierattID file of classifier module.

BICModule

1. classifierAttID : parameter value of this parameter should be the same as the one provided in the classfier module,for identifying the edi message type received.

Once the bic module reads the message type from the file , based on the message type Parent mapping of the specific message will be called for conversion from EDI to XML. (Seeburgers mapping),so for that need to set the 4.mappingName parameter valueto AUTO (this is needed if we need ack)

e.g if message type is EDIFACT then See_Edifact mapping of seeburger ,if it is AnsiX12 then See_AnsiX12 respectively will be called, which generates the functional ack plus in turn calls the child mapping based on the edi message type and version, (e.g here edi message is 850 and version V4010 then mapping called will be (See_E2X_ANSIX12_850_V4010).

2,3 Parameters destSourceMsg and destTargetMsg : reads the message for conversion based on source parameters(i.e either received main payload or attachment document) and generates the converted message in the specified destination parameter 

5.Split paramters specifies to generate the output of mapping message as separate attachments.

After successful execution of mapping in bic module,It will generate the main document(contains Functional Ack) and attachment(contains XML form of the sent EDI message i.e 850 XML format).

 

MessageSplitter

Splitter module generates the attachments of bic module as a separate XI message by taking the below configuration data of seeburger message splitter.

 

we need to configure the partner details in seeburger workbench message splitter tab. Go to http://host:port/seeburger page and select message splitter and configure the below

Seeburger-Workbench

Sender is Partner ID of EDI message . Mapping name is based on the message type and version.(default mapping starts with See prefix..)

Need to associate the sender agreement of virtual channel created in ID. 

we are done with configuration and creation of all necessary objects ,now activate all the objects and supply the file in source directory with needed  EDI sender ID.  

Go to Communication Channel monitoring you can see the below logs of modules

CC-ClassifierLogsClassifierLogs

BIC and SplitterLogs 

For generating the XI message need sender,sender interface name and sender interface namespace , Bic module generates the attachment name as senderID|childmappingName|state which is key for splitter and splitter looks for the same key in the seeburger workbench configuration data if it gets matches then respective details will be taken for generating the XI message.

Here Key is 0123456789|See_E2X_ANSIX12_850_V4010|Accepted and details like BS_Edi_Sender … will be taken from this configuratin data and generates the XI message for Payload.

We will have two messages generated in SXMB_MONI one for 850 (payload) and other for 997 (Ack) seebelow.

XIMessages-SXMB_MONI

Expand the 997 XI message we can see the below attachments at Inbound Message .

i.e 1. Main Document  – Contains Seeburger propertiary format for ACknowledgement

    2. ClassifierAtt – Which provides the info of edi message recieved (refer above filename is the one provided in the attID parameter value of classifier)

   3. Finally Attachment with name as SenderEDI|MappingName|status which contains edi payload.

ClassifersXIMessage

PayloadAttachmentName

 

If your mapping is fine then you can see an idoc trigger to target system and also XML format of Ack gets stored in File system.

I hope moderators will excuse if I have consumed more space in this blog..

Hope you enjoyed the blog.

To report this post you need to login first.

11 Comments

You must be Logged on to comment or reply to a post.

      1. Inder G
        Rajesh,

        How the EDI file is sent from Seeburger to XI.

        Is it sent from Seeburger to XI Integration server or it is written to some folder from where actual FTP channel picks it up ?

        If it is written to some folder, where that folder path is mentioned in Seeburger.

        (0) 
        1. Rajesh pasupula Post author
          Hi,

          Seeburger is an integral part of the PI only.Its an additional component only.

          In order to process data it has to be sent either y to PI system or PI system needs to fetch the same.

          (0) 
          1. Vijayasree K

            Nice blog. If you worked on seeburger OFTP adapter earlier  then could you please send me the configuration steps as above blog

            Thanks & Regards

            Jayasree

            (0) 
  1. Dan C
    This is good stuff, very well written.

    It would be interesting if you cover
    ‘Accepted and Partly Accepted’ aspect as well.

    cheers
    -dan

    (0) 
  2. Kurt Jensen
    Rajesh,

    Our vendor is sending their EDI message with no segment delimiters and with CRLFs.  It is causing a failure in the BIC.  When I test the message in the ANSIX12 mapping I can see that it doesn’t understand where one segment ends and another begins.  Is there a way to specify CRLF as the segment delimiter in a module parameter, or do I need the vendor to change the format of the message that they are sending?

    (0) 
  3. divyesh vasani

    Thanks a lot for sharing this…

    Enjoyed reading this… I liked all steps esp. the SXMB_MONI screenshots which gives more details on module para functionality.

    Also, I would like to add the link http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/07/24/quick-overview–b2b-scenario-with-seeburger-edi-adapter-using-integrated-configuration#comment-476758 which says same scenario steps to be done on AEX.

    Also one basic question, I thought seeburger messages will come via AS2 protocol so sender CC should be of type “AS2”, however in your scenario it is of file adapter. So we can put EDI file and get it picked by file sender CC as well?

    Also tell what specific sender ID should be there , will it be in the contents of file?

    Thank you,

    Divyesh

    (0) 
    1. Stefan Hilpp

      Hi Divyesh,

      Also one basic question, I thought seeburger messages will come via AS2 protocol so sender CC should be of type “AS2”, however in your scenario it is of file adapter. So we can put EDI file and get it picked by file sender CC as well?

      Seeburger provides many different EDI-protocols, like AS2, X400, FTP, SFTP…so EDI files could be received with all of these protocols (not just AS2).

      Also, the modules for “handling the EDI data” which are described in this blog can be used with any kind of Adapter, so it doesn´t matter if the files are received via AS2, FTP or File-Adapter…

      Regards

      Stefan

      (0) 

Leave a Reply