Message Mapping- 3 problems

Hi,
1)I need some information regarding Message Mapping. I need to map the field TDLINE of segment E1EDKT2 of IDOC ORDERS05 to the target fields. But based upon the index number of the record of this segment, I must map it to different fields (eg.E1EDKT2[10], E1EDKT2[3]). How can I incorporate this in Message Mapping?
2)And one more scenario is as follows.Use PARTN if exists or use LIFNR to map to target and it must satisfythe conidtion PARVW = AG. Should we need Java code or can we achieve this using two 'If' conditions.
3)We are looping at a source segment and it has multiple  occurances.How to create multiple segments in target based on condition.
Can anyone help me.
Thanks,
Srinivas

> 1) I need to map the field TDLINE of segment E1EDKT2
> of IDOC ORDERS05 to the target fields. But based upon
> the index number of the record of this segment, I
> must map it to different fields (eg.E1EDKT2[10],
> E1EDKT2[3]). How can I incorporate this in Message
> Mapping?
You can use the index function (with SP13):
E1EDKT2* - index
                  equalS
    constant(10) /     
                         ifWithoutElse - target
TDLINE - removeContexts /
check the correct context
> 2)And one more scenario is as follows. Use PARTN if
> exists or use LIFNR to map to target and it must
> satisfy the conidtion PARVW = AG. Should we need Java
> code or can we achieve this using two 'If'
> conditions.
Sure you can chain if statements:
        PARVW
              equalS 
constant(AG) /     
                     ifWithoutElse
              PARTN /            
                   PARTN - exist - if - target
                              LIFNR
This mapping assumes, that PARVW = AG is available, when PARTN is available.
> 3)We are looping at a source segment and it has
> multiple  occurances. How to create multiple
> segments in target based on condition.
Here is a pattern:
condition - createIf - target
condition has to be a queue of true and false with the same occurrency as source.
All sub nodes of source are now arranged correctly under the target node.
Regards
Stefan
Message was edited by: Stefan Grube

