Replacing & with & in message mapping

Hi,
In my scenario I'm using Graphical mapping tool and I have to replace the & that's coming in the input xml with & in the output with in the message mapping, Is Value mapping is the only solution or do we have any other options that we can use for this.
Basically I'm getting runtime error in the message Mapping since I had a & in the value which is not recognized.
thanks,
Joe.P

Hi Bhavesh,
My scenario is RFC-ABAPProxy--XI- File.
so the RFC is sending me as & instead of &amp.
this is what I see in the my incoming xml and this failing during runtime.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0=" http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<nr1:MT_HCMPositionData xmlns:nr1="http://XXXX.com/xi/HCM/Recruitment ">
<PositionIDs>
<PositionID>20008644</PositionID>
<Position_Desc>Director Finance M&A_Dept771_SSC7000</Position_Desc>
<Job_Code>Director Finance M&A</Job_Code>
<Staffing_Stat>1</Staffing_Stat>
<Org_Type>DEPARTMENT</Org_Type>
</PositionIDs>
</nr1:MT_HCMPositionData>
</ns0:Message1>
</ns0:Message1>

Similar Messages

  • File to file with out message mapping and using variable substitution

    Hi,
    Can any one send me a scenario where we can have file to file scenario with out message mapping and where i can use variable substitution.
    As of now i am using integrate configurations where i cant use variable substitution as the message does not reflect in integration engine. I need to populate time stamp between <filename><timestamp>.txt.pgp
    I am as of now using configuration scenario.
    The time stamp always writes before the last file extension.
    Let me know your thoughts?
    Thanks,
    Chandra.

    Hi Chandra,
    u can use the Variable substitution even without IR contents also(Mapping....).
    in the receiver communication channel just specify the path u want to access for a value...
    eg: filename                             payload:mt_name,1,records,1,name,1
    and in th file name give it as %filename%.txt... or vt ever ur requirement
    Babu

  • Problems with message mapping in XI

    Hi,
    I'm having a problem with my message mapping . I get the error
    "Cannot produce target element /ns0:GovTalkMessage/ns0:Body/ns1:IRenvelope. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd"
    Can you please tell me how I can resolve this error?
    Regards,
    Aditi Naik

    Hi,
    The source structure is:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.govtalk.gov.uk/taxation/EOY/08-09/1" xmlns="http://www.govtalk.gov.uk/CM/envelope" targetNamespace="http://www.govtalk.gov.uk/CM/envelope">
    <xsd:import namespace="http://www.govtalk.gov.uk/taxation/EOY/08-09/1" />
    <xsd:element name="IDAuthentication">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="SenderID" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Authentication" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Method" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="clear" />
    <xsd:enumeration value="MD5" />
    <xsd:enumeration value="W3Csigned" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Role" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Value" type="xsd:string" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkMessage">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="EnvelopeVersion" type="xsd:string" form="qualified" />
    <xsd:element name="Header" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="MessageDetails" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Class" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="UnicodeNameString">
    <xsd:maxLength value="32" />
    <xsd:minLength value="4" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Qualifier" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="request" />
    <xsd:enumeration value="acknowledgement" />
    <xsd:enumeration value="response" />
    <xsd:enumeration value="poll" />
    <xsd:enumeration value="error" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Function" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="list" />
    <xsd:enumeration value="read" />
    <xsd:enumeration value="delete" />
    <xsd:enumeration value="add" />
    <xsd:enumeration value="submit" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="TransactionID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[0-9A-F]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AuditID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[A-F0-9]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="CorrelationID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[0-9A-F]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ResponseEndPoint" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:string">
    <xsd:attribute name="PollInterval" type="xsd:integer" default="2" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Transformation" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="XML" />
    <xsd:enumeration value="HTML" />
    <xsd:enumeration value="text" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="GatewayTest" type="xsd:integer" minOccurs="0" form="qualified" />
    <xsd:element name="GatewayTimestamp" type="xsd:dateTime" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="SenderDetails" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="IDAuthentication" minOccurs="0" />
    <xsd:element name="X509Certificate" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:base64Binary" />
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="EmailAddress" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="129" />
    <xsd:minLength value="3" />
    <xsd:pattern value="[A-Za-z0-9\.\-_]{1,64}@[A-Za-z0-9\.\-_]{1,64}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkDetails" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Keys" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Key" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:token">
    <xsd:attribute name="Type" type="UnicodeNameString" use="required" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="TargetDetails" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Organisation" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="1" />
    <xsd:maxLength value="64" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GatewayValidation" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Processed" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="no" />
    <xsd:enumeration value="yes" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Result" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="pass" />
    <xsd:enumeration value="fail" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="ChannelRouting" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Channel" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="URI" type="xsd:anyURI" minOccurs="0" form="qualified" />
    <xsd:element name="Name" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Product" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Version" type="xsd:string" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="ID" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:string">
    <xsd:attribute name="Type" type="xsd:string" use="required" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Timestamp" type="xsd:dateTime" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkErrors" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Error" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="RaisedBy" type="xsd:string" form="qualified" />
    <xsd:element name="Number" type="xsd:integer" minOccurs="0" form="qualified" />
    <xsd:element name="Type" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="fatal" />
    <xsd:enumeration value="recoverable" />
    <xsd:enumeration value="business" />
    <xsd:enumeration value="warning" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Text" type="xsd:string" minOccurs="0" maxOccurs="unbounded" form="qualified" />
    <xsd:element name="Location" type="xsd:string" minOccurs="0" maxOccurs="unbounded" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GatewayAdditions" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:any namespace="##local" processContents="strict" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##local" processContents="strict" />
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Body" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="ns1:IRenvelope" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="UnicodeNameString">
    <xsd:restriction base="xsd:string">
    <xsd:pattern value="[\p\p_\-\(\)\{\}]*" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:schema>
    The target structure is:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.govtalk.gov.uk/taxation/EOY/08-09/1" xmlns="http://www.govtalk.gov.uk/CM/envelope" targetNamespace="http://www.govtalk.gov.uk/CM/envelope">
    <xsd:import namespace="http://www.govtalk.gov.uk/taxation/EOY/08-09/1" />
    <xsd:element name="IDAuthentication">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="SenderID" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Authentication" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Method" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="clear" />
    <xsd:enumeration value="MD5" />
    <xsd:enumeration value="W3Csigned" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Role" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Value" type="xsd:string" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkMessage">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="EnvelopeVersion" type="xsd:string" form="qualified" />
    <xsd:element name="Header" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="MessageDetails" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Class" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="UnicodeNameString">
    <xsd:maxLength value="32" />
    <xsd:minLength value="4" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Qualifier" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="request" />
    <xsd:enumeration value="acknowledgement" />
    <xsd:enumeration value="response" />
    <xsd:enumeration value="poll" />
    <xsd:enumeration value="error" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Function" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="list" />
    <xsd:enumeration value="read" />
    <xsd:enumeration value="delete" />
    <xsd:enumeration value="add" />
    <xsd:enumeration value="submit" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="TransactionID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[0-9A-F]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="AuditID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[A-F0-9]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="CorrelationID" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />
    <xsd:maxLength value="32" />
    <xsd:pattern value="[0-9A-F]{0,32}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ResponseEndPoint" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:string">
    <xsd:attribute name="PollInterval" type="xsd:integer" default="2" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Transformation" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="XML" />
    <xsd:enumeration value="HTML" />
    <xsd:enumeration value="text" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="GatewayTest" type="xsd:integer" minOccurs="0" form="qualified" />
    <xsd:element name="GatewayTimestamp" type="xsd:dateTime" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="SenderDetails" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="IDAuthentication" minOccurs="0" />
    <xsd:element name="X509Certificate" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:base64Binary" />
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="EmailAddress" minOccurs="0" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:maxLength value="129" />
    <xsd:minLength value="3" />
    <xsd:pattern value="[A-Za-z0-9\.\-_]{1,64}@[A-Za-z0-9\.\-_]{1,64}" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkDetails" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Keys" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Key" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:token">
    <xsd:attribute name="Type" type="UnicodeNameString" use="required" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="TargetDetails" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Organisation" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:minLength value="1" />
    <xsd:maxLength value="64" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GatewayValidation" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Processed" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="no" />
    <xsd:enumeration value="yes" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Result" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="pass" />
    <xsd:enumeration value="fail" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="ChannelRouting" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Channel" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="URI" type="xsd:anyURI" minOccurs="0" form="qualified" />
    <xsd:element name="Name" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Product" type="xsd:string" minOccurs="0" form="qualified" />
    <xsd:element name="Version" type="xsd:string" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="ID" minOccurs="0" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="xsd:string">
    <xsd:attribute name="Type" type="xsd:string" use="required" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Timestamp" type="xsd:dateTime" minOccurs="0" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GovTalkErrors" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Error" maxOccurs="unbounded" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="RaisedBy" type="xsd:string" form="qualified" />
    <xsd:element name="Number" type="xsd:integer" minOccurs="0" form="qualified" />
    <xsd:element name="Type" form="qualified">
    <xsd:simpleType>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="fatal" />
    <xsd:enumeration value="recoverable" />
    <xsd:enumeration value="business" />
    <xsd:enumeration value="warning" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Text" type="xsd:string" minOccurs="0" maxOccurs="unbounded" form="qualified" />
    <xsd:element name="Location" type="xsd:string" minOccurs="0" maxOccurs="unbounded" form="qualified" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="GatewayAdditions" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:any namespace="##local" processContents="strict" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##local" processContents="strict" />
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="Body" minOccurs="0" form="qualified">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="ns1:IRenvelope" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:simpleType name="UnicodeNameString">
    <xsd:restriction base="xsd:string">
    <xsd:pattern value="[\p\p_\-\(\)\{\}]*" />
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:schema>

  • Error while opening Message Mapping

    Hi All,
    I have one MM in ESR, IDoc to EDI, it has been developed before, and the interface is working successfully.But when I open this MM in ESR, it given a STOP error with desc as 'For input string: ""'.
    and then there is nothing displayed on Screen under Definition,Test and Functions tab of MM.The Signature tab content is visible properly.
    I am working on PI 7.1.
    Is this issue is because of version comapatibilty or missing object. Please provide your inputs to resolve this issue,
    Thanks,
    Ruchi

    Hi All,
    I have checked with my basis team, but they suggested that the patches can not be installed as this problem is happening with single message mapping.
    When I open this MM, it gives the same STOP error :For input string: "". and when I click on Message Mapping -> Check button, it prompts a message 'Parameter #ParamName# has the invalid value null'.
    Please help me to resolve this.As the mapping itself is not getting loaded, so not getting how to set this parameter value(if it is used in MM).

  • Problem by transporting the message mapping from PI 7.0 to PI 7.1

    Hi Everyone,
    by transporting the message mapping from PI 7.0 to PI 7.1 i have got the following problem.
    "Source code has syntax error:
    K:\usr\sap\E71\DVEBMGS00\j2ee\cluster\serve......
    package udfpool does not exist
    import udfpool.*;
    i have used a UDF in my message mapping.
    This UDF calls for a method of a java class, which is imported as a .jar file with this message mapping.
    this message mapping works very well on PI 7.0,
    but doesn't work any more on PI 7.1 because of the problem described above.
    anyone can help me out of this problem?
    thanks!
    zc

    hi,
    but did you import the jar archive to 7.1 first?
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • Message Mapping: Map value from the first element in a context in target el

    Hi experts,
    I have a problem with a message mapping in XI. I hope you can help me. At first I will give you a source and a target structure. Then I will explain the problem.
    <u>Source structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    The structure can contain more than one E1EDP01-Elements, more than one E1EDPT1-Elements and more than one E1EDPT2-Elements.
    <u>target structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    For every E1EDP01-Element my mapping creates one LineItem-Element in the target structure. To fill the element <vendmemo> the mapping should do the following steps:
    The mapping should search in E1EDP01 for a E1EDPT1 with the TDID = Z505. And from this E1EDPT1-Element (with the TDID=Z505) the mapping should take the value <TDLINE> from the first E1EDPT2-Element in the context of the E1EDPT1-Element (the E1EDPT1 with the TDID=Z505) and put this value in <vendmemo>.
    The mapping should do this action for every E1EDP01 -> so for every LineItem.
    I tried it with UDF but I didn't found a solution. Can anybody help me?
    best regards
    Christopher

    Hello experts,
    i was wrong ... my mapping isn't still working. I had created a test instance. and only for this test instance the mapping (see above) works.
    Can anybody help me? I'm trying the whole day but I can't find a solution. Here a second description of my problem:
    <u>Source Structure:</u>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <E1EDP01>
       <E1EDPT1>
          <TDID> ... </TDID>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
          <E1EDPT2>
             <TDLINE> ... </TDLINE>
          </E1EDPT2>
       </E1EDPT1>
    </E1EDP01>
    <u>Target Structure:</u>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <LineItem>
       <vendmemo> ... </vendmemo>
    </LineItem>
    <u>Description of my Problem:</u>
    For each E1EDP01 in the source structure the mapping creates one LineItem in the target structure.
    The element "vendmemo" should be created in any case ... also if it will be empty.
    To fill the element "vendmemo" the mapping should search in E1EDP01 for a E1EDPT1 with the TDID=Z505. If there is an element E1EDPT1 with the TDID=Z505, the mapping should write the TDLINE from the first E1EDPT2 (under the element E1EDPT1 with the TDID=Z505) in the target field "vendmemo".
    The Problem is that TDLINE an TDID are not in the same context. I tried it with setting the context of both to E1EDP01. But it was not working ... have you any idea oder suggestion?
    Thank you very much
    best regards
    Christopher

  • CSV to XML problem in message mapping

    Hi,
        I am trying for a CSV to XML scenario. But i am confused with the message mapping.
    Can anybody please help me by giving demo example of this???
        Thank you.
    Regards,
    Atul

    Hi
    Kindly have a look at this SDN TVdemo VALUE MAPPING REPLCIATION for all answers,
    https://www.sdn.sap.com/irj/sdn/developerareas/xi?rid=/webcontent/uuid/a680445e-0501-0010-1c94-a8c4a60619f8 [original link is broken]
    http://help.sap.com/saphelp_nw04/helpdata/en/49/1ebc6111ea2f45a9946c702b685299/frameset.htm
    IR: Message Mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/frameset.htm
    hope this helps!
    best regards,
    Thangesh

  • Message Mapping Logical Problem

    Hi there I have an issue with my message mapping. My source structure looks like this.
    IDOC
    -Seg1
    ---Element1
    ---Element2
    ---Seg2
    ElementA
    ElementB
    Ok so I have to map the IDOC to a flat file. Seg 1 is the Header and Seg2 is the Details. For each flat file there will only be 1 Seg1 but there can be X amount of Seg2s' in the flat file. My problem is mapping Element 1 to Element A. Element A has the value of Element 1 and 2 combined. It appears I cannot map a lower hierarchy to an higher hierarchy? I tried changing the context but with no luck.
    Any idea?
    Thanx,
    Jan

    My problem is mapping Element 1 to Element A.
    What do you mean by this? I guess you want the Element1 to appear with each Segment occurrence. If yes, you may use standard function useOneAsMany as shown.
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    Regards,
    Prateek

  • Export Parameters in Parameterized Message Mapping does not work.

    Hello, XI-Gurus!
    I have a question: how to use an EXPORT parameter in Parameterized Message Mapping? seems it does not work...
    (I use XI / PI 7.1)
    For example, I have a follow scenario: a large message comes to XI from one BS (message contains a lot of rows), then this large message splits to some small messages (something about 1000 rows in one small message), and send small messaeg one by one from XI to second BS. So, after receive step I use a transformation step with Parameterized Message Mapping to get a total amount of rows in large message (it needs for making condition for loop in IP, for example). I want to use an EXPORT parameter to pass this number from Parameterized Message Mapping to Integration Process. How can I do it?
    Of course, I know the way to how to make this scenario without any parameterizing, but I want to use exactly "Parameterized Message Mapping" like it writes in this help:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm
    This topic contains something about procedure how to use an EXPORT parameter, but this procedure does not work. I don't understand how to write this UserDefined Function, which I can set any export parameters.
    I read this blog:
    /people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
    this blog has NO solutions about EXPORT parameters. about IMPORT parameters - everything OK.
    Some topics about how to use export parameters in MM in this forum marked as "answered", but this is not true.
    How to export parameters from Message Mapping
    Export parameter REALLY work in message mapping???????
    Export parameter in Message mapping UDF
    WBR,
    Vsevolod

    Hi Rudolf,
    It still does not works.
    Great thanks for all your answers! If your advice works on your PI-server, it means that my problem not in UDF.
    Step by step:
    1) I create in "Signature" tab two parameters: FILE_NAME, FILE_TYPE (of course, they both Export and xsd:string type)
    2) Then, I goes to "Functions" tab and create new function "testUDF" with one argument var1.
    3) In body of this UDF insert 2 strings:
       getOutputParameters.setString("FILE_NAME" , "Order");
       getOutputParameters.setString("FILE_TYPE" , "PDF");
    4) in "Definition" tab I bind function "Local.testUDF" with one field in my input message and goes to "Test" tab for testing.
    5) And then I have a message window "Problems While Testing":
    Source text of object Message Mapping: mm_ParamMap | urn:****.*.:****:TEST has syntax errors:
    Function testUDF, Line 1:
    cannot find symbol
    symbol  : variable getOutputParameters
    location: class com.sap.xi.tf._mm_ParamMap_
    getOutputParameters.setString("FILE_NAME" , "Order");
    ^
    Function testUDF, Line 2:
    cannot find symbol
    symbol  : variable getOutputParameters
    location: class com.sap.xi.tf._mm_ParamMap_
    getOutputParameters.setString("FILE_TYPE" , "PDF");
    ^
    Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details. Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    2 errors
    Look at this notes, first writes that I use a deprecated API, second - about unchecked or unsafe operations.
    And I have no idea what's wrong... Can you help me?
    Thanks!
    WBR,
    Vsevolod

  • Multi-Message Mapping based on value of field - (Without BPM)

    Hi.
    I am having a bit of difficulty with multi-message mapping without BPM. I want to map to message1 & message2 based on a field in the rows of the source structure.
    e.g.
    row1-Source-Field1=> (if equal 0)   => <b>Message1</b>-field1.
    row2-Source-Field1=> (if equal 10) => <b>Message2</b>-field1.
    To attempt to do this, I use the conditions in the graphical mapper:
    if row-Source-Field1 = 0   => Map "Row to MessageType1".
    if row-Source-Field1 = 10 => Map "Row to MessageType2".
    However when I test this the mapping only seems to consider the first row value in row-Source-Field1 and ignores the fact that row two has a value of 10. I think this has something to do with contexts etc..
    I would appreciate any help please.
    Regards.
    Mick.

    in that case try this out
    row1-source-field1 (remove context) -- UDF -splitbyvalue-target
    UDF1(for message 1)
    for(int i=0;i<field1.length;i++)
    if(field1<i>.equals("0"))
    result.addValue(<field to be mapped><i>);
    UDF2(for message 2)
    for(int i=0;i<field1.length;i++)
    if(field1<i>.equals("10"))
    result.addValue(<field to be mapped><i>);

  • Message-Mapping: nested Loops over Elements

    Hi Experts,
    I have problems with my Message-Mapping in the IR. I have a source and a target structure. In the following I will give you easy examples of these structures:
    <u>source structure:</u>
       <E1EDP01>
          <E1EDP19>
             <QUALF> ... </QUALF>
             <IDTNR> ... </IDTNR>
          </E1EDP19>
          <E1EDP19>
             <QUALF> ... </QUALF>
             <IDTNR> ... </IDTNR>
          </E1EDP19>
       </E1EDP01>
       <E1EDP01>
          <E1EDP19>
             <QUALF> ... </QUALF>
             <IDTNR> ... </IDTNR>
          </E1EDP19>
          <E1EDP19>
             <QUALF> ... </QUALF>
             <IDTNR> ... </IDTNR>
          </E1EDP19>
       </E1EDP01>
    <u>target structure:</u>
    <LineItem>
       <IDTNR></IDTNR>
    </LineItem>
    <LineItem>
       <IDTNR></IDTNR>
    </LineItem>
    That means:
    For every <E1EDP01> in the source structure I create one <LineItem> in the target structure. One E1EDP01-Element can contain more than one E1EDP19-Elements. I have to loop over these E1EDP19-Elements, because I have to locate the Element <QUALF> with a given (fixed) value. The Mapping should put the value from the Element <IDTNR> from the source structure - where the QUALF-Element has this given value - in the IDTNR-Element of the target structure.
    I tried it with a UDF, but only the first <IDTNR> in the target structure got filled.
    Thanks for your help
    Christopher

    Thank you,
    but how I can set the Elements IDTNR and QUALF to the context E1EDP01?
    In the splitByValue-Function do I need "each value"?
    best regards
    Christopher

  • Message Mapping Doubt

    Hi Experts,
    Im stuck up with a message mapping issue. Need your advice if I can handle this in message mapping or should I changed the FCC.
    FILE to RFC scenario.
    Input file sample.
    1|OPENED|153-01-19|T001|005151|0237|20100705|17:35:55|001     |20100705
    101|A005152|1|20100705|11:46:38|001     ||||001||1|N|SALE
    111|WCAKE004|1.000|42.00|42.00||G||0.00|LIQUOR|||N|42.00|0.00|$|0.00|WCAKE004
    111|WCAKE004|-1.000|42.00|42.00||G||0.00|LIQUOR|||N|-42.00|0.00|$|0.00|WCAKE004
    111|WCAKE005|1.000|38.00|38.00||G||0.00|LIQUOR|||N|38.00|0.00|$|0.00|WCAKE005
    121|38.00|0.00|0.00|0.00|0.00|I|N||0.00|0.00
    131|T|CASH|S$|1.0000000|38.00||||38.00
    141|G|0.00
    1|CLOSED|153-01-19|T001|005162|0237|20100705|17:35:55|001     |20100705
    After the FCC the message comes into XI in the format (Source message) .
    GMRSTORES
    --CODE1
    1
    OPENED etc..
    --CODE101
    101
    A005152
    1 etc..
    --CODE111
    111 etc..
    --CODE111
    111 etc..
    --CODE111
    --121
    --131
    --141
    --1
    The problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the Code111 nodes comes under the same "ITEM_LI" The target RFC structure is like.
    --/POSDW/CREATE_TRANSACTIONS_EXT
    IT_TRANSACTION
    ITEM
    RetailLIne Item
    ITEM_LI (here is the problem I expect 3 ITEM_LI nodes for each CODE111)
    Pls advice.
    Thanks
    Prasanna

    The problem is on the target side when I try to map the Code111 (line item) to the targert RFC it comes only once or all the
    Code111 nodes comes under the same "ITEM_LI"
    here is the problem I expect 3 ITEM_LI nodes for each CODE111
    1) Ensure that you have raised the Context of the source node (CODE111) to a higher node.
    2) Is your mapping logic proper..... is the ITEM_LI node or its parent node mapped properly so that when the CODE111 repeats, the target is also able to repeat?
    3) did you check the max occurence of ITEM_LI node.....it should be more than 1
    Regards,
    Abhishek.

  • PI Message Mapping One Source to create two of the same Target Nodes.

    Hi,
    I have a source node that contacts the following.
    "1234-5678".
    When there is a "-" in the source node then I need to create two target nodes.
    When there is no "-" in the source node then only create one node.
    Since the source structure is a flat structure by on the target side as you can see I am trying to achieve a diep structure.
    Please can you assist in how to do this with PI message mapping.
    Regards
    Willie Hugo

    Hi,
    "1234-5678" only occurs once in the source. There is no source xml node that will occur more that once. The whole structure only occurs once. But on the target side I need one of the node to occur more than once if a hyphen is found in the source field.
    Source Message                      - Always only one data node.
    ==============
    <root>
    <OnceOnlyNode>1234-5678</OnceOnlyNode>                   [1..1]
    </root>
    Target Message                      - Only two text node when "-" in source, else only one text node.
    =============
    <msg>
    <text>1234</text>
    <text>6789</text>
    </msg>
    How can this be done using standard PI message mapping functions. Can it be done?
    Regards
    Willie Hugo

  • Message mapping - createIf issue

    Hello everybody,
    I have a problem with some message mapping.
    A entire node (E1EDL24) should only be transferred if a field (MATKL from node E1EDL26) is unequal to a certain value ('KAL'). So I created following message mapping with the createIf function:
    Testing the mapping results in a not quite correct behavior. Only the first node is transferred and the following nodes are not (all fields MATKL within the nodes E1EDL26 are unequal 'KAL'). For example, there are two nodes, the first one has the MATKL value 'PON' and the second one has the MATKL value 'HAU'. The first node is transferred, but the second node is not.
    Has anyone an idea why the second node will not be transferred? Did I miss some mapping function for processing all nodes?
    Best Regards,
    Matthäus

    Hi,
    Can you please provide more details? what do you mean by second node is not transforming.
    regards,
    Harish

  • Message mapping problem when testing

    Hi guys,
    I'm having a tiny little problem with a message mapping.
    When I'm testing a message mapping I'm getting the following error:
      12:28:35 Start of test
        Cannot produce target element /ns1:MT_Encomenda/Num_doc. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
      12:28:36 End of test
    I'm importing a xml file for testing, but if I fill in the files at hand using the xml instance i get no problems.
    Any ideas?

    hi,
    make sure the target field  /ns1:MT_Encomenda/Num_doc is getting populated from the source message.
    you would see this error if a required field in the target structure is not populated.
    cheers,
    naveen

