How to handle Hirarchy structures  in MESSAGE  MAPPING

Hi...
      I'm getting data from  a file.. and that is contain Hierarchy structure.. but i want to  load it to a plain structure.. for this how can we map the  source fields to target fields..
  here my source structure is...
HEADER :
--DATE
--COMPANY
--LINE_ITEM_1:
-----CUSTOMER_NO
-----LINE_ITEM2:
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----LINE_ITEM2
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----CUSTOMER_NO
-----LINE_ITEM2
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----LINE_ITEM2----
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
  this structure i want to map it to  a plin structure..
regards
Jain

Hi,
removeContext:- Deletes all context changes in a queue.
For Eg:-
<RootNode>                    
     <Node1>
          Value1
          Value2
     </Node1>
     <Node2>
          Value3
          Value4
      </Node2>
</RootNode>
When removeContext not used:-
<RootNode>                    
          Value1
          Value2
</RootNode>
When removeContext used:-
<RootNode>                    
          Value1
          Value2
          Value3
          Value4
</RootNode>
Refer [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638]
Hope this helps.
Regards,
Ambili

Similar Messages

  • How to validate a date in message mapping

    Hi experts,
                    how to validate a date in message mapping. For ex:  if date comes as 2008/02/31, then file it shold not get processed.how to achieve this in message mapping. Please help .
    Thanks&Regards,
    Reyaz Hussain

    Hi,
    There are few simple ways for date validation as follow,
    1.If you would like to handle it in XI only, then in message mapping you could verify about it with the help of generating smart exception.
    For e.g in mapping there is one Date conversion API i.e. somthing DateTransformation It converts the incoming date format to required format. Here give the date format i.e expected from Sender File.
    If in case the format miss-matched then it will create the exception.
    You could handle this exception with the use of [Alert notification|http://help.sap.com/saphelp_nw04/helpdata/en/2c/abb2e7ff6311d194c000a0c93033f7/frameset.htm] and could be even able to notify to sender system about it.
    2. The another solution is easy for SAP synchornous communication --If you are passing the file data to SAP, then you could use below function modules to verify date format in receiver RFC/BAPI or inbound IDOC program. If the sy-subrc is not 0 then don't process further.
    CONVERT_DATE_FORMAT
    ISU_DATE_FORMAT_CHECK
    Thanks
    Swarup

  • How to handle Tree structure in bdc

    Hi Experts,
          How to handle Tree structure in bdc, can any one have any idea regarding this.
        In the top most of the tree i  have  :  Occupational Health under that Identification is there .
          Occupational Health
                           Identification
    Regards,
    Sudhakar Reddy.A

    Hi Experts,
    Thanks Parvatha reddy for your reply.
    Can any one provide BAPI for this T.Code EHSQCATOH  or can any one tell me how to handle Tree structure .
    Regards,
    Sudhakar Reddy .A

  • How to use node functions in Message mapping !!

    Hi  Gurus,
    I have got one issue in message mapping, please can any one put some ideas on this !!
    Source Structure
    <Group_ZA>  0..unbound
         <D02_ZA>           0.. unbound
             ZA_01             0..1   - QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
          iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
         <D02_ZA>          
             ZA_01             0..1     QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    <D02_ZA>          
             ZA_01             0..1     QA
             ZA_02             0..1      20
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1     QD
             ZA_02             0..1     40
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QN
             ZA_02             0..1     12
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
         <D02_ZA>          
             ZA_01             0..1    QP
             ZA_02             0..1    60
             ZA_03             0..1
             ZA_04             0..1
         </D02_ZA>
    </Group_ZA>
    Target Structure
    ProductActivityNotification                                                       0..unbound
                          ProductActivity                                                             1..1
                                        Item                                                                 1..unbound
                                              Inventory                                                   0..1
                                                     UnrestrictedUseQuantity                    0..1
    The Group_ZA comes 'n' number of times and D02_ZA comes sometimes 5 times and sometimes 6 times etc.,
    ZA_01 field can come with 5 to 6 different values like 'QA','QD','QN' etc., sometimes ZA_01 comes only 3 times QA,QD,QN.
    if ZA_01 = 'QA' then only  we need to pass   ZA_02 value on to ''UnrestictedUseQuantity'' (target side),
    I mapped the fields, the vlaue ZA_02  passing properly on to 'UnrestictedUseQuantity' when D02_ZA comes 5 or 6 times, all the times 'QA'  value comes into ZA_01 field. In case if QA value missed or doesn't come from source, the Target side ' 'UnrestictedUseQuantity' field last value comes into last but one.
    Ex: QA value is in 3 times, but I have 4 source message on top. values comes into target side like
    20
    20
    20
    suppose to come like
    20
    20
    -- (Space)
    20
    Please required your valuable inputs in bit urget !!
    how to map field level please?
    Many Thanks in Advance
    Kind Regards
    San

    Petre:
    If you want to use standard functions then you try this:
    If-->currentdate -OR- Constant(01.02)
    currentdate -OR- Constant(02.02)   --> OR -->
    currentdate -OR- Constant(03.02)
    Then give some output
    Else give some output
    So give the output for the first two conditions to another OR and the result of the third to the same OR. So whenever the condition is true in any of the condition you will get the THEN value else you will get the ELSE value.
    ---Satish

  • How to handle rpc/encoded style messages using BizTalk?

    I am integrating with a lot of services and one of our customers has a service with rpc/encoded style
    I could consume and generate schema from their wsdl file via BizTalk consume WCF wizard.
    Once I am trying to call the service with request message that generated from the schema, it is giving an error that can not desterilize the first element of the message. 
    No Deserializer found to deserialize a 'FieldName' using encoding style 'null'
    I compared the stub xml request message from SaopUI and I noticed that the xml expecting the data type with the element like this .
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
    <soapenv:Header/>
    <soapenv:Body>
    <wsb:bnkBorcsorgulama soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <sozlesmeNo xsi:type="xsd:string">?</sozlesmeNo>
    <bankaKodu xsi:type="xsd:string">?</bankaKodu>
    <anahtar xsi:type="xsd:string">?</anahtar>
    </wsb:bnkBorcsorgulama>
    </soapenv:Body>
    </soapenv:Envelope>
    On the other hand, I got the request of the message from Fiddler using the BizTalk , and the generate xml of the BizTalk schema without the data type.
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
    <soapenv:Header/>
    <soapenv:Body>
    <wsb:bnkBorcsorgulama>
    <sozlesmeNo>?</sozlesmeNo>
    <bankaKodu>?</bankaKodu>
    <anahtar>?</anahtar>
    </wsb:bnkBorcsorgulama>
    </soapenv:Body>
    </soapenv:Envelope>
    In SoapUi, if I remove a datatype from the message, I will get same error from the BizTalk request.
    I read some articles that rpc/encoded style are not supported but I am not sure and these articles are not clear.
    I also read that it was supported with Soap adapter but now it is deprecated.
    So, Is there any one has an experience in rpc/encoded style messages and how to handle these message in BizTalk or is there any work around to handle these messages?
    Your inputs really appreciate it.
    Thanks in advance,
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

    Hi,
    Please refer to the document which might help you:
    #RPC/Encoded Style
    http://www.c-sharpcorner.com/UploadFile/martinkropp/DesigningInteroperableWebService11232005044847AM/DesigningInteroperableWebService.aspx

  • Error while forming Structur in Message Mapping.

    Hi ,
    I have taken source payload from Moni and tried to test the Message mapping.
    When i paste the Pay load in Test tab,under XML, my structure is getting well formed., But 3 feilds from structure is showing in Red color.
    Please advice
    Regards
    Dinesh

    Hi Dinesh,
    Please cross check with filling the values into the test tab and display it in source xml format and copy in notepad and compare with the payload data there must be some tag problem.
    Thanks!
    Edited by: Sudhir Tiwari on Nov 25, 2008 2:20 PM

  • How to handle duplicate nodes in xslt mapping

    Hi,
    in my scenario that i have a source mapped to the canonical structure and from canonical to target.
    source structure
    <empid>
    <national_id>
    canonical structure
    <id> 0 to unbounded
        <id>
        <type>
    the mapping from source to canonical
    is like i have duplicated the canonical structure and then mapped
    id -
    empid
    type--- assigned a constant employee
    id -
    national_id
    type--- assigned a constant National
    i have used xslt mapping using stylus studio and mapping from source to canonical is not the problem
    when i mapped the canonical to target there is a problem
    the node id is visible once in the canonical when the structure is a source  
    but there is a dupicate node in the structure but not visible. how to procedue with the mapping for canonical to target
    kindly help me
    with regards
    pradeep N

    hi,
    Udo Martens.
    <b>source xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_fileReceive xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
       <Emp_ID>12</Emp_ID>
       <National_ID>91</National_ID>
    </ns0:Materail_fileReceive>
    <b>canonical xml</b>
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile"><Material><ID>12</ID><Type>Employee</Type></Material><Material><ID>91</ID><Type>National</Type></Material></ns0:Materail_file>
    <b>source to canonical mapping is</b>
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
         <xsl:template match="/">
              <ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/Emp_ID"/>
                        </ID>
                        <Type>Employee</Type>
                   </Material>
                   <Material>
                        <ID>
                             <xsl:value-of select="ns0:Materail_fileReceive/National_ID"/>
                        </ID>
                        <Type>National</Type>
                   </Material>
              </ns0:Materail_file>
         </xsl:template>
    i want the<b> canonical to target mapping</b> where my target structure is similar to that of my source
    kindly help.
    regards
    pradeep N.

  • SOAP fault - How to log error in response message map

    Hi,
    I have a scenario ABAP Proxy <-> XI <-> SOAP.
    Occassionally there is an issue with communication to the destination system and an HTTP 500 Error is returned. I assume this is due to a system related error and it is returned as a SOAP Fault as opposed to a SOAP response with payload.
    How do I get this "HTTP-500" error into my message map to return to the calling system ?
    I have looked at Fault Messages but need to know if these are relevant for the SOAP Adapter and how they can be utilised ?
    Thanks for any help.
    Kind regards
    Colin.

    SOAP fault message not in correcto format to allow an application error to be caught.

  • How to load DTD structure runtime in Mapping

    Dear All,
    I have Interface, used DTD as external definition and did mapping.
    Customer said, there is one tag, that Tag name will be changed dynamically based on Ship type.
    How to handle this in XI Mapping to not to fail mapping
    Regards

    Hi,
    Few suggestions:
    1) Create a custom adapter module and while parsing the xml handle that tag as per your requirement.
    OR
    2) If the Ship types are just of 2 or 3 types and interface is simple. Create a different interface for each ship type.
    Regards,
    Aravind

  • How to set EXPORT parameter from message mapping

    Again, ask the question of export parameter.
    I wrote a java version transformation and it worked good with export parameter.
    However I can not work it out in graphical message mapping. I refered http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
    In PI7.1, I add an export parameter "EXPORT_PARA" in the "Signature" tab. Are there any special step to assign this parameter to an UDF? I did not find a way to do it.
    And then I define an UDF,
    public String SetExportPara(String sss, Container container) throws StreamTransformationException{
    String str = "GOOD";
    GlobalContainer gc = container.getGlobalContainer();
    OutputParameters paras= gc.getOutputParameters();
    if(paras.exists("EXPORT_PARA ") == true) {
    paras.setString("EXPORT_PARA ", str);
    }else {
    str = "NOT FOUND EXPORT_PARA";
    return str;
    And I assign this UDF to one element of my output XML, I tried to run it in IE, it always output "NOT FOUND EXPORT_PARA.
    why?????
    I know there is a blog : https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/8654. [original link is broken] [original link is broken] [original link is broken]
    But it did not talk how to set export parameters.

    Hi,
    i read thread
    How to export parameters from Message Mapping
    and blog
    /people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
    but not found issue
    in this topic
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
    if i writting this code in UDF, i getting an error.
    If use this code:
    GlobalContainer gc = container.getGlobalContainer();
    OutputParameters paras= gc.getOutputParameters();
    paras.setString("EXPORT_PARA ", str);
    the export parameter is defined locally (in transformation step area). In integration process area parameter is equal to NULL.
    How send export parameter to Integration Process? For exapmple, i wanna send parameter to other transformation step in my integration process.
    thx.

  • How can i test after creating Message mapping transformations

    Hi guys,
    How can i test my transformation after creation of message mapping in Integration Repository.
    Pleae expain step by step procedure
    Thanks & Regards.,
    Pushparaju.B

    Hi,
    1. If you just want to test the mapping --In message Mapping there are three tab, the second one being hte Test tAb. So u can pu the values in the left side XML and do test.
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/e3072e65f04445a010847aa970b68b/content.htm
    2. You can do the Testing from Interface mapping also. There is a Test tab there too.
    3. If you have created the whole scnerio then you can do testing from Integration directory:
    http://help.sap.com/saphelp_nw04/helpdata/en/6b/874a4273bb3830e10000000a155106/content.htm
    Regards
    Vijaya

  • How to handle "Memory Low" warning message?

    Recently users have been getting a warning message when they log on: "Memory low.  Leave the transaction before taking a break."  When we look at SM50 the user has a status of "On Hold" and the reason column says "PRIV".  We are on ECC 6.0 (since January 2010) and V7R1 (March 2011). 
    Usually the message is received as soon as the user logs on so it is not like it is related to a particular program.  We can go weeks without any reported instance of the message so it is not a regular occurrence.  Fortunately there does not seem to be any other symptom other than getting the message.
    I have seen a post on an SAP forum that said to adjust the instance profile with these parameters:
    rdisp/max_priv_time
    rdisp/wppriv_max_no
    I do not have any entries for this now and am not sure what the values should be.
    Does anyone have any suggestions on how to handle this on an AS/400?  Thanks in advance.
    Alan

    Hi Alan,
    what 1024 ???
    then we definetely do NOT need as4/MAXSHR64 !
    I would normally at least go for em/initial_size_MB = 8000 - as you are having issues right now ...
    Or is this a small DEV-system ?
    then 4000 might be sufficient ...
    (the 4096 is just crap - make it simple and use e.g. 4000 then ...)
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.com http://www.4soi.de http://www.easymarketplace.de

  • How to check a field in Message mapping wether it is Non Numeric?

    Hi XI Guru's
    I am totally new to XI world, Kindly help hopw can I chexk a field while doing message mapping whether the field is non numeric or not.
    I dont find any built in function for the same.
    If it is using UDF can some body help me in providoing a UDF for this.
    Many Thanks
    Arun

    Hi Arun,
    In SAP PI, all the XML contents by default treated as STRINGS.
    So if u want to check whether the incoming field is numeric or not... the only way is to write a UDF code for the same.
    the UDF will be,
    1. At first
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    in functions.
    2.UDF content:
    input: field,container
    output:boolean
    Code
    boolean return_Value;
    Pattern p = Pattern.compile("[0-9]*");          // If u are using the decimals please change the regular expression accordingly.
    Matcher m = p.matcher(field);
    if(m.matches())
    retuen_Value = true;
    else
    return_Value = false;
    return return_Value ;
    I hope this will solve ur problem....
    Babu

  • How to find the name of message mapping

    Hi folks
    i want to check the name of message mapping  which is used at run time. i can find the name of Interface mapping name in trace of message in SXMB_MONI.
    but i am not able to find the MM name.
    can some one help me .....
    Regards
    Gagan

    > but i am not able to find the MM name.
    You will find your message mapping name as class name in the pipeline step Request Message Mapping.  Please search for interface mapping and below which you will find the mapping name as this format...
    <Trace level ='"3" type="T"> Mapping steps 1 JAVA_JDK 
    com/sap/xi/tf/_<your mapping name> </Trace>
    Example as similar below...

  • How to handle the system error messages?

    Hi...
       I was doing File to RFC scenario with BPM. If i give the correct values for the Bapi Input it is working . If i give the some wrong input to the BAPI, it is not executing and the scenario is stopping. If i click on PE , it is going to the Inbound Queue.
    If this type of issue occurs i need to capture the system error and store it in a database. Could you pelase help in this issue.
    Thanks,
    Leela
    Edited by: leelaratnam morampudi on Nov 21, 2008 2:24 PM

    Hi Leela,
    You need to handle this in BPM. Check the thread describing how to catch exceptions in BPM.
    How to handle system errors in XI using BPM? please help!
    Thanks!

Maybe you are looking for

  • Lid Latching Trouble

    Hi, I have a MacBook Pro from Jan '07. Still runs awesome and it's great, but in the past couple days I noticed a little problem I need a little help with. When I close the lid now, you can see the little hooks coming out of the lid part, and they co

  • Form Designing

    Hai Guys, i have a problem while designing Smart Form 1) in that i need one box like to draw half line between the box but i am not able to divide the box.  Some text Some Text      Some TextSome Text Some Text Some Text       ________________ Some T

  • Ppt for client presentation

    Hi can u plz send poer point presentation sap sd sales process. plz send this mail id [email protected] zapakmail is not working. aditya

  • No login via Web Interface possible

    Hello, after installing iFS (version 9.0.1.1.0) access via Windows Network-neighborhood makes no trouble. Using the Web Interface iFS doesn't authenticate login and password although this user exists. The default system/manager has also no chance to

  • NullPointerException in LockType.getUpgrade on 3.3.75

    Our production system is still on an older version of JE (3.3.75), but I can't see anything in the release notes that addresses this problem. We got a NPE in LockType.getUpgrade from a collections iterator constructor: java.lang.NullPointerException