Similar Messages

  • XI 2.0 Message Mapping Activation Problem

    Hi All,
    When I attempt to activate a message mapping, I receive the following message:
    Activation of change list cancelled
    Check Result for Object Message Mapping ZHRMD_A05toEAI | http://com.sl.xi:
    *Starting Compilation
    *Error while Compiling
    This is a rather large IDoc, so I'm wondering if it's a memory problem. Do you know where I can "Check Result"? The actual mapping is very routine, so I don't think it's a syntax problem.
    Any help is greatly appreciated!
    Kind Regards,
    Jeff
    Message was edited by: Jeff Kocur

    It does appear to be a resource issue. Following your suggestion, I ran a test and received this message:
    Messages:C:\jdk1.3.1_11\bin\javac -encoding UTF8   -classpath .;.\system-lib\boot.jar;.\system-lib\jaas.jar -extdirs .\additional-lib;.\services\deploy\work\applications\ExchangeRepository -d C:\WINNT\TEMP\12_9_21_22_10_2004 C:\WINNT\TEMP\12_9_21_22_10_2004\com\sap\xi\tf\_ZHRMD_A05BtoEAIZHRMD_A05B_.java
    The system is out of resources.
    Consult the following stack trace for details.
    java.lang.OutOfMemoryError
         <<no stack trace available>>
    Compilation error

  • 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

  • Message Mapping activation Problem

    Hi
    when i activate my message mapping , I am getting an error message like there is not enough disk space, which quite straight forwardly asks me to go and look the space of the XI drive. I looked into it and i have got only a few MB space left out(less that n 50 MB). Now what files can i delete to regain the space back?
    kindly advice.
    regards
    krishna

    NO - THIS IS YOUR DATABASE!
    Do you run a backup from DB13?
    if so, run redo log copy save delete - this deleted the log file after taking two copies.
    The redo logs will be somewhere like
    oracle\<SID>\origloga
    oracle\<SID>\origlogb
    oracle\<SID>\oraarch
    oracle\<SID>\sapbackup
    Again. run from DB13 and not delete from O/S

  • Problem while activating message mapping

    Hi all,
       I am facing a problem while activating message mapping in IR.It says Object being edited by XXXX and cannot be activated.It's giving my user name itself and even it doesn't allow to go to edit mode even.But I am not opening  it twice.How to monitor all the XI users logged into the XI system and find the users using IR and ID objects.Please help in this regard.
    Thanks.

    Hi Jaya
    It is .....
    http://<host:port>/rep/support/public/LockAdminService
    Hope this helps !!!
    Regards,
    J Augastine

  • Problem in message Mapping SAP PI 7.1

    Hi Experts,
    I have a problem in my Message Mapping,
    Design: [Design|http://www.life-4-music.de/prob.jpg]
    Messagemapping: [MappingTest|http://www.life-4-music.de/probII.jpg]
    The Problem is, that ElementC from SourceMessage occours "0 to n" times in Element A, but I need to check every ElementC in ElementA to TargetElementA with a IF Statement.
    I tried a lot of things, like change the CONTEXT of the ELEMENT or use SPLIT BY VALUE but without success.
    Rgds,
    Steffen

    Hello, thanks a lot for the fast awnser. I tried this allready to change the Context of the Elements "system" in this Mapping: Changed Context
    For Example in one field I check for Entry "ERP" in Source Field "system" , if "ERP" is in the first ELEMENT then it will be mapped correctly: Example ERP works
    But If "ERP" is in an element below, then it doesn´t work, so it seems to be, that he only map the first occurrence of the Elements. : Example SCADA don´t work
    Here is the View of the QUEUE from the don´t working Example: Show QUEUE of not working Example
    maybe u have a tip for me again , because I´m allready desperate
    Thanks a lot.
    Rgds,
    Steffen

  • 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

  • Problem in message mapping index.

    HI All,
    I am doing idoc to file scenario.
    I have a problem in message mapping.
    Issue is,
    pallet1
      palletheader(here i used counter to increment the value)
      palletline(here i used INDEX to increment the value)
            pallet linenumber1(it should be 1)
            pallet linenumber2(it should be 2)
    so on       )
    so on
    pallet2
      palletheader
      palletline
            pallet linenumber1(here again it should be 1)
            pallet linenumber2(here again it should be 2)
    so on              )
    so on
    In INDEX we have option called reset index in that we have two radio buttons
    one is "reset index to intial value with each new context"
    and next one is "donot reset index to intiak value"
    if i use the first radio button which is working fine in only one pallet and more pallet lines but not more than one pallet.
    If i use the second radio buttton which is working fine in more than one pallet but not satisfying the more pallet lines in one pallet.
    Can you please help me on the issue

    my requirement is like this.
    IF DELVRY05/IDOC/E1EDL20/E1EDL24/POSNR equals to /DELVRY05/IDOC/E1EDL20/E1EDL37/E1EDL44/EXIDV
    then map to 'pallet line' .
    I tried to keep posnr context as E1EDL20 and also IDOC level.
    And at the same way to EXIDV too.
    pallet(1 to unbounded)
       pallet header(1 to 1)
       pallet lines(1 to 1)
            in sub level  pallet line(1 to unbounded) (here i applied the index logic)
    The out put should be pallet line 1,2,3,----- so on
    In the second pallet the pallet lines should be again 1,2,3,4-------so on .
    But when i try to apply thsi logic,
    I am getting only one pallet line instead of two.
    second is not comming .
    please help on this i am facing this problem for the long time back.
    if i solve then i can complete my scenario.

  • Single Line Data Type to Collection Data type, Problem in Message mapping

    I have a csv file, the file has the following lines
    hdr1
    line1
    line2
    lineN
    hdr2
    line1
    lineN
    I want it to map it to an object with the ff structure
    root object 1..1
    object 1..1
    subobject 0...n
    hdr 1..1
    line 1...n
    How is the mapping of the said data types?  Is it possible?  Please help....thanks in advance

    Hi Raymond,
    as you have two different strutures:
    - HEAD
    - ITEM
    and the occurences of the structures are not fix (say: e.g. HEADER occurs always 3 times), you need a key-field, which identifies each row as HEAR or ITEM.
    If you do not have a key-field, you must design a "generic structure" that fits to both:
    HEAD & ITEM. After the conten-conversion into this generic structure you need a message-mapping that identifies your HEADs and ITEMs.
    File content conversion sites
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
    /people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
    /people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
    /people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
    /people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
    /people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Regards Mario

  • [RFC to File]Problem about Changing file name in message mapping.

    Hi,
    my problem:
        Type:RFC to File
        I change the file name in message mapping.
    when I call the RFC to send the data twice at the same time, both of the output file names are changed while I only want to change the second output file name.
        thanks
    Sam

    In my MM, the input values to these variables (var1, var2 and var3) are (<ZZCOMBI>array,G499999,END_FIFC0029) ,
    var1 is an array of input <ZZCOMBI> item list;
    var2 is get from a property file by call another UDF;
    var3 is constant value.
    the test input data :
    I send the data for the first time:
    - <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <T_ZIFCTS82100010>
    - <item>
    <ZZCOMBI>G000002G000002</ZZCOMBI>
    <ZZKYKBN>*</ZZKYKBN>
    <ENAME_VE />
    <ENAME_Z5 />
    </item>
    </T_ZIFCTS82100010>
    </rfc:Z_IFCFR821_ZIFCTT82100010>
    so the input values to these variables (var1, var2 and var3) are (G000002G000002,G499999,END_FIFC0029)
    the output file name(File1) :END_FIFC002920090413-171534-053.dat
    output record: G000002G000002
    because the data what I send is the last record, the system send the dummy data for the second time by program.
    - <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <T_ZIFCTS82100010>
    - <item>
    <ZZCOMBI>G499999</ZZCOMBI>
    <ZZKYKBN />
    <ENAME_VE />
    <ENAME_Z5 />
    </item>
    </T_ZIFCTS82100010>
    </rfc:Z_IFCFR821_ZIFCTT82100010>
    so the input values to these variables (var1, var2 and var3) are (G499999,G499999,END_FIFC0029)
    the output file name(File2) :END_FIFC002920090413-171533-928.dat
    output record: G499999
    I find that File2(20090413-171533-928) was ouput before File1(20090413-171534-053 ) from the time stamp.
    I am not sure about that "XI will create a message ID for each message and the messages are independent." as you mentioned above.
    Best regards
    Sam
    Edited by: YONGHE ZHOU on Apr 15, 2009 3:59 AM

  • Message Mapping Problem with UTF-16LE Encoded XML

    Hello,
    we have the following scenario:
    IDoc > BPM > HTTP Sync Call > BPM > IDoc
    Resonse message of the HTTP call is a XML file with UTF-16LE processing instruction. This response should then be mapped to a SYSTAT IDoc. However the message mapping fails "...XML Parser: No data allowed here ...".
    So obviously the XML is not considered as well-formed.
    When taking a look at SXMB_MONI the following message appears: "Switch from current encoding to specific encoding not supported.....".
    Strange thing however is if I save the response file as XML and use the same XML file in the test tab message mapping is executed successfully.
    I also tried to use a Java Mapping to switch encodings before executing message mapping, but the error remains.
    Could the problem be, that the codepage UTF-16LE is not installed on the PI system ? Any idea on that ?
    Thank you!
    Edited by: Florian Guppenberger on Feb 2, 2010 2:29 PM
    Edited by: Florian Guppenberger on Feb 2, 2010 2:29 PM

    Hi,
    thank your for your answer.
    This is what I have tried to achieve. I apply the java conversion mapping when receiving the response message - i tried to convert the response to UTF-16, UTF-8 but none of them has helped to solve the problem.
    I guess that using adapter modules is not an option either as it would modify the request message, but not the response, right?

  • Problem in 1toN message mapping,payload not populated but file created

    I am doing 1:N multimapping From Proxy  to File scenario .Proxy send three types of data all having same stucture but depending on the value of First field we split the whole stucture in 3 parts on target side and generating three files on taget side.During testing values get Passed from the SXMB_MONI(processed) and we get whole payload data upto
    "Message Branch Acording to Reciever List" .But when i check payload data in 'Request Message Mapping" we donot get any data in Payload.Taget File is generated but when we try to oen the file I get message " Unable to display the File".
    can any expert help me resolve this problem.

    I need to generate 3 files each having similar structures depending upon the first field 'listcode' values whose values are  'N0','MA','MY' coming in a proxy structure.The source structure is as follows::
    MT_Source
    >Detailrecord..0..unbounded
    >listcode..0.1...xsd:string
    >itemcode...0.1...xsd:string
    >description1...0.1..xsd:string
    >description2...0.1..xsd:string
    The target stuctures are:
    MT_Target_N0
    >Detailrecord..0..unbounded
    >listcode..0.1...xsd:string
    >itemcode...0.1...xsd:string
    >description1...0.1..xsd:string
    >description2...0.1..xsd:string
    MT_Target_MA
    >Detailrecord..0..unbounded
    >listcode..0.1...xsd:string
    >itemcode...0.1...xsd:string
    >description1...0.1..xsd:string
    >description2...0.1..xsd:string
    MT_Target_MY
    >Detailrecord..0..unbounded
    >listcode..0.1...xsd:string
    >itemcode...0.1...xsd:string
    >description1...0.1..xsd:string
    >description2...0.1..xsd:string
    I need to do mapping of such 1:n multimapping mapping.I have done mapping but getting error in moni "Split mapping created no messages".Please suggest me some right way to do mapping

  • MESSAGE MAPPING PROBLEM PLS HELP

    hi forum i have a problem in message mapping...
    i have a file to file scenario...with a BPM..
    the components are:
    1. one outbound async MI:->   MI_OA_fileSender
    2. one abstract async MI:->   MI_AA_fileSender
    the above two has messsage structure as:
    <ns0:MT_sourceFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1...1
          <record>  1..unbound
             <batch_num/> 1..1
             <quantity/>  1..1
          </record>
       </recordset>
    </ns0:MT_sourceFile>
    3. one abstract async MI: -> MI_AA_fileDestination
    4. one inbound async MI:-> MI_IA_fileDestination..
    the above two has messsage structure as:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_destinationFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1..1
          <record> 1..unbound
             <rec_number/> 1...1
             <qty/> 1...1
          </record>
       </recordset>
    </ns0:MT_rana3_destinationFile>
    inside the BPM i m doing a simple one to one interface mapping between MI_AA_fileSender and MI_AA_fileDestination AND then use a send step to send it to receiver service. But inside the graphical editor, for the message maaping in the interface mapping, i change the target structure a bit by duplicating <rec_number> making it:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_destinationFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1..1
          <record> 1.. unbound
             <rec_number/> 0..1
             <rec_number/> 0..1 //did right click   and "duplicate sub-tree, so it becomes 0...0"
             <qty/>
          </record>
       </recordset>
    </ns0:MT_destinationFile>
    But i dont change the original structure of MT_destinationFile.
    Now in the resultant file in the receiver side i recive two <rec_number> tags....
    but since i didnt change the original structure of MT_destinationFile.....but i only made a change in the mapping by duplicating the node <rec
    _number>(right click and done "duplicate sub tree").............SHOULD IT NOT THROW AN ERROR
    Message was edited by:
            sudeep dhar
    Message was edited by:
            sudeep dhar

    >.............SHOULD IT NOT THROW AN ERROR
    Not necessarily.
    See, XI won't realize, by default, a schema validation in your messages. If you want a validation, you'll have to implement one, as described in
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c4/e1343e8c7f6329e10000000a114084/frameset.htm
    However, for some particular steps in BPM, I have observed that an invalid XML will some times result in a error in BPM execution. In particular, if you have switch steps, container operation steps and/or correlations where you use a particular field of that message, it may throw some exception when you have an invalid xml. Also, I have observed some errors with conditional receiver determination for invalid messages.
    As a best practice, if you have any kind of dependency on a particular message inside your system (like switches, container operations, correlations, condition in receiver or interface determination etc), it is a good idea to implement a schema validation.
    Also, if you do want to create a thrustable scenario, you might want to perform schema validation for all your output messages.
    Regards,
    Henrique.

  • Problem in activating message mapping

    hi all,
    When I try to activate the message mapping, it is saying that my namespace does not belong to my s/w component,
    So I checked my namespace, it was not active. I tried activating it but it says user pi7gen is currently editing the namespace.
    But no one is logged into the PI system except me (I checked it in sm12). Kindly help me with this issue.
    Thanks and Regards
    Manoharan

    Hi Manoj,
    Here is the direct URL to remove lock from your object use this if your facing any problem in above mentioned ways.
    http://<ServerName>:<port>/rep/support/public/LockAdminService
    <port> is generally 50000 <Server name> is same which used fro opening Integration builder .
    Regards,
    Saurabh

  • Problem with condition IF THEN in Message MApping

    Hi,
    We are not getting correct ouput when we use condition IF THEN without else in message Mapping .We are sending data from File to XI to R/3.
    We are using file adapter and IDOC adapter to create customer in R/3.
    In message Mapping we are creating Segment E1KNB1M and E1KNBKM based on condition.
    IF THEN Condition used in mapping is as below
    find the length of Compnaycode with LENGTH function.Pass that value as one of the parameter to function GREATER.Pass second parameter to function GREATER a constant (0).Pass the result to If without else function.If this is true pass Item to IF THEN function and Map the result to E1KNB1M.
    Our mapping is not giving desired output in below scenario:
    Source  XML
    <?xml version="1.0" encoding="utf-8" ?>
    <ns:CustomerMaster_Request_MT xmlns:ns="http://mazdausa.com/sapr3/fi/masterdata/customermaster">
    <Idoc>
    <Header>
      <ID>H</ID>
      <ACCTGRP>M002</ACCTGRP>
      <CUSTNO>R51563</CUSTNO>
      <NAME1>WAYNE MAZDA</NAME1>
        </Header>
    <Item>
      <ID>L</ID>
      <COMPCODE>US10</COMPCODE>
      <BANKKEY>0000326</BANKKEY>
      <BANKCNTRY>US</BANKCNTRY>
      <BANKACCT>05893</BANKACCT>
      </Item>
      </Idoc>
    - <Idoc>
    - <Header>
      <ID>H</ID>
      <ACCTGRP>M002</ACCTGRP>
      <CUSTNO>51563</CUSTNO>
      <NAME1>WAYNE MAZDA</NAME1>
      </Header>
      </Idoc>
    - <Idoc>
    - <Header>
      <ID>H</ID>
      <ACCTGRP>M002</ACCTGRP>
      <CUSTNO>V51563</CUSTNO>
      <NAME1>WAYNE MAZDA</NAME1>
        </Header>
    - <Item>
      <ID>L</ID>
      <COMPCODE>US10</COMPCODE>
      <BANKKEY>000326</BANKKEY>
      <BANKCNTRY>US</BANKCNTRY>
      <BANKACCT>0305893</BANKACCT>
      </Item>
      </Idoc>
      </ns:CustomerMaster_Request_MT>
    Here 3 Idoc are created under ZDEBMAS06.
    First IDOC contain segment E1KNB1M and E1KNBKM as desired because first idoc in Source XML contains Item data.
    Second IDOC contain segment E1KNA1M only as desired because second Idoc in Source XML does not contains item data.
    Third IDOC does not contain Segment E1KNBKM and E1KNB1M which is not a desired output. It should contain these segments as third idoc in source XML have item data.
    But we are getting right output in case we also have Item data under second IDOC in source XML.
    Please let me know where I am doing wrong.
    Thanks.
    Rekha.

    Hi Rekha,
    I am getting the same problem while checking display Queue in message mapping??
    <i><b>Source code has syntax error: java.lang.NoClassDefFoundError: com/sun/tools/javac/Main Exception in thread "main"</b></i>
    Any ideas to solve this problem...
    Thanks,
    Sekhar

Maybe you are looking for

  • Replace single values in a internal table

    Hi all, I have two internal tables. In the first table (itab) I have some values which I have to "decode" using the second table (itabtext). This means that I have to pick every line and replace in the itab a value like "01" with "text for 01" from i

  • How i can access log file in servlet?

    How i can access log file in servlet then display it to browser.           Can i have peice of codes...           Thanks in advance.!           

  • Open Adobe form through workitem in UWL

    Hi, We have a requirement in which a workitem is gettng generated from workflows, And it comes in UWL, So when we execute that workitem it should open a adobe form for notificaton so that approver can reject or approve that notificaton, But it is ope

  • Tag selector question

    hello dreamwevaers i have made a tag selector and have made a new ccs rule to affect the h1,on the page i made the css rule the header and colour and various styles i apply to it. on the other pages when i apply the h1 property,they dont inherit the

  • Safari changes url

    Safari is changing the entered URL by itself. Not sure why this happens, but sometimes when entering a certain web address Safari changes it by itself into something like Google or Ebay. Once this happens you cannot go to the desired web address for