IDOC-JDBC Mapping

Hi,
I am mapping idoc to jdbc structure. My problem is i am not getting the data for some fields in the idoc structure and there is a custom field under a custom segment and i am also not getting the data for this field.
I have seen the incoming XML payload and there is no data for these fields.
can anybody suggest me how can i solve this issue. 
Thanks,
sneha

Hi,
1. at first check TCODE : WE02 in R3
and check if your custom segment is there
2. if so then reload metadata (IDX2 from XI)
3. also check if the IDOC signature that you've uploaded to XI
(via repository) has those custom fields
4. you can also delete the cache to be sure
XI has the valid data in it
Regards,
michal

Similar Messages

  • Idoc - to - JDBC mapping..

    Can any one help me on  step-by-step   Idoc to JDBC  mapping ..

    Check this link for jdbc receiver adapter. and follow the instructions. If you need more assistance let us know with your requirement
    For configuring JDBC adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
    For creating jdbc structure on the inbound side
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

  • IDOC- JDBC    ---  ORA-00936: missing expression  - Error

    Hi all,
    I am working on a IDOC-> JDBC scenario.
    it works fine in development but in quality i amgetting the following message.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'T_SAP_COST' (structure 'Statement2'): java.sql.SQLException: ORA-00936: missing expression
    there is no issue with mapping and i compared and everything is exactly the same as development.
    Has someone come accross a similar issue.
    Regards,
    Tarun Bahal

    This is not an error with respect to XI. There is some problem with the SQL query generated after the mapping. Generally ORA____ kind of errors are comman in JDBC Senario and even Oracle maintains something like our SAP Note for each ORA errors. I am not sure about the URL for searching this error. You can check in this URL too, [ORA-00936 |http://ora-00936.ora-code.com/] http://ora-00936.ora-code.com/
    Since you are saying that it works fine in developement, you can check with the data. Whether it is generating the SQL Statement properly or not. Also confirm whether you have sufficient data in the quality systems to generate the SQL Statement properly.
    Edited by: Prasad Ulagappan on Oct 16, 2008 11:34 AM

  • Idoc- JDBC

    Hi Team,
    I have a scenario from Idoc->JDBC ,where the idoc comming to XI ultimately needs to update fields from more than 1 tables in a database.Under such case how can I design my JDBC adapter?
    Thanks and Regards
    Atanu Mazumdar

    >needs to update fields from more than 1 tables in a database.Under such case how can I design my JDBC adapter?
    There are two possible ways we can do this.
    option 1) using seperate statement tag for every update table.
    option  2) If you have mulitple tables say 5 or even greater than 5, you might want to try this...
    In  this create a query for updating all the 6 tables and pass this string in access field below.
    <StatementName>
    <anyName action=u201D SQL_DMLu201D>
    <access>SQL-String with optional placeholder(s)</access>
    <key>
      <placeholder1>value1</placeholder1>
      <placeholder2>value2<placeholder2>    
    </key>
    </anyName > 
    </StatementName>
    Note: If one of the table update fails all other updates will not go through. JDBC adapter treat entire structure elements as one transaction in both the options. Just remember this.

  • Which field from idoc INVOIC01 maps to Item Text field in MIRO transaction?

    Hi
    Will anybody please tell me which of the field in which segment of IDOC INVOIC01 maps to Item text (INVFO-SGTXT) field in Basic data tab of MIRO transaction

    Thanks Ravi for your response.
    But I have tried with all fielsd related to texts in IDOC but it is not being filled in transcation .
    If you see the F4 help in text field then Text Id is four character and when I manually assign this in transactin then it is putting = symbol in fron of the id. And then if we save or go to other tab then it is filling text.
    I am not able to find the error bcoz document is being posted through idoc but text field is not getting filled.

  • JDBC to IDOC scenario - Mapping problem with E1FIBSEG

    Hi friends,
    I have problem when generate multiple Idocs (FIDCC1) an multiple positions based on an External Definition for a SQL Server table. I have selected all fields from this table from a SELECT into the JDBC configuration.
    My mapping is like this:
    DWCAJA.ResultSet  1..1
         IDOC.
    Thats ok and generate n IDOCs by every change of PK.
    The problem is when i want to map positions because i dont have any field in source message to identify the number of positions to map with E1FISEG.
    If I have two differents Pks and n rows, the result of testing is as folow:
    FIDCC1
      IDOC
         E1FIKPF
             E1FISEG
             E1FISEG
      IDOC
            E1FIKPF
    I cant obtain n BSEG segments according PK. I've mapped and all fields of row segment but those are created in the first IDOC node only,
    Any suggestions?
    Regards,
    Pablo.-

    Important: Primary key : DWSucCod + DWCajSec
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100001</DWCtaConCo>
      <DWRecImp>100</DWRecImp>
      </row>
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 100
         E1FISEG
              hkont :1100002
             dmbtr : 200
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    - <row>
      <DWSucCod>12</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100003</DWCtaConCo>
      <DWRecImp>300</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100002
             dmbtr : 200
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 300
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100001</DWCtaConCo>
      <DWRecImp>100</DWRecImp>
      </row>
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    - <row>
      <DWSucCod>12</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100003</DWCtaConCo>
      <DWRecImp>300</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 100
         E1FISEG
             hkont :1100002
             dmbtr : 200
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100003
             dmbtr : 300

  • IDOC to JDBC - mapping test versus actual run

    Hi
    When I test the message mapping for the idoc-to-jdbc sender scneario, where one sales order idoc has multiple line items in segment E1EDP01, the statement => access structures repeat properly for 2 line items. Here I am giving the idoc xml file (data file) in the payload in the test tab of message mapping)
    However in the communication channel log (with sql statement log = true), when I try to process an actual idoc from ECC, in the sql log of the processed message, I can see an insert statement only for the first line item of the sales order.
    Please can somebody guide me as to what must be the problem?
    Statement occ is 1.
    tablename occ is 1.
    Access structure occ is 0...unbounded.
    The segment E1EDP01 is currently mapped to acess node.
    The sales order number is repeated over the 2 line items using below mapping -:
    E1EDP01 (with context as root) => "useasmany" => split by value => Item no.
    Please advise.

    Hello Gary,
    Make the statement 0..unbounded or 1..unbounded then make the access 0..1. One statement is needed per action
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7c24a75cf83672e10000000a114a6b/frameset.htm
    If the statements are so complex, you  can also opt to use SQL_QUERY instead.
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7c24a75cf83672e10000000a114a6b/frameset.htm
    Hope this helps,
    Mark

  • IDOC-XI-JDBC: mapping error

    Hi sap gurus...
            I had a problem in IDOC mapping to JDBC.
    If any body have mapping template or any blog.. related to MATMAS.. please help me..
    I don't know how to map the idoc structure to JDBC structure..
    points will be given immediately..
    Kumar

    Hi sheetal
    My IDOC structure is----
    MY JDBC Struc is
    as................................................................MT_MATMAS_MSSQL(Msg type name)
    This struc...is common----
    STATEMENTNAME(0..1)
    ............................................................................TEST (1..1)
    .................................................................................ACTION ..REQUIRED
    .................................................................................TABLE...(MATMAS TABLE IS CREATED IN MSSQL)
    .................................................................................ACCESS(1..1)
    ......................................................................................BEGIN ...REQUIRED
    ......................................................................................EDI_DC40..1...1
    ......................................................................................E1MARAM...1...9999
    ......................................................................................E1UPSLINK..1...1
    THIS IS MY JDBC STRUCTURE..
    I sent the screen shorts to your company email id..please check it and help me..
    i am able to get the idoc from sap r3 to Xi ,,, now i want to send that idoc to database..
    help me please.
    Kumar..
    [email protected]

  • Idoc to jdbc mapping duplicate source node to target structure

    Dear all,
    I am working on PI 7.1
    My sceniro
    IDOC to JDBC  [sap to mssql ]  where the target is a table structure shown below: I execute a stored procedure to insert the below message type into sql table.
    <ns0:MT_SP_LFBK xmlns:ns0="http://test.com">
    - <Statement_Name>
    - <storedProcedureName action="EXECUTE">
      <table>spr_test</table>
      <BANKS type="Char">BOA</BANKS>
      <BANKL type="char">122207</BANKL>
      <BANKN type="char">4555--0</BANKN>
      <LIFNR type="char">1100000218</LIFNR>
      <KOINH type="char">varchar</KOINH>
      <BKONT type="char">01</BKONT>
      <BANKA type="varchar">S.A.</BANKA>
      </storedProcedureName>
      </Statement_Name>
      </ns0:MT_SP_LFBK>
    The mapping is between source CREMAS02 and the above target structure. Everything works fine.
    The problem is when the  vendor has more than one bank account number the IDOC CREMAS02 replicates the below segment E1LFBKM for each BANK account information. Since target and source are mapped one to one how can i map the second bank account information to the same target structure or genereate a new target Message type for the second bank account  information and send it to sql ?
    <E1LFBKM SEGMENT="1">
      <MSGFN>005</MSGFN>
      <LIFNR>110000021</LIFNR>
      <BANKS>BOA</BANKS>
      <BANKL>122207</BANKL>
      <BANKN>4555-0</BANKN>
      <BKONT>02</BKONT>
      <BANKA>S.A.</BANKA>
      <BNKLZ>3000000</BNKLZ>
      </E1LFBKM>
    Thank you ,
    Teresa

    Hi Teresa,
    which segment have you mapped with <storedProcedureName action="EXECUTE"> ?
    Because according to me , if you send <E1LFBKM> to <storedProcedureName action="EXECUTE">
    , you will be able to use your stored procedure several times, in fact each times that you have a <E1LFBKM>.
    Reminds: inside <Statement_Name> you can do several SQL actions like execute one or several stored procedures (could be different).
    Of course, after that your table should accept to have several bank account for a same customer.
    So to have something like that:
    <Statement_Name>
    <storedProcedureName action="EXECUTE">
    </storedProcedureName>
    <storedProcedureName action="EXECUTE">
    </storedProcedureName>
    <storedProcedureName action="EXECUTE">
    </storedProcedureName>
    </Statement_Name>
    regards
    mickael

  • JDBC mapping to IDOC issue

    We are retrieving information from our SQL server and trying to map it to the picking IDOC SDPIID01. We are having a problem in trying to get the correct mapping to occur. The result list is as follows:
    <mt_SQLPickConfirmation>
      <row>
        <Processed />
        <Trans_ID />
        <Trans_IDOC />
        <VBELN_VL />
        <VBELN />
        <TANUM />
        <KODAT />
        <KOMUE />
        <WADAT_IST />
        <POSNR_VL />
        <POSNN />
        <PIKMG />
        <NDIFM />
        <CHARG />
        <MATNR />
        <ORPOS />
      </row>
    </mt_SQLPickConfirmation>
    and the IDOC is as follows:
    <SDPIID01>
      <IDOC BEGIN="">
        <E1VPDLH SEGMENT="">
          <VBELN_VL />
          <VBELN />
          <TANUM />
          <KODAT />
          <KOMUE />
          <WADAT_IST />
          <E1VPDLI SEGMENT="">
            <VBELN_VL />
            <POSNR_VL />
            <VBELN />
            <POSNN />
            <PIKMG />
            <NDIFM />
            <CHARG />
            <MATNR />
            <ORPOS />
          </E1VPDLI>
        </E1VPDLH>
      </IDOC>
    </SDPIID01>
    Now some of the information goes into the segment E1VPDLH and some of the information goes into the segment E1VPDLI. The problem is trying to create a new IDOC everytime the field TRANS_ID changes.
    We have tried to manipulate the context but still have problems with the output. The data can contain many rows with the same TRANS_ID number. Every time the TRANS_ID number changes we need a new IDOC created. All of my trys have failed. I either get one IDOC with a header segment and all the line items segments for each row or I get multiple IDOCS that do not contain the correct line item information.
    Any help is appreciated. Attached is a sample of the data.
    <?xml version="1.0" encoding="utf-8"?>
    <mt_SQLPickConfirmation>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>1</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593473</VBELN_VL>
              <VBELN>0000208489</VBELN>
              <TANUM>0000208489</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000001</POSNR_VL>
              <POSNN>900002</POSNN>
              <PIKMG>240</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>DN07212</MATNR>
              <ORPOS>000001</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>2</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593503</VBELN_VL>
              <VBELN>0000208530</VBELN>
              <TANUM>0000208530</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000001</POSNR_VL>
              <POSNN>900002</POSNN>
              <PIKMG>30</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>DM19200</MATNR>
              <ORPOS>000001</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>3573932</TRANS_ID>
              <TRANS_IDOC>2</TRANS_IDOC>
              <VBELN_VL>0080593503</VBELN_VL>
              <VBELN>0000208530</VBELN>
              <TANUM>0000208530</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000002</POSNR_VL>
              <POSNN>900003</POSNN>
              <PIKMG>630</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>DR19460</MATNR>
              <ORPOS>000002</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>2</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593503</VBELN_VL>
              <VBELN>0000208530</VBELN>
              <TANUM>0000208530</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000003</POSNR_VL>
              <POSNN>900004</POSNN>
              <PIKMG>900</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>DN07216</MATNR>
              <ORPOS>000003</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>3</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593504</VBELN_VL>
              <VBELN>0000208531</VBELN>
              <TANUM>0000208531</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000001</POSNR_VL>
              <POSNN>900002</POSNN>
              <PIKMG>450</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>D903116</MATNR>
              <ORPOS>000001</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>3</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593504</VBELN_VL>
              <VBELN>0000208531</VBELN>
              <TANUM>0000208531</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000002</POSNR_VL>
              <POSNN>900003</POSNN>
              <PIKMG>150</PIKMG>
              <NDIFM>-100</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>DY17820</MATNR>
              <ORPOS>000002</ORPOS>
         </row>
         <row>
              <PROCESSED>N</PROCESSED>
              <TRANS_ID>3</TRANS_ID>
              <TRANS_IDOC>SDPIID01</TRANS_IDOC>
              <VBELN_VL>0080593504</VBELN_VL>
              <VBELN>0000208531</VBELN>
              <TANUM>0000208531</TANUM>
              <KODAT>20051219</KODAT>
              <KOMUE>X</KOMUE>
              <WADAT_IST>20051219</WADAT_IST>
              <POSNR_VL>000003</POSNR_VL>
              <POSNN>900004</POSNN>
              <PIKMG>400</PIKMG>
              <NDIFM>0</NDIFM>
              <CHARG>12DE05W1</CHARG>
              <MATNR>D109050</MATNR>
              <ORPOS>000003</ORPOS>
         </row>
    </mt_SQLPickConfirmation>
    This should contain three IDOCS That look like this.
    <?xml version="1.0" encoding="UTF-8"?>
    <SDPIID01>
      <IDOC BEGIN="">
        <E1VPDLH SEGMENT="">
          <VBELN_VL>0080593473</VBELN_VL>
          <VBELN>0000208489</VBELN>
          <TANUM>0000208489</TANUM>
          <KODAT>20051219</KODAT>
          <KOMUE>X</KOMUE>
          <WADAT_IST>20051219</WADAT_IST>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593473</VBELN_VL>
            <POSNR_VL>000001</POSNR_VL>
            <VBELN>0000208489</VBELN>
            <POSNN>900002</POSNN>
            <PIKMG>240</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>DN07212</MATNR>
            <ORPOS>000001</ORPOS>
          </E1VPDLI>
        </E1VPDLH>
      </IDOC>
      <IDOC BEGIN="">
        <E1VPDLH SEGMENT="">
          <VBELN_VL>0080593503</VBELN_VL>
          <VBELN>0000208489</VBELN>
          <TANUM>0000208489</TANUM>
          <KODAT>20051219</KODAT>
          <KOMUE>X</KOMUE>
          <WADAT_IST>20051219</WADAT_IST>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593503</VBELN_VL>
            <POSNR_VL>000001</POSNR_VL>
            <VBELN>0000208530</VBELN>
            <POSNN>900002</POSNN>
            <PIKMG>30</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>DM19200</MATNR>
            <ORPOS>000001</ORPOS>
          </E1VPDLI>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593503</VBELN_VL>
            <POSNR_VL>000002</POSNR_VL>
            <VBELN>0000208530</VBELN>
            <POSNN>900003</POSNN>
            <PIKMG>630</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>DR19460</MATNR>
            <ORPOS>000002</ORPOS>
          </E1VPDLI>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593503</VBELN_VL>
            <POSNR_VL>000003</POSNR_VL>
            <VBELN>0000208530</VBELN>
            <POSNN>900004</POSNN>
            <PIKMG>900</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>DN07216</MATNR>
            <ORPOS>000003</ORPOS>
          </E1VPDLI>
        </E1VPDLH>
      </IDOC>
      <IDOC BEGIN="">
        <E1VPDLH SEGMENT="">
          <VBELN_VL>0080593504</VBELN_VL>
          <VBELN>0000208489</VBELN>
          <TANUM>0000208489</TANUM>
          <KODAT>20051219</KODAT>
          <KOMUE>X</KOMUE>
          <WADAT_IST>20051219</WADAT_IST>
          <E1VPDLI SEGMENT="">
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593504</VBELN_VL>
            <POSNR_VL>000001</POSNR_VL>
            <VBELN>0000208531</VBELN>
            <POSNN>900002</POSNN>
            <PIKMG>450</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>D903116</MATNR>
            <ORPOS>000001</ORPOS>
          </E1VPDLI>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593504</VBELN_VL>
            <POSNR_VL>000002</POSNR_VL>
            <VBELN>0000208531</VBELN>
            <POSNN>900003</POSNN>
            <PIKMG>150</PIKMG>
            <NDIFM>-100</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>DY17820</MATNR>
            <ORPOS>000002</ORPOS>
          </E1VPDLI>
          <E1VPDLI SEGMENT="">
            <VBELN_VL>0080593504</VBELN_VL>
            <POSNR_VL>000003</POSNR_VL>
            <VBELN>0000208531</VBELN>
            <POSNN>900004</POSNN>
            <PIKMG>400</PIKMG>
            <NDIFM>0</NDIFM>
            <CHARG>12DE05W1</CHARG>
            <MATNR>D109050</MATNR>
            <ORPOS>000003</ORPOS>
          </E1VPDLI>
        </E1VPDLH>
      </IDOC>
    </SDPIID01>
    Any ideas how to achieve this?
    Thanks,
    Jim

    Hi Stefan,
      We got similar scenario as you gave mapping solution above. But this time its BAPI. For IDoc, I exported IDoc signature, changed max occurs to unbounded and in message mapping imported that IDoc as XSD, with which we are able to generate multiple IDoc's, when ever there is change in VBELN_VL in source.
    Here in this scenario whenever there is change in TRANS_ID we have to make new BAPI call and get the response back.
    How do we acheive the same? Can we do this by message mapping? or Do we need to use BPM?? Can I change the occurence here same as we did for IDoc?
    Here are the source and target(Expecting like this):
    <?xml version="1.0" encoding="utf-8"?>
    <b><mt_PhysCountEnt></b>
       <b><row></b>
          <TRANS_ID><b>1847204</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT ('20060103','2005','000',<b>'1000006021'</b>) ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>004</b></ITEM>
          <MATERIAL>D117030</MATERIAL>
          <BATCH>10OC05W1</BATCH>
          <ENTRY_QNT>900</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT/>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
       <b></row></b>
       <b><row></b>     
          <TRANS_ID><b>1847204</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT('20060103','2005','000','<b>1000006021</b>') ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>003</b></ITEM>
          <MATERIAL>D117020</MATERIAL>
          <BATCH>31OC05W1</BATCH>
          <ENTRY_QNT>600</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT/>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
       <b></row></b>
       <b><row></b>
          <TRANS_ID><b>1847204</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT('20060103','2005','000','<b>1000006021</b>') ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>002</b></ITEM>
          <MATERIAL>D117020</MATERIAL>
          <BATCH>24OC05W1</BATCH>
          <ENTRY_QNT>0</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT>X</ZERO_COUNT>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
       <b></row></b>
       <b><row></b>
          <TRANS_ID><b>1847204</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT('20060103','2005','000','<b>1000006021</b>') ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>001</b></ITEM>
          <MATERIAL>D117020</MATERIAL>
          <BATCH>10OC05W1</BATCH>
          <ENTRY_QNT>175</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT/>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
       <b></row></b>
       <b><row></b>     
          <TRANS_ID><b>1847205</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT('20060103','2005','000','<b>1000006023</b>') ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>002</b></ITEM>
          <MATERIAL>D999475</MATERIAL>
          <BATCH>07NO05W1</BATCH>
          <ENTRY_QNT>120</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT/>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
       <b></row></b>
       <b><row></b>
          <TRANS_ID><b>1847205</b></TRANS_ID>
          <PROCESSED>n</PROCESSED>
          <TRANS_RFC>ZAPI_MATPHYSINV_COUNT('20060103','2005','000','<b>1000006023</b>') ITEMS, RETURN</TRANS_RFC>
          <ITEM><b>001</b></ITEM>
          <MATERIAL>D509D03</MATERIAL>
          <BATCH>07NO05W1</BATCH>
          <ENTRY_QNT>295</ENTRY_QNT>
          <ENTRY_UOM>EA</ENTRY_UOM>
          <ENTRY_UOM_ISO/>
          <SALES_VAL/>
          <ZERO_COUNT/>
          <MATERIAL_EXTERNAL/>
          <MATERIAL_GUID/>
          <MATERIAL_VERSION/>
          <b></row></b>
    <b></mt_PhysCountEnt></b>
    TARGET:
    <?xml version="1.0" encoding="UTF-8"?>
    <b><ns0:ZAPI_MATPHYSINV_COU</b>NT xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
       <COUNT_DATE>20060103</COUNT_DATE>
       <FISCALYEAR>2005</FISCALYEAR>
       <PERCENTAGE_VARIANCE>000</PERCENTAGE_VARIANCE>
       <PHYSINVENTORY><b>1000006021</b></PHYSINVENTORY>
       <ITEMS>
          <item>
             <ITEM><b>004</b></ITEM>
             <MATERIAL>D117030</MATERIAL>
             <BATCH>10OC05W1</BATCH>
             <ENTRY_QNT>900</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT/>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
          <item>
             <ITEM><b>003</b></ITEM>
             <MATERIAL>D117020</MATERIAL>
             <BATCH>31OC05W1</BATCH>
             <ENTRY_QNT>600</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT/>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
          <item>
             <ITEM><b>002</b></ITEM>
             <MATERIAL>D117020</MATERIAL>
             <BATCH>24OC05W1</BATCH>
             <ENTRY_QNT>0</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT>X</ZERO_COUNT>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
          <item>
             <ITEM><b>001</b></ITEM>
             <MATERIAL>D117020</MATERIAL>
             <BATCH>10OC05W1</BATCH>
             <ENTRY_QNT>175</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT/>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
       </ITEMS>
       <RETURN/>
    <b></ns0:ZAPI_MATPHYSINV_COUNT></b>
    <b><ns0:ZAPI_MATPHYSINV_COUNT</b> xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
       <COUNT_DATE>20060103</COUNT_DATE>
       <FISCALYEAR>2005</FISCALYEAR>
       <PERCENTAGE_VARIANCE>000</PERCENTAGE_VARIANCE>
       <PHYSINVENTORY><b>1000006023</b></PHYSINVENTORY>
       <ITEMS>
          <item>
             <ITEM><b>002</b></ITEM>
             <MATERIAL>D999475</MATERIAL>
             <BATCH>07NO05W1</BATCH>
             <ENTRY_QNT>120</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT/>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
          <item>
             <ITEM><b>001</b></ITEM>
             <MATERIAL>D509D03</MATERIAL>
             <BATCH>07NO05W1</BATCH>
             <ENTRY_QNT>295</ENTRY_QNT>
             <ENTRY_UOM>EA</ENTRY_UOM>
             <ENTRY_UOM_ISO/>
             <SALES_VAL/>
             <ZERO_COUNT/>
             <MATERIAL_EXTERNAL/>
             <MATERIAL_GUID/>
             <MATERIAL_VERSION/>
          </item>
       </ITEMS>
       <RETURN/>
    <b></ns0:ZAPI_MATPHYSINV_COUNT></b>
    Thank You
    Indrasena

  • Best approach for IDOC - JDBC scenario

    Hi,
    In my scenarion I am creating sales order(ORDERS04) in R/3 system and which need to be replicated in a SQL Server system. I am sending the order to XI as an IDoc and want to use JDBC for sending data to SQL Server. I need to insert data in two tables(header & details). Is it possible without BPM?  Or what is the best approach for this?
    Thanks,
    Sri.

    Yes, this is possible without the BPM.
    Just create the Corresponding Datatype for the insertion.
    if the records to be inserted are different, then there wil be 2 different datatypes ( one for header and one for detail).
    Do a mutlimapping, where your Source is mapped into the header and details datatype and then send using the JDBC sender adapter.
    For the strucutre of your Datatype for insertion , just check this link,
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    To access any Database from XI, you will have to install the corresponding Driver on your XI server.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    Regards,
    Bhavesh

  • XI:Concerns regarding CCMS alerts,IDOC,JDBC,FILE,PROXY

    Dear Experts,
    I have some doubts regarding below listed points.Please,help Me to find thesuitable answer for these.
    *1.if multiple messages to be sent(IDOC) through same JDBC adapter,how we'll do it(THROUGH SAME jdbc Aadpter,in same config scenario)?*
    *2.in receiver determination,if we have to send to multiple receivers according to payload content(conditional passing to receiver depends on payload),**how we'll acheive it?*
    *3.what is file content conversion?*
    *4.why proxy is known as adpterless scenario?*
    *5.in case of idoc/proxy why sender side no communication channel but in receiver side we are using communication channel?*
    **6.what is CCMS alert?
    *7.in a file2file scenario,if we want to convert one file content to other file content in a different form(as x->1,y>2),*
    *how we'll acheive it?*
    *7.if lots of data checkings are there in case of SAP R/3,by whcih way we'll go?(idoc/proxy/rfc)
    *8.how we'll decide whether to go for SOAP scenario?*
    *9.what is adapter module?whan we'll go for different adapter modules other than standard?*
    *how we can develop our own adapter modules?*
    *10. how to map one field to other field,when they are present in different noad with respect to source and target strucrture?*
    Eagerly waiting for youyr valuable opinion.
    Regards,
    Rasmiraj Tripathy

    Do a search in SDN first for these questions.
    You will find the answers to the most.
    Else post specific questions

  • IDOC - JDBC - RNIF SCENARIO

    Hi Experts,
    Currently i am working on invoice idoc to JDBC(synchronous) to rnif. could you please help me the steps. depending on the bill to or soldto or plant i have to get the 14 fields from sql server and send it to the RNIF adapter. could you please send me the steps for this scenario. using BPM.
    Advanced Thanks
    Regards
    Sundher

    Hi,
    In BPM: without mapping lookup , but with Sync JDBC call
    1) Receive Step to receive the Idoc message
    2) Call the JDBC synchronously
    3). Map the Response to RNIF Receiver Message
    4) Send the Message to RNIF
    You can make the Sync. Mapping i,e Mapping between Idoc message to JDBC call and JDBC Response to RNIF outside the BPM..
    Check out this blog-/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    btw, what is the volume of data? based on that, you can decide to choose, mapping lookup or Sync JDBC call with BPM
    Rgds,
    Moorthy

  • XI idoc-jdbc  scenario in details

    Hi Experts,
    Please provide me this scenario pn detail.
    Cheers
    Aman

    Hi,
    For IDOC to JDBC scenario:
    Refer the below weblog for help:
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30 --> for jdbc receiver: file -JDBC
    1) First you need to install the JDBC drivers on XI server refer the below link for installation process.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    2) You need to do the IDOC configuration at R3 as well as at Xi end:
    Refer the below configuration steps:
    ALE configuration for pushing idocs from SAP to XI
    /people/swaroopa.vishwanath/blog/2007/01/22/ale-configuration-for-pushing-idocs-from-sap-to-xi
    IDOC testing using WE19
    /people/sameer.shadab/blog/2005/07/25/reposting-idocs-instead-of-recreating--for-testing-purpose-xi
    Pre-requisites for Outbound IDoc from R/3 to PI:
    Configurations required in R/3:
    Maintain Logical System (SALE)
    Define RFC Destination (SM59) which points to PI system
    Maintain Port (WE21)
    Maintain partner profile. (WE20):
    Maintain Distribution Model (BD64):
    Configuration required at Xi side:
    Go to IDX2: load the DOC metadata.
    3) For updating the table you need to write the stored procedure:
    Refer the below link for stored prcedure.
    JDBC:
    Receiver JDBC scenario MS access - /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    Stored Procedures-
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    http://www.ics.com/support/docs/dx/1.5/tut6.html
    /people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
    http://www.ics.com/support/docs/dx/1.5/tut6.html
    http://java.sun.com/docs/books/tutorial/jdbc/basics/sql.html
    http://www.sqlteam.com/article/stored-procedures-an-overview
    Thnx
    Chirag
    Reward points if it helps and close the threads.

  • PI 7.11: IDoc Message mapping

    Hi there,
    I'm currently working on a graphical message mapping using IDoc HRMD_A06 as source structure (HR master data transferred via PFAL).
    In my result structure I have to fill a field CostCenter with the following logic:
    If field KOSTL (cost center) is filled in node E1P0315, map this field to CostCenter in result structure, otherwise take KOSTL of node E1P0001.
    The end date (ENDDA) has to be '99991231' in each case.
    This is how the result structure looks like:
    <e>                       [1...1]
      <CostCenter>            [1...1]
    </e>
    This is the simplified source structure:
    <E1PLOGI SEGMENT="1">
      <E1PITYP SEGMENT="1">                        [0...n]
         <E1P0001 SEGMENT="1">                     [0...n]
           <INFTY>0001</INFTY>                     [0...1]
           <ENDDA>99991231</ENDDA>                 [0...1]
           <KOSTL>0000012345</KOSTL>               [0...1]
        </E1P0001>
      </E1PITYP>
      <E1PITYP SEGMENT="1">                        [0...n]
        <E1P0315 SEGMENT="1">                      [0...n]
          <INFTY>0315</INFTY>                      [0...1]
          <ENDDA>99991231</ENDDA>                  [0...1]
          <KOSTL>0000024001</KOSTL>                [0...1]
        </E1P0315>
      </E1PITYP>
    </E1PLOGI>
    How can I do the check if field KOSTL of node E1P0315 is null?
    I've tried an existence check for the whole node (E1P0315->exists), but then it fails, because all E1PITYP nodes are processed.
    I hope my problem is clear to you.
    Would it be better to use another mapping type?
    As I'm an ABAP developer, I would of course prefer some lines of code to this graphical drag&drop thing.
    Thanks in advance!

    Cheers, guys!
    I did it now like that:
    http://www.abload.de/image.php?img=mappingflknz.jpg
    Click on the image to enlarge it!
    The logic is as following (ABAP Pseudo-code ):
    IF 0315_KOSTL and 0315_ENDDA are populated.
      IF 0315_ENDDA equals '99991231'.
        map 0315_KOSTL to Cost_Center.
      ENDIF.
    ELSE.
      IF 0001_KOSTL and 0001_ENDDA are populated.
        IF 0001_ENDDA equals '99991231'.
          map 0001_KOSTL to Cost_Center.
        ENDIF.
      ENDIF.
    ENDIF.
    Is that a good way to do that mapping?
    Do I also have to use the removeContexts function or is it ok like that?
    Could I also do that with an ABAP mapping program?
    Thanks in advance!

Maybe you are looking for