Maybe you are looking for

  • How to send a Notification in the Background????

    Hi Experts, I am working on a process consisting of 2 activities :-     - Creation of a Proposal by the Employee     - Evaluation & Approval of Proposal by the Manager I have these 2 doubts :-     - I need to send a notification to the manager on cre

  • Largedataset in spry causes IE to throw alert

    HI,      I am using spry to load a large datset which consists around 1000 records. I am using the code snippet mentioned below to load the records from xmlstring which i get from server side. var  xmlDOMDocument = ""; var  agencyAccounts = new Spry.

  • Oracle Text and Real Application Clusters

    Hello, i know, its a simple question but i found no one, who can answer. We want to use Oracle Text in combination with a 2-Node-ORAC-System. Is this possibe. And if it is, do I have to do a special configuration job. Are there any differences betwen

  • ACCESS.ERROR#service.jms.default.authorization Errors

    Hi, With standart installation, following errors are filling defaulttrace contiuosly, any idea? #1.#0050568817F2005E000003B00000706600044473E94477A8#1201164532348#/System/Security/Audit/J2EE#sap.com/irj#com.sap.engine.services.security.roles.Security

  • How To Restore Hidden Files

    I have a strange problem. I'm trying to restore a file from yesterday that Adobe Photoshop puts in a temporary folder under /private - which is hidden in Time Machine. I've figured out how to display hidden folders in Time Machine. However, /private