Skip to Content
0
Aug 05, 2016 at 10:45 PM

XML Transformation failing CX_ST_INVALID_XML

663 Views

Hi,

I am working on a SRM-SUS system where, it talks to backend ECC through PI. This one specifically is to replicate new vendors using XML.

So there was a standard PROXY by SAP. And I needed to add two zfields to it.

I logged into PI box and enhanced the data type. By creating new software component, component version, namespace.

And when I activated my changes, a TRANSFORMATION was auto generated in the SUS-SRM system, with new Zfields.

I logged in to SRM-SUS, and generated a proxy for the Z enhanced data type.

Below is the Transformation source code.

This is a outbound interface on the SRM-SUS side, whenever this runs the the XML transformation fails at line 19 (see below) <tt:attribute name="n0:ZQSSKZ">.

ZSUSZQSSKZ contains value '05'.

Fields ZSUSZQSSKZ(proxy generated in SRM-SUS) and ZQSSKZ(on PI side) are both defined as STRING.

Not able to understand what is going wrong. Can you guys help please?

<?sap.transform simple?>
<tt:transform version="1.0" xmlns:tt="http://www.sap.com/transformation-templates" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sapgdt="http://sap.com/xi/SAPGlobal/GDT" xmlns:ddic="http://&>
www.sap.com/abapxml/types/dictionary" xmlns:prx="urn:sap.com:proxy:DV1:/1SAI/SASE7FA5F651636382C4B9D:740" xmlns:n0="http://customer.com/xi/SRM/SupplierEnablement" xmlns:n1="http://sap.com/xi/SRM/SupplierEnablement">
  <tt:root name="ROOT" type="ddic:BBPX_TRADING_PARTNER_SUS"/>
  <tt:variable name="_C_NIL" val="C(' ')" type="ddic:XSDBOOLEAN"/>
  <tt:variable name="_S" type="STRING"/>
  <tt:parameter name="_DEFAULT" val="C('')"/>
  <tt:parameter name="_CNTL_VAL" val="C('')"/>

  <tt:template name="BBPX_TP_OUT_ATTR">
   <tt:context>
    <tt:root name="ROOT" type="ddic:BBPX_TP_OUT"/>
    <tt:parameter name="_DEFAULT" val="C('')"/>
    <tt:parameter name="_CNTL_VAL" val="C('')"/>
    <tt:variable name="_C_NIL" val="C(' ')" type="ddic:XSDBOOLEAN"/>
    <tt:variable name="_S" type="STRING"/>
   </tt:context>
   <tt:ref name="ROOT">
    <tt:cond s-check="not-initial('ZSUSZQSSKZ')">
     <tt:attribute name="n0:ZQSSKZ">
      <tt:value ref="ZSUSZQSSKZ"/>
     </tt:attribute>
    </tt:cond>
    <tt:cond s-check="not-initial('ZSUSZQSREC')">
     <tt:attribute name="n0:ZQSREC">
      <tt:value ref="ZSUSZQSREC"/>
     </tt:attribute>
    </tt:cond>
   </tt:ref>
  </tt:template>

  <tt:template name="BBPX_TRADING_PARTNER_SUS_ATTR">
   <tt:context>
    <tt:root name="ROOT" type="ddic:BBPX_TRADING_PARTNER_SUS"/>
    <tt:parameter name="_DEFAULT" val="C('')"/>
    <tt:parameter name="_CNTL_VAL" val="C('')"/>
    <tt:variable name="_C_NIL" val="C(' ')" type="ddic:XSDBOOLEAN"/>

Thanks and regards,

Rajaneesh