Routing messages in BPM

Hi,
I have the following scenario:
I send an IDOC from SAP R/3 to PI. In PI this IDOC is sent to a BPM.
In the BPM an select-statement is performed to get additional data from an external database
Then a mapping is performed and I have to update the same database with the new data.
Now it is getting more complicated because I have 2 sending R/3 systems and 2 receiving external databases, but I have only 1 PI system
So,
System A  ---> PI  system Z --> select-statement in database X --> PI system Z --> mapping --> update database X
System B  ---> PI system Z --> select-statement in database Y --> PI system Z --> mapping --> update database Y
It is possible to route the select-statement to the correct database using Context-objects in the receiver determination, because SNDPOR is still filled with the R/3 Port. After the database select this context is not available anymore. So I can not route the update statement anymore.
How can I fill context objects with the correct data?
Thanks
Ron

Hi Jaishankar,
The BPM looks like this
Receive step --> receiving the IDOC in the BPM
Synchronous Send Step --> select statement to database
Transformation Step --> to determine the database updates
Synchronous Send Step --> update statement to database
In the receiver determination (configuration) of the first synchronous send step I can use the Context Object SNDPOR, because this contains the port of the sending system (eg SAPA or SAPB). With this information I can find the correct receiver (eg when SNDPOR = SAPA go to database X)
But in when I arrive at the second send step SNDPOR is nog filled anymore. So I don't have the possibility to find the correct database.
Is there a way to store this info somewhere in context objects?
ROn

