Message Mapping: Items under Header node.

Hi,
Below is the file sample:
0LBS00000000082011090707:30:13~0000000009
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
5002QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
1~7
Record Type:Header Record(Always = 0),Min Occurrence:1,Max Occurrence:1
Record Type:Sales Invoice Header Record (Always = 4),Min Occurrence:0,Max Occurrence:unlimited
Record Type:Sales Invoice Item Record (Always = 5) ,Min Occurrence:1(per Sales Invoice Header Record)
,Max Occurrence:999999 (per Sales Invoice Header Record)
Record Type:Trailer Record(Always = 1),Min Occurrence:1,Max Occurrence:1
The Src Str is:
Header
SalesInvoiceHeader
SalesInvoiceItem
Trailer
The target Str is:
Header
SalesInvoiceHeader
SalesInvoiceItem (Child node of SalesInvoiceHeader)
Trailer
Provide some inputs.
Thanx

You can read this with FCC.
you to create  4 structure
DT_input
...HeaderRecord 1..1
.....f1
.....f2
.....fn
...SalesInvoiceHeader 1..unbounded
.....f1
.....f2
.....fn
...SalesInvoiceItem  1..unbounded
.....f1
.....f2
.....fn
...Trailer  1..1
.....f1
Content conversion paarameters
Recorset Structure = HeaderRecord,1,SalesInvoiceHeader,*,SalesInvoiceItem,*,Trailer,1
Key Field Names = KEY
HeaderRecord.fieldNames = KEY,.......
HeaderRecord.fieldSeparator = '~'
HeaderRecord.keyfieldValue = 0
SalesInvoiceHeader.fieldNames = KEY,.......
SalesInvoiceHeader.fieldSeparator = '~'
SalesInvoiceHeader.keyfieldValue = 4
SalesInvoiceItem .fieldNames = KEY,.......
SalesInvoiceItem .fieldSeparator = '~'
SalesInvoiceItem .keyfieldValue = 5
Trailer .fieldNames = KEY
Trailer .fieldSeparator = '~'
Trailer .keyfieldValue = 1
good luck

