Message mapping source side

Hi Experts,
Is it possible to copy the message in source side in message mapping using src tab?
Regards
Sara

You cant get the required target xml structure with values untill u complete the mapping
Why because if you have any transformation in mapping means you have to generate the target values according to that
So better to complete the mapping and take the xml file
Regards
Seshagiri
Edited by: N V Seshagiri on Dec 2, 2008 7:05 AM

Similar Messages

  • Message Mapping- Source text view not working

    HI friends,
    in my idoc to file ,
    in message mapping testing (static testing),
    i given values for sourse message and i executed test and the values are populating in target message.in target meesge if want to view of xml using source text view then..
    i am getting follwing ..
    <?xml version="1.0" encoding="UTF-8"?>
    i am not getting full data in xml format..
    please guide me...
    regards
    Munna

    Hi Munna,
    The solution was the use of Pretty Print.
    Double Click on the "Source Text View". You will get an icon of Pretty Print on the side. Click on it. The whole XML will be displayed.
    Regards,
    Venkatesh
    Message was edited by:
            Venkatesh Ramachandran

  • How do the Message mapping below issue

    Hi all.
            I am doing interface is Siebel to SAP Customer Creation and Update. While mapping source side Siebel pass the Customer Account Group are Sold to Party, Goods Recipient, Payer and Bill to Party based on these parameters .My Target side we want like Z001, Z002, Z003 and Z004.
    1) If Source side Customer Account Group is Sold to Party then my target side is Z001.
    2) If Source side Customer Account Group is Goods Recipient then my target side is Z002
    3) If Source side Customer Account Group is Payer then my target side is Z003
    4) If Source side Customer Account Group is Bill to Party then my target side is Z004
    So each time source Siebel send one Customer Account Group based on that we want target side as Z001, Z002, Z003, and Z004. So pls help to me <b>how do this issue on message mapping or user defined function (UTF)</b>
          please help me out .....
    Regards,
    Ramesh

    the best way to do it will be via value mapping
    http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm
    in this case in future any change comes only your value mapping table needs to be altered unlike editing your UDF.
    Also ref: https://www.sdn.sap.com/irj/sdn/developerareas/xi?rid=/webcontent/uuid/a680445e-0501-0010-1c94-a8c4a60619f8 [original link is broken]
    to get value mapping on SDN TV.

  • Error during activation a message mapping

    Hi,
    I get this error during activation a message mapping:
    source code has an syntax error:
    D:/usr/sap/XI3/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapf1f9db20a78a11dac004000f1ff80130/source/com/sap/xi/tf/_Source2Target_.java:2: package com.sap.aii.mappingtool.tfapi does not exist import com.sap.aii.mapping.api.; import com.sap.aii.mappingtool.tfapi.; ^ 1 error
    Can anybody help me please??
    Thanks.
    Regards
    Stefan

    Hi Michal,
    I do not have deleted some libraries in the XI-Installation.
    I have some customer functions in other mappings but no message mapping without or with customer function can I activate, now.
    The mappings are in serveral software components but it is no chance to activate a message mapping.
    Regards,
    Stefan

  • Missing closing tag in message mapping

    Hi experts,
    I have an RFC --> PI --> JDBC scenario with the following message mapping:
    SOURCE --> TRIM --> mapWithDefault [] --> DESTINATION
    If the source field doesn't come, the input XML is a follows:
    <SOURCE/>
    And after the mapping I obtain the following: <DESTINATION></DESTINATION> that is exactly what the reciever system is expecting. This was been working fine until the upgrade to ECC 6.0 of the Sender system. Actually I don't know if it has anything to do, because the RFC XML looks exactly the same, but the user claims it has stopped working since the upgrade.
    Now the same mapping, with the same <SOURCE/> input creates this output: <DESTINATION/>. This is not accepted by the reciver system and throws an error.
    What can be happening? The message mapping has not changed and the RFC XML looks exactly the same....any ideas?? Thanks! Pablo

    >
    Stefan Grube wrote:
    > >. This is not accepted by the reciver system and throws an error.
    > What is the error?
    > If you use JBDC adapter, it is no difference, whetehr you have <tag></tag> or <tag />, because this is the same.
    If  you see the payload in Internet Explorer, for example you'll see <tag />. But if you see the XML with a text editor, it should be <tag></tag>: Before this issue the receiver system was getting a "blank" value, now it's getting "null" and it can't handle it.
    Sarvesh: thanks for your advice but I'm already using that function...
    I'll try Pedro's, Srinivas' and Hetal's ideas, but the user has to setup the development box for testing.
    I'll update later, thanks for your help. More ideas are appreciated!
    Pablo

  • Message mapping - need Enlightening

    Hi Guys,
    I was actually looking into the message mapping blog of sravya.Link below:
    [http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3414800)ID0086183650DB11663053995735659636End?blog=/pub/wlg/2792]
    Was just reading the blog and a lot of questions came through my mind.In the end I figured out that first, I have to understand how the parsing works.
    So for example,If we have 2 message structures(source & target).At run time the dom or sax parser parses through the source xml document.
    If we do a source to target mapping
    as in the example
    Matgroup --> RemoveContext -->MatGroup.
    So my question is what does the parser do in the above example.
    Does it read the source xml,change the source XML AND start to build the target xml from scratch by adding nodes.
    How does the parsing work & internally what are the steps the parser do to create the target XML.
    [2]
    In her example,She mapps the item node to the header target node.
    what happends then or what does the parser do & what are the elements which will be coming under the target header node.
    What are the conditions for mapping 2 fields or nodes(Both should have same level & occurance - Is that so?)
    Iam confused.Please Enlighten me...:)
    Thanks
    P
    Edited by: pazzuzu on Oct 17, 2009 2:40 PM

    Hi ,
      Parsing is the mechanism to trasform the structure in to other format,Nomally PI uses Dom parsing mechanism to process.
      Suppose if you working one message mapping source is on XML Structure and you want to map this structure to the Taget structre,most of cases taget structre is not same as Source.
    You used some mapping function provided by SAP,every Graphical  standard function has some source java code inside it.
    the functions also uses parcing mechnism like reading doucmnet and changing structure.If youw ant to know more about parcers google it.
    every parcer has some predrefind methodsto read the documents child elemnts too..
    Regards,
    Raj

  • Message mapping problem / experts needed / UDF?

    Hello experts,
    I have the following problem in a message mapping:
    Source structure is as follows:
    - Node a (min 1, max 999)
      - Subnode b (min 0, max 999)
      - Each Subnode b has the element "number" (1,1)
    This structure must be mapped to the following target structure:
    - Node c (1,999)
       - Subnode d (0,999)
       - Each subnode d has the following elements:
           - e1
           - e2
           - e3
           - e11
    1 Source node a should create 1 target node c.
    All numbers in all subnodes b of one source node a should be mapped to the e1, e2,...e11 elements of the target structure. As one target node d can only contain up to eleven numbers, there must be several d nodes.
    I have already tried to create a UDF, but it does not work.
    Any experts who would like to share their knowledge?
    Thanks in advance.
    CHRISTOPH
    Edited by: Christoph G. on Apr 23, 2008 10:46 PM

    Hello again,
    meanwhile I have worked hard on it and I have found the solution (just one UDF (queue function) which gets the article numbers as well as constant(targetField). So the UDF covers the creation of the "groups" as well as the mapping of the article numbers.
    It was really interesting and it made me ambitious to find the solution myself I do not have access to the system today, but I will post my solution as far as I have access again. Maybe you still want to search for a solution? It really may be fun, just like some kind of a puzzle game.
    In order to make it more clear, here comes the source and target structure with an example. Let me once more explain it: In the source, there are positions, each with unlimited article numbers. Each position will create a targetPosition. The node "targetPosition" has the subNode "articlenrs" (unbounded). Articlenrs has 11 differnet elements, calles a1, a2, a3, ..., a11. That means, all article numbers from a source postion should be mapped to "groups of 11 target article numbers". Please be aware the there are 11 differnet target fields for article numbers: a1, a2, ... a11.
    I think that' why the solution of  Liang Ji and Rohit Kalugade will not work...
    SOURCE
    <position>
         <articlenr> 123   </articlenr>
         <articlenr> 456   </articlenr>
         <articlenr> 4783 </articlenr>
         <articlenr> 123   </articlenr>
         <articlenr> 456   </articlenr>
         <articlenr> 4783 </articlenr>
         <articlenr> 123   </articlenr>
         <articlenr> 456   </articlenr>
         <articlenr> 4783 </articlenr>
         <articlenr> 123   </articlenr>
         <articlenr> 496   </articlenr>
         <articlenr> 4783 </articlenr>
             . (unbounded)
    </positon>
    <position>
         <articlenr> 543  </articlenr>
         <articlenr> 865  </articlenr>
         <articlenr> 643  </articlenr>
    </positon>
    TARGET
    <targetPosition>
      <articlenrs>
           <a1> 123  </a1>
           <a2> 456  </a2>
           <a3> 4783 </a3>
           <a11> 496 </a11>
      <articlenrs>
      <articlenrs>
           <a1>4783 </a1>
      </articlenrs>
    </targetPosition>
    <targetPosition>
         <articlenrs>
         <a1> 543 </a1>
         <a2> 865 </a2>
         <a3> 643 </a3>
            </articlenrs>
    </targetPosition>
    Thanks,
    Christoph
    Edited by: Christoph G. on Apr 30, 2008 10:20 AM

  • File to IDOC Senario (Message Mapping)

    Hi Experts,
    I am a fresher.
    This is "  File to IDOC Senario  ".
    I have Doubt on  this: ( In Message Mapping)
    Source field : MSG
    Length : 1/264
    Taget field : E1EDKT2 - TDLINE
    Legth : CHAR/70
    Mapping Condition :
    Note: TDFORMAT =  ‘=’ (Long Line), until next line of MSG. When new line occurs in MSG, then use TDFORMAT = ‘/’
    How to Make the Mapping for this?
    Anyone Can help me to get it Quickly.
    give your Suggestions and Show some Example Mappings......

    Hi ,
    Below is the generic sol for your problem .Graphical mappings wont workout for your problem while using sub string .
    Input -->Input string
    Length -->length of TDLINE
    MESSAGE_V1,V2,V3,V4....depends on how many TDLINES you expect .Here I have taken 4 .
    public void SplitbyLength(String[] Input, String[] Length, ResultList MESSAGE_V1, ResultList MESSAGE_V2, ResultList MESSAGE_V3, ResultList MESSAGE_V4, Container container) throws StreamTransformationException{
    int lengthVal = Integer.parseInt(Length[0]);
    int InpLenVal ;
    for(int i=0;i<Input.length;i++)
    InpLenVal  =Input[i].length() ;
    if (InpLenVal<=lengthVal)
    MESSAGE_V1.addValue(Input[i].substring(0));
    MESSAGE_V2.addValue(ResultList.SUPPRESS); 
    MESSAGE_V3.addValue(ResultList.SUPPRESS); 
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if ((InpLenVal>lengthVal) && (InpLenVal <= (lengthVal*2)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,InpLenVal));
    MESSAGE_V3.addValue(ResultList.SUPPRESS); 
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if ((InpLenVal>(lengthVal*2)) && (InpLenVal <= (lengthVal*3)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),InpLenVal));
    MESSAGE_V4.addValue(ResultList.SUPPRESS); 
    else if (Input[i].length()>(lengthVal*3)  && (InpLenVal <= (lengthVal*4)))
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),InpLenVal));
    else if (Input[i].length()>(lengthVal*4) )
    MESSAGE_V1.addValue(Input[i].substring(0,lengthVal));
    MESSAGE_V2.addValue(Input[i].substring(lengthVal,(lengthVal*2)));
    MESSAGE_V3.addValue(Input[i].substring((lengthVal*2),(lengthVal*3)));
    MESSAGE_V4.addValue(Input[i].substring((lengthVal*3),(lengthVal*4)));
    Regards
    Venkat

  • Message mapping strange behaviour

    Hi, all.
    I have designed simple message mapping:
    Source Message
    mt_Object
    -ObjectVersion [1..1]
    --TimeStamp [string][1..1][lenght=13]
    --UID [string][0..1]
    -Name [string][0..1]
    Target Message
    Z_TEST (imported RFC function description)
    -TIMESTAMP [string][0..1][length=13]
    -NAME [string][0..1]
    So mapping looks like that:
    mt_Object/ObjectVersion/TimeStamp -> Z_TEST/TIMESTAMP
    mt_Object/Name -> Z_TEST/NAME
    When I test this mapping in Integration Repository (IR) manually (enter values in test XML instance) mapping works properly.
    But when i load XML-instance from XML file after mapping target tag Z_TEST/TIMESTAMP is not produced however tag Z_TEST/NAME is produced properly.
    Where am I incorrect?
    Best regards.

    Maxim,
    You might also want to check what "Context" Z_TEST/TIMESTAMP has been assigned to. The error could be because when the message is processed in the queue, it is not picking the right context object.
    regards,
    SK

  • Multiple message at target side

    Hi frnds,
    iam doing one Scenario file to file.my requirement is i have multiple records in a message at source side, i want split each record as different message at target side is it possible. if it possible please share the ideas on this.
    Regards,
    Rajendar K

    Hi Rajendra,
    Can you have a look,it may help you Re: Split a message into multiple instances
    Thanks
    Satish

  • Message Mapping : conversion of source value 2,520,926.08 to 2,520,926

    Hi,
    The value coming from Idoc at source side is 6,999,432.08.
    I want the value to be passed at target side as 6,999,432
    I do not want .08
    How i will do the message mapping. Can someone help me out.
    Thanks,

    Ashish,
    I have tested this and all works as you expect.  I have also provided two examples due to confusion as to whether you want the decimal places.  You stated in an earlier post 'I do not want .08, i want .00' but in your last post that 'Source Value be 22345.45 or 22345.78 or 22345.99.........target value should be 22345'
    Two decimal places .00
    LHS field_in --> floor (arithmetic function) to give you the integer value required (rounded down) --> format number (second arithmetic function and indicate a format of 0.00 to represent two decimal places) --> RHS field_out
    Source       Target
    22345.45    22345.00 
    22345.78    22345.00
    22345.99    22345.00
    No decimal places (integer)
    LHS field_in --> floor (arithmetic function) to give you the integer value required (rounded down) --> RHS field_out
    Source       Target
    22345.45    22345 
    22345.78    22345
    22345.99    22345
    I hope this clears up your issue
    Regards,
    Mike

  • 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 activation error-Source code has syntax errors in UDF

    Hi all,
    I wrote a small UDF for sum of 2 numbers:
    import
    udf.*
    public String getsum(String a, String b, Container container) throws StreamTransformationException{
    int c = Integer.parseInt(a);
    int d = Integer.parseInt(b);
    int e = packageDemo.getSum(c,d);
    return e+"";}
    In imported archives, i imported pack.jar
    In D:\udf , I have packageDemo.java, packageDemo.class, aii_map_api.jar, pack.jar(has the other 3)
    packageDemo.java :-
    package udf;
    public class packageDemo{   
        public static int getSum(int a,int b)
            int c= a+b;
            return c;
    Did i miss anything?? Icant activate message mapping for 2 errors:-
    1.package udf does not exist
    2.Function getsum, Line 3:
    cannot find symbol symbol : variable packageDemo location: class com.sap.xi.tf._xml_mm_int e = packageDemo.getSum(c,d); ^Note: /usr/sap/P7R/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd4214d3099dc11dd9470001d090e4bbe/source/com/sap/xi/tf/_xml_mm_.java uses or overrides a deprecated API.Note: Recompile with -Xlint:deprecation for details.Note: /usr/sap/P7R/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd4214d3099dc11dd9470001d090e4bbe/source/com/sap/xi/tf/_xml_mm_.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.2 errors
    Edited by: NagaDurga Nannapaneni on Oct 16, 2008 1:07 PM

    Hi ,
    Think the error is coming because the content in imported archive is not being taken into message mapping at all...so package, class, method ..nothing is identified.
    Can anyone suggest the solution..
    Thanks,
    Durga

  • Message Mapping of Recursive Source Structure?

    Hello,
    a mapping needs to be implemented from a custom source structure to an IDoc. An XSD has been provided for the source structures which contains recursive elements --> an element of a specific type contains another element with the same type.
    If I import the XSD then the type of the recursive element is displayed in "red", but I still can expand it. If I want to use the source structure in the message mapping I cannot expand the recursive elements anymore. Does anyone of you have an idea how to handle this? I want to avoid XSLT if possible.
    Thank you!

    Hi again Florian,
    please have a look at [Structure Overview in Message Mappings on SAP help|http://help.sap.com/saphelp_nwpi71/helpdata/en/e3/92be7c6cd34fd485c967144e302fb6/content.htm]. There is a paragraph on Recursive Structures:
    ...It is possible to map these elements in the mapping editor in a rudimentary fashion by using the context menu to expand a specific number of subnodes and then use them in target-field mappings...
    That works for both source and target message.

  • Get source FileName - RuntimeException during test of Message Mapping

    Hi,
    Inside a graphical mapping, I want to get the source file name, and then use it.
    For that I use Michal's post inside a UdF: The specified item was not found.
    And that works perfectly during the treatment (File -> Mapping -> IDoc)...
    But my problem is when I try to test my Message Mapping inside the I.R (see tab "Test"), I have a RuntimeException due to the fact that DynamicConfiguration does not exist (obviously!) in the SOAP.
    So I tryed to encapsulate the line "String ourSourceFileName = conf.get(key);" by a try/catch or by using the method "containsKey", but I have always the same RuntimeException...
    is there someone who know how to catch this exception ?
    Regards
    Mickael
    Note: JavaDoc is: http://help.sap.com/javadocs/NW04S/current/pi/com/sap/aii/mapping/api/DynamicConfigurationKey.html

    Hi Progirl
    yes... but it will be not really pratical for the maintenance to think everytimes that this "error" is not an error and to think to delete the link in order to realize a test and then to not forget to add (again) this link.
    the risk is too important.
    Hi Varun,
    yes... but with the Test of Interface Mapping, I don't have the possibilty to see the Queue and all options than we have inside the Message Mapping... So it's will be not really practical for the maintenance.
    The solution is really to catch this exception directly inside the UdF which generates this Exception.
    I'm sure there is a Java solution for that, but not yet found the good syntax... I continue.
    Regards.
    Mickael

Maybe you are looking for

  • Order unit and confirmation unit

    Hi Is there any way to achieve this.. I am creating a production order in units EA..(For Eg Welding rework order) While confirming the unit should be in tonnes. Say 100 ea of a material is equal to 1 tonne of confirmation qty.. In other words, if a w

  • SaveEntity, pass in a form structure.

    I've just started playing with ORM, and one thing I learned pretty quickly is that I need to completely rework the way I think of my data and how I work with it, so forgive me if these questions seem odd. For years now, for each 'object', I have writ

  • Spotlight not doing so well with .pdfs

    I scan a lot of documents that come across my desk, using Acrobat Pro 8.1. But I'm finding that Spotlight isn't doing a very good job of recognizing text within those documents. I'll enter a search string from that document and it won't show up in Sp

  • Converting folders to albums

    Hello, I'm trying to migrate from iPhoto to Photos with the latest Yosemite update.  I was never a fan of "Events" in iPhoto, but I went with it because it was the default.  When I originally imported all my photos into iPhoto years ago it automatica

  • As3 cue points from soundbooth

    hello one and all, i am a bit frustrated because i can not find a straight forward howto/tutorial on accessing cue points from a flv or xml file produced in soundbooth and imported or read into flash so trigger a MetadataEvent.CUE_POINT event within