XI Flat File to JDBC Mapping Error

Hi,
I have been trying to insert some records from a flat file into a sybase database using the FILE adapter (with file content conversion) as a sender and the JDBC adapter as a reciever, but I keep getting mapping errors like:
RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_hh_file__hh_sybase_nombres_</Trace>
  <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:mt_hh_sybase_nombres/STATEMENTNAME. 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
I have read through some blogs and I still can't figure out what is wrong.
Flat pipe separated file:
Hans|Robert|Hahn|Gallegos
Karina|Maria|Cordoba|Gutierrez
Datatype for this file looks like this:
   Record                         1
      Row                          1...Unbounded
         Nombre                  1
         SegundoNombre     1
         ApPaterno              1
         ApMaterno             1
Because the FILE adapter uses Content conversion, the file translates to:
  <?xml version="1.0" encoding="utf-8" ?>
  <ns:hh_test xmlns:ns="http://me.com">
  <Record>
     <Row>
      <Nombre>Hans</Nombre>
        <SegundoNombre>Robert</SegundoNombre>
        <ApPaterno>Hahn</ApPaterno>
        <ApMaterno>Gallegos</ApMaterno>
     </Row>
     <Row>
       <Nombre>Karina</Nombre>
       <SegundoNombre>Maria</SegundoNombre>
       <ApPaterno>Cordoba</ApPaterno>
       <ApMaterno>Gutierrez</ApMaterno>
     </Row>
    </Record>
  </ns:hh_test>
My database table looks like this:
Nombres
ApPaterno
ApMaterno
Datatype for this table looks like this:
STATEMENTNAME    1..Unbounded
  nombres                  1
    action                    optional
    TABLE                  1
    access                  1
      Nombres             1
      ApPaterno           1
      ApMaterno           1
MAPPINGS as follows:
Record ------> no mapping
Row ------> STATEMENTNAME
Constant ------> action
Constant ------> TABLE
Nombre + SegundoNombre ------> Nombres
ApPaterno ----> ApPaterno
ApMaterno ----> ApMaterno
How do I do the mapping ? I've been through a lot of blogs and threads but I haven't found an example like this, a flat pipe separeted multiline file with records to be inserted in a database.
Message was edited by:
        Hans Hahn

Hans,
The error shows you have an error in mapping. Also you have mapped constant for ACTION and TABLE. Here you have to hardcode the value INSERT or UPDATE etc for ACTION and the name of the table for TABLE.
Check this weblog where he has mentioned everything what you are looking for:
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Also once when you are done with mapping try to execute it in the test tab of mapping editor.
---Satish