Similar Messages

  • Use Message Mapping to repeat top node and split Message

    I am currently using XSLT Messaging to do majority of the mapping. I have two issues that remain, I need to repeat the top node for each or its child elements and split the message.
    <Sensor xmlns="namespace">
      <Observation>
        <XML>Some Data</XML>
    </Observation
    </Sensor>
    1. Can it be done in XSLT? I posted a thread asking for help on this. Where I would need to repeat the Sensor tag for each observation. If this is possible then I will able to split the messages at the HTTP adapter used for the target system.
    2. Can Message Mapping be used. Using the same xsd on both source and target systems, Will sensor repeat if set to 1:n and observation set to 1:1. In source it is Sensor 1:1, Observation 1:n.  If this works then I can use a BPM to shoot out individual messages using a for each.
    Any help is greatly appreciated. I am fairly new to XI as this is my first major project. Thanks

    Source File                                             Target File
    > XI (XSLT) -
    > Each observation as one file  ---> Out via HTTP
    Batch of all orders    
    Source File
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <receipt>
      <manufacturer>Manufacture Name</manufacturer>
      <manufacturer_gln>999999</manufacturer_gln>
      <transfer_recipt>0123456</transfer_recipt>
      <prod>
        <product_GTIN>99999999999999</product_GTIN >
        <product_LOT>123456A</product_LOT >
        <production_date>20090131</production_date>
        <expire_date>20120131</expire_date>
        <carrier>
          <carrier_type>P</carrier_type>
          <carrier_barcode>001</carrier_barcode>
          <carrier_detail>
            <carrier>
              <carrier_type>C</carrier_type>
              <carrier_barcode>01</carrier_barcode>
              <carrier_detail>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089211</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089212</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089213</carrier_barcode></carrier>
                </carrier_detail>
            </carrier>
            <carrier>
              <carrier_type>C</carrier_type>
              <carrier_barcode>02</carrier_barcode>
              <carrier_detail>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089214</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089215</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089216</carrier_barcode></carrier>
                </carrier_detail>
            </carrier>
          </carrier_detail>
        </carrier>
        <carrier>
          <carrier_type>P</carrier_type>
          <carrier_barcode>002</carrier_barcode>
          <carrier_detail>
            <carrier>
              <carrier_type>C</carrier_type>
              <carrier_barcode>03</carrier_barcode>
              <carrier_detail>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089217</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089218</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089219</carrier_barcode></carrier>
              </carrier_detail>
            </carrier>
            <carrier>
              <carrier_type>C</carrier_type>
              <carrier_barcode>04</carrier_barcode>
              <carrier_detail>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089220</carrier_barcode></carrier>
                <carrier><carrier_type>ITEM</carrier_type><carrier_barcode>0108699547010089221</carrier_barcode></carrier>
               </carrier_detail>
            </carrier>
          </carrier_detail>
        </carrier>
      </prod>
    </receipt>
    Target File
    <?xml version="1.0" encoding="UTF-8"?>
    <pmlcore:Sensor xmlns:pmlcore="urn:autoid:specification:interchange:PMLCore:xml:schema:1" xmlns:pmluid="urn:autoid:specification:universal:Identifier:xml:schema:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:autoid:specification:interchange:PMLCore:xml:schema:1 cases.xsd">
      <pmluid:ID>GPO_AI_LU_DC</pmluid:ID>
      <pmlcore:Observation>
        <pmlcore:DateTime>2008-10-13T17:53:00.265+02:00</pmlcore:DateTime>
        <pmlcore:Command>PACK</pmlcore:Command>
        <pmlcore:Tag>
          <pmluid:ID>01</pmluid:ID>
          <pmlcore:Data>
            <pmlcore:XML>
              <Memory>
                <DataField fieldName="EXPIRATION_DATE">20120131</DataField>
                <DataField fieldName="BATCH_ID">123456A</DataField>
                <DataField fieldName="ZMFG_DATE">20090131</DataField>
                <DataField fieldName="ZMFG_GLN">999999</DataField>
                <DataField fieldName="ZMANUFACTURER">Manufacture Name</DataField>
                <DataField fieldName="ZITEM_COUNT">16</DataField>
                <DataField fieldName="ZWORK_ORDER_NUMBER">0123456</DataField>
              </Memory>
            </pmlcore:XML>
          </pmlcore:Data>
        </pmlcore:Tag>
        <pmlcore:Tag>
          <pmluid:ID>0108699547010089211</pmluid:ID>
          <pmlcore:Data>
            <pmlcore:XML>
              <Memory>
                <DataField fieldName="EXPIRATION_DATE">20120131</DataField>
                <DataField fieldName="BATCH_ID">123456A</DataField>
                <DataField fieldName="ZMFG_DATE">20090131</DataField>
                <DataField fieldName="ZMFG_GLN">999999</DataField>
                <DataField fieldName="ZMANUFACTURER">Manufacture Name</DataField>
                <DataField fieldName="ZWORK_ORDER_NUMBER">0123456</DataField>
              </Memory>
            </pmlcore:XML>
          </pmlcore:Data>
        </pmlcore:Tag>
         </pmlcore:Observation>
         </pmlcore:Sensor>
    I have the XSLT Mapping working to transform data from Source file to target File. But my target file has multiple Observations that need to be split into the Sensor, Observation structure.

  • Content Conversion for Item node under Header node

    Hi,
    Below is the file sample:
    0LBS00000000082011090707:30:13~0000000009
    4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
    5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
    5002QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
    4GBP55.67SB300005VISTADocNO1100DistChanPaymentDays
    5001QuanUoMNetPriceGrossPricePubDiv9781444724585201109071001.1
    1~7
    Record Type:Header Record(Always = 0),Min Occurrence:1,Max Occurrence:1
    Record Type:Sales Invoice Header Record (Always = 4),Min Occurrence:0,Max Occurrence:unlimited
    Record Type:Sales Invoice Item Record (Always = 5) ,Min Occurrence:1(per Sales Invoice Header Record)
    ,Max Occurrence:999999 (per Sales Invoice Header Record)
    Record Type:Trailer Record(Always = 1),Min Occurrence:1,Max Occurrence:1
    In content conversion:
    Record set structure:Header,1,SalesInvoiceHeader,(Star),SalesInvoiceItem,(Star),Trailer,1
    Key field name:RecordType
    Header.fieldSeparator ~
    Header.fieldNames RecordType,SendingSystem,FileNumber,CreationDate,CreationTime,NextFileNumber
    Header.keyFieldValue 0
    SalesInvoiceHeader.fieldSeparator ~
    SalesInvoiceHeader.fieldNames cordType,Currency,ExchangeRate,DocumentType,Customer,VistaDocNumber,PubDiv,DistChan,PaymentDays
    SalesInvoiceHeader.keyFieldValue 4
    SalesInvoiceItem.fieldSeparator ~
    SalesInvoiceItem.fieldNames RecordType,ItemNumber,Quantity,UoM,NetPrice,GrossPrice,PubDiv,Material,BillDate,VATAmount,VATRate
    SalesInvoiceItem.keyFieldValue 5
    Trailer.fieldSeparator ~
    Trailer.fieldNames RecordType,RecordCount
    Trailer.keyFieldValue 1
    ignoreRecordsetName true
    The Src str in ESR is
    1. Header
    2. SalesInvoiceHeader
    SalesIncoiveItem(Chlid node of SalesInvoiceHeader)......
    3. Trailer
    Provide some inputs
    Thnkx

    VJ,
    You are absolutely right it is not possible to get multiple hierarchy using file content conversion.
    Splitbyvalue function would not work in my scenario as I need to group FED records based on first few characters in the first column of FED records. I wrote a UDF to insert context change based on the column value.
    Thanks again for your help.
    Regards
    Haseeb

  • Message Mapping Issue on header level

    HI all,
    I am doing File to IDOC scenario where I am having issue wiht mapping :
    Flat File
    Row -0Unbound
    FieldA1..1
    FieldB1..1
    IDOC
    --Segment
    ---Field1
    ---Field2
    Segment1
    Field11
    FieldA is Order number.. IDOCs will generate up on order numbers change... FieldB is discount... If Discount is avaliable in any of the order number then I need to Pass YES orelse NO... Segment is a header segment where I need to pass whether discount is YES or NO... Suppose there are 5 rows of same order with discount in 4 row then I need to pass YES if discount doesnt avaliable in all 5 rows then NO..
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<123>
    --FieldB<10>
    </Row>
    Row
    --FieldA<222>
    --FieldB<>
    </Row>
    Row
    --FieldA<222>
    --FieldB<>
    </Row>
    IDOC
    --Segment
    ---Field1<123>
    ---Field2<YES>
    Segment1
    Field11
    </IDOC>
    IDOC
    --Segment
    ---Field1<222>
    ---Field2<NO>
    Segment1
    Field11
    </IDOC>
    Any inputs how to get value on header level? I tried but I am able to get only first value..not drilling down to each value depending on order number?
    Thanks
    Rajeev.

    Hi Prakasu,
    Its working but there is one issue: 
    If one fo the discount value is 99.00 then I need to pass NO.. How can I achieve this? I used the UDF but it is taking only the highest value which is 99.00 but even if it is 99.00 I need to pass NO..
    Suppose if first row discount is 99.00 and second row its 2,00 then I need to pass YES as it has 2,00 in the second row..
    Row
    --FieldA<123>
    --FieldB
    </Row>
    Row
    --FieldA<123>
    --FieldB<99>
    </Row>
    Row
    --FieldA<123>
    --FieldB<>
    </Row>
    Row
    --FieldA<222>
    --FieldB<8>
    </Row>
    Row
    --FieldA<222>
    --FieldB
    </Row>
    IDOC
    --Segment
    ---Field1<123>
    ---Field2<NO>
    Segment1
    Field11
    </IDOC>
    IDOC
    --Segment
    ---Field1<222>
    ---Field2<YES>
    Segment1
    Field11
    </IDOC>
    First row value is 99 and Null it has to give NO as if discount has 99 then it should pass NO.. in the second order first row is 8 and second row is null.. it should give YES but it is giving NO becuase if is taking only the last value in the Context change..
    Any inputs how to achieve this?
    Thanks
    Rajeev.
    Edited by: rajeev raj on Nov 23, 2009 2:52 PM

  • Changes done in message mapping is not reflecting in output

    Hi all,
    i have created one scenario XML to XML and i before i had done 1 to 1 mapping, i got the output also.
    but when i changed few calculation in the message mapping
    there is one node "name" and "Description" in source and target in both places.
    i am having name in SOURCE XML as "something" but i want to change this name to "Xsomething" and in description i have something in source but i want to pass constant value "ZSUBHODIP".i did mapping in message mapping, and when i did the testing in message mapping then in target in message mapping
    i got "XCOPC_C03" and "ZSUBHODIP" but when it takes the XML file which is in my system then in output XML name value "XCOPC_C03" and description "ZSUBHODIP" is not coming.
    i activated it too.
    even i tried with the same FILE to FILE scenario also but in this scenario also problem is same like one one mapping only then when i changed it in message mapping then previous output is coming.
    is there server problem, if yes then how to fix it??
    please tell me what to do
    thanks

    Hi,
    can you test it like this:
    /people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
    Regards,
    Michal Krawczyk

  • Message mapping - createIf issue

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

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

  • Regarding nodes shown in red colour in message mapping under test (tab)

    hi all.
    i just want to confrom one thing.
    i just created a file to rfc scenario and when i was tested and look in sxmb_moni its showing like the message was sucess but when i ltested in message mapping in design there were some nodes in sender Message type which were displayed in red colour.
    and when i look in runtime workbench the message is showing like system error.
    so can you guys tell me what could be the reason for this.
    waiting for your response.
    bye.
    regards.
    seeta ram.

    hi rinku .
    i think you havent understand my problem.
    here the message in moni was showing as succes but when i tested the same message which was in moni in message mapping (design) there were some nodes which were in red colour and these nodes are not populated to reciever message type  .but it was in sxmb_moni with all the nodes .
    what could be the reason for this.
    can u tell me fast and i case if u still havent understand the Q u can ask me.
    waiting for your response.
    bye.
    regards.
    seeta ram.

  • Need to create two nodes based on one condition in message mapping.

    Hi Experts,
                    In my mapping I have two different nodes. If my condition is true then only one node should be created otherwise both the nodes should be created.
    requirement is I need to print. one header before first item record and after every 200 item records.
    i.e I need to create header node if (item recordno) is 1 or (item recordno % 200) is 1. I have tried using this condition. But Iam getting all the header records( 3 headers for 600 items) in sequece and then all  item records (600).
    i want 1 header then 200 items , then again header followed by 200 items. so on.
    Can any body help.
    Thanks&Regards,
    REYAZ HUSSAIN

    Hi REYAZ HUSSAIN,
    as graphical mapping is "target field mapping" this is not possible. The parser for graphical mapping traverses the taget message from the first element to the last!
    You need another kind (ABAP, XSLT, JAVA) of mapping.
    Regards Mario

  • Message mapping with dynamic node

    Hi,
    I am doing message mapping where my source structure is
    <root>
         <EmpCount>2</EmpCount>
         <Emp>
              <item>
                   <code>1</code>
                   <name>ABC</name>
              </item>
                                     <item>
                   <code>2</code>
                   <name>PQR</name>
              </item>
         </Emp>
    <root>
    If EmpCount is having value 2 then Emp node will have only 2 items
    Target structure is flat structure like (something like fix file format)
    <root>
         <EmpData>EmpDetails</EmpData>      occurrences 0...unbounded
    </root>
    With above sources data following is expected target sturcure…
    <root>
         <EmpData>2ABC</EmpData>
         <EmpData>3PQR</EmpData>
    </root>
    Here my query is how I can create more than one node to target structure with employee details.
    I already tried with following Re: how to create target node a constant number of times
    This help to get all 2 nodes of EmpData in target structure but it is showing only First value in both nodes. Following is output I am getting…
    <root>
         <EmpData>2ABC</EmpData>
         <EmpData>2ABC</EmpData>
    </root>

    Sunil,
    Please see the sample i/p and o/p payload. Also please let me know , is this the same u are looking for
    I/P
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Check xmlns:ns0="urn:hdmc:samplescenarios">
       <EmpCount>2</EmpCount>
       <Emp>
          <Item>
             <Code>1</Code>
             <Name>A</Name>
          </Item>
          <Item>
             <Code>1</Code>
             <Name>B</Name>
          </Item>
       </Emp>
    </ns0:MT_Check>
    O/P
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Check_Out xmlns:ns0="urn:hdmc:samplescenarios">
       <Root>
          <EmpData>2A</EmpData>
          <EmpData>2B</EmpData>
       </Root>
    </ns0:MT_Check_Out>
    Best regards,
    raj.

  • Missing node in Message Mapping when test mapping??

    Experts,
    I have the following Mapping Structures:
    Sender:
    <Recordset> 1-1
       <Records> 1:unbounded
            <field1>1:1
            <field2>1:1
    Receiver:
    <Recordset> 1-1
        <Header> 1-1
         <Records> 0-unbounded
               <field1>
               < field2>
         <Trailer> 1-1
    Mapping is completed for  all fields here.But one thing I notice is on Receiver side : all nodes are Green exept Records - it is Gray with some red smal dot in the gray..
    1.Question: What this means?Shouldn't all nodes turn green after mapping is done??
    2.When click on TEST on Message MApping I dont even see the Receiver Records node appearing on right(receiver side) But I was able to see Header and Trailer...Why the Records is missing??
    On the other hand the result from the test is successfull which is even more confusing ,How come it can be succesful since Records is not there...
    I can provide screenshots if needed for more clarity ..Any help is appreciated asap..Thanks much to all!
    J...

    Hi John,
       It is very simple and there is no complexity with this problem.
      <b> 1.Question: What this means?Shouldn't all nodes turn green after mapping is done??</b>
            If you mapped the source field to the correspoding target field..all the target fields get turn to green color. If you didn't mapp any target field that filed should appear with gray color..comming to the small circle in the recordset field...it is indicates that ..that field is "Unbounded".
       For resolving the above issue...do the mapping like this.
       <Recordset>---><Recordset>
       <Records>-------><Records>
       <field1>----><field1>
       <field2>-----> <field2>1
    Keep the empty constant value for the target field Header...
       empty constatnt---->Header.
    So once you done this check the mappping it will execute fine and even you able to see the recods node in the target structure.
      Please let me know if you have any queries...!
    Thanks and Regards,
    Chandu.

  • Node Function help required in XML message mapping !!

    Hi Brilliants,
    Source Message
        <ROOT>               0..1   
          <OUTPUT>          0..n
             <Group_N1>           0..n     <Header>
                <H02_N1_DTM>                           0..1
          DTM_Y2K_DATE     0..1
             <Group_LIN>          0..n                <Lin Item>
         <Group_ZA>          0..n
              <D02_ZA>     0..n
          </OUTPUT>
    </ROOT>
    The above Source <OUTPUT> tag comes 2 times. In this two time, Header comes once per header and more than 50 times Lin item occurs.
    Target Message
    ProductActivityNotification                                                            0..n
         ProductActivity                                                       1..1
              Item                                                       1..unbound  (Lin Item level on target side)
                 SalesTimeSeries                  0..1
                          Item                                           1..unbound
                        ValidityPeriod              1..1
                        StartDate              0..1
                        EndDate              0..1
    The above source message Lin item, whatever the times it replicates, the same number of times u201CItemu201D tag has to occur and DTM_Y2K_DATE value has to pass to StartDate.
    Could anybody please put your valuable idea on this? I suppose to deliver this interface tomorrow.
    I will highly appreciate your intellectual ability.
    Many Thanks in Advance
    Kind Regards
    San

    HI San,
    Based on your this post, i think u want like this way...
    How many times from source  DTM_Y2K_DATE  or <LinItem>(because DTM_Y2K_DATE   in LinItem ) occurs that many of <Item> in target is required rt??
    Then u map like,
    DTM_Y2K_DATE  (Change context to LineItem(right clich and choose context)) and map  to LineItem of target.
    and also now map directly from DTM_Y2K_DATE  to Start Date(Dont change any context now..)
    If still nt clear do post..
    Babu

  • How to remove nodes in Message mapping

    Hi XI friends,
    in my idoc to file..
    i have number of segments..all segments are optional...
    i want to remove in resultanat xml file..
    please tell me how to remove if the values are not exsisted for that Segment ..
    i think its possible in message mapping..
    please guide me..
    Munna

    Hi Munna,
    Try Creating a UDF in your mapping name it like: "Create"
    Paste the below mentioned code in it
    ========================
    String str = a;
    if(str != null && str.length()>0)
    return "true";
    else
    return "false";
    ========================
    2) Save this function .
    3) Now Map like this
    (Source Node->UDF Create)->Check if it returns a string "true"--> if yes Map it with source node->add this in the "then" of an "if with out else"---->Target node.
    4) Test now in testing tool in Message mapping.
    Try it.
    it will work
    regards
    Pl: reward points if it worked

  • 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.

  • 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

  • Message Mapping Nested Structure to key node in JDBC XML SQL Structure

    Hello everybody,
    I'm facing the next problem, I have the following nested structure
    <ns0:MT_Irdoc_ArchivoNested xmlns:ns0="http://ref.pemex.com/PI/FI/ArchivoIrdoc">
       <Header id_consecutivo="">
          <Transaction/>
          <Header2/>
          <Header3/>
          <Header4/>
          <Header5/>
          <Detail>
             <Transaction/>
             <Detail2/>
             <Detail3/>
             <Detail4/>
             <Detail5/>
          </Detail>
       </Header>
       <NombreArchivo/>
    </ns0:MT_Irdoc_ArchivoNested>
    as you can see, Detail is a nested Node from Header Node, and Detail is with occurrence 0...unbounded, I need to generate a SELECT XML SQL Structure as follows
       <StatementName>
              <dbTableName action=u201DSELECTu201D>
                  <table>realDbTableName</table>
                  <access>
                     <col1/>
                     <col2/>
                     <col3/>
                  </access>
                  <key1>
                     <col4>val4</col4>
                     <col5>val5</col5>
                     <col6>val6</col6>
                  </key1>
              </dbTableName> 
       </StatementName>
    now my problem is that col4 and col6 are values mapped from Header fields values, and col5 mus be mapped from Detail2 field of Detail Nested Structure, and Detail is 0...unbounded so it can contain any number of values and must included in the key structure, I tried by mapping the Detail Node to the key1 node, so it will generate n numbers of key1 nodes to include in the query, and the Detail number of nodes are not constant so I can't generate key2, key3, keyn...., so what I need is to create n numbers of instances of key1 node, but the problem is that when the mapping try to generate the second instance of key1 node it gives an error in the fields that comes from Header structure, maybe I'm trying to solve my problem wrong, could anyone give some advices or direction?, thanks in advance.
    Regards,
    Julio Cesar

    Julio,
    After placing the below logic in the mapping editor
    Details2 > SplitByValue> col5
    Right click on the Details2 node and choose Context. By Default you will see Details, because Details2 is the child of Details node. I want you to choose the Parent of Details node, I believe that would be HeaderID, am I right?
    If you don't want to do that then,
    Details2 ---> Remove Context > SplitByvalue> col5 will do the trick!
    raj.

Maybe you are looking for

  • Validation messages in JSF (when not using ADF faces)

    I've spent some time with JDeveloper 11 and would like to use it on an upcoming project. I have to target IE 6, so I won't be able to take advantage of ADF Faces. Instead I'd like to use the ADF Business Components with a standard JSF interface so it

  • Connection to oracle

    How to Connect the Sun Studio Enterprise 8 to oracle 10g? I tried many times to connect to oracle 10g with JDBC/ ODBC and the Oracle but dise not success any more.

  • Portions of iPhoto library missing

    Panic as usual! I opened iPhoto to review pics in one of the folders. When I clicked on the folder, the number showing the quantity of pics in the folder rapidly decsended to zero! Panic! There were no pics in the folder! To make a long story short,

  • Auto-populate city and state based on zip code?

    Based on the zip code entered, can the form auto-populate the city and state in another field?

  • ESS + Backend access Issue

    Hi Experts, Recently I have come across a design issue for the HR roles in our system. Our HCM system has ESS/MSS as well as other backend roles such as payroll, time admin etc. The ESS/MSS role is categorized based on country, as such the P_ORGIN ob