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

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

  • 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

  • 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

  • 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

  • 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

  • BPM design help needed

    Hi,
    I have a scenario like this.
    Step1. Invoice idoc should be passed from R3 to XI using an asynchronous proxy.
    Step2. In XI, mapping should take place and message should be passed back to R3 using a synchronous proxy.
    Step3. Response message of the synchronous proxy should be a server number from R3. In the server, the invoice xml message would be stored.
    Step4. Get the server number and mapped with one message type declared in XI. At the same time, I need to map invoice number alone with an invoice number message type declared in XI. Need to combine server number and invoice number to R3 back using a synchronous proxy.
    Step5. The response message should be the invoice stored in the server in Step3.
    Step6. XI receives the response Invoice xml message and send out to MQ.
    I am doing the scenario using BPM. Step 4 is really confusing for me. The steps mentioned above are prepared by me. If any discrepancies, please mention that as well in the reply. I am going to do BPM for the first time. So please send me a detailed explanation.
    I tried to make the scenario as clear as possible. If any confusions, please let me know.
    Thanks,
    Deno

    Hi Sasi,
    I tried to implement the multimapping. But I got confused.
    I need to get Server number as response message from R3 to XI. At the same time I need to map the invoice number to one datatype declared in XI. I am not sure how i will implement this logic in BPM. What kind of mapping can i use for invoice number. So content server number and invoice number are need to be handled separately in XI and merge it and send back to R3. Is it possible in BPM?
    Thanks,
    Deno

  • BPM Design suggestion needed....

    Hi Friends,
    I am doing a BPM Sync interface. My secnario is, i am getting two files and i need to compare the two files and send it to the proxy through sync step and getting the response from proxy and send the response to the file. I have done this by using BPM. Initially it was working fine, now i am facing issue in the coorelation. If i execute a small file ex. 300 records, it is going well. When i test with 7000+ records, in the monitoring it is showing status as "message being sent". I have waited more than 2 hours, but the result is not coming out. After some time if i run a small file with 300+ records, this time both earlier file as well the new file gets processed and i am getting result for both interfaces.
    I just wish to check with you, is there anyway to stop the BPM process while running?
    Pls advise me..
    Regards
    Bala

    Hi Bala,
    Since your 300recors is working fine and 7000 is having issues, if possible in dev system try to increase the records from 300 to 1000 and do a test. If 1000 works smooth then increase to 2000 and see where exactly you are having with number of records. That would be the maximum records your system can take. This is usually a hardware, tuning and sizing issues. Please invovle basis guys and let them increase the tuning parameters etc.
    Regards,
    ---Satish

Maybe you are looking for