Reg: BPM design

Hi All,
I am bit confused on the solution approach of BPM design and I would like your suggestions in completing my task.
Requirement :
scenario is proxy to Jdbc .
I will get two input files from the source system and I have combine two files information into database table :
1) first file will come only once and have key field which I have to consider.
2) second file  may come more than once based on bookings at source side( 3/5/6/8).
with current design , able to capture only one output from this design . my current design is :
Fork
Two receive steps ( correlation enabled in two steps based on key value)
transformation step
send step.
with the current design in bpm ,correlation will come out after the first message satisfies the condition. Now i want to loop in such away based on the second file input  correlation has to work ( there is no input from source to take count on files). pl guide me.
Regards,
Suman

Hi,
This is what happens: the first receive step starts the bpm. If you have, afterwards, some other receive steps you have to set up the correlation condition.
Once a message is being sent, the engine looks at all the started BPMs and based on the correlation condition it assigns it to one of them (that's why it is important to have the correlation condition unique per instance).
From what I understand, you have the first message and then you can get 1 to 4 more messages. So you always have at least two messages: the first one sets the correlation id for the second and further messages. This correlation condition/id is just a field in the message that corresponds. Now after you get the second message, you say that you already know how many other messages will follow, that's why I say put a loop block with the receive (which should have the same correlation as the other).
Now the contents of the first message will be available to the other messages as long as you keep it in a separate container variable, and you can re-use it in the loop.
Hope this helps,
Horia

Similar Messages

  • BPM design -help

    Hi all,
    i need you your help in enhancing one existing BPM.
    the initial state was
    file sys-> BPM -> sap R3 (system A) and also sap R3 (system B)
    where the BPM is   --> recv > sync send(A)->send(B)
    file sys send ONE vendor_key in xml format to BPM.
    now sysnc send is conected to R3 A through a RFC_A, which send one key field to RFC_A and get the whole record of a Z-table
    through that very RFC_A
    this whole record is then sent to another RFC_B thorugh send(B), which update a Z-table in the second sap system B.
    if the picture is clear, then the requirement is that:
    this time i have to design a BPM which will receive one xml file from file-sys, in which there will be multiple vendor key
    instead of one.
    the xml message must undergo 1:n transformation in bpm to craete xml messages containing one vendo key each.then parallely calling RFC_a with vendor key , get the reponse record from system R3 A,  and call RFC_B to send the record to system R3 B.

    HI Abhishek,
    Thanks for your response. Pls find below my BPM Design Details
    Block 1
    Step Name : Block1
    Exceptions : runTime
    Transformation
    Step Name : Transformation1
    Exception : System Error - runTime
    Exception Branch
    Exception Handler - runTime
    Control Step
    Setp Name : Control0
    Action : Throw Alert.
    I have followed the blog : https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/3465. [original link is broken] [original link is broken] [original link is broken]
    Still the alert is not getting triggered.
    Could you pls guide me, whethere is there any change need in my above design.
    Regards
    Mani

  • BPM design pattern

    can any provide information on BPM design pattern and give examples scenarios.
    thank you

    hi vicky,
    check this links
    Design Patterns in Exchange Infrastructure
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ad6de0-7cd6-2910-f894-dd7fe18b6fbf
    BPM with Patterns explained Part-1
    regards
    reddy

  • BPM Design using sync-async  bridge

    Hi Arpit,
    Below mentioned is an overview of the process flow which we are trying to implement.
    1. A synchronous interface takes in the request
    2. After the mapping, a file is created
    3. Another file adapter reads this file and sends a message back to the sync interface. This step is to make sure that the file is created
    I'm using a sync-async bridge for this process, since file creation and reading processes are asynchronous and the request/response is synchronous.
    Can somebody help me by telling how to design the BPM. How many send and receive steps are required etc?
    Thanks,
    Sandeep
        | Request  |    |    |       |    |     |    |       |
        |--------->|    |    |       |    |     |    |File   |
    HTTP|          |Sync|--->|Mapping|--->|Async|--->|Adapter|
        |<---------|I/f |<-  |       |    |I/f  |    |(write)|
        | Response |    | |  |       |    |     |    |_______|
                          |                              |
                          |                              |
                          |                          ____|___
                          ||      |   |        |    |        |
                          -|Async |<--|File Adp|<---|Folder  |
                           | I/f  |   |(read)  |    |________|

    Hi
    <i>>>I have to map the incoming xml from HTTP to another format before creating the file.</i>
    Ya then u can use the transform Step in between the
    sync Recv ---> Transform ---> Send to File System
    <i>>>Once a file is read, that interface has to send an acknowledgement message telling the status.</i>
    Wht type of acknowledgement msg telling the status.
    I think u can add another element in ur created file payload like <b>Status</b>: Created (ConstanT)
    Then u can map the payload of the readed file with tis payload having Ststus init.Fo this u need a <b>Transformation</b> Step.
    BTW i was searching some previous blogs and i got this and it is bit related to ur scenario.Go thru this
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
    Hope it helps.
    Regards
    Arpit Seth

  • BPM Design - JDBC

    Hi members:
    I have a BPM scenario - IDOC-to-JDBC
    I have to delete a record in the db after checking certain conditions. Lets say my IDOC has Field A etc..My db has
    Row 1 : field B, Field C, Field D
    Row 2 : field B, Field C, Field D
    etc..
    after i receive my idoc in the bpm,i have to check which row of FieldC in my db matches field A in my IDOC.There may be 1 or more matches. If there are more than 1 match or no matches at all, i have to cancel the process, if there is only one match, i have to take the corresponding row`s FieldB and pass it on to my next step.
    I am not sure how can i fetch the fields, do the count and execute it in my BPM. any suggestions would be appreciated.
    Thanks

    Hi,
    ><i>Also, i have this basic Q: i always thought that
    when we want to read from a db we use sender JDBC adapter
    when we want to update/insert/delete into a db we use receiver JDBC adapter , right?
    From your blog, i can see that we can also use receiver JDBC adapter to read from a db, did i understand it correct?</i>
    sender JDBC adapter can be used to select data from the DB. Sender JDBC adapter is used when you want JDBC adapter to initiate message processing in XI>
    Receiver JDBC adapter can be used to select , insert , update , delete and call stored procedures using the JDBC adapter.
    In your case, as an IDOC will trigger flow of message in XI, using a Receiver JDBC adapter would be better design.
    ><i>just 1 time the FiledB or several times the FieldB,is there a way to count my return?</i>
    Sure is possible using the Statistical function COUNT in your Mapping.
    Can you give the entire process flow so that all / exact steps in the BPM can be discussed.
    Regards,
    Bhavesh

  • BPM design - JDBC - SOAP - JDBC

    Hi experts,
    Business scenario - Pull the data from Data base using a Stored Procedure(this marks the records once it is successful) and call web service using this data. If web service call is success, push the response received from web service to Data Base. If call to web service fails, still push the data which was pulled initially from database back to same location in database.
    Iam using BPM for this.
    Block1  - get the data into BPM from Database  (async), had an exception branch to check its success status and raise alert incase of failure.
    if Block 1 is good.
    Transform the data to Web service input format
    Block2 -  send the call to webservice Synchronous send step(request and response are defined as abstract asynchronous), had an exception branch to check if call is good or not, if the call is unsuccessful, write the data back to database
    If block 2 is good,
    Block3 - Response(abstract asynchronous ) recieved from webservice is transformed to Data base format and written to Data base using JDBC receiver adapter.
    I would like to know if this design is good, can I use options like Async \ synch bridge here.
    Please let me know your thoughts.

    thank you for all your views.
    Stefan suggested initially to call the web service asynchronously and receive the response from web service in another receive step . When I do that receive step is asking me to have a correlation, eventhough I created a correlation it is vanishing when I save it.
    May be I could not understand it correctly.
    are these steps are good.
    BPM process  -
    Block 1 - ( to ge the data from data base) Asyn Receive step ,  
    Block2  - Asynch Send step (to call web service), Aynch receive step(to receive the response from web service ), exception branch (for web service call failures)
    Block3 - send step to send the response received from web service to Data base.

  • Pls suggest  the BPM  design .

    Hello,
    We are in PI7.1. The requirement is 1:N mapping the file to IDoc ACC_DOCUMENT01. Before calling the Idoc we need to check the Duplicate Invoice BAPI, if the bapi return error code "11" calling Idoc should be skipped. Could you suggest the design for this requirement in BPM. We would like to collect all the messages which returned "11" to dump into a file.
    I'm new to PI...any help would be appreciated. I started something like this...but, condition is not working to filter out the messages.
    1. receive the file.
    2. start the block
    2. transform the file to Bapi  (1:N)
    3. transform the file to Idoc (1:N)
    4. check the message exception.
    4. cancel the process.
    5.end the block
    6. start the for block.
    7. made the sync call to BAPI.
    8. check the response error code is "11".
    9 if yes, store the duplicate doc req interface into the container.
    10.end the for block.
    12. start the for block.
    13. check in the switch condition Idoc belnr is the same as container reponse error code 11 belnr. This step is not working.
    14 otherwise call the Idoc.
    15.end the for block.
    16. transform the container req to file.
    Thanks,
    Santha Kumari

    You might have to insert another For Block in the final comparison section. Because you have to check the current belnr with all the error returned belnrs. Then only you would know if you have to send the idoc or stop it.
    VJ

  • BPM design question

    Hello folks,
    I have this requirement  and I have designed a BPM for the same, I would appreciate if you could give me any improvements/suggestions:
    Req: Receive a message from Sender A the message has a transaction ID associated to it, Send the message to Receiver B and from then on wait an Hour to receive an acknowledge from Receiver B for that transaction. if no ack is received then shoot a mail to the users saying that the transaction didn't make it through. If success don't do anything, Just end the process.
    Design:
    1. Recv step (to receive the message/ start the BPM)
    2. Send Step (to reciever B to send the message )
    3. Block  ---  Block has the following    a. Receive step (to receive the ACK from Receiver B)     b.   Deadline Branch  (with a wait time of 1 hour) Inside the Deadline branch there is a Send Step to send Email followed by a Control step to end the process.
    Thank you! I would appreciate a betterment in design

    In my opinion, this is not a very good design. Keeping open a BPM instance for 1 hour is not recommended. In case you have hundreds or thousands of such messages coming in, it would badly hit the performance.
    You haven't mentioned which kind of system is your receiver system. You may think about the following parameters:
    1.  What is taking so much time to send the ack?
    2. Could this ack be sent later as an async interface?
    Regards,
    Prateek

  • Reg:BPM Modelling

    In BPM Modelling an individual  swim lane contains business scenarios from same company or from same application ?
    Regards

    It could be both. It depends upon how you want to design your business flow. However, designing one only for an application is not that common.
    Regards,
    Prateek

  • Reg BPM 2:1

    HI Guys,
    i have a requirement where 2 files has to be picked and post to two files.
    conditions: if any one of the files are not picked then cancel the process.
    Correlation: no common fields exist in the two files.so we can use constant.
    can any one give me the steps to design the BPM
    Thanks,
    Madhu

    HI Prateek,
    I have done that process as you said.
    one Block step and a fork step inside the block and two branches for the fork, each branch with one receive step and each can start the process.and a deadline branch to the block step with 1 minute and a control step to cancel process.
    but, the files are picking and the messages are with the status "To be delivered" in integration engine.
    please suggest
    Thanks,
    Madhu

  • Oracle BPM Design

    Hi, We are in design phase, so thinking how many BPMN projects we should create or a single BPMN project with all process in it .
    Is there any document which help us to come up with how many BPMN projects we require and how it help us in future releases and advantages of multiple BPMN projects and single BPMN projects.
    Could anyone let me know your experience in designing the number of BPMN and ADF UI projects and its adavantages. Thanks a lot.

    Hi,
    You should use following pattern
    - Create Different BPM projects for different functionalities  like Create USER, Create Account
    - Club similar BPM processes in same BPM project like create user, update user etc.
    In this way you make your projects easy maintainable.
    Regards
    Bhupinder

  • BPM design for trigger based file from Oracle

    Hi
    We have one requirement as follows:
    1. We need to receive trigger file from Oracle.
    2. As soon as we recieved trigger file, it needs to activate all other 10 JDBC adapter channels.
    3. once reciever all 10 RFC channels completed, it needs to pass that trigger file.
    Please suggest design.
    Thanks
    Siva

    Hi Siva,
    1. We need to receive trigger file from Oracle.
    define a sender CC (FILE) which polls a directory every N seconds.
    The receiver of this message should be your BPM.
    2. As soon as we recieved trigger file, it needs to activate all other 10 JDBC adapter channels.
    in your BPM, trigger your 10 sender CC (JDBC). See sap help and blog to know how to trigger externally a CC. Easy to do.
    3. once reciever all 10 RFC channels completed, it needs to pass that trigger file.
    Then always in your BPM, you have to do a correlation on the 10 SQL responses (that's crazy!). Several blogs and threads on this subject.
    And after that, in BPM what do you do of these 10 SQL responses (thats' crazy!) ? do you have to merge data ?
    Welcome to the birthday of a future monster... for dev and maintenance... Sincerely simplify your flow!
    Question: do you really need to have 10 SQL? for your needs, is it not possible to create a stored procedure in database which will do the 10 SQL (with Join tables)... if yes do it, by tis way you will have only one Sender CC (JDBC) to trigger, and no correlation in a BPM. That will greatly simplify your flow.
    Regards
    Mickael

  • BPM Design required 1:N scenario

    Hi Frnds,
    I am working on one scenario JMS to (IDOC,RFC,MAIL).
    1) when i receive message from MQ first level i wl apply XSLT Maping then it gives one message it contains 3 sub  messages.in this case i have to send mail (confirmation mail ).
    1.1 I have to map XSLT Mapping out put to MBGMCR IDoc or DESADV IDOC or RFC based on  conditions.
          If SAP PO not found(RFC LookUp to retrieve PO Value) i have to send RFC message to SAP
          If SAP PO found ,the value =12 then i have to send MBG MCR IDOC
            If SAP PO found value is 10 0r 11 I Have to send MBGMCR IDOC and DESADV IDOC to SAP.
    final confirmation mail...
    my receievrs 5 .. how to design Intergratipn process,i developed message mapping and Operation mapping,but i am not clear about IP.
    many thanks,
    raj

    Hi prateek thanks for you replay,but i need some clarity,
    I developed 5 Interface mapping,
    1)to post message in to RFC
    2)to post message in to IDOC(mbgmcr if po =12)
    3)to post message in to IDOC(mbgmcr if po = 10 or 11)
    4)to post message in to IDOC(desadv if po=10 or 11)
    5)Mail(rfc response value si have to send as a mail)
    first four interface mapping wil have first step is XSLP Mapping second level maping is Message mapping.
    in message mapping i retrieved PO value(RFC LookUp) based one PO value i created target.
    my design approch correct? or i need to chnage design..
    many thanks,
    Raj

  • BPM design

    Hello experts
    I have a scenario where BAPI_SALES_SIMULATE is exposed as a webservice to a third party system through XI. The third party system expects response message in the language it calls , for this i found another bapi called BAPI_MESSAGE_GETDETAILS to convert the message into the required language. Can i achieve this using BPM ? I want the response from first BAPI to be used as request for the second BAPI and the response from second BAPI is appened to the Response of first BAPI and send over to calling thirdparty system.
    How can i achieve this using BPM , Could anyone give me the steps required for this please ?
    Many thanks
    Sudheer

    hi,
    Assume bapi1 does the actual functionality and
                 bapi2 does the language conversion.
    Then the webservice BAPI_SALES_SIMULATE.request is mapped to the bapi1.request, then bapi1.response is mapped to bapi2.request and later bapi2.response is mapped to webservice.response.
    Thanks,
    Durga

  • Messages interfaces doubt in Webservices and BPM design

    i have a requirement where SAP sends data to some web application.. so we are going to use Proxy to webservices.. in this we are also using BPM.
    SAP sends the data to PI ..in PI BPM triggers it will check some login credintials with webserices application and response will be sent back to PI .. in PI it will have to append the login session id with SAP data and then finally PI pushes the data to target system(web application).
    SAP--SAP-PI (BPM)web services.
      1. SAP sends data to PI
      2. PI checks the login credentials with webservices
      3.Sen back the session id
      4. session id appended to SAP data
      5. Final data will be sent to webapplications
    So how many msg interfaces that i need to create.?
      1 DATAfrom SAP_Outbound (Asyn) ---
      2. Data from SAP_Abstarct(Asyn)_BPM
      3. Data webapplication to SAP- (abstarct )-Sync   ( which gets the session id)
      3. FinalDatato Webapplication(Asyn)-Abstract
    Please correct me if i'm wrong...
    Regads,
    Deeps

    Hi Shabarish,
      Proxy call is Async
    Prateek,
       can we make it with SOAP lookup? which one is best the option BPM or SOAP lookup..
       i hope it is always good to have a interface without BPM right ?
      Can you tell me how to approach SOAP lookup.. ?
    Regards,
    Deep

Maybe you are looking for

  • HTTP Server for Windows 64 bit not on the companion CD

    Hi, I cannot find the HTTP Server for Windows 64 bit on the companion CD. Any idea where I can get it from? For the 32bit version the HTTP Server is on the Companion CD. Thanks in advance, Florin

  • Column and table aliases

    Hi, I was wondering if any of you know how to do the following: I have two tables (A & B). The columns on these two tables are similar in name in some cases eg: name and visit. So for table A I created an alias such as tb1 and for table2 tb2. This me

  • EPM 11.1.2.0 Re install

    Hi, I had a EPM 11.1.2.0 instance running which stopped working when i tried to uninstall web analysis component. After this I was not able to uninstall this installation completely, so I tried manually cleaning the registry and re installed a fresh

  • Problems installing LinkUp

    Dell SC-400 server (linking to new HP Pavilion p6-2120) Win XP Pro Install not successful, although no errors thrown at install time...searched down the setup.log file which contains the following: [InstallShield Silent] Version=v7.00 File=Log File [

  • Concat expression Collection T

    Hi all, I have a mapping in my entity, one to many mapping, example relationship "1 question -> many answers" so, in Question class, i can access a collection of "Answers"; But in my criteria query, i need to concat all "Answers' summary" for sorting