Skip to Content
0

Custom JMS Adapter Module to extract CDATA tag content from Source XML message from MQ Queue

Jan 01, 2017 at 12:49 PM

104

avatar image
Former Member

Hi All,

I am on SAP PO 7.5 single stack version and working on JMS to IDoc scenario. The source message in websphere MQ queue is an XML message in which one of the tag contains EDI flat file data enclosed in a CDATA tag as shown below;

<![CDATA[EDITOOL*0008550040105163497100 001315704X03 ISA*00* *00* *12*5163497100 *01*001315704P *161203*1242*U*00400*000015122*0*P* GS*PR*5163497100*001315704X03*20161203*1242*7424*X*004010 IEA*1*000015122]]>

We are extracting this data in CDATA tag into a flat file and then doing further processing like converting EDI flat file data into XML data using standard EDI converter modules and then mapping with target IDoc structure.

So first of all, we need to extract EDI data into a flat file data using custom JMS adapter module. I have created a java program which extracts content in a CDATA tag from source XML file (from client/desktop) and creates a flat file onto client/desktop.

I need to upgrade the program so that it can process the source XML files polled by JMS adapter from websphere MQ queues and then this program will be deployed onto server as a custom JMS adapter module.

Could you please guide me in upgrading the program and then creating a custom JMS adapter module of of it?

Thanks in Advance.

Regards,

Amit Shantaram Patil

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Apu Das Jan 02, 2017 at 05:05 AM
0

Hi Amit,

I guess you can use JAVA mapping/XSLT mapping in your JMS - File scenario to remove CDATA and extract the ANSIX12/EDIFACT data format.

Next, you can use File - EDISEPARATOR pass through scenario to split the data as per transaction set identifier.

Next, develop EDISEPARATOR to IDOC scenario as per the teansaction set identifier and start and end index.

Thanks,

Apu

Share
10 |10000 characters needed characters left characters exceeded