Message Mapping - NewLine generation  in the target field

Hi ,
This is a File to SOAP scenario, where text file is picked by XI and posted to target using webservice in the xml format.In the message mapping, I am supposed perform a logic where 3 fields in the source structured are to be concatenated and sent to the target structure. This fields at the target structure are to be displayed with a newline character.
So if I am sending : abc, 123 and xyz as input and  the output should be in one field as follows :
<ns3:OutputField xmlns:ns3=abc
                                              123
                                               xyz</ns3:StreetAddressLine>
I have used this "&#x0D;&#x0A;" as the seperator in the concat function, hoping this would produce a new line but was hopeless.
Any ideas are appreicated.
Thanks,
Rag

Hi Raghav,
XML will never show new line or space characters.
Try to open the message in notepad or wordpad and then check if you can see the new line character.
-Supriya.

Similar Messages

  • LSMW - The source field is longer than the target field in MEK2

    Hi,
    I tried to create a simple LSMW script to end date condition records using MEK2 transaction.
    I provide Condition type, Plant, Material, Start Date and default Valid from and Valid to dates.
    When the program is generated, it defines just 1 character for Start date and when I try to map the date field from source, it gives following error message.
    Attention: The source field is longer than the target field.
    Message no. /SAPDMC/LSMW_OBJ_040013.
    Not sure why it is happening. I am on 46C.
    Please let me know if anybody come across such situation. I have checked all aspects, tried recreating in different systems but ended up with the same problem.
    You help in this regard will be highly appreciated.
    Regards
    Kasi

    It is a standard error, and I have not found any OSS note to fix it. In order to solve it, you can use this workaround:
    - Export the recording into a txt file
    - Edit the file, and modify the information correspondent to domain, data element and lengths (internal and external) fields, and save it
    - Import the recording
    For example, I had problems in a recording with the field SEL_DATE of the transaction VB02. Then, I changed these values:
    Values before changes:
    /SAPDMC/LSGBDC                ZTEST          ZVB02_ZA01     0018                                        0000 SEL_DATE                                                                                DATE_ON                       Valid on                                                    CHAR1                         CHAR1                          SEL_DATE                                                    0000000000                              000001000001000001CHARC
    Values after changes:
    /SAPDMC/LSGBDC                ZTEST          ZVB02_ZA01     0018                                        0000 SEL_DATE                                                                                DATE_ON                       Valid on                                                    DATUM                         DATAM                          SEL_DATE                                                    0000000000                              000010000010000010CHARC
    (values 01 has been replaced by values 10)
    The values changed correspond to fields:
    /SAPDMC/LSGBDC-PARDOMAIN
    /SAPDMC/LSGBDC-PARDATAELEMENT
    /SAPDMC/LSGBDC-LENG
    /SAPDMC/LSGBDC-INTLEN
    /SAPDMC/LSGBDC-OUTPUTLEN
    The information that you have changed should be updated in table /SAPDMC/LSGBDC, where all the information of the recordings is stored. Check this information has been updated after recording import.
    I hope this solution be useful for anyone...
    Regards.

  • Displaying an error message with a link to the error field

    By default, ADF validation usually displays an alert with an error message and a link to the error field.
    I have some custom validations where I finally display the error message with this:
      public static void MessageError(String messageText){
        //String messageText="No se han encontrado estos datos";
        FacesMessage fm = new FacesMessage(messageText);
         * set the type of the message.
         * Valid types: error, fatal,info,warning
        fm.setSeverity(FacesMessage.SEVERITY_ERROR);
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, fm);
    My customer is asking for displaying a link to the error field in this kind of error alerts as standard errors do.
    Is there any way to get this ?

    Can't you include this in your message?
    You may want to check Duncan's blog https://blogs.oracle.com/groundside/entry/get_more_from_your_messages whichgives more inside on what you can do
    Timo

  • Constant values to the target field

    Hi friends,
    how to assign three constant values to the target field in XI..?
    like :
    constant--->Trget field.
    There is one target field but 3 constant values have to be assigned....
    is it thr FixValue fuction..?
    Regards
    Sam

    Hi,
    Goto MM Editor
    Conversion --> FixValues
    Double Click
    Fill in the "Key" "Value" pair as per u r requirment
    Key          Value
    A                R1
    B                R2
    C                R3
    So from Source structure A comes it gets R1 in target
    hope this is helpful
    Srini

  • Runtime interface mapping selection based on the target message. SYNCHRNOUS

    Hi,
    X system sends the data to SAP PI through SOAP. SAP PI determines the target operation after performing the RFC look in ECC whether to create/change/update master data in ECC. So SAP PI has to execute different mapping program bsed on the response from RFC lookup. This can be achieved through Enhanced Receiver Determination. My question is here the X system needs the final response...i.e SYNCHRONOUS interface. How can we implement this requirement ?
    Thanks in advance,

    Hi Mythree,
    >>Can we handle the response (synchronous interface) using enhanced interface determination.
    No.. But if you choose to use Enhanced Receiver Determination then your scenario might work!!! (Hoping that you are in PI7.1 or I7.0 SPS23. Check this link http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm)
    If you have doubt in creating the Enhanced RD then check this wiki page http://wiki.sdn.sap.com/wiki/display/XI/EnhancedReceiverDeterminationinSAP+XI
    Now once the Receivers are identified in Runtime, you can use a normal  (sync to sync interface ) interface determination and get back the response.
    Regards
    Suraj

  • Message mapping: Passing data at the node level

    Hi,
    I have a question/requirement, XI Message Mapping program need to read the incoming xml and map to a diffrerent target structure. Incoming xml has a parent node called Description and it has a value "Frauen Hemd Shoes", we need to map this value to target LongText Field but message mapping is ignoring this data while mapping.
    A parent node can't hold the value/data while a child node is present. So is there any workaround to read this data to target str?
    <Description>
    <ShortName>Shoes</ShortName>
    Frauen Hemd Shoes
    </Description>
    Expected result:
    <Comments>
    <ShortText>Shoes</ShortText>
    <LongText>Frauen Hemd Shoes</LongText>
    </Comments>
    Please let me any clues to resolve the issue.
    thanks,
    Laxman

    I agree , the soruce structure is not a valid one..
    The source structure should look like the below:
    <Description ShortName='Shoes'>
    Frauen Hemd Shoes
    </Description>
    where ShortName is attribute for the Element "Description".
    You add attribute to the element the same way you add subElement, Just choose attribute instead of subelement.
    In this case the Mapping would be
    Descriprion -
    > LongText (target)
    ShortName -
    > ShortText (target)
    This Should work.
    Regards.
    Jeet.

  • Reg Mapping error cant produce the target element

    Hi gurus,
    I have a mapping requirement like
    sourceinput
    ||
    record
    ||
    Tab_id
    materialno
    condition type
    coustomergroup
    materialpricinggroup
    datefrom
    dateto
    uom
    amount
    in target side
    target input
    ||
    record----
    (0-1
    ||
    coustomergroup(1--unbound) if tab_id is R34
    ||
    Tab_ID
    coustomergroup
    UOM
    Materialno
    Materialpricinggroup(1--unbound) if the tab_id R346
    ||
    tab_id
    materialpricinggroup
    datefrom
    dateto
    based on the tab_id i need to create target node i.e if the tab_id is R345 then the fields which are under the node coustomer group
    will be populated
    if the tab_id is R346 then material pricing group node will populated
    i have tried like
    tab_id----
    | equalS--creatif--
    coustomergroup
    |
    constant(R345)----
    this mapping excute successfully if the occurence of the target node coustomergroup is 0---unbound
    if is 1----unbound the target gives error mapping exception
    my target structure is WSDL there giving as minoccurs=0 but while it is imported to xi it will come as 1---unbound
    please help out this
    let me know if anything is needed
    Edited by: katakoti on May 4, 2011 2:40 PM
    Edited by: katakoti on May 4, 2011 2:47 PM

    </xsd:sequence>
             </xsd:complexType>
             <xsd:complexType name="PRICING_MASTER_DATA">
                <xsd:sequence>
                   <xsd:element name="CUSTOMER_GRP" nillable="true" type="tns:ArrayOfCUSTOMER_GRP" minOccurs="0" />
                   <xsd:element name="SALES_ORG" nillable="true" type="tns:ArrayOfSALES_ORG" minOccurs="0" />
                   <xsd:element name="PRI_GRP" nillable="true" type="tns:ArrayOfPRI_GRP" minOccurs="0" />
                   <xsd:element name="MT_PRI_GRP" nillable="true" type="tns:ArrayOfMT_PRI_GRP" minOccurs="0" />
                   <xsd:element name="DIST_CHN" nillable="true" type="tns:ArrayOfDIST_CHN" minOccurs="0" />
                   <xsd:element name="INDUSTRIAL_CODE" nillable="true" type="tns:ArrayOfINDUSTRIAL_CODE" minOccurs="0" />
                   <xsd:element name="PRICING_TEMPLATES" nillable="true" type="tns:PRICING_TEMPLATES" minOccurs="0" />
                </xsd:sequence>
             </xsd:complexType>
             <xsd:complexType name="CUSTOMER_GRP">
                <xsd:sequence>
                   <xsd:element name="TABLE_ID" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="CUSTOMER_GROUP_NAME" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="CONDITION_DETAILS" nillable="true" type="tns:CONDITION_DETAILS" minOccurs="0" />
                   <xsd:element name="PRICING_DETAILS" nillable="true" type="tns:PRICING_DETAILS" minOccurs="0" />
                   <xsd:element name="BUSINESS_DETAILS" nillable="true" type="tns:BUSINESS_DETAILS" minOccurs="0" />
                </xsd:sequence>
             </xsd:complexType>
             <xsd:complexType name="CONDITION_DETAILS">
                <xsd:sequence>
                   <xsd:element name="CONDITION_TYPE_x0020_" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="VALID_DATE_FROM_x0020_" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="VALID_DATE_TO_x0020_" nillable="true" type="xsd:string" minOccurs="0" />
                </xsd:sequence>
             </xsd:complexType>
             <xsd:complexType name="PRICING_DETAILS">
                <xsd:sequence>
                   <xsd:element name="AMOUNT" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="RATE_UNIT" nillable="true" type="xsd:string" minOccurs="0" />
                   <xsd:element name="CONDITION_PRICING_UNIT" nillable="true" type="xsd:string" minOccurs="0" />
    from source side i wiil get the tab_id  based on that id. i need to populate the target node
    tab_id-=100  then coustomer_group
    tab_id = 200 then sal_org
    i got the source values like this
    tab_id     coustomer_group        sal_grp     pri_grp     condition_type   date_from     date_to          amount           rate_unit    
    100                c                                                                      c1             05/05/2011    06/05/2011   A                      R
    200                                                 s                                     c2              05/05/2011    06/05/2011   A1                    R1
    300                                                                 p                     c3              05/05/2001    06/05/2011   A3                    R3
    based on the tab_id i need to send the data to perticular node
    for this requirement i had follow the
    tab_id--
    -----------------------equalS-----------------creatif--------array of coustomer_group
    constant(100)
    its work fine when the arrayof coustomer_group is 0--unbound (i tried by creating the same target strucuture manually)
    it fails when the ocuurence is 1---unbound

  • Cannot produce the target fields as per Queue

    Hi
    I have given a condition such that 8 nodes are generated after mapping
    now inside node, one of the field is not getting populated . The queue is shown below :
    SUPPRESS
    one
    Two
    Three
    Four
    SUPPRESS
    SUPPRESS
    Five
    Six
    Seven
    SUPPRESS
    Eight
    SUPPRESS
    Queue after using RemoveContexts -. Split by value:
    -ContextChange-
    one
    -ContextChange-
    Two
    -ContextChange-
    Three
    -ContextChange-
    Four
    -ContextChange-
    Five
    -ContextChange-
    Six
    -ContextChange-
    Seven
    -ContextChange-
    Eight
    -ContextChange-
    When I click on Display Queue on the target I see the above Queue with eight values
    But in real,
    One
    Two
    Three
    are appearing in the target
    the rest, the field itself is not seen in the output
    What could be the problem?
    regards,
    Nikhil.

    Hi,
    I am picking up 3 fields from 3 diff segments and concatinating all
    E1EDKA1 (1....1)
    +BELNR    ( Occur only once )
    E1EDP01 ( 0...unbounded)
    +POSEX
    +ZSEGMENT (0...unbounded )
    ++LINE_NO
    ++QTY
    I have to Concatenate LINE_NO + POSEX + BELNR where QTY > 0 from ZSEGMENT.
    My Mapping :
    if QTY (contxt set to E1EDP01) >0 then ->
    [LINE_NO(contxt set to E1EDP01) ( concat ) POSEX  ]
    Output from IF I am passing to a Concat and giving BELNR to it
    I see Queues correctly. But in real i dont see the fields coming
    If i change the QTY context to ZSEGMENT, its populate 2 more fields, but with wrong concatinations
    Regards,
    Nikhil.

  • Mapping constant values to the target data source columns

    Hi
    A Target data source has only two columns(RPT_NAME, RPT_LEVEL) and both of them are constants and mapped as follows
    WITH TEMP1 AS
    (select 'AS' as A from dual
    union
    select 'IS' as A from dual
    union
    select 'ED' as A from dual
    select t.A as RPT_NAME, 'INV' as RPT_LEVEL from TEMP1 t
    Here there is no source tabel involved for mapping and gnerating a from query.
    Kindly let me know hoto map this table.
    Thanks

    Hi Amit
    Is there a way we can create an intermediary staging table or model or view in ODI itself, the business requirements are such that the source and the target databases cannot change/include any other view or table .
    Thanks

  • Get message "loaded with errors on the target and was closed" but there are no errors in the vi.

    Hi,
    Attached image shows the error message which i receive when I try to run my vi. "vi loaded with errors on the target and was closed" 
    The vi has no errors as far as I can see and hasn't changed since I ran it a few days ago and it functioned fine. other vi's in the project run without any issue.
    Any guidance to find the issue would be greatly appreciated!
    Thanks,
    Conor
    Attachments:
    Labview error.JPG ‏43 KB

    Some tips:
    1. Try to recompile the VI which is "loaded broken" (ctrl+click on Run arrow). Deploy.
    2. Try to recompile this VI and its dependencies (ctrl+shift+click on Run arrow). Deploy.
    3. Try to recompile top-level VI and its dependencies. Deploy.
    4. Change something in "loaded broken" VI (add some code, like reversing array back and forth, just to make LV recompile it). Deploy.
    5. Close the project. Restart RIO. Open project. Deploy.
    6. Close LabVIEW. Restart computer. Restart RIO. Open project. Deploy.
    7. Take another computer. Deploy from it.
    8. Close project. Clear compiled object cache (menu Tools -> Advanced -> Clear compiled object cache...). Open project. Wait until LV will open/recompile it. Deploy.
    9. Do as 7, but in the meantime reformat RIO from MAX. Open project. Deploy.
    10. Contact NI Support. Send them your project. Make them Deploy it.
    The fun starts when you have project which deploys for 30 minutes... Usually I skip straight to step 8 then, and usually it helps.

  • How to pass Current System time in the target field?

    Hi Experts
    kindly help me in mapping a field in which I have to map current system time.
    I think there is no standard function for time like the date so do i write a UDF for the same or any other way an in case a UDF than please help in that.
    Thanks
    Aprajita

    Hi Mathur,
    kindly help me in mapping a field in which I have to map current system time.
    I think there is no standard function for time like the date so do i write a UDF for the same or any other way an in case a UDF than please help in that.
    Mathur no need to write UDF for that..
    Use standard function Current date-------> In that (Target Format) u have to specify the time i.e: HHmmss
    Thats it..... Noe use this function as u like...
    Satya Kumar

  • Mapping a parameter to the form field (OIM 11g)

    Hello, people!
    How can I get an information from a created form field?
    In more details: I have to assign a manual creating of a resource to a concrete group of users. So I made a form that contains a field named "Admin Group", made a process for this form that contains a manual task "manual create user", in assignment tab of this task I'm using a task assignment adapter. This adapter has one input parameter - Group name using what I want to find a group key. So the problem is in mapping this parameter. I expected to find my "Admin Group" field and map to it, but i didn't find that. How can I get information from this field?
    Regards
    Anton Litvin

    I think you have created Object Form. Are you seeing Object Data while mapping.
    Create one process form. Populate Process Form Field using Data Flow under Process Definition.
    While mapping you'll see Process data to map with your Admin Group.
    Sorry don't know how they have handled in OIM 11g... Above is for 10g.

  • Message Mapping :  How to  appned the  ub occ under UB  occ: Very  urgent

    Hi  SDNers
    My SOurce  str  is  like  this                Traget Str
    Node
      subnode1             1..1              Tstr1 1..1
      subnode2             1..1                 TSr2   1..1
         subnode3          1..ub                Tstr3 1..ub
             subnode4      1..1                      Tstr4   1..1
              subnode5     1..ub                    Tstr5    1..1
                subnode6   1..ub                    Tstr6    1..ub
    now  the  situstaion is
             subnode4      1..1                               Tstr4   1..1
              subnode5     1..ub                              Tstr5    1..1
                subnode6   1..ub -
    Mapped  -
         Tstr6    1..ub
    suppose
            Subonde5  occures  2  times  with  3 and  4  occurence of  subnode6  then
       i  need  to  create  7  Line  for Tstr6
    for  example
        subnode4
              subnode5
                     subnode6----
                     subnode6----
                     subnode6----
        subnode4        
              subnode5
                     subnode6----
                     subnode6----
                     subnode6----
                     subnode6----
    now  i  need  create  the   3+4  =  7  ocurence    i  mean  i  have  to  merge these all  occurence  and  have  to  map  Tstr6
    Thax  a lot  in  advance
    Regards
    Kuldeep

    Kuldeep,
    The structure is lil bit confusing, I f you could populate some data and give us the source and target structure as u needed it will be more helpful.
    Best regards,
    raj.

  • 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

  • Does the message mapping editor insure that a valid target message is co

    Hi Friends
    Does the message mapping editor insure that a valid target message is constructed?
    Regards
    Sam

    Samuel,
    Message mapping editor ,will generate the output as per your logic. Hence you need to validate and check whether the target message has been created correctly.
    If you say," I'm perfect with the logic, I created the mapping I checked the target strcuture, its perfect, always the data will be populated correctly?" If the above is your question, then the answer is YES.
    raj.

Maybe you are looking for

  • Discoverer Plus not working in Internet Explorer

    IE 6.0 on Windows 2000 professional SP4 and all of the patches up to date. Latest Java run time from Sun. I hit the link to Plus and it will eventually bring me back to the login screen with all of the parameters empty. It also opens a new window whi

  • Error while opening the document

    Hi, i av created the document.while i m trying to oopen the document in tcode :CV02N it s giving me a message as "40.960 bytes transmitted , Code page 0000" Could me pls tel me what is this message and how to solve this.. Regards Bhanu

  • Servlet Methods - doGet, doPost

    Hi, I understoot that GET request -> doGet(), POST request-> doPost() methods are overrids by the HttpServlets.... do we need to use both methods in the Servlets class..? For example, I am sending POST request into the Servlets class... so i can over

  • After effects multicore settings advice

    Hi guys, I just got cs6 master collection working on my 64 bit machine. I remember when I installed cs4 on this machine I had to go into preferences in After Effects and enable multicore editing or such to take advantage of all my 16gb ram and i7 pro

  • My computer has become associated with another apple ID? I now can't access Itunes match .. help!

    Please help with above!