JDBC to IDOC using BPM

Hi Experts,
I am doing the scenario JDBC to IDOC
Note: i need a solution without stored procedures
My requirement is , in sender JDBC side
1) We need to select data from 3 tables from the DB ( I think we can do this by JOIN query specified in the channel)
2) after selecting data we need to update all 3 tables
(I think we can't do this, as we have only one update option in the sender JDBC channel). So i want to go for BPM.
Can we do like this...??
2 mappings:   
--> sender JDBC o/p structure (MT-1)   to  IDOC structure(MT-2)                                         (MM-1)---->  (IM-1)
--> sender JDBC o/p structure (MT-1)  to  JDBC update structure (for 3 tables) (MT-3)                 (MM-2) ----> (IM-2)
BPM:
MT-1                    (IM-1)                                                     (IM-2)
Receive           Trnsformation             AsyncSend to R/3             Transformation             Async Send to JDBC(Receiver)
  Step                    Step1                                                   Step2
MT = Message Type;   MI = Message Interface;    IM = Interface mapping;    MM = Message mapping
Edited by: murali krishna on Mar 9, 2010 8:24 AM

u do not require a BPM..
the method that u specified is right..
mappings:
--> sender JDBC o/p structure (MT-1)   to  IDOC structure(MT-2)                                         (MM-1)---->  (IM-1)
--> sender JDBC o/p structure (MT-1)  to  JDBC update structure (for 3 tables) (MT-3)                 (MM-2) ----> (IM-2)
just in the 2nd mapping that updates the tables the receiver service is same as the sender ..
also specify both the mappings in the interface determination...first the update mapping and then the Idoc one and click the maintain order at runtime so that Idoc is trigeered only after update mapping is done..

Similar Messages

  • Collection of IDOCs using BPM

    Hi Experts,
    I am trying collection of IDOCs by using BPM.
    I ran into problems and In moni,  the error is
    <SAP:Code area="BPE_ADAPTER">SYSTEM_FAILURE_INTERNAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>An internal error has occurred</SAP:Stack>
    Details of above error in trace is : 
    <Trace level="1" type="T">--start sender interface action determination</Trace>
      <Trace level="1" type="T">select interface BLAORD.BLAORD03*</Trace>
      <Trace level="1" type="T">select interface namespace urn:sap-com:document:sap:idoc:messages</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--start receiver interface action determination</Trace>
      <Trace level="1" type="T">Loop 0000000001</Trace>
      <Trace level="1" type="T">select interface UpdatedContracts_abs_idocs*</Trace>
      <Trace level="1" type="T">select interface namespace http://com/UpdatedContracts/</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
      <Trace level="1" type="T">Hence set action to DEL</Trace>
      <Trace level="1" type="B" name="CL_IDX_IDOC_RESOURCE-GETBLOBDATA" />
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
    Here i am trying to collect IDOCs for 5 minutes and i need to send them in XML format. Here i have mapping logic and that logic is working perfectly.
    What i am dong is
    1. I am sending IDOCs from R3 system to BPM in XI. ( Here to push IDOCs from R3 system to BPM, do we need to do extra ALE settings. Actually With out BPM simple IDOC to File is working fine, With BPM only i am having error. )
    2. How to reslove above problem. AS per my understanding everthing is fine.
    Thanks,
    Subbu

    Hi Rama Subbarao,
        Error: Check with your loop condition and process steps.
           Collecting of IDOCS using BPM is good, If u want to send the 100 IDOCS per one hour with single BPM it will takes times , Some performs issues and hardware issues are raising.
    Suppose if u send 1000 Idocs per one hour it will takes much time.
    Other Process:
      The collecting of IDOCS it will be downloaded into FILE System.Once IDOCS is downloaded into FILE, it will be not changed the IDOCS.
    Using FILE Adapter we send the flatfiles data from FILE System to XI. if  u using this process performance wise its very good.
    Regards,
    Sateesh N

  • Processing large volume of idocs using BPM Processing

    Hi,
    I have a scenario in which SAP R/3 sends large volume say 30,000 DEBMAS Idocs to XI. XI then sends data to 3 legacy systems using jdbc adapter.
    I created a BPM Process which waits for 4 hrs to collect all the idocs. This is what my BPM does:
    1. Wait for 4 hrs Collect the idocs
    2. For every idoc do a IDOC->JDBC Message transformation.
    3. Append to a Big List
    4. Loop at the Big list from step 4 and in the loop for
    5. Start counter from 0 and increment. Append to a Small List.
    6. if counter reaches 100 then send a Batch JDBC Message in send step.
    7. Reset counter after every send.
    8. Process remaining list i.e if there was an odd count of say 5300 idoc then the remaining 53 idocs will be sent in anther block.
    After sending 5000 idocs to above BPM following problems are there:
    1. I cannot read the workflow log as system does not respond.
    2. In the For Each loop which loops through the big list of say 5000 idocs only first pass of 100 was processed after that the workflow item is not moving ahead. It remains in the status as "STARTED" but I do not see further processing.
    Please tell me why certain Work Items are stuck is it becuase I have reached upper limit and is this the right approach? The Main BPM Process is also hanging from last 2 days.
    I have concerns about using BPM for processing such high volume of idocs in production. Please advice and thanks in advance.
    Regards
    Ashish

    Hi Ashish,
    Please read SAPs Checklist for proper usage of BPMs: http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    One point i'm wondering about is why do you send the IDocs out of R/3 one by one and don't use packaging there? From a performance stand point this is much better than a bpm.
    The SAP Checklist states the following:
    <i>"No Replacement for Mass Interfaces
    Check whether it would not be better to execute particular processing steps, for example, collecting messages, on the sender or receiver system.
    If you only want to collect the messages from one business system to forward them together to a second business system, you should do so by using a mass interface and not an integration process.
    If you want to split a message up into lots of individual messages, also use a mass interface instead of an integration process. A mass interface requires only a fraction of the back-end system and Integration-Server resources that an integration process would require to carry out the same task. "</i>
    Also you might want to have a look at the IDoc packaging capabilities within XI (available since SP14 i believe): http://help.sap.com/saphelp_nw04/helpdata/en/7a/00143f011f4b2ee10000000a114084/content.htm
    And here is Sravyas good blog about this topic: /people/sravya.talanki2/blog/2005/12/09/xiidoc-message-packages
    If for whatever reason you can't or don't want to use the IDoc packets from R/3 or XI there are other points on which you can focus for optimizing your process:
    In the section "Using the Integration Server Efficiently" there is an overview on which steps are costly and which steps are not so costly in their resource consumption. Mappings are one of the steps that tend to consume a lot of resources and unless it is a multi mapping that can not be executed outside a BPM there is always the option to do the mapping in the interface determination either before or after the BPM. So i would sugges if your step 2 is not a multi mapping you should try to execute it before entering the BPM and just handle the JDBC Messages in the BPM.
    Wait steps are also costly steps, so reducing the time in your wait step could potentially lead to better performance. Or if possible you could omitt the wait step and just create a process that waits for 100 messages and then processes them.
    Regards
    Christine

  • File to Idocs using BPM

    Hi,
    Current Interface Flow - File (xml) to Idoc (single Idoc type)
    Thirdparty sends a File for Goods Receipt. This file may have multiple orders.
    Orders are sorted in an xslt by ORDNUM. Each record has a delivery type (Deliver Type PO or Delivery Type STO). For each order Graphical Message mapping occurs.
    In case of PO, inbound delivery number and item number have to be received from ECC via an RFC call and passed to VBELN and POSNR. While in case of STO, source field ORDNUM and ORDITEM are passed to VBELN and POSNR. (RFC call happens only for POs, not for STOs)
    In case of STO, TCode  will be MB0A.and IDoc would be WMMBXY (As is the case right now)
    In case of PO, there may be two cases -
         a) There is at least one response from ECC for all the line items inside an order --> in this case TCode will be MB0A and IDoc is  WMMBXY .
         b) If there is no inbound delivery number for any line item from ECC inside an order --> TCode MB01 will be used and IDoc used is WMMBXY
    So for all the above cases Target IDoc is WMMBXY.
    Changes to be done - Now  File (xml) to Idoc (Two different Idoc types, WMMBXY and DELIVERY03)
    Now there is an additional requirement that I will be using an additional IDoc (DELIVERY03) in above case a).
    I want to use BPM in this case
    1) RFC call in message mapping to get the inbound delivery number (for POs only) (Should be before the message enters BPM)
    2) Separating the messages based on IDoc type
    3) Interface / Message mapping for each IDoc type
    4)Send the message to ECC
    Please suggest how to proceed with BPM
    Thanks,
    Varun
    Edited by: Varun Reddy on Feb 4, 2011 4:47 PM

    Hi Varun,
    Follow this thread... You have answer for this.
    This link gives design ideas for your requirement
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    Follow Bhavesh discussion. It might be helpful too
    Message Split: File to Multiple IDOC Types

  • FILE TO IDOC USING BPM

    Hi,
             I am the fresher and new to XI. I want to know the step-by-step procedure for file to idoc scenario using bpm.I require it urgently.
    Please help me out.
    Thanks and have a nice day.

    Sangeet - Check this blog :
    <a href="/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping to multiple IDocs using IP in ccBPM</a>
    Hope this helps.
    Cheers!
    Shireesh M

  • Bundling of idocs using BPM

    Hi
    If you are using BPM to bundle the idocs and send them in file format to target system.............. here we can think of 3 different options on which we can bundle
    1. Payload based
    2. Message based
    3. Time based.
    Could you plz confirm me if we can achieve all these 3 options even without BPM in the application system ?? If we can achieve this in the applicaiton system itself ........are there any situations in which we are foced to use BPM for this particular scenario (Bundling of idocs)
    Thanks
    Kumar

    Hi Kumar,
    Very simple example which  I had faced....
    If you bundle idocs are application level..i.e. by setting XML port to collect idocs you will have multiple Control records i.e. control record for every idoc where as if you bundle them using BPM you can have only one control record. ( which we need most of the time while bundling idocs.)
    Also in BPM you can set correlation on payload data. You can have multiple condition here...but at application level you do not get that control. Basically I think you get a control over Payload in BPM and you can play as you want.
    Again even at application level if you try to bundle large number of idocs it will give you memory dump ( in sap)..
    But bundling idocs at application level is faster process than BPM.
    Nilesh

  • File to JDBc to File using BPM

    Hi All,
    I want to create a scenario for JDBC to File. But i want to trigget this scenario and not to schedule it. So i have one option to put a file in any ftp folder and the this file will trigger my JDBC->file scenario hence my scenario becomes like File(Trigger)->JDBC->File.
    I have added Receive and Send Steps in my scenario and it is ok for JDBC->File scenario. But to add this triggering mechanism i think i need to add on more receiver step which will receive file. I tried to add one more receive step at start but it is asking for Correlation... Here i am confused as i don't know why to use correlation in my scenario.....? Can anybody please suggest me how to use correlations in my case?
    I just want to receive a flat file which will trigger JDBC->File Scenario.
    Thanks,
    Rohan.

    It is just a simple select query.... will i need to make it sync then also....?
    Yes if u use BPM.
    It is possible to trigger the interface without BPM directly polling the database using JDBC sender as i earlier said.
    With BPM, even for the select query, do message mapping. Do not assign any field from file to JDBC structure. Just assign the constants. This way select query ll be called. Map the output of select query to the receiver file structure.
    Ur scenario BPM config would be similar to
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Regards,
    Prateek

  • JDBC To File-Using BPM.

    Hi all,
    I have a scenario in which i need to poll data from two tables in same DB and then merge it and put a single file in File server.
    I have implemented it using BPM with constant correletion.The scenario was working fine.
    Since the JDBC adapter is polling data based on dates(client req) some days data wont be there for a particular date and file may not get generated.If both files are not getting generated then it is fine. But sometimes only one file will be generated and fork steps hangs indefenitely.So my entire design fails here.
    Could someone thelp me in a better solution.
    Thanks & Regards,
    Lekshmi.

    Hi ,
    I have included a deadline and exception branch in my scenario and it seems to be working fine.Need to do some more testing in this regard.
    But i have one doubt regarding this issue.In the transformation step i have used multi message mapping where i have mentioned the occurrence of both input messages as 1. I was expecting this scenario to throw an error at transformation step (since only one message was given as input )once i have made the changes but surprisingly it didnt happen.Could you pls tell me why this didnt happen..
    Rgds,
    Lekshmi.

  • Idoc to jdbc mesage spliting using bpm

    hi all
    I have scenario in which i have to send message from one idoc to 3 oracle table.
    but i have one condition for table 3.
    that if the primary key of table empty than message should not pass and should not give error message in sxmb_moni.

    check this section from help
    http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
    Also there will be some help regarding Switch on SDN...just make a search.....
    /people/prasadbabu.nemalikanti3/blog/2006/03/10/bpmsingle-sender-and-multiple-receivers-based-on-synchronous-exchangeswitch-part-1
    Regards

  • JDBC Synchronous call  using BPM

    Guys,
    Scenario is like this.
    1. Initiator is file adopter
    2. JDBC select (Synchronous call) select data from 1 DB table
    3. Copy response into some FTP system as a file.
    File Initiator is working fine Synchronous call is giving the error.
    I have created the Message Interfaces
      1. Synchronous abstract (JDBC_select)
      2. Asynchronous abstract (JDBC_Select)
    I have done the 2 mappings like
    1. File Initiator as source and JDBC_Select as target,
       (I am passing all constants values to JDBC_select like action='SELECT' table='tablename' and keys as well)
       JDBC_Select structure i have created as
           <Root>
             <selectStatement1>
             <action>
             <tablename>
             <access>
             <c1>
             <c2>
             <key>
             <c1>
    2. JDBC_response as source to Target_FILE as target.
       Response structure is like this
        <root>
        <row>
        <c1> </c1>
        <c2>...</c2>
        </row>
        </root>
    I have created the BPM by using
      --> transformation and send steps.
    Can any body send me the Blogs for this scenario .
    Thanks
    M

    Moorthy,
    <u>Message Types</u>
    1) File_Input
    2) JDBC_Req
    3) JDBC_ Response
    4) Target_File
    <u>Message Interfaces</u>
    1) Async_Outbound,
         - File_Input
    2) Async_Inbound
         - Target_File
    3) Async_Absract
         - File_Input
    4) Sync_Abstract
         - Target_File (Output Message)
         - JDBC_Response (Input Message)
    5) Sync_Inbound
         - JDBC_Request (Input Message)
         - JDBC_Response (Output Message)
    <u>Message Mapping</u>
    1)Mapping1
      - File_Input as a Source
      - JDBC_Reqest as Target(Here I am passing all constants values like action, tablename , accessfields and keyfields)
    2)Mapping2
      - JDBC_Response
      - Target_file (Target file structure as same JDBC_Response structure)
    <u>Interface Mapping</u>
    Interface Mapping 1
       - Sync_Abstract (source Interface)
       - Sync_Inbound  (Target Interface)
    Here is my doubt I am not getting Mapping program in the dropdown (F4 help), it is problem with my source and target?.
    What are the source and target for second interface mapping.
    Thank you for helping me alot on this..
    M

  • Idoc to Idoc using BPM

    Dear Friends,
      I am sending the Idoc from one ECC server to other ECC server using XI, it has been completed ,but reciever side after one hour only it has to be updated.
    so in this case how it's possible with BPM or any other method is available.
    Please let me know the process.
    Regards,
    Shalini shah.

    I am sending the Idoc from one ECC server to other ECC server using XI, it has been completed ,but reciever side after one hour only it has to be updated.
    so in this case how it's possible with BPM or any other method is available.
    With BPM you can have a wait step inbetween the receive and send ........not a good option to make the BPM wait for 1 hour....
    Without BPM...refer the replies of Samiullah in these two threads:
    Re: Can I slow down Processing of each mesg in PI?
    Re: Delay in MM possible ?
    Regards,
    Abhishek.

  • MessageExpiredException error in JDBC - RFC scenario using BPM.

    <b>Scenario:</b> JDBC( Asynch)- RFC( Synch)- JDBC (Asyc)
          We are using XI to read oracle table records to insert the records in R/3 and after the insert in R/3 we return a sap code to update in oracle db.
    When we try to process 10 or less rows from db, the process is successfully running, but when we try processing more records we are getting the following error. We tried increase the timeout setting in RFC adapter as per the SAP note and forum. 
    <u>Detailed error: </u>
    <b>com.sap.aii.af.ra.ms.api.MessageExpiredException: Message 443jdjsd-e432-2ec8-e100-000046eb2e5f(INBOUND) expired.</b>
    If I use correlation in asynchronous RFC instead of synchronous RFC, will this solve the problem or is there any better solution for this ?
    Any useful steps to change the synchronous RFC to asynchronous RFC in BPM would be great.
    Thanks
    Steve

    Hi,
    <i>1. Any suggestions to meet this requirement in XI ?</i>
    >>>One option is using ABAP Proxy . Instead of calling Sync. RFC, call synchronous Proxy. So your client proxy, should receive all 200-300 rows at a time, and inside the proxy, and call the RFC. Once all the reocrds are processed, send the response back to BPM
    You can try out this.
    I think, probably you may require to do looping for each Row.i.e For each row the call the RFC.. As of now try to go with Proxy.
    Also try to findout, why the RFC is taking that much of time.. So check for the provision of  tuning in the RFC side..
    Hope this helps,
    regards,
    Moorthy
    Message was edited by: Krishna Moorthy P

  • Bundling of IDOCs using BPM.PLS Help .Its very very URGENT

    Hi all,
    I have a IDOC to file scenario in which I have to bundle some number of INVOIC02 IDOCs.
    For this I have an IDOC whosw occurance is 1...1.
    I have an XSD for the same IDOC whose max occurance is 1.....9999999999.
    Si I have created one mapping for these two(i.e IDOC with max occurs 1 and IDOC with max occurs 9999999999.)
    I created one more mapping  for IDOC XSD and the target file structure.
    For this scenario how many abstract interfaces and interface mappings do I need to create?
    Can anybody explain the BPM flow in detail in this case?
    Thanks in advance.

    Hi  Rambabu Mujja  ,
    The following websites wil solve u'r problem:
    A Step-by-Step Guide on IDoc-to-File Using Business Service in the XI Integration Directory
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e07dcaa0-a92b-2a10-3a96-b3d942bd1539
    How to convert an IDoc-XML structure to a flat file and vice-versa in XI 3.0
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a
    Introduction to IDoc-XI-File scenario and complete walk through for starters.
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    IDOCs (Multiple Types) Collection in BPM
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm
    cheers!
    gyanaraj
    ****Pls reward points if u find this helpful

  • Collecting multiple idocs using BPM

    Hi,
             I have a scenario where idocs sent from R/3 system are collected in Xi and posted as a single message in the file. We have done all the configurations both in XI and R/3 pertaining IDOC.
    When we trigger an idoc in the R/3 system,we are able to see the message that IDOC has been sent to XI system. But we are unable to see any of the message transfers in SXMB_MONI.
    (In simple words our interfaces are not getting triggered.)
    Could anyone help us in rectifying the problem?
    Thanks & Regards,
    Vishnu.

    When you trigger the IDOC from R/3
    --Did u complete the configuration part of sending the IDOC to XI, have you created the TRFC POrt in R/3, cross check the RFC dest which you are using here is pointing to Right Xi box?
    Your configration looks fine for atleast to take IDOC in XI, rest i am not sure at this point.
    ---No errors in the SM58 on R/3?
    ---IDOC metadata is loaded in XI? do u c any entry in the IDX5?
    --Is your IS been configured wth the tracle level parameters, if yes set it to 3 value
    --is runitme paramter LOGGING, LOGGING_PROPOGATION,LOGGING_SYNC present in SXMB_ADM?
    if you have these then atleast you should c an entry in SXMB_MONI with with either sucessfull or failed state.
    More importanatly the LS name of the R/3 is according to standards what SAP says in SLD?
    Edited by: Nisar Khan on Feb 28, 2008 11:00 AM

  • Problem in Idoc to JDBC scenario(uses BPM)

    Hi
    I have a IDoc to JDBC scenario which also uses BPM.
    The JDBC adapter has to execute a Stored procedure on Sybase database.
    I work on XI3.0 SP14.
    When I am sending IDoc to XI it is failing in CALL adapter step.
    The error message is "Unable to convert sender service TruckLiftAccountUpdate to an ALE logical system".
    However this scenario is working in Production with same settings.But it is not working in Quality and it is giving the above error.
    Can any one help me in this.
    Thanks in advance.
    KP

    Thanks for your quick reply..
    All the settings are in place.
    Here the Idoc is coming to BPM and BPM cant able to execute the stored procedure.and we are getting the error from BPM to target system.
    Here error is unable to convert the sender service(from BPM service) to ALE
    logical system.
    same settings are there in Production but it is not working in QA.
    Thanks in adavnce,
    KP

Maybe you are looking for

  • Setting up a security system via Airport Extreme...

    So I'm setting up an in-home security system called ingrid and everything is cool but the ingrid system does not detect the internet. I have everything set up as per the instructions for airport and ingrid... I'm a assuming it must be some kind of se

  • Error while installing the SAP J2EE add-on for SAP NW XI installation

    Error while installing the SAP J2EE add-on for SAP NW XI installation   Posted: Jan 24, 2007 5:23 PM         Reply      E-mail this post  Hello, When I am installing the SAP SAP J2EE add-on for SAP NW XI installation I am getting the follwing error:

  • Installing itunes in Windows Vista

    I have tried countless times to download itunes and install on my computer and I receive an error message every time that states, "The System Administrator has set policies to prevent this installation". I am the administrator of the computer. HP   O

  • Generate password protected zip file

    Hi, I have a requirement of creating password protected zip file. Any guidance would much appreciate. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production Thanks in advance Prashant

  • I try to play rented movies, but get an error message 42110

    I try to play rented movies, but get an error message 42110. What do i do ?