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

Similar Messages

  • Collect Multiple IDOC(Single IDOC type) to single file using BPM

    Hi All,
    When i am generating multiple IDOC for the same message type, i am getting multiple payload for the same as a result i used to get multiple files generated in application server.
    Now if i use BPM only to collect multiple IDOC to a file then what all the steps that i need to follow for the same.
    Ex: I want to post 10 IDOC for a single IDOC type,, Now using BPM in XI i want to collect all the 10 IDOCs with multiple payload into one single message and then want to process this in XI to generate the file.
    It would be glad if anyone refer me a good step by step blog for the same.
    Thanks in advance,
    Jay

    Thanks a lot Abhisek.
      I have also got a blog explaining the exact thing. But in the blog the ID part was missing which is present in the link you have provided.
    I will be glad if you can through some light on the ID part,, however the IR part and the BPM part is now mostly okay to me.
    I will configure this today only,, and may seek your help for any huddle.
    Thanks a lot once again.
    Regards,
    Jay.

  • 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.

  • Posting Purchase Orders (IDOC  Adapter) according to Vendor using BPM's

    Hi,
    My requirement is to post purchase orders into SAP r/3 according to vendor wise using IDOC adapter using BPM's.
    Input is a FLAT File which contains all the Purchase order items/records for various vendors.
    We need to process these items/records according to vendor and post it into SAP r/3 using IDOC Adapter within 8hrs processing time(Time Bound).
    What i mean is: the process should collect all respective vendor related items/records from the flat file and post respective purchase orders in SAP. That means if  5 items out of 20 are from one vendor,  we shud create a PO in SAP with 5 items for that vendor and likewise for the rest of the items.
    Please explain the procedure and detail Mapping in step by step procedure... how to send 'n' items for a PO.
    Regards,
    Ravi

    for idoc configuration refer 
    https://wiki.sdn.sap.com/wiki/display/XI/SAP+R3+%28Idocs%29+To+XI+--+Steps+Summarized
    Source WIKI. As far as BPM is concerned, set the correlation based on vendor number. this will ensure u collect the message according to vendor number.
    there are two option set for ur for posting the PO WRT vendor number:
    1. using BAPI
    2. using idocs
    The mapping for both the methods are straight forward except care need to be taken for mapping the data segment esp WRT the vendor number.

  • Mesage splitting using BPM

    HI,
    There is field called Quantity in my source message type.
    For each quantity (example quantity field if i get  = 10), I want to generate 10 Idocs in Target.
    Note: I have used syn proxy also in this BPM whether Quantity split is needed or not?
    Based on the response only i have done branch in BPM (that is working fine)
    In order to achieve 10 Idoc for the Quantity split, I used in Interface Mapping,
    Source Message Interface in Occurance is 1,
    Target MI occurance is 0 to unbounded (Idoc)
    In my Message mapping
    source Message Type occurance is 1,
    Target MT occurance is 1 to unbounded (Idoc).
    Is it possible?
    or do i need change  occurance of the Idoc as per Michal Krawczyk blog (/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change ) in order to achieve?
    Inputs reg. this appreciated.
    Thanks
    Praba

    HI,
    My complete scenario in BPM what i had currently
    Block name: PrepareIdoc
    Inside Prepare Idoc block, step name: sendProxysyn
    Mode: synchronous
    Response: Response
    Inside prepareIdoc Block i have switch,
    First branch, I have Quansplit condition and then Transformation step also.
    In that IM QUansplit source MI occurance is single
    Target MI occurance is 0 to unbounded
    But in my BPM on that IM, i did not able to make Target Message is not Mulitline(i guess here is mistake)
    if i make that as a multline, then
    My next step is Container Operation, in that Target is Multiline. expression is also multiline.
    after then step is receiver determination , message (i guess here is mistake) is giving error, saying that " expression must not return multiline.
    any way this is  link for my screen shot,
    http://www.flickr.com/photos/38608683@N03/3550047474/
    Edited by: Prabaharan Rangasamy on May 21, 2009 12:03 AM

  • 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

  • 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

  • How to send 100 records from an IDOC to File Scenario without using BPM?

    Hi All,
    I have a requirement that i need to send 100 records from sap to file by using the scenario IDOC to File. Can you suggest how can i achieve this?
    Regards,
    Ramvilas.

    Hi,
       Create a H type RFC destination.Tagert host and port give  Xi system host and port.Path give the
       /sap/xi/adapter_plain?namespace=<NameSpcae>&interface=<Interface> &service=<SenderBusinessSystem>&qos=EO or EOIO.
    Go to we21 find xmlhttp port.give the port name and assign RFC.Give the port in we20 your idoc and change to collective.
    In Xi export the IDOC and change the occurance to 0-unbounded and import it.
    Regards,
    Prakasu.M

  • File to Idoc and Jdbc

    Hi Guys,
                 Can I implement a scenario wherein the data is sent to Idoc and JDBC parallelly without using BPM?
    Regards,
    Ashish

    Ashish,
    ><i>If i add multiple recievers in receiver determination step without any condition, then how do i add multiple interface determinations in the area below?</i>
    Once you add multiple Receivers and save the same, the Receivers will be available in the Window Below and you would need to create an Interface Determination for each of these Receivers.
    As you do not have any condition, no need to add conditions.
    ><i>created seperate Receiver determinations</i>
    You would need only ONE RECEIVER DETERMINATION and this receiver determination would in turn have multiple Interface Determinations.
    Like mentioned, add multiple receivers save the Receiver Determination and in the window below, you will nopw be able to add an Interface determination for each of the receiver.
    Regards,
    Bhavesh

  • Collecting Idocs without using BPM

    Hi Experts,
    I am working on a sceanrio, where Idocs are coming from sap and we need to generate a single Flat file out of them.
    For this scenario first we need to collect the Idocs and then process them to make a single file output.
    To achieve the same I am using the BPM to first collect the Idocs and make a packet out of them and then processs it to generate a single flat file.
    Can someone please suggest me that, How can we  achieve the same without the BPM.
    If yes, how can we do that?
    Thanks in advance.
    Regards
    Pradeep

    Pradeep ,
    Option 1 : /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm
    here you collect them as a file and file is picked up and sent to the target
    Option 2 :
    in WE20 in ERP set idoc package to 50
    in XI sender idoc channel - package to 50
    XI will receive 50 IDOCs at once...
    (courtesy Michal....till then i thought there is no sender idoc adapter )
    Option 3 : collect using BPM.
    Option 4 : This is what i woould suggest....no need of collecting you can send one idoc at a time generate the file.....why do u want to collect?
    Edited by: Tarang Shah on Mar 20, 2009 7:38 AM

  • Pass system ack of JDBC adapter to ERP in IDoc - XI - JDBC scenario

    Dear all,
    i have an IDoc -> XI -> JDBC scenario (without using ccBPM). In the standard way the ERP system, sending the IDoc waits for an application acknowledgement. However the JDBC adapter is only capeable to send system acknowledgements.
    Is there a way to pass these acknowledgements to the IDoc status record?
    In help.sap.com (http://help.sap.com/saphelp_nwpi71/helpdata/en/ab/bdb13b00ae793be10000000a11402f/frameset.htm) under "IDoc Processing with the IDoc Adapter " there is a table that maps XI system/applic acknowledgement to IDoc status. So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
    Can anyone tell, if this is really working? What if I deactivate the acknowledgement request in the NOALE programm?
    In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
    Many thanks and best regards
    Florian

    Is there a way to pass these acknowledgements to the IDoc status record?
    Without BPM, No.
    So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
    The ack referred here is related to idoc status whether it is properly reached till XI or not and not related to the JDBC ack.
    What if I deactivate the acknowledgement request in the NOALE programm?
    Then u won't have any ALEAUD message at sender R3.
    In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
    No
    Regards,
    Prateek

  • IDoc to soap synchronous scenario with BPM

    Hi,
    I am working on IDoc to soap synchronous scenario using BPM. Here i am facing lot of soap exceptions in my production system. I handled the exceptions. The data getting excuted for the first time, the same data(just changed the description)is giving exceptions for the second time. Please let me know why the exceptions are getting, and different type of exceptions and solutions for the same.(Blog also is fine)
    Thanks & Regards,
    Pragathi.

    The data getting excuted for the first time, the same data(just changed the description)is giving exceptions for the second
    time.
    Ideally you should not get an exception for the same data....can you tell is the description and where are you getting the exception...is it a part of the SOAP message or some object?
    An exception might have occured because the description would be something unacceptable by the target application.
    and different type of exceptions and solutions for the same
    there would be many blogs....your thread would be spammed...better make a search on SDN with exception text that you are getting.
    Regards,
    Abhishek.

  • 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

  • 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

Maybe you are looking for