BPM Queue

Hello everybody,
Is there a way to generate more than one queue for a BPM in PI?, the reason for this question is that I have a BPM that generates a lot of instances, but they are all in the one queue generated for the BPM in SMQR, now I was wondering if there's a way no parallelize that, thanks in advance.
Regards,

Hi,
This may helps you
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/59e837d3-0201-0010-c096-dc1869733413
/people/sap.user72/blog/2005/12/12/how-to-prioritize-messages-in-xi
/people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
REgards

Similar Messages

  • BPM queue get block

    Hi,
    I have a web services that use bpm scenario. Every time when a error example date type format happen on the bpm the queue with get block on smq2 and others request by the web services will get hold. Any way that can i disable this? Every time i have to delete the error queue in order to let the webservices work again.
    Thanks for help.

    Hi Fcgan,
    Use these reports to handle the queue in automated manner.
    · RSARFCSE: Restart an LUW (background job)
    · RSARFCEX: Restart tRFC LUWs (background job)
    · RSQOWKEX: Restart QOUT qRFC LUWs
    · RSQIWKEX: Restart QIN qRFC LUWs
    · RSARFCSE: Delete an LUW (background job)
    · RSARFCER: Delete various LUWs  
    Thanks!

  • BPM Queue problem

    Hi there, i have a BPM with a Block step that has an infinite loop and collects delivery idocs, i have an exception set to 2 minutes or 500 idocs, basically when i send more than 500 idocs or it takes more than 2 minutes the first group is processed perfectly, but the remaining idocs are stuck on a queue visible under the smq2 with the status READY, does anybody has an idea of what could be the problem?,
    Best Regards,
    Roberto.

    Hi there,
    i cannot see any errors, i do have a correlation active by some region ID, but my test involves only delveries of 1 region, i don't know what could be wrong about the correlation, in addition the bpm steps goes as follow:
    - infinite loop with a receiver step inside a block step with a timeout exception
    - after that i transform those collected messages into 1
    - synchronous call to a 3rd party via webservice
    - send back the response to ECC
    Roberto.

  • Sync BPM queue

    Hi,
    I have a sync BPM scenario with post a PO using webservices and then respond back to soap client and also a text file to ther receiver server. My problem is there was only a queue for the BPM but there will be many user will use this services to post PO. How can i increase the queue? Is that by select multiple queue? How can i solve this waiting queue problem?
    Thanks
    Edited by: fcgan on Dec 15, 2008 8:15 AM

    Hi,
    As explianed in the link by Prateek ,you can try with the option u201CMultiple Queues (Content-Specific)u201D.
    What you mean correlation not work properly?
    correlation will not work properly because messages handled by different queues(Multiple Queues) might start new process instances instead of being correlated to a running instance. and hence correlation will be affected.
    Thanks!

  • BPM queue in SYSFAIL

    Hi
    I am trying to trigger a BPM scenario. I get the messages, three input files, successfully processed iN SXMB_MONI. However I am not able to see the message processing of BPM there. SXMB_MONI_BPE doesn't show any BPM workflow itself.
    I clicked on the PE under Outbnound and saw messages in queue with SYSFAIL. I deleted the queue and triggered again still the messages are in the queue with SYSFAIL.
    Why do I get that ? Could it be because settings or configuration of BPM are wrong ?
    How do I proceed further ?
    Harish Babu

    Hi, see this blog.
    /people/prasad.illapani/blog/2007/04/27/performance-tuning-checks-in-sap-exchange-infrastructurexi-part-iii
    to check the correlation use the pattern BpmPatternSerializeMultipleTrigger and BpmPatternSerializeOneTrigger as reference. its located in SAP_BASIS Software Component.
    Remenber that i dont know what kind of piking file you have in BPM so y give you both.
    the TCode is:SWF_INB_CONF. this kind of configuration apply to ccbpm BpmPatternSerializeOneTrigger.
    see this blog that reference to the Delivery Mode:
    /people/milan.thaker/blog/2008/07/04/delivery-modes-in-bpm
    Also, as recomended in a previous post, deleter all entries in the transaction SWWL filtering by Type= F and all other fields in blank.
    Letme Know.
    Thanks
    Rodrigo P.
    Edited by: Rodrigo Alejandro Pertierra on Jun 25, 2010 9:47 AM
    Edited by: Rodrigo Alejandro Pertierra on Jun 25, 2010 9:52 AM

  • BPM Queue error.

    Hi,
    I am doing one BPM scenario which have multiple triggering receive steps.
    but when i am running my scenario in SXMB_MONI it is showing "Message scheduled on outbound side" and it is not reaching the receiver side adapter engine thus the o/p files are not getting generated.
    I have followed this webblog for troublrshooting:
    Delivery Modes in BPM.
    but it is not getting resolved although i am configuring the Delivery mode as "Buffering Possible".

    Hi,
    Try as suggested by Prateek or use no buffering as explained in blog. also check the thread
    Permanent error in BPE Inbound processing
    Thanks!

  • Error while restarting BPM which falied in Queue & status is sysfail

    hi all,
    We are trying to restart the BPM which failed with status as SYSFAIL using 'Execute LUW'.
    Error coming is 'Function module does not exist or EXCEPTION raised'
    How can we restart such messages?
    Thanks,
    Mayank

    Hi Mayank,
    i think if there is an error occured in the BPE processing then you might have to restart that work item from SXMB_MONI_BPE.
    so in SXMB_MONI_BPE-continue process following error, check if the integration process is having error in any of the steps and restart it if possible. Afterwards we would be able to restart the BPM queue from SMQ2.
    regards,
    francis

  • Application fault for Sync Send holds up the ccBPM queues

    Hello Experts,
    I have the following scenario which I have realized using a ccBPM in SAP PI 7.31.
    I receive a nomination idoc from ECC from which I create a nomination request to be sent in Sync manner to a web service. The response received from the web service is sent through another idoc, back to ECC. In case of any failure during this, an ALEAUD idoc is sent back to ECC to convey the failure. This web service returns an application fault in case any data in the request is improper and there is no fault message in the WSDL for the web service.
    I have used a ccBPM to receive the nomination idoc from ECC, transform it to web service request and send it using a Sync Send step. In case an application fault occurs, the SOAP receiver channel shows the error as application fault and my Sync Send step does not receive the expected response. However, a SOAP message with envelope is received from the web service which leads to the BPM queue land in error 'Permanent error in BPE inbound processing'.
    However, in case of the application fault I want to make the Sync Send step trigger an exception so that the ALEAUD idoc is sent back to ECC system.
    Any thoughts on how i can achieve this?
    Thanks in adv.
    Diptee

    Hello Experts,
    I have the following scenario which I have realized using a ccBPM in SAP PI 7.31.
    I receive a nomination idoc from ECC from which I create a nomination request to be sent in Sync manner to a web service. The response received from the web service is sent through another idoc, back to ECC. In case of any failure during this, an ALEAUD idoc is sent back to ECC to convey the failure. This web service returns an application fault in case any data in the request is improper and there is no fault message in the WSDL for the web service.
    I have used a ccBPM to receive the nomination idoc from ECC, transform it to web service request and send it using a Sync Send step. In case an application fault occurs, the SOAP receiver channel shows the error as application fault and my Sync Send step does not receive the expected response. However, a SOAP message with envelope is received from the web service which leads to the BPM queue land in error 'Permanent error in BPE inbound processing'.
    However, in case of the application fault I want to make the Sync Send step trigger an exception so that the ALEAUD idoc is sent back to ECC system.
    Any thoughts on how i can achieve this?
    Thanks in adv.
    Diptee

  • Correlationid in ccBPM in stopped bpm's

    Hi,
    We use PI ccBPM to coordinate between several async services.
    Each service is called async and a deadline (timeout) is opened waiting for it to callback async. The receiver is configured with a correlation id so that the correct bpm context is restored when the call returns. If the deadline is meet before the callback receiver has been called, we want to report an error, and stop the bpm process.
    The process woks fine when there are no timeouts. However, we found that if a process times out, and we exit the bpm instance, but later a callback arrives with a correlation id for that closed process, the whole bpm queue (for ALL existing and future instances) is stuck, until queue is handled manually.
    What can be done to avoid this result?
    10x

    Try disabling the 'Create New Transaction' flag from the receiver step.
    Also, please check the OSS note [1042379 - BPE-HT: Deleting messages that are no longer used|https://websmp230.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1042379] for removing the unused messages.

  • Connector BPM Engine is not able to connect REMOTE DATABASE

    Hi All,
    We are facing the following issue while invoking any operation in BPM Queue.
    Can any one have any idea why we are facing this issue.
    An exception occurred while executing a transaction. Details:
    Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Caused by: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
    Runtime exception Shell.
    Apparent cause :
         Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Original stack trace follows ...
    fuego.connector.ConnectorException: Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [bpmengine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
         at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:95)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:324)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:298)
         at fuego.connector.JDBCHelper.getConnection(JDBCHelper.java:41)
         at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:593)
         at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:307)
         at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:179)
         at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:447)
         at fuego.server.AbstractInstanceService.create(AbstractInstanceService.java:301)
         at fuego.server.execution.microactivity.BeginMicroActivity.createInstance(BeginMicroActivity.java:91)
         at fuego.server.AbstractProcessBean$51.execute(AbstractProcessBean.java:3662)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
         at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3670)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:667)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:746)
         at fuego.components.Process.createInstance(Process.java:106)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
         at xxx.JMSListener.Default_1_0.Instance.CIL_jmsReceiver(Instance.xcdl:75)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1091)
         at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1295)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
         at fuego.server.AbstractProcessBean$43.execute(AbstractProcessBean.java:3026)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:3032)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:126)
         at fuego.ejbengine.EJBProcessBean.executeTask(EJBProcessBean.java:149)
         at fuego.server.execution.GlobalJMSExecutor.execute(GlobalJMSExecutor.java:107)
         at fuego.ejbengine.EJBGlobalJMSExecutor.access$400(EJBGlobalJMSExecutor.java:43)
         at fuego.ejbengine.EJBGlobalJMSExecutor$JMSExecutorWorker.run(EJBGlobalJMSExecutor.java:216)
         at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
         at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835)
         at weblogic.security.service.IdentityUtility.authenticatedSubjectToIdentity(IdentityUtility.java:30)
         at weblogic.security.service.RoleManager.getRoles(RoleManager.java:183)
         at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:375)
         at weblogic.jndi.internal.ServerNamingNode.checkPermission(ServerNamingNode.java:442)
         at weblogic.jndi.internal.ServerNamingNode.checkLookup(ServerNamingNode.java:423)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:180)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)
         at javax.naming.InitialContext.lookup(InitialContext.java:392)
         at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:116)
         at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
         at fuego.connector.impl.RemoteJDBCConnector.createConnection(RemoteJDBCConnector.java:246)
         at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:109)
         at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:80)
         at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:158)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:319)
         ... 45 more
    Thanks,
    Abhishek

    Abhishek,
    Please cross-post in BPM forum -
    Business Process Management Suite
    Either it is LDAP issue or cross-domain communication issue. In the later case, you need to enable trust between the domains (section "Enabling Trust Between WebLogic Server Domains")-
    http://docs.oracle.com/cd/E23943_01/web.1111/e13707/domain.htm#i1176046
    Regards,
    Anuj

  • Suggestion required for with or without BPM

    I have a requirement IDOC-XI-SOAP.
    I am using multimapping 1:N  one idoc gets spilt into say three wsdl, A B and C.
    My first requirement is if A fails then B and C should not be sent.
    If I use only EOIO without BPM then I will need to identify B and C for the corresponding A in the queue and remove it.
    That looks tedious as sometimes B and C may not be there for A and is there any way to identify the related messages?
    This can be achieved through BPM I believe.
    My second requirement is IDOC2 should not be processed before IDOC1.
    So If I used BPM will this be guaranteed? is BPM EOIO. (Even after transformation step?) If not then can it be configured?
    Thanks in advance.

    Hi all,
    Just bringing this topic up again as I have stuck at one place. and found not much help on SDN.
    I have designed this requirement using BPM.
    That is IDOC-BPM-SOAP.
    Within BPM I make a synchronous call to Webservice. if there is a fault exception thrown the BPM workflow stops at that point and no further process steps are carried out. This is working fine as per the requirement.
    But this does not get blocked up in the BPM queue. I want to stop the next IDOC from processing before handling the prviously errored IDOC scenario.
    Now I briefly understand that since BPM is doing a sync call these are not placed in the queue. Is there a way I can handle this so that these interfaces are placed in the BPM queue (which starts with XBQO$PE_WS.....).
    I have tried with exception branch, even this stops the BPM workflow but does not block the queue, or the workflow gets processed successfully.
    Is there anyway I can block the queue if the BPM synch call fails?

  • Urgent : XI BPm Performance Problem

    Hy All,
    we have following big performance problem with BPM Scenario.
    Of the inbound site we can get at the same time more than 10000 messages that have to be read from BPM queue. The BPm execution time in strongly affected and slowly. Could anyone tell me how to improve the performance (parallel queue execution.....).
    I hope in your help.
    Thank's a lot
    Mat

    Hi Mattia,
    see for improving performace, you need to restructure your BPM process....if you want your input messgae to be processed in different queues, this is not possible  if all your message are of same message type as then XI uses the same queue for all your messages..........so see in your scenario if BPM is really needed or you can do your scenario without BPM.......
    Thanks,
    Rajeev Gupta
    Message was edited by:
            RAJEEV GUPTA

  • Inbound Queue Stuck

    Hi,
    We send about 7000 IDOCs to PI. These IDOCs are sent to the PE for a ccBPM.
    However, the Inbound Queue got stuck with status of the first message on "Transaction Executing". This stayed this way for 2 days.
    In the end we locked and unloced the queue and every thing was running again.
    But a few minutes later all the data was punt into the BPM queue and nothing was happing. (first record had status "transaction recorded"). I had to activate the QIN scheduler and everyting was running again.
    This is happening in a production environment and is not acceptable (processes run at night).
    Does somebody have hints where to start looking or have a solution?
    Ron

    Check this blog :
    XI :  How to Re-Process failed XI Messages Automatically
    Note 527481 - tRFC or qRFC calls are not processed
    Regards
    Gangaprasad

  • How to keep waiting time between processed messages !!

    Hi Folks,
    I have got one scenario required waiting time between processed messages. The problem as follows !!
    File --> Proxy scenario. I receive 15 messages from sender side (same messages structure) so working with one interfaces. File picking and transforming this message and split into 2 messages. messages are receiving to receiver. I am using BPM with 7,8 steps like receiving step, block , message transformation step , internal block 1 for sender 1, internal block 2 for sender 2.
    All things are working fine, messages are going to receiver properly. But customer requirement is , wait step required between processed messages before sender1. I have put wait step still, PI picks all messages in one shot processing and waiting for 2 minutes, after 2 minutes sending all messages at the same time, this process is not working.
    I have tried with wait step in mapping (Sarvesh) given excellent idea, still PI works the same way.
    Can someone please explain a bit why the messages or not waiting message by message. I am using EOIO with Queue name and file process mode "BY NAME" and I have tried "BY TIME" as well. I have given priority to this Queue. On BPM Queue assignment : One Queue.
    Please I am expecting positive answer !!
    Many Thanks in Advance
    San

    Hi Rudolf Yaskorski ,
    Not sure about your PI release and BPM model, do you create separate process instance for each file, or do you process files collecting them in one single instance? Are you using parallelization within your ccBPM ?
    I am using serialization, I don't think bpm can do Parallization until PI 7.0, but PI 7.11 has got has queue assignment. But I am using one queue. This must be serialization.
    To me it looks like your issue is not in ccBPM but rather more in polling files (as per your post file CC polls all 15 files in one shot). So if you wish to poll the files not at the same time some workaround is required. Possible options you could check out:
    A. Either implement "wait" in your mapping based on file name or other criteria (e.g. directory name). Check out if respective BPM instances are really created at different times.
    I have used wait step in mapping. These 15 messages has to go through one interface. So I am using one interface. But I have checked mapping process time in all messages on receiver system. Shows same timing, even though I put 40000 ms waiting time in mapping.
    B. Try polling different files (or use different directories) with different channels and coordinate starting / stopping of your channels by scheduling availability for each CC in RWB. E.g. you poll file 1 with CC 1. You start 2 minutes later CC 2 and poll file 2. And so on.
    I am not clear about this . On BPM waiting step is working and it keeps wait all messages, which are coming through one interface. Then it releases all messages at the same time.
    I don't know how to resolve this. I have tried with Transport acknowledgment, but all messages are going to reciver system waiting at receiver system in priority queue and processing in EOIO, but taking so long. Rather all messages go and sits in queue, I want to stop messages by message with 2 minutes time gap. How please?
    Kind Regards
    San

  • Deadline Branche in Correlation Process - Best Practice

    Hello,
    I have an integration process with a correlation - there is a asynchronous send step which activates a correlation and afterwards an asynchronous receive step that uses that correlation.
    Furthermore I have a deadline branch to cancel the process after 24 hours.
    My question now is:
    There could be (rare) cases where a message arrives later than 24 hours, so according to my understanding the received message will block the inbound queue as no active correlation can be found anymore. Is this correct? How can I avoid this situation, I guess a blocked queue would also block other messages that are sent to the integration process?
    What would be best practice to handle such a scenario? I could leave the process intance open for 1 month, however this might have a significant impact on system performance.....
    Thank you for your advice.

    There could be (rare) cases where a message arrives later than 24 hours, so according to my understanding the received
    essage will block the inbound queue as no active correlation can be found anymore
    No correlation found error will occur only when the BPM instance is running and the message tries to enter into the relevant receive step (not the first one)
    However when you say the process is cancelled you need not worry about the message going into the queue and blocking the BPM queue.
    Regards,
    Abhishek.

Maybe you are looking for