Similar Messages

  • Sender JDBC Mapping error

    Can some one help me with the following error please?
    I just want to read store column from Oracle database table SA_BO_SALES_TEST and create a Flat File. I have JDBC-XI-FILE scenario. I use the same Data Type for Sender(JDBC) and receiver(FILE) Message Type.
    the data type is
       DT_STSSales_SA_BO_SALES
          resultset
            row
              STORE
    The message type is
    MT_STSSales_SA_BO_SALES         
       resultset
            row
              STORE
    The message mapping is between the same message type(MT_STSSales_SA_BO_SALES) for source interface and destination interface.
    The sender JDBC Adapter has
    Query SQL Statement -
    SELECT STORE FROM SA_BO_SALES_TEST WHERE PROCESS_DATE IS NULL
    Update SQL Statement -
    UPDATE SA_BO_SALES_TEST SET PROCESS_DATE='01-JAN-2006' WHERE PROCESS_DATE IS NULL
    Document Name -
      resultset
    When i execute this scenario, The payload from any pipeline steps is
    <?xml version="1.0" encoding="utf-8" ?>
    - <resultset>
    - <row>
      <STORE>1021</STORE>
      </row>
    - <row>
      <STORE>1021</STORE>
      </row>
    - <row>
      <STORE>1021</STORE>
      </row>
      </resultset>
    and it updates the Oracle table with PROCESS_DATE='01-JAN-2006' . But
    One of the pipe line step "Request Message Mapping" is failed with the error.
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_STSSales_IDOC_BAPI_POSTR_CREATE~</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>During the application mapping com/sap/xi/tf/_MM_STSSales_IDOC_BAPI_POSTR_CREATE~ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi Prasad,
    <i>converted into the following XML wihtout any errors</i>
    <i><?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_STSSales_SA_BO_SALES xmlns:ns0="http://zalecorp.com/sts_posdm_sales_10"><resultset><row><STORE>1021</STORE></row><row><STORE>1021</STORE></row><row><STORE>1021</STORE></row></resultset></ns0:MT_STSSales_SA_BO_SALES></i>
    If you have given the name for your Datatype as "<ns0:MT_STSSales_SA_BO_SALES xmlns:ns0="http://zalecorp.com/sts_posdm_sales_10">", then the RESULTSET tag is not to be used.
    You will have to enter this Value <b>MT_STSSales_SA_BO_SALES</b>  in the SENDER JDBC ADAPTER > DOCUMENT NAME and <b>http://zalecorp.com/sts_posdm_sales_10</b> in SENDER JDBC ADAPTER> DOCUMENT NAMESPACE and then <b>Remove the Result Set tag.</b>
    just take a look at the Document Name part of the JDBC adapter in this link,
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    Bhavesh

  • File Sender Scenario - Mapping error message

    Hi All
    Scenario
    I am trying to develop a test scenario where a record is read from the file and sent to R/3 using RFC (Bapi)
    So i believe this will involve a file adapter as sender and a RFC adapter as receiver, I have configured data types, message types, message mapping, interface mappings, sender determination, receiver determination etc.
    Problem
    When i put the text file in the polling directory the file is read, but there is an error,
    On checking Processed XML message in SXMB_MONI I see that the following steps listed
    1 - Inbound message (CENTRAL)
    2 - Receiver Determination
    3 - Interface Determination
    4 - Receiver Grouping
    5 - Message Branch According to Receiver
    6 - Request Message Mapping
    7 - Request Message Mapping
    Step 1 - 6 does not show any error message, step 7 has an error with the following message
    <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_basic_paycreate_file_to_rfc_map~</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException<;/SAP:P2>
      <SAP:P3>Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:P3>
    Additional Information
    My Business System Commnication channel has a Sender File adapter, this file sender is configured to read from file system from a certain directory and message protocol is File Content Conversion.
    In Content Conversion parameters input fieldname and input separator are configured (does anything else need to be configured in this section?)
    My input file is of the structure aaa,bbb,ccc,ddd,eee,fff,ggg
    My Data Type is of the structure
    <data header>
         <aaa></aaa>
         <bbb></bbb>
         <ccc></ccc>
         <ddd></ddd>
         <branch1>
                   <eee></eee>
         </branch1>
         <branch2>
                   <fff></fff>
         </branch2>
         <branch3>
                   <ggg></ggg>
         </branch3>
    </data header>
    Questions
    First question is why is there 2 instance of Request message mapping showing up in the monitor? Isn't this supposed to show up only once?
    Second question it appears that the problem is something to do with Mapping (Message Mapping) but i tried to test the message mapping manually using the data generated in the payload and it passes the mapping successfully.
    Third question, how is the input flat file converted to the complex structure of data type (as mentioned in additional information above) is this done by the input.filedNames that assigns the corresponding values from flat file to the data type?
    Fourth question - is there a way to run the process step by process (as a step through in other programming IDEs?) so the problem can be more easily identified?
    Thanks
    Anant

    Hi  All
    I little update - it appears that some of the scenarios developed earlier that were working earlier are now also failing at the same process of mapping with this error message.
    So i am suspecting that this is not a problem with the mappings in  my scenarios but rather a some technical setting related to how XI invokes this class - com.sap.aii.utilxi.misc.api.BaseRuntimeException.
    Does any one have any ideas what i can check to confirm this? Whether the problem is in the technical setting or the scenario configuration?
    thanks
    Anant
    error message attached.
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_CheckDeposit_</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_CheckDeposit_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

  • File to idoc mapping error

    Hi,
    I am mapping a flat file to idoc in xi. If I execute the test data it works fine. But in actual run, it gave me the following mapping error:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_MT_APPayment_to_FIDCCP02_: Runt
    imeException in Message-Mapping transformatio~
    Exception of class CX_XMS_SYSERR_MAPPING
    Is it due to some mapping error or some basis config issue?
    Thanks,
    Jassi

    Hi Jassi,
    This may be a mapping issue, try this:
    a)in interface mapping see if grids are formed at source and target after executing the test option,
    b)also take the xml of the idoc from sxmb_moni , copy it and paste it at the source of the mapping ( use the src tab now) and execute the mapping, is your file structute formed?
    Check the following link:
    /people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
    Amaresh

  • Flat File to XML mapping Problem

    I am facing some issues in mapping from flat file to XML. I have not reached to the stage of actually executing the scenario and the problem has not advanced beyond mapping tests.
    Following are structures of inbound flat file (as specified in content conversion parameters of sender adapter)
    Document Name     &#61664;     MMADealerStatementInbound_MT
    Recordset Name     &#61664;     MMADealerStmtInbound_Type
    Recordset Structure &#61664;
    BatchHeader,1,DealerHeader1,,DealerHeader2,,DealerDetail,,DealerAgeing,,Trailer,1
    Recordset Sequence &#61664;          Ascending
    Key Field Name     &#61664;     RecordType
    Key Field Type          &#61664;     String (Case Sensitive)
    Following are structures of Outbound XML file needed
    All DealerDetail nodes are lumped together in first DealerStmt nodes. They need to be distributed across many DealerStmt nodes.
    Company          CompanyName                    25
    Company          CompanyAddress          StreetAddress     Company Street Address     50
    Company          CompanyAddress          City     Company City     40
    Company          CompanyAddress          State     Company State     3
    Company          CompanyAddress          ZIP     Company ZIP     10
    Company          CompanyAddress          Country     Company Country     3
    Company          RunParams          RunDate     Statement Run date     8
    Company          RunParams          StmtPeriod     Statement Period     20
    DealerStmt     0-unbounded     DealerNumber                    10
    DealerStmt     0-unbounded     DealerName                    35
    DealerStmt     0-unbounded     DealerAddress          StreetAddress     Dealer Street Address     50
    DealerStmt     0-unbounded     DealerAddress          City     Dealer City     40
    DealerStmt     0-unbounded     DealerAddress          State     Dealer State     3
    DealerStmt     0-unbounded     DealerAddress          ZIP     Dealer ZIP     10
    DealerStmt     0-unbounded     DealerAddress          Region     Dealer Region     4
    DealerStmt     0-unbounded     DealerRemitToAddress          CompanyName     Company Name     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress1     Street Address 1     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress2     Street Address 2     50
    DealerStmt     0-unbounded     DealerRemitToAddress          StreetAddress3     Street Address 3     50
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     DocDate     Document Date     8
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     InvoiceNumber     Invoice Number     10
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     TransDescription     Transaction Description     50
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     TransAmount     Transaction Amount     16
    DealerStmt     0-unbounded     DealerDetail     0-unbounded     AmountSign     Amount Sign     1
    DealerStmt     0-unbounded     DealerAgeing          CurrentBal     Current Balance     15
    DealerStmt     0-unbounded     DealerAgeing          Bal1to31days     Balance 1 to 31 Days     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver31     Over 31 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver61     Over 61 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver92     Over 92 days Old     15
    DealerStmt     0-unbounded     DealerAgeing          BalOver123     Over 123 days Old     15
    Trailer          DealersCount                    5
    Trailer          TransCount                    10
    Trailer          TotalAmount                    20
    Here is the mapping I used for this node.
    /ns0:MMADealerStatementOutbound_MT/MMADealerStmtOutbound_Type/DealerStmt/DealerDetail=ifWithoutElse(stringEquals(/ns0:MMADealerStatementInbound_MT/MMADealerStmtInbound_Type/DealerDetail/RecordType=, const()), SplitByValue(/ns0:MMADealerStatementInbound_MT/MMADealerStmtInbound_Type/DealerDetail=))
    My email address is [email protected] and i can send some screen shots to understand better.
    I need help of XI mapping Gurus.
    Thanks
    Rajesh

    HI,
    Possible mention the source Message/Data Type and Target Data Type and Mapping Rules reuired. Then I think it may be useful to give some hints.
    btw , What is the error in Mapping ?
    Regards,
    Moorthy

  • Creating dynamical flat file name in mapping?

    Hi.
    I know about the variations on how to use an input parameter and/or sysdate to create a dynamic output file name in a mapping.
    My challenge is nearly the same, but I cannot make OWB generate the correct code.
    Problem:
    - got a one column table that holds an identifier in a string field
    - got a function that reads and returns said identifier
    - imported function into OWB
    - trying to use the function call in the Flat File Operator's Target Data File Name, e.g. fixedfilename||fn_get_id()||sysdate||'.ext
    OWB creates the code:
    UTL_FILE.FOPEN(
    'my_location',
    'fixedfilename'||fn_get_id()||'_'||SYSDATE||'.ext',
    'w',
    32767
    However, when compiling the package code, it returns the warning:
    ORA-06550: PACKAGE BODY, line 2214, column 29: PLS-00201: identifier 'FN_GET_ID' must be declared
    which results in an error when trying to execute the mapping.
    I've tried substituting the function call in the FOPEN call:
    myId := fn_get_id();
    UTL_FILE.FOPEN(
    'my_location',
    'fixedfilename'||myId||'_'||SYSDATE||'.ext',
    'w',
    32767
    and this works fine, the mapping creates a file with the desired filename. But obviously not a good solution rewriting the generated code all the time....
    Anyone solved something similar?
    Could I use an input parameter and the autogenerated function GET_<PARAMETER>?
    But can I set the value of an input parameter inside the very same mapping?
    Regards,
    -Haakon-

    (It always helps writing out one's problems...)
    I managed to get it working :-)
    Added an input parameter to the mapping, and gave the outgroup variable a default value by calling my imported function.
    Then concatenated the implicitly generated function (GET_PARAMETER) in the Target Data flat file name.
    I now have a target file name that changes according to a departement id stored in a parameter table.
    Regards,
    -Haakon-

  • Flat file to idoc mapping issue

    Hi Gurus,
    i had a flat file format in sender side as below:
    H_ID     TYP_CODE    line_elemet      Quantity
    5896  STANDARD                       1.transmitter    1
    5896                  STANDARD       2.xxxxxxxxx           1
    5896                   STANDARD      3.yyyyyyyyy  2
    6895                  STANDARD       1.aaaaaaaaa        1
    9436                  STANDARD       1.bbbbbbbbb          4
    9436                  STANDARD       2.ggggggggg          3
    The above file need to be send to an Idoc.
    for which same header_ID values should create only one header segment, under that many a line segments should create as many line items appear on that header_id value.
    Here my query is how to suppress the repetetive header values to create onlyone header segment. And how to create as many line_item segments as the number of line items appear.
    points obvoius for the response
    Thanks in advance,
    Sekhar.

    About map problem I suggest youn to see the following link that are really helpful to improve knowledge about mapping:
    /people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i
    /people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
    I suggest you to see the following link to learn more about mapping:
    Mapping functionality in XI
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
    SAP Exchange Infrastructure - Graphical_Mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
    SAP Exchange Infrastructure - Graphical Mapping Exercise
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
    SAP Exchange Infrastructure - Graphical Mapping - Advanced
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
    SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
    Mapping Lookups a RFC API
    Mapping lookups - RFC API
    XI 3.0 New Mapping Features
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
    I hope these links will be usefull.
    Regards,
    Salvatore

  • Flat file mandatory field mapping problem

    Hi Guys,
    I am mapping xml to the positional flat file.
    There is only one field in the output FF 'provider_state' which is not being mapped.
    As a change I added new field after the provider_state.
    My problem is that the provider_state with length 2 is not produced in the output as blank spaces to match the position flat file.
    However, I have tried creating the record using xslt and also tried to add default 'spacespace' in the schema, tried mapping 'spacespace' in the outpt.
    When I try to add space2 I get CRLF in the output at the filed position.
    In short last field '%' should be at 733 position but it is at 731.
    Thanks in advance...
    //Dhiraj Bhavsar

    Hi Dhiraj,
    This is by design and 
    You may want to change provider_id to attribute if its element.
    To resolve this please check this..
    http://msdn.microsoft.com/en-us/library/ee250694(v=bts.10).aspx#bts:source_specification
    Regards
    Ritu Raj
    When you see answers and helpful posts,
    please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

  • File to JDBC Sync error

    Hi All,
    I am doing File to JDBC sync mode. I have configured the scenario while trying to execute i am getting error in JDBC communication chennal.
    I have create the stucture with help of this link
    http://help.sap.com/saphelp_nw04/Helpdata/EN/2e/96fd3f2d14e869e10000000a155106/content.htm
    Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. '<STATEMENT> <FND_VALUES_VLaction="SQL_QUERY">  <table>FND_VALUES_VL</table>  <access>SELECT BOOKS_ID FROM FND_VALUES_VL</access><Key> <BOOKS_ID>6</BOOKS_ID><KEYFIELD>6</KEYFIELD></Key></FND_FLEX_VALUES_VL></STATEMENT> ' (structure 'STATMENT'): java.sql.SQLException: SQL statement to execute cannot be empty or null
    This statement i am passing in Table and also in action attribute.
    I have created the MT_JDBC_req like this:
    <Statment>
    <TABLENAME>
    <ACTION> attribute JUST I AM PASSING like this "SQL_QUERY" not XML for this
    <TABLE>  i am passing the above query
    <ACCESS> i am passing the same query
    <FILED1>
    <FILELD2>
    <KEY>
    <FILED1>
    Thanks,
    Venkat.

    Hi,
    I have done the same thing. my response i have created like MT_JDBC_REQ_response
    i can see in sxmb_moni from file to JDBC request its going jdbc response i am not getting.
    Error: com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException
    Error: com.sap.aii.af.service.util.transaction.api.TxManagerException: Unable to roll back transaction: com.sap.engine.services.ts.exceptions.BaseIllegalStateException
    again now in JDBC reciever also i am getting error.
    Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc.
    in moni response msg its showing like this
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    could you pls help me where i am doing wrong.
    Thanks,
    Venkat

  • IDoc to Flat file scenario - abap mapping

    Hi All,
    I have to do some IDOC to Flat file scenarios. In Order to generate the file in required format I will have to add all segments(Nodes) of Idoc in FCC receiver. We also have other option of doing it through ABAP Mapping which I found in one blog.
    Now my question is : Is it better way of doing it through FCC or ABAP Mapping?
    Ofcourse from development point of view ABAP Mapping looks easier as FCC is very time consuming task.
    Is there and performance issues in either of the approach?
    Thanks and Regards,
    Atul

    Hi VJ and Harald,
    Thanks for your replies.
    I am not having PI7.1 however the given blog was very informative.
    I will try using file port approach as suggested.
    Thanks and Regards,
    Atul

  • Flat File to IDOC Mapping requirement to generate Multiple Segments

    Hi Experts,
    I got a requirement were i have 2 records in a file and i need to generate 2 IDOCs  with  multiple segments in it.
    FILE :
    10/01/2010     101  KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    Idoc should generate 2 IDOCs with multiple segments as shown below
    I have imported the IDOC and changed the occurrence to " unbounded "
    The Basic  IDOC Type :  WMMBID02
    I need to generate Multiple segments of  E1MBXY1
    i.e..,  First IDOC should contain two  E1MBXY1 segments
             Second IDOC should contain Four  E1MBXY1 segments
    IDOC1 :   WMMBID02
    Segment :   E1MBXY1( 2 segments)                                                       
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    IDOC2 : WMMBID02
    Segment :  E1MBXY1 ( 4 segments)                                                  
    10/01/2010     101     KRNA     ic_quantity          30-0257     3526     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          30-0257     3521     1     1     ea     110000     10
    10/01/2010     101     KRNA     ic_quantity          90-0005     3526     1     2     ea     110000     10
    10/01/2010     101     KRNA      ic_quantity          90-0005     3521     1     2     ea     110000     10
    Can anyone suggest me how to generate IDOCs with multiple segments
    what are multiple ways of generating it
    Whether it can be achieved using Multi-mapping or I need go for UDF
    If any one has done has done this type of requirement ,please share the points.
    Thanks
    Sai

    Basically you need to generate idoc per record in the flat file. During fcc conversion you convert flat file to xml structure at the sender side. In the mapping use xml file structure source and idoc as receiver structure. You just export idoc and update the idoc segment 1 to unbounded.  Please follow the michael blog for file to idoc multimapping without bpm. Yes without bpm it is possible.
    see this link... This will answer your requirement.
    https://wiki.sdn.sap.com/wiki/display/XI/File%20to%20Multiple%20IDOC%20Splitting%20without%20BPM
    >Whether it can be achieved using Multi-mapping or I need go for UDF
    you dont need udf for this.

  • Connect Flat files using jdbc

    Hi,
    I have a problem with connecting flat files(.txt, .xml, .csv, .xls, etc...) which is existing in application it's self, using jdbc connection.
    After searching I found some suggestions below.
    1)xlsql
    2)JDO
    I tried with first one (xlsql), below is the process. First create core java project and load the jar files which is from xlsql. below is the code
    Class.forName("com.nilostep.xlsql.jdbc.xlDriver");
    final String dir = System.getProperty("user.dir")+"\\db\\xl";
    conn = DriverManager.getConnection("jdbc:nilostep:excel:/"+dir);
    Statement stmt = con.createStatement();
    String sql = "select * from Sheet1$";
    ResultSet rs = stmt.executeQuery(sql);
    if(rs.next()){
    System.out.println(rs.getString(1));
    }else{
    System.out.println("nodata....");
    It is saying Sheet1$ table not existing.
    Please help me.

    Not quite sure of your definition of a flat file, but a .xls files is a Microsoft Excel workbook, which is saved in a proprietary binary format, so there's certainly nothing 'flat' about it.  Of course, there are odbc and suchlike drivers for treating Excel workbooks as data sources, but you need to ensure when you query them that you know the details of the workbook.
    In each workbook, each spreadsheet has a name (as defined on it's tab at the bottom).  That is taken to be the name of the 'table' that you use when you query it with SQL.
    On each spreadsheet, row 1 of that sheet should denote the column names of the 'table'
    All subsequent rows on the spreadsheet are the data that will be returned from querying it.
    Typically, the data on the sheets should be fairly straightforward, in order to query it.  Some excel functionality may prevent it being queried properly.

  • Flat file transactional data load error

    I am trying to load a flat into a BPC model. I am using a DM " Import transational data load from flat file" to load the data. The transformation file and data file are validated correctly.
    However,when i am running the DM package, i am hitting the below message.
    Task Name : Load
    Cannot perform Read.
    Model : Package Status : Error.
    We have two secure dimension in the model. I have tried different combinations even with PRimary admin role and i am still getting the same error message.
    Is this a secirity related error ? The model has been transported from DEV . In DEV, i am not facing any errors.
    Any advise/ help?

    Hi King,
    I think in the back end you need check the option real time load behavior, Is it in planning mode or loading mode. If possible share your error message screen.
    Goto RSA1 ---> select your cube--> Right click---> change real time load behavior--> Change it in to planning mode
    Regards,
    Saida Reddy Gogireddy

  • Jdbc to file scenario - base mapping error

    hello all,
    i am facing a similar issue discussed in this thread,
    Re: JDBC to FILE scenatio: How to map the resultSet?
    1. i changed the document name and namespace
    2. i checked for the occurence of the filed elements
    3. i tried using the documentname and namespce both from the MONI and MAPPING TEST TAB...but still the same base mapping runtime exception error.
    Please advice.
    Thanks
    i have been following the

    Aarthi,
    Can you give us the following details,
    1. select query that you are using in your JDBC sender adapter
    2.the Document Name and namespace that you have given in the JDBC adapter
    3. the source datatype that you have created for your JDBC side along with the occurence of each element.
    This will help us nail the causwe for your problem.
    Regards,
    bhavesh

  • Loading big XML files using JDBC gives errors

    Hi,
    I've created a XMLType table using binary storage, with the restriction that any document stored has a (any) schema:
    CREATE TABLE XMLBIN OF XMLTYPE
    XMLTYPE STORE AS BINARY XML
    ALLOW ANYSCHEMA;Then I use JDBC to store a relatively large document using the following code:
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    String connectionString = "jdbc:oracle:thin:@host:1521:sid";
    File f = new File("c:\\temp\\big.xml");
    Connection conn = DriverManager.getConnection(connectionString, "username", "password");
    XMLType xml = XMLType.createXML(conn,new FileInputStream(f));
    String statementText = "INSERT INTO xmlbin VALUES (?)";
    OracleResultSet resultSet = null;
    OracleCallableStatement statement = (OracleCallableStatement)conn.prepareCall(statementText);
    statement.setObject(1,xml);
    statement.execute();
    statement.close();
    conn.commit();
    conn.close();Loading a file of 61Mb (real Mb, in non-IT Mb (where 1Mb seems to be 10^6) it is 63.9Mb) or less doesn't give any errors, loading a file bigger then that gives the following error:
    java.sql.SQLRecoverableException: Io exception: Software caused connection abort: socket write error
            at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
            at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
            at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:960)
            at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
            at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
            at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3482)
            at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:3856)
            at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1373)
            at jdbctest.Tester.main(Tester.java:60)A succesful insert of a 63Mb file takes about 23 seconds to execute. The 70Mb file fails already after a few seconds, so I'm ruling out any time outs.
    I'm guessing there are some buffers that need to be enlarged, but don't have a clue which ones.
    Anyone any idea what might cause the problem and how to resolve?
    My server runs Oracle 11g Win32. The client is Windows running Sun Java 1.6, using ojdbc6.jar and Oracle 11g Client installed.
    Cheers,
    Harald

    Hi Mark,
    The trace log in the OEM shows me:
    Errors in file d:\oracle11g\app\helium\diag\rdbms\helium\helium\trace\helium_ora_6948.trc  (incident=7510): ORA-07445: exception encountered: core dump [__intel_new_memcpy()+613] [ACCESS_VIOLATION] [ADDR:0x0] [PC:0x6104B045] [UNABLE_TO_WRITE] []  If needed I can post the full contents (if I find out how, am still a novice :-))
    Cheers,
    Harald

Maybe you are looking for