cancel
Showing results for 
Search instead for 
Did you mean: 

What is the best way to generate a !DOCTYPE tag in an outbound message

Former Member
0 Kudos

Hi Guys,

My scenario is JDBC to File

The xml file has to be created with a <!DOCTYPE statement.

I had seen the blogs on the sdn,in SDn it is mentioned as XSLT/JAVA mapping to be used to insert a <!DOCTYPE tag in the outbound xml file.

Iam new to java/xslt mapping can anybody guide me how to do this.

Thanks for your support.

Srinivas

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Solved myself, written a unix command in the post processing steps in the receiver file adpater

Former Member
0 Kudos

Hi Experts,

I had written an XSLT Code to acheive this, i checked in XML spy and it is working.

but in moni it is error in message mapping

my XSLT Code is

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Add the Doctype declaration -->
<xsl:output method="xml" indent="no" doctype-system="http://integratex.quality.techdata.de:8080/ix/dtd/ixOrder.dtd"/>
<!-- Identity Transform - copy the source XML to the output without any changes -->
<xsl:template match="node() | @*">
            <ns0:MT_ASNDATAOUT xmlns:ns0="http://aaaaa/sd/SD152.25">
            <xsl:copy> 
                                                <xsl:apply-templates select="node() | @*"/>
            </xsl:copy>
            </ns0:MT_ASNDATAOUT>
</xsl:template>
</xsl:stylesheet>

and the error in moni is

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <!--  Request Message Mapping 
  --> 
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
  <SAP:Category>XIServer</SAP:Category> 
  <SAP:Code area="MAPPING">GENERIC</SAP:Code> 
  <SAP:P1>Parsing error after multi mapping.</SAP:P1> 
  <SAP:P2>Expected Message<i> instead of Messages</SAP:P2> 
  <SAP:P3 /> 
  <SAP:P4 /> 
  <SAP:AdditionalText /> 
  <SAP:ApplicationFaultMessage namespace="" /> 
  <SAP:Stack>Parsing error after multi mapping.Expected Message<i> instead of Messages</SAP:Stack> 
  <SAP:Retry>M</SAP:Retry> 
  </SAP:Error>

In the Message Mapping iam doing doing multi mapping.

Please help me why iam getting an error in moni.

Thanks for your help

Srinivas

Former Member
0 Kudos

*Example to map a Product master input record to the IDoc Type CRMXIF_PRODUCT_MATERIAL_SAVE01*

<?xml version="1.0" encoding="utf-8"?>

<ns:RECORD xmlns:ns="urn:somenamespace">

<row>

<FIELD1>somevalue</FIELD1>

u2026 u2026 u2026

u2026 u2026 u2026

u2026 u2026 u2026

</row>

</ns:RECORD>

*Create an xsl stylesheet where you map the required Product master input fields to their corresponding IDoc field*

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/*">

<CRMXIF_PRODUCT_MATERIAL_SAVE01>

<xsl:variable name="product_master" select="//row"/>

<xsl:for-each select="$product_master">

<IDOC BEGIN="1">

<EDI_DC40 SEGMENT="1">

<TABNAM>EDI_DC40</TABNAM>

<MANDT>010</MANDT>

<DOCREL>620</DOCREL>

<STATUS>30</STATUS>

<DIRECT>1</DIRECT>

<OUTMOD>2</OUTMOD>

<IDOCTYP>CRMXIF_PRODUCT_MATERIAL_SAVE01</IDOCTYP>

<MESTYP>CRMXIF_PRODUCT_MATERIAL_SAVE</MESTYP>

<SNDPRT>LS</SNDPRT>

<RCVPRT>LS</RCVPRT>

</EDI_DC40>

<E101COMXIF_PRODUCT_MATERIAL SEGMENT="1">

<APPL_SNAME>COMXIF_PRODUCT_MATERIAL</APPL_SNAME>

<!-- Product ID -->

<PRODUCT_ID>

<xsl:value-of select="translate(FIELD1,' ','')"/>

</PRODUCT_ID>

u2026 u2026 u2026

u2026 u2026 u2026

u2026 u2026 u2026

</E101COMXIF_PRODUCT_MATERIAL>

</IDOC>

</xsl:for-each>

</xsl:template>

</xsl:stylesheet>