BPM, serialization messages through XI

Hello,
I want to achieve the following:
A business process receives and manages each message through XI in the same order as the adapter engine has sent this message (EOIO) to the BPM.
Therefore I use  the fork step (Necessary branches = 1).
The first branch receives messages and appends each message to a list. (Never ending iteration: 1 = 1). To receive each message I use a dummy correlation id like a version attribute of the message type (e.g. 1.0).
The second branch manages this message list how long as the last message in the list is managed (Iteration: ReveivedMessage.MessageId != MessageList[n].MessageId.
The process also sends messages EOIO.
I have tested it and it works. But I have never seen such a process and so I'm not sure whether this process reveals any errors.
Can anybody give me an hint whether this process is correct?
Regards
Marc

Hey Marc,
your questions are very pertinent.
I'll try to give some comments on experience that I've had.
For every collectPattern BPM instance (which is your case), you'll have a input queue which will receive messages while your correlation is active. So, while you are executing steps inside the block which defines the correlation, then you will also have messages being added to that instance's queue. So, it is extremely sugested that you use local correlations in a Block step and that you only put the loop with the receiving step and relevant container operation steps inside it.
In the case that some messages are in the queue but was never processed (because the fork or the loop reached an end condition, for example), they are called "Parked messages" and from XI SP 17/PI SP 8 you can even resend them (with a kind of huge delay time, this is a gap from workflow framework...). Check out these notes:
903139 BPE-RUN: Messages are not processed                   
901047  BPE-RUN: Local correlations, error in block at runtime
Briefly, you can minimize the probability of a parked message to occur, but you cannot eliminate it (probability will never reach zero). You can, by setting that particular BPM to a mode "without buffering" (meaning, no input queue), minimize the problem, and all messages which would be parked in "with buffering" mode will now be reprocessed (resent to BPE) but they have a kinda large delay (set in SMQR's Pause parameter for that particular queue).
To set the BPM for "without buffering" mode, you need to go to tx SWF_INB_CONF and enter the BPM_MODE='X' (the task of the BPM can be checked in SXI_CACHE).
But please read the notes (and the notes they refer to) before doing any setting. They comment you can't set a particular BPM to "without buffering" if you still have any parked messages for that BPM. You need to check and delete those through report RSWF_XI_UNPROCESSED_MSGS.
Regards,
Henrique.

Similar Messages

  • LE_SHP_DELIVERY_PROC Error message through Log .

    Hi,
    I'm working on a BADI LE_SHP_DELIVERY_PROC inside the method FILL_DELIVERY_ITEM. I have to show an error message over here. If i passed like MESSAGE e000(zless) WITH text-006 text-007 it is displaying message but it is come out from the layout of the transaction in scope.
    Te be more specific, when the pop up of message comes out and after that the user click on the "Exit" button, the  system should go back on the previous layout of the report to allow the user making another selection.
    I'm using Vl10D transaction.
    Now I'm trying to generate the error message through log by CT_LOG internal table . I have to block the deliveries whichever is creating through this transaction. If for a particular STO there are different loading points then I need to block the deliveries.
    I'm trying to block the current delivery using  IS_LIKP-LIFSK = 'X' and also I need to block the previous delivery IT_XLIKP-LIFSK = 'X'.
    strange thing is happening with STO which has 2 deliveries are getting created (because error msg is not getting tirggered thorugh log),  though I have blocked the deliveries.
    Could you please let me know how can i populate this error message through log as well as I can block the deliveries?
    Thanks in advance,
    Abhijit

    Hi
    To lock the delivery, see Note 198137 - VL10: Customer-specific enhancements / user exits and use this userexits. To populate the log I think that using the structure CT_LOG in the BADI is OK. Check when are called the userexit and BADI.
    I hope this helps you
    Regards
    Eduardo

  • Error while Submiting Support message through Web browser

    Hi Gurus
    I am geting error while submiting Support message through Web browser i.e BSP . Please find the error message below
    "Error: The system could not create the message because of an RFC connection "NONE " error Service-specific Csutomizing missing for transaction ZLFN"
    Note: ZLFN is our Service Desk Message type.
    Any ideas where i am doing wrong?
    Points will be rewarded
    Thanks
    Bhaskar

    Hello,
    check if when you configured your new transaction type ZLFN you have included a corresponding entry in view CRMC_SERVICE_H.
    If the transaction type is missing in this view, you have this error.
    Regards,
    Raquel Cunha

  • Create support desk message through "Help"

    Dear friends,
       I am creating support desk message in my Sol Man system through "Help" menu. At that time, system automatically calling transaction type "SLF1".
    Now i have created the new transaction type "ZZSL" by copying from SLF1.
    Now i want the system to call the new transaction type "ZZSL", when i create a support ticket through "Help".
    How to enable this?
    Please guide me on this.
    Regadrs
    Senthil

    Dear Anand,
       Thank you for the reply. But this one will work, if i create a support desk message through t.code NOTIF_CREATE.
    But i am NOT creating the support desk message through the transaction NOTIF_CREATE.
    I think you are of aware of creating the support desk message through "Help" menu.
    At that time i want to link transaction type "ZZSL".
    or..can u give u mail ID ..i will send the screen shots
    Senthil

  • I can no longer receive e-mail messages through my @mac/@me account. I can still send e-mail messages, though. I believe there may have been recent attempts to hack into my account. I have changed my password, but wonder how to start receiving mail again?

    I can no longer receive e-mail messages through my @mac/@me account, though I still seem to be able to send messages. I believe there may have been recent attempts to hack into my Mail account (my LinkedIn and Facebook accounts were both hacked three days ago and a scam/phishing message sent to my contacts, and I know there was at least an attempt made to hack into one of my e-mail accounts). I have already changed my Apple password, but how do I start receiving mail again?
    (And I should also say that I'm a little surprised there was no alert from Apple of suspicious activity on my account, if such was the case. Instead, when I logged into my account via Mobile Me three days ago I noticed that all messages in my inbox were gone as well as all of my contacts. I assume this was related to the current problem.)
    Thanks for all responses.

    The problem has been solved with the help of a MobileMe online counsellor. My MobileMe account had in fact been hacked into and the fraudster had been redirecting my e-mail messages to a phony account that he controlled. We took the forward off and reset all my passwords and security questions, which solved the immediate problem.
    Thx.

  • How do i get text messaging through my macbook pro?

    how do i get text messaging through my macbook pro?

    Welcome to Apple Support Communities
    If you have an iPhone, iPad or iPod touch and you use iMessage, you can use it in your Mac if you want. OS X Mountain Lion includes Messages, that allows you to use iMessage.
    First, check that your computer is supported > http://www.apple.com/osx/specs If so, open  > About this Mac, and see what OS X version you have:
    10.5 or older: you have to upgrade first to Snow Leopard > http://store.apple.com/us/product/MC573Z/A/mac-os-x-106-snow-leopard
    10.6 or 10.7: open  > Software Update, and install the most recent version. Then, open the App Store and purchase OS X Mountain Lion.
    10.8: you are already using OS X Mountain Lion, so open the Messages app.
    While OS X Mountain Lion is being downloaded, make a backup of your files and check that your apps are compatible > http://www.roaringapps.com
    If you aren't referring to iMessage, you can't send text messages in your computer

  • BPM sending messages to wrong inbound interfaces in PI and target system

    Hi All,
    i am doing File to proxy scenarion using bpm.i am receiving three files,two files splitting on based condition(location code) in receiver determination and sending to bpm(here one bpm receiving 3 files then it merges 3 files into one proact and some promo messages based promos in source file ,same in the second bpm with 2 files with different mapping,here target system is SAP APO SNC).i am doing testing now mapping and every thing is working fine.but first bpm sending messages(proact and promo messages) target sytem side (proact_in and promo_in)inbound inrefaces.if i am executing scenario both bpm sending (proact and promo) messaegs in target system its showing wrong bpm name.in target system also we can check messgaes sxmb_moni.
    ex:if first bpm A sending 1 proact and 2 promos,and second bpm B sending 1 proact and 2 promos to target system,but  in target syetm its showing sender component as 1st bpm A for 3 promo messages(here B bpm messages sending with A bpm viceversa i did the configuration correctly) and for 1 its showing second bpm. please give me suggetions how to resolve this issue.
    Thanks,
    seshagiri.

    Is the connection to SNC via idocs or proxies. If it's via idocs can you check the control record and see if the issue is not there ?

  • Problem in delivering Picture Messages through Java SMPP client

    I m working on development of SMPP Client, using Java. In it�s development I didn�t used any API from eny vendor, and implemented purely in Java. I am facing one unusual problem in receiving of Picture Messages. Also, I have one C based client application.
    I m sending picture message through both client application(s) to be delivered over different handset(s). I have tested many different cases, but could not conclude to any solution. The behavioral cases are as follows;
    When I sent same picture message through Java SMPP client on Nokia 1100, it get received with prompt �Picture Message Received�. And on viewing it, �Message cannot be displayed�, is informed and no picture message get displayed. Till now it happens for every caseto this handst, but get properly displayed on Nokia 32xx / 53xx.
    Whereas while sending through the C SMPP Client on Nokia 1100, sometime it get displayed and sometimes it doesn�t. Same prompts follows on not receiving right picture message while using Java SMPP Client
    I m not understanding why;
    It doesn�t get delivered correctly a picture message, every time I submits it to deliver on 1100 while sending through C based,
    And why It doesn�t get delivered correctly at all while sending through Java SMPP client on 1100 whereas it get delivered correctly over other Nokia model handset.
    Kindly, anyone make me solve out the prob���.

    Hi,
    Even we have implemented the Java SMPP client, to sending the picture message as embeded SMS.
    If you do not have issue to share the SMPPClient which is sending the picture message, I can look into the code and help you. Let me know, I can share my personal email id.
    Edited by: sanmetalica on Apr 14, 2008 6:01 AM

  • I have to send messages through UDP multicast and unicast from same port. In Labview I tried that it throws error. I heard it is possible by means of Datagram (UDP unicast and multicast) Port Sharing. How can it be achieved in Labview?

    I have to send UDP multicast and Unicast messages to a remote port from a single source/local port. I tried by opening UDP unicast and multicast in the same port and got the expected error. I tried by opening a unicast connection and sending unicast messages.After that when multicast messages has to send I closed unicast and opened multicast in the same port.This is not throwing any error. But my requirenment is to comminicate with another application in C ++ which recieves this data, throwing an error of lost connectivity and both the applications are not abled to communicate properly. 
    In the other application with C++ this is implemented using port sharing. So how port sharing can be implemented in labview so that I can send both multicast and unicast messages from the same port?
    Thanks in advance

    UDP is a sessionless protocol, meaning that anyone listening on the specified port CAN receive the data. CAN because as you noted there is no guarantee in the protocol that it will be received. And if you send the data not to a specific address but a multicast address not only one computer can receive it but in fact every computer on the same subnet listening to that multicast address and depending on the TTL of the packet also computers in neighbouring subnets, although that last one is not a very reliable operation since routers can be configured to drop multicast packages anyhow despite of a different TTL saying otherwise.
    Accordingly there is no real way to make sure that a receiving UDP port is not already in use, since you don't build up a connection. UDP is more or less analogous to shouting your messages through a megaphone, and anyone listening on the right frequency (port) can hear it. You do bind the sender socket to a specific port number but that makes little difference.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • BPM Collect Message dependent AND time dependent

    Hi
    I have a IDOC to file scenario where I have to collect all the IDOC until I receive a stop IDOC.
    Once the End collect IDOC is received I have to do a n:1 transformation and write the file to the FTP.
    The problem is, at times the IDOC which is suppose to end the collect loop gets stuck in ECC R3 system.
    So Im wondering If I can do something like say, we have two options inside BPM both time dependent and message dependent.
    In this case which ever comes first (the Stop/END IDOC or the Time say 3 mins) will end the collect process.
    Can anyone pls suggest will it work and if so what are the additional steps I have to introduce in the BPM.
    Pls advice.
    Right Now these are the steps in the BPM Collect Message dependent.
    1. Block (I have used correlation)
    2. Fork inside the block
    3. Fork branch one has a look with end condition as 1=1; then a receive step and a container operation inside the loop.
    4. Fork branch two receives the end collect idoc.
    5. Transform step outside the block.
    6. Send step.
    Thanks
    Prasanna

    Hi Abhishek/ Raj
    Thanks!!
    I have done the changes let me confirm after testing it once. In the mean time I have one more question regarding the same BPM, as I have mentioned in the first post, the BPM contains the 6 steps mentioned but the the 6th step is inside another block (Block2).
    The steps 1 to 4 are inside Block1.
    The step 5 ie the transformation step (n:1) is in between the Blocks ie not inside any block (hope im not confusing).
    The second block is for sending the file to the FTP and based on the acknowledgement (transport level) I have to send an email.
    So Block2 already contains a deadline branch, it is to wait for the positive acknowledgement for say 3 mins and send the error email if incase we dont get positive ack within the time limit.
    My doubt is,
    1. Is it the only way (having two block and two wait steps) to achieve this.
        (one block for collecting and one block for ack)
    2. Is there any way I can have a single Block in the BPM insted of two. If so what are the steps.
        Having single block, Will improve anything??
    Thanks
    Prasanna

  • CPU time of BPM or message mapping?

    Hi all,
    is there a way to find out how much CPU time is spent by a certain BPM instance (or message mapping instance)?
    It would be sufficient to get that value per BPM type / message mapping type.
    So far, I've found the following sources, which all won't work, unfortunately:
    - table SWWWIHEAD: No CPU time information (as far as I see)
    - transaction STAD: I don't see a way to connect an entry to the resp. BPM. There is a Transaction-ID, but I can't find it in the BPM...
    - transaction ST03N: Only aggregated values for user WF_BATCH, not detailed statistics
    - several places, which only show clock time, but not CPU time
    Thanks in advance!
    Kind regards,
    Dennis

    Hi Michal,
    Thanks a lot for your info.
    Too bad that there is no other possibility yet.
    I'm not completely sure whether the result is worth the effort, though, as there will probably be a lot of different BPM types on this system, so benchmarking each is quite some work (and requires an otherwise idle test system during this time).
    In addition, it could be difficult to generate test data that will most likely represent the expected data during production use. Especially for BPMs with many conditional tasks (branches, loops, ...), this can be a mess...
    But I will propose it anyway. If it gets accepted, I'll post the gained experience with this approach here. Maybe it works better than my pessimistic expection.
    Hopefully, SAP will integrate this functionality somewhen. I guess I set up some customer feedback.
    Kind regards,
    Dennis

  • Synchronous messages through Soap Adapter

    Hi XI Guru's
    In my scenario I am sending a synchronous soap message over soap adapter. Message flow is  like
    3rd Party Application --> XI --> SAP R/3.
    My message do get processed in SAP R/3 and I do get response in SXMB_MONI as well as in Message Monitoring in RWB.
    The return message for message f1bdf1d0-cec5-11de-a9c0-0050569626f6(OUTBOUND) was successfully passed to the waiting "call" thread.
    2009-11-11 05:27:26     Information     The message status was set to DLVD.
    2009-11-11 05:27:26     Information     SOAP: response message entering the adapter (call)
    2009-11-11 05:27:26     Information     SOAP: response message leaving the adapter
    But still the response from XI does not reaches 3rd party application.
    On digging the logs I found following message.  Can this be an issue in XI which is blocking the reponse message from reaching the 3rd Party Application.( I tried posting the message through XML spy and I do get the response in XML spy.)
    (Note : My XI Installation has central adapter engine)
    #1.5 #0050569626F6004200000D0B00000B5000F66675B4B8DEA5#1257401122698#com.sap.engine.services.servlets_jsp.client.RequestInfoServer#sap.com/com.sap.aii.adapter.soap.app#com.sap.engine.services.servlets_jsp.client.RequestInfoServer#LOVEIN#25369##sapnw03_NPI_6935550#Guest#2fd59d51c9d111debb440050569626f6#HTTP Worker [4]##0#0#Warning##Plain###Cannot send an HTTP error response [500 "Application error occurred during the request procession." (details: "The WebApplicationException log ID is [0050569626F6004200000D0800000B5000F66675B4B8DEA5].")]. The error is: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: *The stream is closed.*
    +     at com.sap.engine.services.servlets_jsp.server.runtime.client.ServletOutputStreamImpl.ensureOpen(ServletOutputStreamImpl.java:354)+
    Any help in this regard is appreciated .
    Thanks
    Lovein

    Thanks for your reply Stephan / Abhishek.
    To add some more info on the issue. This issue is when I am using PI 7.1 version.
    I do not face the issue if I use XI 3.0 and end to end flow works fine and response message reaches 3rd party application.
    Only difference I have in 2 versions is that in XI 3.0 we have been able to disable the soap adapter authentication (by changing web.xml file) where as in PI 7.1 we have not been able to disable that authentication and userid/ password info has to be provided while sending the soap message from 3rd Party application.
    (Security if not disabled gives 401 message as described on following blog [SOAP Sender ADAPTER 401 No Authorisation|SOAP Sender ADAPTER 401 No Authorisation] )
    On the other note do you guys know a way to disable this authentication on PI 7.1 version.
    Thanks ,
    Lovein

  • How to process multiple messages through one url over https

    Hi,
    My scenario is HTTP to IDOC, and the vendor will send different messages through one url to SAP system.
    is there any way to achieve this?
    Thanks
    Jessica

    can the Vendor at least pass URL parameters ? Normally, when you have several messages interfaces, the HTTP sender system should distinguish them with the URL parameters (party, namespace, interface). By that, XI then knows how to handle those messages, and can start its receiver determination pipeline. See SAP Help for HTTP sender channel:
    Queries entering the plain HTTP adapter must have the following syntax:
    http://<hostname:port>/<path>?<query-string>
    The query string contains the following data:
    ●      Sender namespace ?namespace=<namespace>
    ●      Sender interface &interface=<interface>
    These details define the sender interface.
    ●      Sender service &service=<service>
    Specifies the sender service.
    ●      Sender party (optional) &party=<party>
    CSY

  • Viewing the way of a message through integration process

    Hey,
    I would like to check the lifecycle of a message through an integration process (IP). Therefore I took the ID of a message that triggers the IP.  Our IP have several sending steps and I would like to see the messages that will be send. In sxmb_moni I clicked on PE and opened the technical view of my IP.
    The payloads of the container are empty. I think this is because of configuration in sxmb_adm.
    Is this the only way to figure out which messages belong to my IP?
    How to found the message IDs of all messages that belong tho this IP?
    thx
    chris
    Edited by: Christian Riekenberg on Aug 20, 2008 3:38 PM

    @Bhavesh Kantilal 
    No I didn't check this flag. Thanks for this information.
    I figure out that you can show all messages to a integration process
    by using transaction sxmb_moni_bpe.
    Following steps are necessary:
    - took the message ID, date and time of receiving of the message that triggers a integration process
    - go to sxmb_moni_bpe and choose "Process to a message"
    - enter receiving interface name that triggers the process and a fitting time.
    - choose your process with the time and date of your message
    - mark this process and look in the further information if your message ID is in this process
    thx
    chris
    Edited by: Christian Riekenberg on Aug 20, 2008 5:12 PM

  • Processing compressed message through MQ Adapter

    Hi,
    In oracle MQ Adapter documentation I do not see any support for processing compressed messages through MQ adapter.
    Is there any other way by which I can process compressed messages through MQ Adapter. I have CCDT(client channel definition table ) file saved at server location.
    We are using 11.1.1.5 SOA server.
    Thanks,
    Ashu

    you should ask this in XI forum
    Process Integration (PI) & SOA Middleware
    Regards
    Raja

Maybe you are looking for