Node mapping condition

Hello experts
There is a mapping requiremnt and i don't quite know how to achieve it. Hope to get some hints on how to do it.
I have a source file
<line>     unbounded
    <field1>
    <filed2>
    <field3>
</Line>
My taget is Idoc
<e1xmbh>
    <e1mbxy1>
             <Zitem>
                    <field1>
                      <field2>
                      </Zitem>
               </e1mbxy1>
              <e1mbh>
now i need to creat<Zitem> node based on a condition : if field1 (concat) field 2 combination is same( from the root context)   then the Zitem must be in the same <e1mbxy1>
if field1 (concat) field2 combination is different from the previous one from the queue then the Zitem should belong to next existence of node <e1mbxy1>
It is quiet hard to explain but hopefully someone has an answer for it .
Thank you

Hi,
You need to create 2 UDFs to achieve what You want.
1st: to create <e1mbxy1> nodes
field1 (concat) field 2 >>>>UDF1>>>>>>e1mbxy1
2nd: to put the individual values <field1>,<field2>... in the correct target node.
field1 >>>>UDF2>>>>>>field1
Regards
Ivan

Similar Messages

  • Mapping nodes on condition

    Hello experts
    I am stuck at a specific mapping requirement and i need your help to get me out of it. I am stuck with contexts . I tried using UDFs to manipulate contexts . But my mapping fails in one particular case which is strange and i don't know how to fix it. the exmple below is the case when it fails.
    my input file is : it has structure   Data_Record ( unbounded)
                                                                 Line_feed_Item ( unbounded)
    (Data_Record)
          (Line_Feed_Item)
             (ss3pw_td002)250(/ss3pw_td002)
             (ss3pw_td003)0034319197(/ss3pw_td003)
             (ss3pw_td004)p1(/ss3pw_td004)
             (ss3pw_td006)m1(/ss3pw_td006)
             (ss3pw_td007)+10(/ss3pw_td007)
             (ss3pw_td009)ZUN(/ss3pw_td009)
             (ss3pw_td011)5021(/ss3pw_td011)
             (ss3pw_td012)5021(/ss3pw_td012)
             (ss3pw_td013)1000(/ss3pw_td013)
             (ss3pw_td014)b1(/ss3pw_td014)
             (ss3pw_td015)20100630(/ss3pw_td015)
             (ss3pw_td016)UN(/ss3pw_td016)
             (ss3pw_td017)UN(/ss3pw_td017)
             (ss3pw_td018/)
             (ss3pw_td019)387125620008967527(/ss3pw_td019)
             (ss3pw_td020/)
             (ss3pw_td022)20090930(/ss3pw_td022)
             (ss3pw_td025/)
          (/Line_Feed_Item)
          (Line_Feed_Item)
             (ss3pw_td002)250(/ss3pw_td002)
             (ss3pw_td003)0034319197(/ss3pw_td003)
             (ss3pw_td004)p1(/ss3pw_td004)
             (ss3pw_td006)m1(/ss3pw_td006)
             (ss3pw_td007)+10(/ss3pw_td007)
             (ss3pw_td009)ZUN(/ss3pw_td009)
             (ss3pw_td011)5021(/ss3pw_td011)
             (ss3pw_td012)5021(/ss3pw_td012)
             (ss3pw_td013)1000(/ss3pw_td013)
             (ss3pw_td014)b1(/ss3pw_td014)
             (ss3pw_td015)20100630(/ss3pw_td015)
             (ss3pw_td016)UN(/ss3pw_td016)
             (ss3pw_td017)UN(/ss3pw_td017)
             (ss3pw_td018/)
             (ss3pw_td019)387125620008967531(/ss3pw_td019)
             (ss3pw_td020/)
             (ss3pw_td022)20090930(/ss3pw_td022)
             (ss3pw_td025/)
          (/Line_Feed_Item)
       (/Data_Record)
       (Data_Record)
          (Line_Feed_Item)
             (ss3pw_td001)52(/ss3pw_td001)
             (ss3pw_td002)250(/ss3pw_td002)
             (ss3pw_td003)0034319197(/ss3pw_td003)
             (ss3pw_td004)p2(/ss3pw_td004)
             (ss3pw_td006)m2(/ss3pw_td006)
             (ss3pw_td007)+10(/ss3pw_td007)
             (ss3pw_td009)ZUN(/ss3pw_td009)
             (ss3pw_td011)5021(/ss3pw_td011)
             (ss3pw_td012)5021(/ss3pw_td012)
             (ss3pw_td013)1000(/ss3pw_td013)
             (ss3pw_td014)b3(/ss3pw_td014)
             (ss3pw_td015)20100630(/ss3pw_td015)
             (ss3pw_td016)UN(/ss3pw_td016)
             (ss3pw_td017)UN(/ss3pw_td017)
             (ss3pw_td018/)
             (ss3pw_td019)pallet3(/ss3pw_td019)
             (ss3pw_td020/)
             (ss3pw_td022)20090930(/ss3pw_td022)
             (ss3pw_td025/)
          (/Line_Feed_Item)
          (Line_Feed_Item)
             (ss3pw_td002)250(/ss3pw_td002)
             (ss3pw_td003)0034319197(/ss3pw_td003)
             (ss3pw_td004)p3(/ss3pw_td004)
             (ss3pw_td006)m3(/ss3pw_td006)
             (ss3pw_td007)+10(/ss3pw_td007)
             (ss3pw_td009)ZUN(/ss3pw_td009)
             (ss3pw_td011)5021(/ss3pw_td011)
             (ss3pw_td012)5021(/ss3pw_td012)
             (ss3pw_td013)1000(/ss3pw_td013)
             (ss3pw_td014)b3(/ss3pw_td014)
             (ss3pw_td015)20100630(/ss3pw_td015)
             (ss3pw_td016)UN(/ss3pw_td016)
             (ss3pw_td017)UN(/ss3pw_td017)
             (ss3pw_td018/)
             (ss3pw_td019)pallet4(/ss3pw_td019)
             (ss3pw_td020/)
             (ss3pw_td022)20090930(/ss3pw_td022)
             (ss3pw_td025/)
          (/Line_Feed_Item)
       (/Data_Record)
    My target is Idoc:  Idoc (unbounded)  )))))Data_Record
                                      E1MBXYH ( 1 ) )))))))Constant
                                             E1MBXYI ( 9999)
                                                  Z1ITEM (999)
    My mapping condition is if fileds ss3pw_td06 & ss3pw_td14 are same then   E1MBXYI  is created only once.
                                                                                    if ss3pw_td06 & ss3pw_td14 are same then Zitem nodes belong to the same E1MBXYI
    To achieve this i created two UDFs to create context and supress context.
    The mapping i have done is as follows
                     constant ))))))))))E1MBXYH ( 1 )
                ss3pw_td06(concat)ss3pw_td14   )))UDF1)))))))E1MBXYI
              ss3pw_td06(concat)ss3pw_td14   )))UDF2)))))))Zitem
    UDF1 to supress & create only one E1MBXYI ( string[] a)
    String toCompare = a[0];
    result.addValue(a[0]);
    for (int i = 1; i ( a.length; i++)
         if (a<i>.equals(toCompare))
              result.addSuppress();
         else {
              toCompare = a<i>;
              result.addValue(a<i>);
    UDF2 to create context change & create Zitem in same  E1MBXYI  ( string[] a)
    String toCompare = a[0];
    int sameValCounter = 0;
    for (int i = 0; i ( a.length; i++)
         if (a<i>.equals(toCompare)) {
              result.addValue(a<i>);
              sameValCounter++;
         else {
              for (int z = 0; z ( sameValCounter; z++) {
                   result.addContextChange();
              result.addValue(a<i>);          
              toCompare = a<i>;
              sameValCounter = 1;
    The problem is in my result in the second Idoc occurance , Zitem node ignores a context change from the queue and makes a blank Zitem filed for the last E1MBXYI .
    I cannot expalin this . Does any of you have an idea how to fix this ? Your help is greatly appriciated.
    - (IDOC BEGIN="1")
    - (E1MBXYH SEGMENT="1")
    - (E1MBXYI SEGMENT="1")
    - (Z1ITEM SEGMENT="1")
      (POSNR)0000p1(/POSNR)
      (Z2PQC)UN(/Z2PQC)
      (Z2PALSSCC)387125620008967527(/Z2PALSSCC)
      (Z2PALQTY)10(/Z2PALQTY)
      (Z2REFNUM /)
      (Z2REASCD /)
      (/Z1ITEM)
    - (Z1ITEM SEGMENT="1")
      (POSNR)0000p1(/POSNR)
      (Z2PQC)UN(/Z2PQC)
      (Z2PALSSCC)387125620008967531(/Z2PALSSCC)
      (Z2PALQTY)10(/Z2PALQTY)
      (Z2REFNUM /)
      (Z2REASCD /)
      (/Z1ITEM)
      (/E1MBXYI)
      (/E1MBXYH)
      (/IDOC)
    - (IDOC BEGIN="1")
    - (E1MBXYH SEGMENT="1")
    - (E1MBXYI SEGMENT="1")
    - (Z1ITEM SEGMENT="1")
      (POSNR)0000p3(/POSNR)
      (Z2PQC)UN(/Z2PQC)
      (Z2PALSSCC)pallet4(/Z2PALSSCC)
      (Z2PALQTY)10(/Z2PALQTY)
      (Z2REFNUM /)
      (Z2REASCD /)
      (/Z1ITEM)
      (/E1MBXYI)
      (E1MBXYI SEGMENT="1" /)
      (/E1MBXYH)
      (/IDOC)
    Thank you
    Edited by: sudheer kamepalli on Dec 5, 2009 9:49 AM
    Edited by: sudheer kamepalli on Dec 5, 2009 9:57 AM
    Edited by: sudheer kamepalli on Dec 5, 2009 9:58 AM

    Hi ,
    Before posting the thread check the format,...its not understandable.
    Regards,
    Raj

  • Parent node mapping

    Hi
    During message mapping normally we do element to element mapping. But could you please tell me when we will go for root node to root node mapping ??
    Is it like that when the target root node's cardinality is greater than 1 we will go for root node mapping. Are there any other situations where we will go for root node mapping ?
    thanks
    kumar

    Hi Kumar
            We can have the root node mapping in the following cases:
    1. If we have a field on the target side that needs to occur as per the business requirement but the root parent node is optional i.e. with occurance 0...n, then we can map the target root node to an empty constant so as to make it occur.
    2. If we have a source field that can occur many number of times at runtime and we have the corresponding target field that occurs only once at runtime but it's parent node can occur same number of times as of the source field then in that case we map the target parent node to the source field with the following condition as if the source field exist create the target parent node.
             I think that it helps you with some scenarios.
    Amit

  • Data node mapped to  Adobe Form empty - Web Dynpro ABAP

    Hi,
    I've created a web dynpro component in ABAP. One of the view contains an interactive Adobe form.
    Form properties : Data source and pdf source are mapped
    Enabled checked
    Submit action mapped to a method. This method reads the node mapped to the form.
    Form Layout: Used ZCI Layout and Inserted web dynpro script (XML interface)
    Dragged attributes from data view to create text fields.
    Submit button used from Web dynpro native group
    I could not read data from the form.
    When I submit the form, data is not captured in the context.
    I have used the same context for view and could save the data from the view. But from the adobe form, I cannot read the data.
    Is there anything I missed. I have been on this since 2 days with no solution. I dont see any mistake but the form doesnt work.
    Version: Adobe Designer : 8.1 (from market place)
    SAP Netweaver 2004s SP18
    Any help on this is appreciated.
    P.S. Used all possible help from SDN existing posts and SAP notes.
    Thanks in advance,
    Srinivas

    Hi Srinivas,
    place a button on webdynpro view it self then try.
    make sure your form is working in interactive mode.
    else keep this conde in modifyview method.
    method WDDOMODIFYVIEW.
    data: LR_INTERACTIVE_FORM type ref to CL_WD_INTERACTIVE_FORM,
    LR_METHOD_HANDLER type ref to IF_WD_IACTIVE_FORM_METHOD_HNDL.
    check first_time = abap_true.
    LR_INTERACTIVE_FORM ?= VIEW->GET_ELEMENT(u2018<<ID_OF_YOUR_UIELEMENT>>u2019).
    LR_METHOD_HANDLER ?= LR_INTERACTIVE_FORM->_METHOD_HANDLER.
    LR_METHOD_HANDLER->SET_LEGACY_EDITING_ENABLED( abap_true ).
    endmethod.
    or try these links
    For More Information look at the link below.
    http://help.sap.com/saphelp_nw70/helpdata/en/2c/241a427ff6db2ce10000000a1550b0/frameset.htm
    Please look into SAP Notes: 1229392
    You can also look at the elearning below:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/media/uuid/c766e918-0b01-0010-99b1-c2b78cd059b3
    Regards,
    Mahesh

  • Mapping conditions in creation of contract

    Hello,
    We need to map condition types for the creation of a Backend contract on the basis of a accepted bid.
    We use SRM 5.0 but our products do not have prices in their product master!
    We use the catalog funcion to indicate the prices of the materials. for service-items we manually add the prices in the Shopping cart.
    We dont know what conditions types we use in these circumstances in SRM 5.0?
    What condition type are we using in the case of materials?
    What condition type are we using in the case of  service-items?
    Thanks for any reply.
    Aart

    ok

  • Mapping condition in multi mapping

    Hi Experts,
    I have a 1:n multimapping where I have a mapping condition such that
    If the field is empty ith should throw an error.
    At the same time the n-1 records should be processed...
    The UDF i have used is
    if (a == "")
    throw new RuntimeException();
    else
    return a;
    As of now the entire interface fails ...
    Any idea on what I should do???

    Hi Ravi,
    What i understood your requirement is suppose if you have 100 records in one file you are sending as a individual BAPIs messages ,if there is no value for certain filed you need to stop the process and with alert email.
    my solution for this read one record at a time from CSV,set record set per message value in sender file adapter is 1,it reads one record at a time,then check the condition in mapping,use enhanced receiver determination to check the condition.
    Create one service for sending an email,use mail adapter,one bussines system for RFC.
    if your condition fails(no value)then cal service to send an email,if condition succes then sal bussiness system in and develope interface mapping for the same.
    You need to check the every record ,i think you can use my approach,any clarifications needed let me know.
    Regards,
    raj

  • Dynamic node mapping

    Hi everyone,
    I have a scenario in which the source structure contains an indicator A and 1 or 2 source nodes (X & Y, both 0..unbounded). Node X will always be in there where Y will only be in there if A = true. Target node is T (0..unbounded). Now, they way I like it to work is if A = true then map Y -> T, else if A = false map X -> T.
    However, the if function doesn't seem to work well with nodes.
    To illustrate, in this scenario the mapping would produce 4 target nodes T, because A = true and occurence of Node Y is 4.
    Any help appreciated. Thanks.
    <A>true</A>
    <X>
      <X1>bla</X1>
      <X1>bla</X1>
      <X1>bla</X1>
    </X>
    <X>
      <X1>bla</X1>
      <X1>bla</X1>
    </X>
    <Y>
      <Y1>bla</Y1>
      <Y1>bla</Y1>
      <Y1>bla</Y1>
    </Y>
    <Y>
      <Y1>bla</Y1>
      <Y1>bla</Y1>
    </Y>
    <Y>
      <Y1>bla</Y1>
      <Y1>bla</Y1>
    </Y>
    <Y>
      <Y1>bla</Y1>
      <Y1>bla</Y1>
    </Y>

    Hi jp,
    createif based on A = true/false will only create the target node once but I want it to be there n times based on the occurence of the source node X or Y.
    I've uploaded a screenshot to further illustrate the problem
    http://www.flickr.com/photos/24514021@N04/3118023808/
    ihFsmType is the indicator, if empty I'd like to use InvoiceHistory for the node mapping, if ihFsmType != empty then sfh_hist.

  • How to cause a "Completed with errors" map condition?

    Our application testers asked me how to replicate a "Completed with errors" map condition, so they can verify that our application reports and handles this correctly. I've been able to generate "Completed with warnings" (create records with duplicate keys) and "Failed" conditions (drop a source table), but not "Completed with errors". Anyone know of a way to produce this condition?
    Thanks!
    Steve Locke

    Hi Steve
    It depends on your 'Maximum Number of Errors' configuration property. By default this value is 50, so its highly likely you are running set based and you have used the default number of errors (50) and the error count after the run is 1 so you have the status completed with warnings. If you change the maximum number of errors to 0, you will complete with errors if there are any errors at all.
    Cheers
    David

  • XPath for root node in condition editor

    Hi,
    I have a HTTP to IDOC scenario. I have to accept any incoming document,(i will know only at runtime whether it is ORDERS or INVOICE or ASN etc) and post it to the respective receiver based on what is the name of the root node. But how do i specify this in the condition editor? if i give /* or name(/*) it does not work.Can anyone suggest a solution for this?
    Thanks
    Shakthi

    Well I have one solution but don't konw if it is worth for you.
    First create one mapping called pre_mapping in this mapping map all fields and the root node value to the target structure correspondingly . Now use BPM with simple receive & send steps. BPM should send the message back to XI.
    Use the final mapping with this messge retuned from BPM.
    Now use the x-path and select the field from source structre (which BPM has sent back to XI) which contains IDOC type. So in this case your sender system will be BPM.

  • File to Idoc Nodes mapping

    My sender File structure is like this..
    MT_Sender
    -Recordset 0 to Unbound
    --Header 1 to 1
    ---field1
    ---field2
    ---fieldx
    --GL_Account 0 to Unbound
    ---field1
    ---field2
    ---fieldx
    ---Cust_Item 0 to Unbound
    field1
    field2
    fieldx
    Curr_Item 0 to Unbound
    field1
    field2
    fieldx
    and I am mapping it to Idoc segments..
    Here my confusion is for Header segment in  Idoc I am mapping Header in my structure ..but it is giving mapping conversion error.
    I tried node to node and Recordset to node both are giving error.
    Can any one clear it NODE  level mapping to IDOC structute.
    ACC_document
      IDOC
       Begin
       NODE1
       NODE2
       NODE3
       NODEx
    Regards,
    Ramesh.

    ..Any inputs on it
    This info from sxmb_moni
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ACC_DOCUMENT03/IDOC. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at
    com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:406) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMapp.....
    SXMB_MONI payload is
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_FI_SENDER xmlns:ns="Http://xyz.com">
    - <ns:Recordset xmlns:ns="Http://xyz.com">
    - <Header>
      <USERNAME>OBTE-MM</USERNAME>
      <COMP_CODE>2000</COMP_CODE>
      <DOC_DATE>20091015</DOC_DATE>
      <PSTNG_DATE>20091015</PSTNG_DATE>
      <DOC_TYPE>DR</DOC_TYPE>
      <REF_DOC_NO_LONG>7578</REF_DOC_NO_LONG>
      </Header>
    - <GL_account_item>
      <ITEMNO_ACC>0000000001</ITEMNO_ACC>
      <GL_ACCOUNT>0003101110</GL_ACCOUNT>
      <ACCT_TYPE>S</ACCT_TYPE>
      <DOC_TYPE>DR</DOC_TYPE>
      <COMP_CODE>2000</COMP_CODE>
      <FISC_YEAR>2009</FISC_YEAR>
      <PROFIT_CTR>0000002002</PROFIT_CTR>
      <DE_CRE_IND>H</DE_CRE_IND>
      </GL_account_item>
    - <Customer_Item>
      <ITEMNO_ACC>0000000002</ITEMNO_ACC>
      <CUSTOMER>0000000092</CUSTOMER>
      <COMP_CODE>2000</COMP_CODE>
      </Customer_Item>
    - <GL_Currency_Items>
      <ITEMNO_ACC>0000000001</ITEMNO_ACC>
      <CURR_TYPE>00</CURR_TYPE>
      <CURRENCY>INR</CURRENCY>
      <AMT_DOCCUR>6000</AMT_DOCCUR>
      </GL_Currency_Items>
      </ns:Recordset>
      </ns:MT_FI_SENDER>
    Regards,
    Ramesh.
    Edited by: Sreeramoju Ramesh on Oct 15, 2009 1:28 PM

  • Dynamic reverse context node mapping at runtime

    Hi!
    I have an application which uses another embedded component containing a ALV table which shows the data of a transparent table.
    Everything works fine if i'm working with a static table with static attributes and map the context node of the application to the node in the embedded component. The context node in the embedded component is reversed mapped and gets its data from the application's context node.
    Now i want to do it dynamically. Inside the application the user should choose the name of a table and I'm using RTTI functions to get it's technical informations. At runtime i'm adding dynamically attributes (i.e. fieldname, type, length) to a static context node called 'DATA'.
    The ALV component of the embedded component is mapped to an interface context node named 'DATA' which uses reverse mapping to receive data from the applications context node 'DATA'.
    What I need to know is how to create the mapping between application context node and interface context node of the embedded component at runtime after i have created the attributes of the node dynamically. Is that basically possible?
    I've already tried to map the both nodes statically to see if the dynamically created attributes are mapped automatically then. The mapping seems to be fine at node level, but doesn't work for the later dynamically added attributes.
    Could someone point me to informations if dynamic mapping context nodes is basically possible and how to do it?
    Regards
    Ralf-J.

    Hi Lars!
    Thanks for the link! The problem isn't to fill the context node dynamically. That's already working using RTTI etc.
    It seems to me that the interface context node of the ALV in the embedded component doesn't recognize the dynamically added attributes. As i wrote the binding on node level (DATA->DATA), which i'm doing at design time, is working as expected, but the added attributes are only shown in the context node of the using component but not in the embedded.
    I'm still thinking there must be a way to do a binding at runtime. On the other hand the comment of Glenn in the thread you've pointed me to, seems to suggest that the ALV itself might have problems with dynamically appended attributes.
    Regards
    Ralf-J.

  • Process Composer - node mapping

    Hello,
    I have a table (ie ID, Name) in my first Web Dynpro application, and i want to pass it to another Web Dynpro application using Process Composer. Everything works fine, when there is only one record (row) in table, but when i add another, click submitt button, error in my log file appears, and process is not delegated to second Web Dynpro application.
    I created mapping in xsd, mapped output from 1st application to process context, and input of 2nd application to that context.
    Error in log looks like that:
    #2.0 #2009 01 28 16:41:13:015#+0100#Error#com.sap.engine.session.data.share.HashtableFactory#
    #BC-JAS-COR-SES#kernel.sda#02004C4F4F50C2B00000000000000BE0#21434350000000004#sap.com/tckmcbc.uwl.ui~wd_ui#com.sap.engine.session.data.share.HashtableFactory#userA#41575##5FF4B600ED3711DD850A02004C4F4F50#12abe7e0ed5211ddc4ad02004c4f4f50#12abe7e0ed5211ddc4ad02004c4f4f50#0#Thread[HTTP Worker [@5716384],5,Dedicated_Application_Thread]#Plain##
    There is no hashtable registered for java.lang.String class. Maybe there is a classloader problem.#
    It seems like i'm trying to map list from 1st application to string into 2nd application or data structure in process context.
    Can anyone please tell me how i'm supposed to map one node (table) from one application to another? Is there any pdf/ebook  file about advanced building a composite business process (excpecially how to create xsd file) ?
    thanks in advance,
    Lukas

    Hello,
    When I map node from context of 1st application do the node of the 2nd application and check the expression editor for certain attribute of the node there is an error message like:
    "xsd:String excepceted ... Found list of String".
    In my both web dynpro applications nodes have cardinality 0..n
    Do you think there is a problem in my xsd file ?
    I also tried to map both nodes directly from one application context to another (not using process context) but i still get this error. Can anyone please help me with this issue.
    Here is part of my xsd source file, where i'm trying to create data strucute for process context, to map my node from application (node in my application has only one attribute String):
        <complexType name="myNode">
             <sequence>
                  <element ref="tns:myAttribute" />
             </sequence>
        </complexType>
       <complexType name="InvestmentApprovalProcess">
             <sequence>
                  <element name="myNode" type="tns:myNode"/>
             </sequence>
        </complexType>
    <element name="myAttribute" type="string"/>
    Thanks,
    Lukasz

  • Mapping Condition issue, Value not coming in multiple segments.

    Hi All,
    File to Idoc scenario.
    My file looks like below.
    HD 89650 28/01/11 "Presciber tan"
    AF "disc-rsn"
    RK "007287001" A
    KE disc-code "007287"
    KE addr-num "001"
    DF w-phone "03 98483299"
    AF "drs"
    RK "007287" A
    KE dr-num "007287"
    DF affil "OPSM"
    DF country "0"
    AF "disc-rsn"
    RK "dr-addraddress-1 17287|1EN" A
    KE disc-code "008287"
    KE field-name "address-1"
    KE element " 1"
    T         16
    Condition:
    I have a condition where I need to create an Idoc segment Z1disc when row - "AF "disc-rsn"" exists.
    For the filed "Z1disc-CODE", I need to pass the value when row "KE disc-code" exists,
    Result:
    From my file, AF "disc-rsn" exists twice, so I created 2 Z1disc segments.
    Coming to the field "Z1disc-CODE", the value "KE disc-code" exists twice in the file. After mapping, the value is coming only once in the first segment. The field "CODE" is not coming in the second segment like below.
    Idoc
    -- Zdisc
    --- Lang -- E    
    --- Code --  "007287"
    ---Zdisc
    Lang -- E
    When the check the display queue, it is showing like below
    SUPPRESS
    007287
    007287 -- (Context)
    008287
    008287-- (Context)
    It showing correctly from display queue, but the value are not populating except in first segement.
    For your information, After content conversion, my source xml will look like below.
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Optum xmlns:ns="http://luxottica.com/SAP_CRM/DirectSales/OptomDiscount">
    - <RecordSet>
      <Row>HD 89650 28/01/11 "Presciber tan"</Row>
      </RecordSet>
    - <RecordSet>
      <Row>AF "disc-rsn"</Row>
      </RecordSet>
    - <RecordSet>
      <Row>RK "007287001" A</Row>
      </RecordSet>
    - <RecordSet>
      <Row>KE disc-code "007287"</Row>
    Kindly help me, I'm trying all the options and it is not working.
    Is there anything I need to change in Source structure?
    Thanks
    Deepthi.

    Hi Aravind,
    Here is my Source message.
      <?xml version="1.0" encoding="UTF-8" ?>
    - <MT_XIOptum>
    - <Header>
      <HRow>HD 89650 28/01/11 "Presciber tan"</HRow>
      </Header>
    - <Detail>
      <Row>AF "disc-rsn"</Row>
      <Row>RK "007287001" A</Row>
      <Row>KE disc-code "007287"</Row>
      <Row>KE addr-num "001"</Row>
      <Row>DF fax-num ""</Row>
      <Row>DF in-out "I"</Row>
      <Row>DF phone-2 ""</Row>
      <Row>DF post-code "3108"</Row>
      <Row>DF provider-num "4349201J"</Row>
      <Row>DF rec-stat "A"</Row>
      <Row>DF w-phone "03 98483299"</Row>
      <Row>AF "drs"</Row>
      <Row>RK "007287" A</Row>
      <Row>KE dr-num "007287"</Row>
      <Row>DF affil "OPSM"</Row>
      <Row>DF country "0"</Row>
      <Row>DF descript "KK"</Row>
      <Row>DF rec-stat "A"</Row>
      <Row>AF "disc-rsn"</Row>
      <Row>RK "dr-addraddress-1 17287|1EN" A</Row>
      <Row>KE disc-code "008287"</Row>
      <Row>KE field-name "address-1"</Row>
      <Row>KE element " 1"</Row>
      </Detail>
    - <Trailer>
      <TRow>T 25</TRow>
      </Trailer>
      </MT_XIOptum>
    Row> -> [removeContext] ->[ equalsS "disc-rsn" ] -> [createIf] -> <Zdisc>
    This Part is working.
    <Row>> startWith2>IF
    KE disc-code-->THEN > removeContexts>SplitbyValue>SUBSTRING>Code.
    When I check the display queue at Code. I'm getting the below values.
    SUPPRESS
    007287
    007287 -- Context change
    008287
    008287-- Context Change
    Only 007287 is displaying in FIrst segment "Z1Disc" and second value "008287" not coming in second segment "Z1Disc".
    Anything is wrong?

  • Recursive node mapping

    Hi everybody,
    i would like to ask if it is posiible to map context node with recursive node from controller to view. I try to do that by the recursive subnode is disabled. When that is not possible can that any one explain why?
    Regards
    Bogdan

    Hello Bogdan,
    Recursive context nodes cannot be mapped. You may refer this <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/ea/a5384162316532e10000000a1550b0/frameset.htm">article</a>
    Best Regards,
    Bala

  • Question about nodes, what are they, why weren't unused ones erased, why is my node map invalid?

    What is this crap in Disk Utility?
    What is the freaking point of a journalled filesystem if it's useless at...it's job / function for existing / fixing it's files and/or system of filing them? What a joke. 
    Why can't I repair or verify disk permissions?
    Why does Apple know nothing about Apple products.

    goscuter1 wrote:
    If you can't repair the disk using DU, get something stronger, such as DiskWarrior or Tech Tools Pro.
    For info on disk nodes, peruse the hits from a google search for hard disk node structure.
    Thanks for responding baltwo, inspite of my frustrated tone there. Unfortunately the write-protected boot volume that comes off the servers delivers stuff like this. I've been Google searching for 10 months and bleeding eyes give me two emotions:
    1. Sadness, at how much I've been lied to - I wonder what they get for it
    2. Frustration, at directions to achieve solutions / resolutions - that simply don't work. Command lines give more error messages, should I  Google them as well? Obv i have.
    And the ride begins again at 1. I'll get diskwarrior.
    I went to get DiskWarrior and it's $100 for a software utility. I laughed cause, whatever. If it worked a year ago, and I bought it, I could buy 1000 Disk Warriors and still be in the black. I've only bought maybe 200 utilities. And paid for the free ones, dearly - I suspect.
    I was about to buy it obviously, but my system crashed before I could burn more cash. I put it on my list of "Online Things to Do" for when I got online.
    I dunno. I'm not posting here to bag Disk Warrior, at least they're honest. But I can't see how this could possibly be worth $5, or even the hassle.
    DiskWarrior recovers your files including your photos, music and videos.
    DiskWarrior is the safest, most technologically advanced, most powerful utility to eliminate directory damage and recover your files, folders and documents.
    I want to do the opposite, to data.
    DiskWarrior cures those cryptic errors reported by Disk Utility.
    Messages from your Mac such as "Invalid node structure" and "Keys out of order" may seem mysterious or even scary but DiskWarrior fixes these problems and many, many more.
    Interesting. And the reason I was going to buy it. But I note their claim is a little cryptic. I have unexplained keymapping that Apple decline to explain. And if I understand nodes correctly, Disk Warrior will be in use very often. I'd prefer to find a more elegant solution, to corruption.
    DiskWarrior uses a different approach to disk directory repair than other programs.
    DiskWarrior is not a disk repair program in the conventional sense. Instead of patching the original directory, it uses a patent-pending technology to quickly build a new replacement directory using data recovered from the original directory, thereby recovering files, folders and documents that you thought were lost and that no other program could recover.
    No, I don't think I want that. My systems fill up with millions of files due to DDoS which is very much, Distributed. Around. I don't want to recover anything. I just can't afford to keep buying new systems which last a day, or less. Yes, it's quite the spot - I get that. It could very well kill me in the not-too-distant future. But then I've read the Terms & Conditions for this forum after - truthfully - I mean, honestly - breaking them, so I'm probably not being 'melodramatic'.
    DiskWarrior is the only product that finds all of your data.
    Its patent-pending method always results in a perfectly rebuilt directory without any errors and that contains all of your file and folder data.
    This is an interesting claim because I have millions of errors, and I post less than 0.1% of them. I wonder how they define filesystem "errors".
    DiskWarrior is the highest rated and wins more awards.
    The reviews are in! See what the press is already saying about the new DiskWarrior 4.
    I read a thread about hidden Directory nodes on this forum where the OP and the Helpful Responder had a discussion ENTIRELY exclusive to his attempt to hide the log file telling him about them. You'll be happy to know, the thread had a Disney ending. I celebrated by vomiting up. 
    Can you afford to waste your hard-earned money on any other utility?
    You can try other utilities but you'll probably end up needing DiskWarrior to recover your data.You'll save money buying DiskWarrior first.
    I have literally no doubt this is true. And I suspect I'd be in much the same spot right now, starts with SCR and ends with EWWed. Because...
    While started from the DiskWarrior DVD, you cannot repair the permissions of a Mac OS X 10.5 through 10.7 startup disk.
    lol. But not really. Not really, because no lame excuses given. No excuses given, at all. I think I know what that means.
    DiskWarrior is not a disk repair program in the conventional sense. It does not attempt to solve all of the possible problems that can occur with a disk. It specializes in eliminating directory errors - the most common problems Mac OS users have with their disks.
    It fixes any problem with master directory blocks and alternate master directory blocks (HFS), volume headers and alternate volume headers (HFS Plus), volume bitmaps, catalog trees, and extents trees.
    Seriously?
    Again, I have to express my 'confusion' about what possible purpose is served - as in what is the freaking POINT! - of having a journaled file system, that 'seems' to only create errors and cannot keep it's files in any kind of functional or systemized fashion, or keep its operating system operational. It kinda makes me want to scream, actually - but I understand Mac OS users clearly aren't phased. They probably think it's their problem to solve.
    lol I give up. All of the above was just stuff I noticed trying to find the sentence that makes everything else redundant. On the website last week - but heck if I can find it now - was the bland statement that
    Disk Warrior cannot be expected to function on an encrypted or networked filesystem.
    Nine months ago, I cussed out some 'Anti'-malware scammers (ESET or TrendMicro or they're all the same) because they attempted to ridicule my surprise that they would be crooks who claim they can do a thing they cannot - possibly - hope to do; namely, be 'competitive' against malware writers who've heard of encryption.
    Since that day, I've been asking every crook in this industry (obviously, I didn't know they were crooks when I was giving them money - otherwise associating with them) how they have the secret no one else has. Every utility, every claim, all a ridiculous joke when Linux commands are coded to be corrupted. Oh, I'm not talking about distribution scripting, I'm talking about the kernel. Singular.
    I could go on an on about why anyone who claims you can 'build' a kernel should be strung, but for example:
    The dd command. shred. rsync. cp. They drown you with irrelevant information so that you fail to notice, they're omitting the important information. Like encryption. Disk geometry. Disk 'ownership'. Hidden sectors, chaotic clustering, corruption and nonsense and...
    bah. What does anyone care, so long as they can take a picture of their dumb face smiling in front of something impossibly boring and send it to a friend's iPod for joy.

Maybe you are looking for

  • Zen Micro: Best way to transfer mus

    I'm struggling with this, very confusing. . Do you use the Creative Media Source, or the Windows Media Player, or just drag and drop? Is this right: Are there 3 options? Which one is easiest? Which one can you create playlists with? 2. I have some MP

  • Include External File

    Hi, I'm using RequestDispatcher include method to include HTML files in my servlet. What I want to do however is include HTML files situated on a separate server in a separate domain. However even though I preface the address with http://xxxx/myfile.

  • External Monitor to Macbook Pro 15"

    When I start the computer, the external monitor shows only the background of the login screen but not the box itself where I type the password. After loggin in, I see the dektop on my computer but the external monitor continues to show only the backg

  • My processer won't run the new update ?

    I have an iBook G4. After downloading the new version of Firefox it will not run so I have to continue with the older version. I continuously get messages telling me my version is out of date which is getting annoying. Apple want me to buy a new comp

  • Unable to retrieive instance name (sometimes)

    Hello All, I will try to state this simply.  If required I can post my code.  I have created a class that extends the MovieClip. It is basically a retangular shape, with a color and a label that can be set via the "properties" concept. The label.text