Similar Messages

  • Collect messages in BPM

    Hi experts,
    Need to create one scenario to collect payload of XML files, I have done this work in Design and Configuration :
    data types : test_collect
    Message Types : test_collect
    Message Interfaces :  Test_collect_1 (abs asy),  Test_collect_2 (abs asy)
    I need to collect Test_collect_1 and pass it to Test_collect_2
    Message Mapping : Test_collect_1 - Test_collect_1
    Interface Mapping :  Test_colect_1 - Test_collect_2
    Integration Process is created as example in Standard Process in SAP BASIS
    --> http://sap.com/xi/XI/System/Patters --> BpmPatternCollectPayload
    Need to created more mappings or not.
    How I will created proper Configuration Steps,
    mean no. of Sender Agreements, receiver agreements, Receiver Determinations and Interface Determinations etc.
    Regards,
    Study SAP

    hi study sap,
    check the below blogs to have a cleat understanding
    Check these
    BPM:
    Walkthrough with BPM - Walk through BPM
    BPM in XI https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/integrationProcess%28ccBPM%29inXI&
    BPM-1 Walkthrough with BPM
    BPM-2 Reconciliation of Messages in BPM
    BPM-3 RFC Scenario using BPM --Starter Kit
    BPM-4 The specified item was not found.
    Schedule BPM Schedule Your BPM
    Use of Synch - Asynch bridge in ccBPM Demonstrating Use of Synchronous-Asynchronous Bridge to Integrate Synchronous and Asynchronous systems using ccBPM in SAP Xi
    Use of Synch - Asynch bridge in ccBPM https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    without BPM Sync/Async scenarios without BPM
    without BPM1 Sync/Async communication in JMS adapter without BPM (SP19)
    IDOC BPM IDOCs (Multiple Types) Collection in BPM
    multimapping without BPM /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible---- Multi Map With out BPM
    Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI. Various multi-mappings and
    Optimizing their Implementation in Integration Processes (BPM) in XI.
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure --- Illustration of Multi-Mapping
    and Message Split using BPM in SAP Exchange Infrastructure
    IDOCs (Multiple Types) Collection in BPM (N:1 Mapping )
    regards
    kummari

  • Stateful messages in BPM(Urgent)

    hi,
    BPM is used for handelling stateful messages.But what is the maximum no. of messages it can handle,without reducing the performance.

    Hi,
    Business Process Management provides SAP Exchange Infrastructure with functions for stateful message processing: The status of an integration process is persisted on the Integration Server. This means that you can specify how long an integration process must wait for further messages to arrive, for example. Furthermore, this enables you to process messages within an integration process further still; for example, you can collect certain messages and then send them in a particular order.
    For Performance fine tunning avaoid having message mapping inside BPM,do it either before the BPM or after BPM
    BPM is used for Stateful communications,suppose u have to delay message processing,or wait for other messages to arrive and then semd them all together,in that case use BPM.
    go thru this: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    Performance is not only depend on the usage of BPM, it also depends on the message volume inside the BPM. So it depends on the memory size, message size i.e payload size , design , mapping used etc
    This basically means SAP XI as a EAI tool without the BPM provides stateless message. this means that one message coming in SAP is not dependtent on another message.
    BPM in SAP XI is used to make messages stateful and this allows us to do functionalities like collecting message , splitting message, waiting for a message etc.

  • Emulate Fault message in BPM

    Hello
    I have read all related topics
    fault message in BPM process
    Alert monitoring and fault message types
    Using Fault Message Type in BPM
    but no answer..
    I have synch BPM that send synch request to RFC and a mapping step. Then I have to catch exception (of send step or mapping) and send fault message in exception handler.
    I haven't a proxy. I want to create fault message manually and send it. Is it possible? I cannot create an interface of fault message type.

    Hi Sergey,
    As far as I know, it's possible to catch the mapping/send exception.
    It's also easy to define an exception branch for this exception, and inside the exception branch, send a "normal" message in a send step.
    However, as far as I know there's no way of specifying a BPM send step that sends a fault message.
    At least in my experience, regular messages are just as useful when sending error information.
    Cheers,
    Ofer

  • Collection of messages in BPM

    Hi Experts,
    Collection of messages in BPM is not working,IP is executing for each Idoc.Actually i have done the sceanrio Idoc to File,Here I am getting multiple IDocs of same type from R3 when run a transaction and i would be generate a single file for all the IDocs.For this i have changed the occurence of Idoc from 1..1 to 1..unbounded and done the mapping betweeen these two. i have done bpm just like as standarad bpm pattern "BpmPatternCollectTime".I mentioned the time as 1 minute.in transformation step i had mentioned interface mapping for 1..1 Idoc to 1..unbounded Idoc and the real mapping conditions of this sceanrio is carried out after the bpm. The Idoc's are generating from R3 with the time diffrence of 3 secs.So it should generating a single file what ever the no.of idocs populating within a minute.
    In monitoring it showning for bpm, its trigerring for each incoming Idoc and procesing successfully.
    For Ex: Two idocs are coming from R3 then BPM triggers twice
    What could be the possible reasons for this or i have done any thing wrong.
    Any ideas.., Thanks in advance
    Cheers
    Tiger Woods.

    HI,
    Try to Use Idoc packaging. also see the below links
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
    /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm - collecting IDocs without BPM
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters - IDoc to File
    Regards
    Chilla

  • Multiple files, same structure into one message without BPM

    Hi,
    Is it possible to read multiple files (each with single row) as one message without BPM by some configuration in channel?
    For example:
    input files placed simultaneously in input folder:
    file1: a,b,c
    file2: f,g,h
    file3: k,l,m
    after adapter picks files, xml message:
    <Message_type>
        <RecordSet>
            <file>
                 <A>a</A>
                 <B>b</B>
                 <C>c</C>
            </file>
            <file>
                 <A>f</A>
                 <B>g</B>
                 <C>h</C>
            </file>
            <file>
                 <A>k</A>
                 <B>l</B>
                 <C>m</C>
            </file>
         </RecordSet>
    </Message_type>

    Bond,
    Yes Bond. You can read the pattern what you have given.
    First Read the whole line in the file as one record. Now take the substring or write udf in mapping. This entirely depends upon your requirement.
    Regards,
    ---Satish

  • How to split messages without using Message split (BPM)

    In file to file scenario how to split messages coming from file without using Message split (BPM)

    Thank you very much.

  • Order of Message in BPM

    Hi guys, i got a question regarding BPM. Does BPM will retain the sequential order of a message?
    For example I am calling a storedprocedure oracle (via jdbc adapter) synchronously.
    My message will contain 4 rows in sequential order 1 2 3 4. The stored procedure will return a value to XI (BPM) for each row (that is A B C D).
    Does the return from the storedprocedure is also in the order of my message from BPM, that is:
    For row 1, i will get an A for the return.
    For row 2, i will get an B for the return.
    For row 3, i will get an C for the return.
    For row 4, i will get an D for the return.
    Does anyone know about how XI (BPM) handle this?
    I really appreciate any solution and input from you guys. Thank you very much in advance.

    Wishnu
    Are you sending all the rows in one instance ( Single XML file ) or in different 4 XMl files.
    If they are in different XML files than you have to use the Correlation, to assign messages that belong together to the same process instance.
    - Lalit -

  • How to monitor message in BPM?

    Hi all
    I try to find in forums but I did not find. Could you please to guide me how I can to see message content in each step in BPM.
    Thanks and Regards
    Park

    Hi park,
    To monitor messages for BPM... got transaction SXMB_MONI_BPE
    there u can check each step.....
    hey... check the slide....also useful......
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1db5e190-0201-0010-1c90-d9de570c6b18
    Regards
    Biplab
    <i>Reward with point if useful</i>

  • Dual-routing messages in gateway/ext-domain

    Here's another question related to our impending rollout of Groupwise to
    our stores...
    Currently, our stores' POS systems receive text messages via the
    mainframe. To allow corporate users with Groupwise to send mail to the
    stores, we set up many years ago an external domain and set up each
    store as an external user in this external domain. Then, using the 4.2
    API gateway, all mail sent to any of these external users is dumped in
    the ATT_OUT and API_OUT folders which is then picked up on a timed
    basis by the mainframe and delivered to the store's POS system.
    Now, using SLES10 and a Linux portal, we are going to give each of the
    stores a REAL groupwise address with a REAL mailbox.
    What I'd like to know is... is it possible to route messages sent to
    the external user back to the new real mailbox while the conversion
    process is taking place. In other words, we've got to convert 1300
    stores and this process will take several months. Thus, we won't be
    able to turn off the api gateway all at once and it will take some time
    for systems and users to start using the new mailboxes.
    So... if an internal groupwise person sent a groupwise message to
    external user 10337.POS (where 10337 is the external user and POS is
    the external domain), could the message still be placed in the
    API_OUT/ATT_OUT folder of the gateway so the mainframe could pick it up
    while simultaneously the message is routed to store10337.PRI_DOMAIN or
    [email protected]?
    Jim
    jgosney

    jgosney,
    It appears that in the past few days you have not received a response to your posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Do a search of our knowledgebase at http://support.novell.com/search/kb_index.jsp
    - Check all of the other support tools and options available at http://support.novell.com in both the "free product support" and "paid product support" drop down boxes.
    - You could also try posting your message again. Make sure it is posted in the correct newsgroup. (http://support.novell.com/forums)
    If this is a reply to a duplicate posting, please ignore and accept our apologies and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Product Support Forums Team
    http://support.novell.com/forums/

  • Workflow Process Manager - Could not route message to WfProcMgr with regist

    Hi,
    We recently started getting a strange error in our DEV environment:
    Could not route message to WfProcMgr with registered key (null)
    This is happening with the Server Component, Workflow Process Manager, and all services associated with this.
    We are using Siebel v7.8.2.8. If anybody can provide any pointers, it would be of great help!
    Thanks

    Hi Trym,
    Thanks for your time!
    The target workflow that I am triggering from the WfProcMgr is a custom workflow and it does not have a BO defined. So, the Object Id should not be a mandatory field (I am in any case, not passing any Object Id). Nevertheless, whether I have an Object Id or I do not, I would assume that the Workflow would at least get triggered. I donot see as to why the Workflow would not trigger at all.
    Though Siebel does act weird at times, I think the error I am getting is still somehow related to the actual cause! I would really like to understand as to where is this Registered Key stored in Siebel that it is continually searching for.
    *When you say "Workflow Process Manager server component directly" do you mean like in a eScript
    call in e.g. a Business Service?*
    Please refer the second part of my previous post for this. I am trying through Server Requests BS and through Workflow Policies.
    Thanks.

  • Sockets and ports - routing messages between machines? helpppp!

    Hi,
    I'm new to java and am hoping someone out there can help me, hoping this is an ok place to post this:
    If all you need to create a connection is an IP address and a port number, using streams...
    Can you route messages from A to B then from B to C, where A looks up C through B having a hash table which contains C's IP address and port number?
    And how in the first instance does B know about A's IP address? All the examples I've seen the IP address is hard coded?
    Thanks in advance!

    I'm not sure what you are really trying to do... Can you explain in more concrete terms? Are you writing a chat client + server or something like that?

  • Routing messages

    Hi,
    I have :
    - a domain A as test1.com
    - a domain B as test2 .com
    - a domain C as test3 .com
    Only the A domain is local, and i must route messages to domain B or C on a relay machine.
    I tried this :
    imtra.cnf
    ! intra
    .test2.com $U%$D@chan_intra-daemon
    .test3.com $U%$D@chan_intra-daemon
    And added the following channel (imta.cnf)
    ! chan_intra-daemon
    chan_intra smtp mx daemon 10.0.0.1 single_sys subdirs 20 dequeue_removeroute maxjobs 7 pool SMTP_POOL maytlsserver allowswitchchannel saslswitchchannel tcp_auth missingrecipientpolicy 4 disablesourcespamfilter
    chan_intra-daemon
    where 10.0.0.1 is the relay.
    It doesn't work.
    How can i do this so ?
    Thanks a lot.

    Create domain B and C within Messaging Server. Add a "domainsmarthost" for those domains, pointing to your relay box. done.
    Remove what you already did. It's neither needed nor a good idea.

  • Reg: Message and BPM

    Hi
    I'm having a scenario where i use a JDBC adapter to extract data from a DB. As a result of the query say, 10 rows are returned as message to XI server. I have a transformation (BPM) set and the receiver(target system) is a file. When i open the file to see its contents i can see only the first record been transfered. The mapping part used for the transformation node is having IF condition. But all the fetched records satisfies the conditions in the mapping.
    Pls let me know the corrective step.
    reg: Prabhu

    Hi,
    1)Check the input XML i.e all 10 records are coming into XI . This you can check in SXMB_MONI
    2) Then you can test the mapping in the integration Reposiotry .. So now you can get if any mapping problem. For this , check is the occurence of target strcuture is 1..n or 0.n
    /people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
    3) If mapping is correct , then check the RWB->Message Monitoring->Message Display Tool and check the payload.
    4) If this is correct, then check the File COntent Conversion of the Receiver File Adapter.
    Hope this helps,
    Regards,
    Moorthy

  • Report Error Message in BPM Alert?

    Hi,
    I designed a BPM with a transformation step and a send step. For each step I have an exception branch where I want to trigger an alert, when something goes wrong.
    I already configured in TC ALRTCATDEF an alert category (Dynamic Text activated). And I made an container operatinon with folloing control step, where I for example report the message ID.
    But, going through the blogs and threads I didn't find the information, how I can report the exact error message, the error category (and in case of the send step the adapter and the adapter error text) to the alert. How can I get this data to put it into a container variable?
    Can anybody give me some information about that?
    Thanks in advance
    Dominic
    System: PI 7.0 SP15

    You can use the below information for raising an Alert for adapters.
    Specific Error Information from the Adapter Engine:
    Container Element
    ABAP Dictionary Data Type
    Meaning
    SXMS_TO_ADAPTER_TYPE
    CHAR70
    Adapter type
    SXMS_TO_ADAPTER_ERRTXT
    CHAR70
    Error text from the Adapter Engine
    Refer the below link:
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm

Maybe you are looking for

  • I am having a sudden shutdown during start up

    During the initial start up of my MacPro i am having a sudden shut down looks that the power has just been turned off. After trying again the same thing happens. Basically at the moment i cant start up the MacPro to see what is the problem. Does anyo

  • Creating a dynamic where clause

    hello, I am trying to create a procedure whech needs to parse a dynamic where clause into a cursor. The problem is I do not know the number of items that the user has selected (from previous input), thus what I want to pass in is a string of variable

  • Nokia E71, date keeps changing

    My date on the Nokia E71 keeps changing. It tends to jump a few days. For example, today (5th March) it has jumped to 7th March. I have the network time on and off, so I don't think it is that. http://www.sassco.co.uk/ Soccer and basketball events in

  • Strange Syntax Error in module pool table control........

    Hi Techies , In module pool am not able to validate the checkbook field that i have included in the table control screen . i was able to pass the other field defined in the same structure where checkbox field is declared .

  • I can't get the wirless router WPA secruity passphrase to match my printer any ideas

    I have HP4500 all in one printer. When i run the set up on the wireless it shows the wireless connection & the password however I get a message when installing saying " The WPA secruity passphrase on the printer does not match my wireless router." Do