Problem in message mapping while generating multiple record

Hi experts,
                 I am doing an idoc to file scenario in which E1FISEG SEGMENT is coming multiple time and if it contains two field ebeln & sgtxt then only it has to create corresponding data record I used following logic ..............
eibeln[change context to one level upper] --->Exist
> AND-> Createif Target
sgtxt[change context to one level upper] -
>Exist
and achived creation of data record but the problem is that if EIFISEG occurs five time and only two time it contains eibeln& sgtxt then its creating only two data record but its taking data from first and second E1FISEG segment instead of corresponding E1FISEG which satisfy the condition......Plz help its bit urgent
Regards
Neha

First take out the Context Change for each element EIBELN and SGTEXT and do the maping . Before the Createif Use the remove context node function. It will work fine.
So EIBELn and SGTXT exist pass after If condition it will pass the elements with context change inside. Now use the remove context method to combined those values then definetly it wil work out
Warm Regards,
Vijay
Message was edited by:
        Gangisetty Vijaya Bhaskarudu

Similar Messages

  • Problem with message mapping ...

    Hello,
    I have problem with message mapping. I implemented SOAP-to-RFC scenario. The source message is of type http://sntcz.cz/xmlns/holidays:MT_Holiday, the target message of type urn:sap-com:document:sap:rfc:functions:Z_GET_SUPERIOR. But some error is still generated in Request Message Mapping step:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_GET_SUPERIOR/USR. 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:403) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at .....
    This is XSD definition of source message:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sntcz.cz/xmlns/holidays" targetNamespace="http://sntcz.cz/xmlns/holidays">
    <xsd:element name="MT_Holiday" type="DT_Holiday" />
    <xsd:complexType name="DT_Holiday">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    030495e1742f11dd963600301875333b
    </xsd:appinfo>
    </xsd:annotation>
    <xsd:sequence>
    <xsd:element name="SinceDay" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba049b067aa11dd8be6eee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="SinceMounth" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a067aa11dda311eee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="SinceYear" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a167aa11dd9b4eeee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="UntilDay" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a267aa11ddc352eee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="UntilMounth" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a367aa11ddc33aeee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="UntilYear" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a467aa11dda8cfeee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    <xsd:element name="UserId" type="xsd:string">
    <xsd:annotation>
    <xsd:appinfo source="http://sap.com/xi/TextID">
    fba293a567aa11dd9698eee20abb2a3f
    </xsd:appinfo>
    </xsd:annotation>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    This is XSD definition of target message:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">
    <xsd:element name="Z_GET_SUPERIOR">
    <xsd:complexType>
    <xsd:all>
    <xsd:element name="USR" type="xsd:string" minOccurs="0" />
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    It's strange that if I use Message Mapping Test it works fine. But in pipeline not.
    Do you have any idea where could be the problem?
    Thank you in advance!
    Best regard,
    Zbynek

    Hi,
    To know the correct error Take the Inbound Payload from MONI and Test it in Mapping Test TAB. then u will come to know the exact error.
    Procedure to take the Payload
    goto MONI-Double click on MessageInbound Message ( CENTRAL ) --Payloads ---Double click on MainDocument ( application/xml ) -Just Right Click on the second window-View Source
    then now Copy this and paste it in Mapping Test and Execute.
    REgards
    Seshagiri

  • Problem in message mapping index.

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

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

  • Problem in Message Mapping

    Hi,
    My requirement is filter message based on the condition.
    My source structure is like below
    Root_Node
        |
      RecordSet (1..Unbounded)
          |_
          |   Header (1..1)
          |      |_ RecordType
          |_
              Detail (1.. Unbounded)
                 |_ RecordTypeDetail
    Example XSD is given below
    Now my requirement is I need to map the iterations to the same type of target structure (but only difference is all elements are non mandatory).
    if
    1) RecordType does not exists under Header, then map Detail.
    2) recordTypeDetails does not exists under Details then map Header.
    Now while doing RecordSet Mapping I have written user defined function which adds context if any of the above condition valid.
    But while doing the mapping for the Header Record we should map the iteration for which detail is not available, I am not able to associate the above context with the new resultset context.
    Any suggestions please.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:group8" targetNamespace="urn:group8">
         <xsd:complexType name="DT_EA_COMPLETE">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   e616ab20c08c11d9bb8e001143eb68b9
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="DT_EA_HD" type="DT_EA" maxOccurs="unbounded">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             cdea8830bb8e11d98600dd930a770421
                             </xsd:appinfo>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="DT_EA">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   eab53980c08c11d9ab7d001143eb68b9
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Header">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             9d192f70bb0e11d9afc8fdcd0a770421
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="rec_type_h" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f71bb0e11d9c902fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Project_estimate_number" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f72bb0e11d998cafdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Revision_number" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f73bb0e11d9851bfdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Project_estimate_title" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f74bb0e11d99a04fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Project_estimate_description" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f75bb0e11d99d6ffdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="purchase_order" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f76bb0e11d9bf5efdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
                   <xsd:element name="DetailData" maxOccurs="unbounded">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             9d192f77bb0e11d9c8b6fdcd0a770421
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="rec_type" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f78bb0e11d9cfa4fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Price" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f79bb0e11d9c487fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="gl_account" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7abb0e11d99609fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Internal_order" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7bbb0e11d99b5afdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="line_item_description" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7cbb0e11d9bdf8fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="print_job_indicator" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7dbb0e11d9cec2fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="impress_project_number" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7ebb0e11d9af41fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="partner_vendor" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f7fbb0e11d9be5dfdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="time_of_delivery" type="xsd:date">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f80bb0e11d9c353fdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                                  <xsd:element name="Vendor_text" type="xsd:string">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            9d192f81bb0e11d9b0cdfdcd0a770421
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>

    HI,
    I think there is problem with occurence here. Try to findout run time value in the mapping.. i.e Diplay queue option in the mapping editor. SO that you can check where exactly it is getting error.
    Regards,
    Moorthy

  • Multi-mapping ... multiple records works, one record doesn't

    I'm using JDBC to select rows from an external Oracle database, XI receives the message, splits it into multiple messages (one for each record returned) and, using RFC/BAPI, takes each record and writes it to an SAP table on an SAP system.  I'm using the RB_SPLIT option in my Interface Determination and in my Interface Mapping I'm using Source occurrences = 1, Target occurrences = 0..unbounded. 
    This works GREAT ... as long as there is more than one record returned from the select statement in the JDBC setup.  If the select statement only returns one record, nothing gets transferred.  If it's any amount of records more than 1, it works perfectly.
    Why won't it process one record?  What can I do to get it to process one record, without messing up the great job it does for more than one record?
    Thanks!

    Hi Michael -
    I have a similar setup (at least on the sender side) and whether I have multiple records returned or just one, I'm getting my expected result.  FYI, I'm using a file receiver.
    I would first take a closer look at your mapping.  Get the one record XML that is sent to the Integration Server and test your message mapping in the IR.  Remember to put it in between the tags below:
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
       </ns0:Message1>
    </ns0:Messages>
    Regards,
    Jin

  • Upgrading from XI/PI7.0 to 7.1 having problems with message mapping

    Hello,
    We are in the process over the past week of testing our XI/PI functionality after upgrading our 7.0 XI/PI environment to PI7.1; in particular several maps that were accessible in 7.0 will not open or diaplay in 7.1 complaining of a missing node in the mapping structure. Currently working with SAP on a possible fix but wanted to know if anyone else has done a true migration on top of an existing XI/PI7.0 system and experiencing similar issues (note: the maps can execute in the runtime environment but we can't display the maps source within message mapping; this also does not occur for all maps and there is no clear consistant theme to those that can be displayed and those that can't).
    The lattest issue just encountered related to message mapping is that in test mode of a map (that can be displayed) attempting to display the data queue for the mapped elements are blank no data being displayed giving an error noting that the source text of object message mapping: name of the map; has syntax errors, java area import line x, package ibm.com.xi.mapping does not exist/ import ibm.com.xi.mapping UDF:
    Has anyone upgraded from PI7.0 to 7.1 and experienced errors with existing maps that worked ok (ans still work in our QX/PRD systems) in their 7.0 envirinment but encountereing strange errors once upgrated to 7.1?
    Thanks
    Dereck Purnell
    NewellRubbermaid

    Here is the solution we received from SAP to address the issue, there were several mapping related issues we started havng from maps that worked in our 7.0 system prior to the upgrade to PI 7.1. I will try to encorporate the solutions in this response.
    a) From Customer to SAP
    1. We are unable to open some massage mapping, it is throwing
    exception
    2. Number Format functions throw exception.
    But following issue is still unresolved:
    3. When we display message queue, it throws exception
    ***) 05.02.2009 - 12:34:33 CET - Reply by SAP     
    The patch has been released at the Service Marketplace.
    Please update the scas described in the note 1264871.
    The "FormatNum" function issue has also been taken care in this patch.
    Please go through the Note 1264871 for other behaviour changes after
    upgrade. Let us know if you need any further help.
    Regards,
    B) From Customer to SAP
    04.02.2009 - 00:23:44 CET - Info for SAP
    We discovered another issue with mapping.
    For some of the mappings, we are unable to display mapping queue. When
    we execute, Interface mapping and Massage mapping, it works fine. But
    display queue throws exception. Itu2019s not able to recognize libraries
    used from dependent software component.
    Please find document "Display Mapping Queue Issue" providing example
    problem.
    25.02.2009 - 07:05:28 CET - *Reply by SAP*     
    Thank you for your update. I wanted to check with "CopyValue"
    function's index. It has to take an input integer and the problem that
    found while debugging the opening of your mapping is that the input
    was empty thus causing the exception.
    I was going to suggest the intended use of "CopyValue" function.
    When the input to "copyValue" is a constant, "copyValue" is totally
    not necessary. Thus constant can be directly mapped to other function.
    When the input is a node with values in context, you can treat one of
    values say input[0] to used in mapping by using CopyValue[0].
    But please make sure that input[0] will always produce a value.
    Note 877964 will describe in detail on Copyvalue usage.
    I am marking this Message as complete. Please confirm.

  • Mapping is inserting multiple records from a single source to Dimension.

    Hi All,
    I am very new to OWB. Please help me out. I've created Dimension with the help of the wizard and then a mapping which consist of single source and single dimension. The mapping is populating nearly 500 times of the actual records. Following are some details to give you a better understanding of mapping: I created a dimension with four levels and two hierarchy. Levels are L1, L2, L3 and L4 and hierarchies are H1-> L1, L2 and L4
    and H2-> L3 and L4. L4 is lowest level of hierarchy. L1 and L3 are parent levels in the respective hierarchies. I assigned an attribute of each level as Business identifier that means business identifier attribute is different in each level. In mapping I mapped the parent natural key(Key for parent Level in a hierarchy) as the value which has been mapped for parent level. The result is coming 500 times of the record that exist in source table. I've tried even single common business identifier for each level but again the result is 5 times of the records. Please let me know the solution.
    Thanks is advance.
    Amit

    Hi ,
    You may not be having multiple records in your dimension.
    To understand better the records insertion, try a snow flake version of the dimension and see how the records are inserted as per the levels in the respective tables.
    Thanks

  • Error in message monitoring while creating new record in R/3

    Hi All,
    I am getting the following error in message monitoring while creating a new record from SAP Mobile client.
    Service name: Validation_Service
    Message: BackendKeys are not filled in table HEADER returned by getDetails
    I am passing some random number from Client to SAP R/3 create function module.
    When i pass the same value in create FM as in message monitoring. I am able to create the record successfully,
    Corresponding to newly created record, i can see the data in getdetail header also.
    Not sure why this error is coming.
    Appreciate your help!!
    Thanks & Regards
    Devendra

    The CREATE FM should not only create the entry, it should also EXPORT the key that it uses to create the entry. Is it doing that?
    i.e. the CREATE signature is usually something like:
    CREATE_BLAH
      IMPORTING header TYPE header_row
      EXPORTING key type header_row-key_field.
    So the 'key' here should be filled by the FM and returned to DOE.

  • Problem in message Mapping SAP PI 7.1

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

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

  • Problem for Struts action to insert multiple records

    I am writting a code for Struts action which inserting a single record to table A and multiple records to table B .The architecture that I applied is Struts+Spring+iBatis.The multiple records are come from a 10-rows table in the design.The name of each column element is same.The field name other than these are just single-row field.
    <tr>
    <td><input name="date" type="text" size="12" /></td>
    <td><input name="billno" type="text" size="8" /></td>
    <td><input name="desc" type="text" size="11" /></td>
    <td><input name="purpose" type="text" size="20" /></td>
    <td><input name="proName" type="text" size="6" /></td>
    <td><input name="trainingCost" type="text" size="5" /></td>
    <td><input name="travelCost" type="text" size="7" /></td>
    <td><input name="entCost"  type="text" size="5" /></td>
    <td><input name="miscCost" type="text" size="5" /></td>
    </tr> I am using three DTO objects to hold the data.claimArray is the ClaimDTO array that hold the multiple record insert to table B.claimdto is the object that hold the single field record to table A.claim_dtldto is the object that hold the single field record to table B.
    PK of table A and table B are claimNo and claimDtlNo respectively.claimNo is also FK of table B. HTMLUtil is just an API that I used it for type conversion.There will have two insert statements in iBatis xml, insertClaim & insertClaimDtl to insert data into table A and table B respectively.I not sure what went wrong in the code,the data is not inserted into db.Thank advanced for you guys help..
    This is the codes in Action file:
    public class InsertClaimAction extends SpringAction {
       public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response) throws Exception {
        // string arrays that store multiple values
        String [] date = new String[10];
        String [] billno = new String[10];
        String [] description = new String[10];
        String [] purpose = new String[10];
        String [] proName = new String[10];
        String [] trainingCost = new String[10];
        String [] travelCost = new String[10];
        String [] entCost = new String[10];
        String [] miscCost = new String[10];
        String staffName = request.getParameter("name");
        String claimMy = request.getParameter("monthyear");
        String department = request.getParameter("department");
        String designation = request.getParameter("designation");
        Double excrate =  HTMLUtil.str2double(request.getParameter("excrate"),0.0);
        Double grandTotal = HTMLUtil.str2double(request.getParameter("grandTotal"),0.0);
        Double totalRM = HTMLUtil.str2double(request.getParameter("totalRM"),0.0);
        Double totalFC =    HTMLUtil.str2double(request.getParameter("totalFC"),0.0);
        String fcName = request.getParameter("fcAbbr");
        if(request.getParameter("date") != null)
            date = request.getParameterValues("date");
        if(request.getParameter("billno") != null)
            billno = request.getParameterValues("billno");
        if(request.getParameter("description") != null)
            description = request.getParameterValues("description");
        if(request.getParameter("purpose") != null)
            purpose = request.getParameterValues("purpose");
        if(request.getParameter("proName") != null)
            proName = request.getParameterValues("proName");
        if(request.getParameter("trainingCost") != null)
            trainingCost = request.getParameterValues("trainingCost");
        if(request.getParameter("travelCost") != null)
            travelCost = request.getParameterValues("travelCost");
        if(request.getParameter("entCost") != null)
            entCost = request.getParameterValues("entCost");
        if(request.getParameter("miscCost") != null)
            miscCost = request.getParameterValues("miscCost");
          //initialize dto
        ClaimDTO claimdto = new ClaimDTO();
        ClaimDTO claim_dtldto = new ClaimDTO();
        ClaimDTO[] claimArray = new ClaimDTO[10];
        claimdto.setClaimNo(claimNo);
        claimdto.setStaffName(staffName);
        claimdto.setClaimMy(claimMy);
        claimdto.setDepartment(department);
        claimdto.setDesignation(designation);
        claimdto.setExcrate(excrate);
        claimdto.setGrandTotal(grandTotal);
        claim_dtldto.setClaimDtlNo(claimDtlNo);
        claim_dtldto.setClaimNo(claimNo);
        claim_dtldto.setTotalRM(totalRM);
        claim_dtldto.setTotalFC(totalFC);
        claim_dtldto.setFcName(fcName);
        for(int i = 0;i < claimArray.length;i++) {
            if(claimArray[i] != null) {
                claimArray.setDate(date[i]);
    claimArray[i].setBillno(billno[i]);
    claimArray[i].setDescription(description[i]);
    claimArray[i].setPurpose(purpose[i]);
    claimArray[i].setProName(proName[i]);
    claimArray[i].setTrainingCost(Double.parseDouble(trainingCost[i]));
    claimArray[i].setTravelCost(Double.parseDouble(travelCost[i]));
    claimArray[i].setEntCost(Double.parseDouble(entCost[i]));
    claimArray[i].setMiscCost(Double.parseDouble(miscCost[i]));
    //service
    ClaimService springservice = (ClaimService)getBean("ClaimService");
    springservice.insertClaim(claimdto);
    springservice.insertClaimDtl(claim_dtldto,claimArray);
    return mapping.findForward("success");

    Two things; you need to pass #number# as a form field and you
    need to pull the correct record out.
    Use this:
    <cfloop list="#form.fieldnames#" index="fieldName">
    <CFSET record = Evaluate("form.record_#number#")>
    </cfloop>
    Here's some example code:

  • Error in mapping while generating bitstream

    While generating bitstream in xps-14.2 i am getting error related to mapping:
    ERROR:MapLib:978 - LUT6 symbol
    "RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/UARTLITE_RX_I/running_valid_start_ AND_8_o_SW0" (output signal=RS232_Uart_1/N6) has an equation that uses input
    pin I2, which no longer has a connected signal. Please ensure that all the
    pins used in the equation for this LUT have signals that are not trimmed (see
    Section 5 of the Map Report File for details on which signals were trimmed).
    ERROR:MapLib:978 - LUT6 symbol
    "RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/UARTLITE_RX_I/running_valid_start_ AND_8_o_SW0" (output signal=RS232_Uart_1/N6) has an equation that uses input
    pin I4, which no longer has a connected signal. Please ensure that all the
    pins used in the equation for this LUT have signals that are not trimmed (see
    Section 5 of the Map Report File for details on which signals were trimmed).
    ERROR:MapLib:978 - LUT4 symbol
    "RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/UARTLITE_RX_I/stop_Bit_Position_EN _16x_Baud_AND_16_o1" (output
    signal=RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/UARTLITE_RX_I/stop_Bit_Posit
    ion_EN_16x_Baud_AND_16_o) has an equation that uses input pin I0, which no
    longer has a connected signal. Please ensure that all the pins used in the
    equation for this LUT have signals that are not trimmed (see Section 5 of the
    Map Report File for details on which signals were trimmed).
    ERROR:MapLib:978 - LUT6 symbol
    "RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/status_reg_1_glue_set" (output
    signal=RS232_Uart_1/RS232_Uart_1/UARTLITE_CORE_I/status_reg_1_glue_set) has
    an equation that uses input pin I2, which no longer has a connected signal.
    Please ensure that all the pins used in the equation for this LUT have
    signals that are not trimmed (see Section 5 of the Map Report File for
    details on which signals were trimmed).
    I go through the forum for this error ,i found some answers but still not able to resolve my error.
    Thank you.

    Yes that error is resolved,Thank you very much .
    mapping error related to uart signal is resolved but some mapping errors are remaining:
    ERROR:MapLib:979 - LUT2 symbol
    "proc_sys_reset_0/proc_sys_reset_0/EXT_LPF/External_System_Reset_MB_Debug_Sys _Rst_OR_8_o1" (output
    signal=proc_sys_reset_0/proc_sys_reset_0/EXT_LPF/External_System_Reset_MB_Deb
    ug_Sys_Rst_OR_8_o) has input signal "RESET" which will be trimmed. See
    Section 5 of the Map Report File for details about why the input signal will
    become undriven.
    ERROR:MapLib:978 - LUT2 symbol
    "proc_sys_reset_0/proc_sys_reset_0/EXT_LPF/External_System_Reset_MB_Debug_Sys _Rst_OR_8_o1" (output
    signal=proc_sys_reset_0/proc_sys_reset_0/EXT_LPF/External_System_Reset_MB_Deb
    ug_Sys_Rst_OR_8_o) has an equation that uses input pin I0, which no longer
    has a connected signal. Please ensure that all the pins used in the equation
    for this LUT have signals that are not trimmed (see Section 5 of the Map
    Report File for details on which signals were trimmed). 
     Now in ucf file, for which signal i have to apply the "s" property.

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

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

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

  • UDF Problem in message mapping

    Hi,
    I have proxy to file scenario where i am getting mapping error
    Runtime exception during processing target field mapping /ns0:DataManagement/payrollArea. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._DataManagement_to_DataManagementM4_ method SetFileName$[, com.sap.aii.mappingtool.tf3.rt.Context@1861efad].
    There is one UDF Set file Namewhich t is throwing  error.
    UDF Setfilename
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
    String targetFileName="DMS_" + a + ".dat";
    conf.put(key,targetFileName);
    return a;
    Please help me in this issue.
    Thanks in Advance

    Hi,
    This error will not come while actual run of scenario.
    During Testing Message mapping, this might be coming to you, but while actual run scenario will work fine.
    and one more thing ...
    please your code inside try .. catch block of java code
    try
    /* your actual code */
    catch(Exception e)
    String exception = e.toString();
    return exception;
    Hope this will help you.
    Regards
    Prabhat Sharma.

  • Problem in message mapping due to file sender content conversion

    Hi all
    basically i m using file sender content conversion and couldn't make file in a proper nested structure where weight was the nested field of detail as there is a limitation of content conversion in file adapter:
    My file came out like this:
    <header>
    </header>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <Detail>
    </Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    <trailer>
    </trailer>
    and i wanted it like:
    <header>
    </header>
    <Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    </Detail>
    <Detail>
    <Weight>
    </Weight>
    <Weight>
    </Weight>
    </Detail>
    <trailer>
    </trailer>
    so now the problem is i want to generate an idoc from it....but theres no way out to determine which weight is related to what detail except that the weight related to detail 1 comes after start and end of detail 1 tag and then weights of second detail comes after start and end of detail 2 tag in my source xml file.
    The structure of the target idoc is
    <header>
    </header>
    <Detail>
    <Weight>
    <flag>D1</flag>
    </Weight>
    <Weight>
    <flag>D1</flag>
    </Weight>
    </Detail>
    <Detail>
    <Weight>
    <flag>D2</flag>
    </Weight>
    <Weight>
    <flag>D2</flag>
    </Weight>
    </Detail>
    <trailer>
    </trailer>
    so i was wondering if i can make a user defined function in which i feed detail and weight and result a flag d1/ d2 inside the tag field. My logic is smth like
    while detail is 1 make all the tag weights coming after detail 1 inside <detail1> tag then resultlist.CC for context change  then while detail is 2 make a loop to fill the weight coming after detail 2 inside the <detail2>
    Is this possible by any means. I really need help
    Thnks
    Naina

    Hi
    My sender file content conversion have this setting:
    HEADER,1,DETAIL,*,Weights,*,TRAILER,*
    And plz give me more idea of the adapter module ....is there any blog available which is related to my problem.
    Naina

  • Problem with Message-Mapping: Loop over Elements possible?

    Hi all,
    I want do create a Message-Mapping for an IDoc-to-File Scenario. In the Source Structure there are some Elements which can appear more than once (1..unbounded). I need a mechanism which loops over these elements and search for specified values. From the Element which contains an element with this specified value the mapping should write a value in the target structure.
    Here a simple example (source structure) for better understanding:
    <root>
       <invoice>
          <number> 10 </number>
          <sum> 200.00 </sum>
       </invoice>
       <invoice>
          <number> 20 </number>
          <sum> 150.00 </sum>
       </invoice>
       <invoice>
          <number> 30 </number>
          <sum> 120.00 </sum>
       </invoice>
    </root>
    Now the duty of the Mapping should be to search in the elements <invoice> for the number 30. And then the sum of the invoice with the number 30 should be written in a field of the target structure.
    I tried it out with a constant togehter with an equalsS-function and an ifWithoutElse-function, but it is working only then, if the invoice with the number 30 has the first position in the root context.
    Can anybody help me? Thanks
    With kind regards
    Christopher

    Hi,
    Write a UDF to sum the required values and map to target node.
    See while writing the UDF select the type as queue.
    number -- removecontext-UDF targetnode
    sum----removecontext--/
    number abd sum or the two inputs
    in UDF
    int nsum = 0;
    for(int i;i < number.length;i++){
      if number(i).equals("30") then
         nsum = nsum + valueOf(sum(i));
    result.addValue(nsum); // convert the nsum into string
    Regsrds
    Chilla

Maybe you are looking for

  • Can I use one infosource to update data to CUBE and ODS???

    Hi all, Can anyone tell me if I can load data to OSD and Cube from one the same InfoSource? As I know, I have to have "0recordmode"(update mode) in communication structure for ODS not for Cube.  So how can ODS and Cube use the same Infosucre to updat

  • Bolding Address in Labels w/ Word Automation?

    I have a unique problem. Right now, I'm creating a single label on an label sheet using ActiveDoc = oWord.Application.MailingLabel.CreateNewDocumentByID(labelID:=AveryType) and then adding 3 paragrpahs of info like a normal word doc using Paragraph.A

  • How to pick a quality PSU?

    well? i need a new one this Stock PSU can take the heat. anytime i try to O/C now it just restarts and i know its not the ram or CPU. i just have too much hooked up. so how do you pick a PSU that will produce what its posting on the box?

  • Sending email at same time cfmail

    Hi... Im using cfmail (CF8)  on a CFC, to allow users to sent email from a big mailing list. It was working fine, but Today, two users started to send their own e-mails at same time, but we recieve the emails  mixed ...I mean the first email Subject,

  • How to deploy Visual composer applications and set up the server

    Hi , I have SAP Netweaver developer studio client installed on my Laptop and I can use it to create VC applications but I cannot visualise the applications since I don't have server. Is there a server that  I can install and configure? and what else