Integration Process: Infinite loop without correlation

Hello,
we have an IP which receives IDocs, maps them and makes SOAP-Calls to the destination synchron.
We need no correlation. Mapping is complex an takes some time.
Since this is an mass-interface, we can see the messages buffered for the IP in XBQO$PE_WS...
In order overcome this performance lack we want to process let's say 3 Idocs simultaneously.
According to "How To… Configure Inbound Processing in ccBPM" i need to bring the Receive
Step into an infinite loop step, so that there is always an open Receive-Step:
<Begin loop infinite>
   - Receive-IDoc
   - Transformation-Step
   - Send-Step (SOAP)
   - Check Result
   - ErrorMessage if neccessary
<End loop>
But in this case an correlation is obligatory?
How can we implement sim. processing without correlation?
Regards Gunnar.

Gunnar, I don't think, you can yimprove this scenario and enable processing of more idocs simultanously. System processes the messages as fast, as it can.
Once, we had some problems with IDoc processing in BPM - it was slow. So my friend just added some available processes (increased this number in system settings) and it started to work fine. So, I think, there is no improvement possible in BPM, by try some system settings. I'm sorry, I can't tell you, which setting it exactly was, cos' I don't know, but try to ask some BASIS guys.
Peter

Similar Messages

  • Idoc to flat file using Integration process does not show up at all

    Hello All,
    I created a scenario IDOC to Flat File using Integration Process and one without IntegrationProcess. I am able to execute the one without Integration Process easily.
    However when I send the IDOC from SAP then the Integration Process scenario just does not work.
    I Checked SXMB_MONI  There is no entry for the Integration Process.I can see entry for other without Integration Process.
    SXI_CACHE : I can see my Integration Process active
    SWEQADM :  I have activated the Event Queue and Background job
    SWF_XI_ADM_BPE :  ALL BPE is showing green status.
    All syntax check on IP are fine.
    There is no Basis Help for me so  there could be some additional basis steps which need to be configured.  Has anyone faced such an issue with Integration Process?
    Regards
    Prashanta

    Hope this might help you. when u configure an IDoc as Sender with BPM this is how you proceed.
    <b>1<b>. let us split the scenario into two</b>.</b>
    a. <b>Sender to BPM</b> ( Integration Process).
    b. <b>BPM to Receiver</b>.
    <b>2. First let us configure the first Sender to BPM.</b>
    a. Sender Agreement( <b>Not required</b> ).
    b. Receiver Agreement( <b>NOT Required</b>).
    c. Receiver Determination( Sender Service, Outbound Interface, Receiver Service(<b>Integration Process</b>).
    d. Interface Determination( Inbound Interface(Sender Abstract Interface), Message Mapping(NOT Required if your using transformation stepin Integration Process)).
    <b>3. Now let us configure the Second BPM to Receiver.</b>
    a. Sender Agreement( <b>NOT Required</b>)
    b. Receiver Agreement( Sender Service(<b>Integration process</b>), Receiver Abstarct Interface,Receiver service, Inbound Interface).
    c. Receiver Determination( Sender Service(Integration Process), Receiver Abstarct Interface,Receiver Service).
    d. Interface Determination( Inbound Interface, Message Mapping(<b>NOT Required</b>)).
    So Finally we have <b>One Receiver Agreement</b>, <b>Two Receiver Determinations</b>, <b>Two Interface Determinations</b>.
    Please let me know if you have any more queries.
    Regards
    Gopi

  • Not able to transfer Integration Process in ID. Also not seen in SXI_Cache

    Hi Experts,
    I am trying a BPM scenario. I have created all design objects along with Integration Process in IR and saved and activated the same. Issue is : I am not able to transfer the Integration Scenario from IR in ID. I am also not able to see the created integration process in SXI_Cache under Integration Processes node. Can you please suggest some thing related to this issue. Thank you.

    hi,
    >>>I have created all design objects along with Integration Process in IR and saved and activated the same. Issue is : I am not able to transfer the Integration Scenario from IR in ID.
    but in order to use Integration Scenario in ID you need
    to create it in IR first and Integration Process is not the same as
    integration scenario
    you can only transfer Integration Process to ID as an Integration Process
    (under services without party node)
    Regards,
    Michal Krawczyk
    http://www.mypigenie.com - XI/PI FAQ

  • Not starting up, infinite loop?

    yesterday, mid working, all applications automatically quit. a black box appeared saying i need to restart. as i restart the iMac, i can hear the restart sound. but it stays with the infinite loop without turning over; i.e. it won't turn over to the desktop. i have not backup my files. please help!

    I'm almost certain that what you have had a kernel panic. This occurs when you have a hardware issue, try and put in the installation disk into the iMac and hold c and then go to any hardware diagnostics.
    You might be able to fix it, but if not then you'd better ring Apple to get your iMac repaired.
    Message was edited by: chazdaspaz

  • Invoking existing instance from a process without correlation

    Hi,
    I want to find out if I can do this.
    Suppose that instance A was created by others. Instance B of different process wants to invoke instance A. But they do not have a correlation.
    This is a part of problem that we want to solve to fix issues in deployed process. Instance A is waiting for user response and we have been invoking this instance A from Java code.
    But we want to have a intermediate bpel process B to call instance A. Java code is going to call process B. Because process A is deployed without correlation and active in production, we cannot use correlation to find instance.
    I may be able to use programmatic approach using InstanceHandle. But I want to find a way to invoke this in bpel.
    Can you give me some hint?
    Thanks,
    Imju

    If my method is now defined as so;
    public <T extends GenericDaoImpl> T getDao( Class<T> daoClazz )
    return daoClazz.newInstance();
    The IDE flags up an error "This method must return a result of type T"
    So I think I'm missing something. I have defined an abstract generic DAO helper class to be extended by child DAOs;
    public abstract class GenericDaoImpl<T, PK extends Serializable>
    CRUD methods
    findBy(...) methods
    where T is the class type & PK the primary key.
    So presumably my getDao(...) method should be defined as;
    public <T extends GenericDaoImpl<T, PK>> T getDao( Class<T> daoClazz )
    return daoClazz.newInstance();
    But it then cannot resolve PK to a type. I think I'm either trying to impose a type on the signature when
    it should (obviously?) be generic, or presuming that it will evaluate my generic type which I have somehow
    not exposed to the method / signature.
    Am I missing something subtle or just being stupid.

  • Sending step in Integration Process waiting for Acknowledgement infinitely

    In process I had to send an MATMAS, CLFMAS and CNPMAS. The data for
    this IDoc comes in one message from third party system. So, my
    Integration Process has receive step (to collect a data), and three
    send-steps (for MATMAS, for CLFMAS, for CNPMAS), one by one. The
    receive-step catch an inbound message and then (without transforms)
    send this message to each of this three send-steps in Asynchronous
    mode. The inbound message transforms in Interface Determination to
    IDoc. Three steps, one Interface Determination with three conditions,
    that looks
    like «ProcessStep=send_matmas», «ProcessStep=send_clfmas», «ProcessStep=s
    end_cnpmas», and in this place I set a mapping to transform inbound
    message to IDoc. All send-steps has property Acknowledgement, which set
    to Transport value. So in first send-step MATMAS goes to R3, then R3 in
    response send ALEAUD IDoc (trans WE05 shows an incoming MATMAS and
    outgoing ALEAUD); ALEAUD comes to XI (trans IDX5 shows inbound and
    outbound messages), but ALEAUD didnu2019t transforms to XI Acknowledgement.
    And there is no any CLFMAS or CNPMAS, because all processes sleeps in
    their first send-steps (trans SWWL shows a many STARTED processes).
    Each send-step waits for event u2018SEND_OK_TRANSPORTu2019. Moreover, if I use
    trans sxmb_moni to monitor this situation and if I press refresh (F5
    button) every time, sxmb_moni every time requests a status of
    Acknowledgements, XI transform ALEAUD to Ack, send-step in process
    catch this status, process wake up and moves to next send-step (which
    sends an CLFMAS and waits for Ack). By continuously pressing refresh
    (F5) in sxmb_moni all process becomes COMPLETED (trans SWWL), all
    ALEAUD transforms to XI Ack and all IDocs goes to R3. But pressing F5
    itu2019s not a solution for integration.

    Hi Igor,
    I dont think your manual refresh changes the status . The status changes is the status change of GUI . The system will take how much so ever it needs to take and not as per your manual refresh.
    Regards
    joel

  • Can a CIN that is in an infinite loop send data to labview without exiting?

    I have a C program that continuously queries a motor controller.  Right now that program is in a labview vi as a CIN.  The problem is that the CIN must exit before reporting the controller response to the labview vi.  This means I have to constantly run the CIN which opens, queries and closes the connection each time.  Is it possible to run the loop in the CIN itself so that the response buffer from the controller can be sent to the labview vi without exiting.  Are there variables types that can be passed from the CIN before completing the CIN? 

    The controller is a Galil DMC4080 motor controller.  I am running Labview under Mandrake Linux.  I can connect and send commands to the controller using a C program.  I modified the C program as a CIN to pass the controller response to the Labview front panel.  Galil has a library of functions used for the controller commands.  LStrPrintf is the command I use to write the data to labview.  Currently I just run this CIN without a while loop and loop it in labview but I recieve an  error message  after  a 1000 executions, see: http://forums.ni.com/ni/board/message?board.id=170&message.id=270220
    If interested here is the current code I am using with the infinite loop. 
    #include "extcode.h"
    #include "dmclnx.h"
    #include "hosttype.h"
    MgErr CINProperties(int32 prop, void *data);
    MgErr CINRun(LStrHandle IPAddress, LStrHandle Command, LStrHandle Response,
            float64 *ErrorCode);
    MgErr CINProperties(int32 prop, void *data)
        switch (prop) {
            case kCINIsReentrant:
                *(Bool32 *)data = TRUE;
                return noErr;
        return mgNotSupported;
    MgErr CINRun(LStrHandle IPAddress, LStrHandle Command, LStrHandle Response,
            float64 *ErrorCode)
       float          rc = 0;          /* Return code */
       char           buffer[32] = ""; /* Response from controller */
       char           ip[20]=""; /* IP address of controller*/
       char           cmd[20]=""; /* Command to send to controller*/
       HANDLEDMC      hdmc = -1;       /* Handle to controller */
       CONTROLLERINFO controllerinfo;  /* Controller information structure */
       memset(&controllerinfo, '\0', sizeof(controllerinfo));
       controllerinfo.cbSize = sizeof(controllerinfo);
       controllerinfo.usModelID = MODEL_2100;
       controllerinfo.fControllerType = ControllerTypeEthernet;
       controllerinfo.ulTimeout = 1000;
       controllerinfo.ulDelay = 5;
       SPrintf(ip,"%H",IPAddress);
       strcpy(controllerinfo.hardwareinfo.socketinfo.szIPAddress, ip);
       controllerinfo.hardwareinfo.socketinfo.fProtocol = EthernetProtocolTCP;
       DMCInitLibrary();
       /* Open the connection */
       rc = DMCOpen(&controllerinfo, &hdmc);
       if (rc)
           *ErrorCode = rc;
           return noErr;
          while (1)
              SPrintf(cmd,"%H",Command);
              rc = DMCCommand(hdmc, cmd, buffer, sizeof(buffer));
              if (rc)
                  *ErrorCode = rc;
                  return noErr;
                  break;
              else
                  LStrPrintf(Response,buffer);
       rc = DMCClose(hdmc);
       if (rc)
          *ErrorCode = rc;
          return noErr;
       *ErrorCode = rc;
       return noErr;

  • Could not assign Correlation in Integration Process

    Hi,
    in an Integration Process I have defined a Correlation and a Send Step.
    In the Send Step I see question marks for the fields use correlations and activate correlations.
    If I want to assign my correlation to this fields I can see it in the drop down menu, but if I click on it nothing happens.
    Somebody know how to handle this?
    Regards
    Patrick

    It worked now...
    Strange it seems that it worked after i choosed first the empty field in the drop down menu.

  • Interrupting a process involving an infinite loop

    I am using a JInternalFrame, with a JSplitPane, and panels within the SplitPane. My application involves the server continuously listening to a port.
    When this happens, I am not able to STOP the process (the while(true)) loop, the buttons do not respond, and the JInternalFrame freezes. During this time, if I switch from this application to another application (while the processing is on), the controls disappear, and I am not able to view anything, until an OptionPane (which I have used to indicate the completion of an event0 appears.
    Ideally, a user must be able to QUIT the application whenever he/she wants to, but my application does not allow the user to do this.
    Please can anyone suggest a way out of this???
    Thanks in advance :-)
    p.s. : I hope the information I provided is sufficient to help reply to my query...... :-?

    Thanks for your help, but please could you explain
    the solution better?
    I am not using threads in my program..............
    Then, why is it giving a problem?
    Is it because the server is listening to a port in an
    infinite loop, and that blocks all other processes,
    even prevents me frmo exiting the application!!! Is
    there any way out of this? I mean, can I interrupt
    the server listening to the port, and if so, how can
    this be done????The problem is that you have a loop in your program that is running on the EDT. That loop is hogging 100% of the CPU, preventing anything else from running.

  • 3 errors in Step 6 (Correlation) of "Define Integration Process" Tutorial

    Step 6 of the Define Integration Process tutorial:
    http://help.sap.com/saphelp_nwpi711/helpdata/en/69/4ad13fa69a4921e10000000a1550b0/frameset.htm
    has three errors in it:
    a) item number is left out of the request correlation define steps (steps 9-10)
    b) Item number is left out of the confirmation correlation define steps (step 11)
    c) In step 14, the name of the correlation should be BookingConfirmation, not BookingCorrelation.
    If item number is left out, or if the name of the correlation is entered incorrectly, the object will not activate.

    I quite agree, JB - SDN is not the place to report SAP software bugs (although it is a great place to embarass SAP into fixing them after they've been reported to the usual suspects !)
    But ... documentation bugs are not software bugs, and I think that the nature of documentation bugs, particularly in tutorials, makes SDN the perfect place to report them "officially".
    After all, isn't documentation all about "outreach"?
    And isn't SDN all about "outreach" too?
    (Well, and "inreach" too, to the extent that SAP pays attention to what goes on here ...)
    djh

  • How do I stop an infinite loop because of a poorly placed user prompt during developmen​t without closing LabView?

    How do I stop an infinite loop because of a poorly placed user prompt during development without closing LabView?
    Thank you!
    Solved!
    Go to Solution.

    chuck72352 wrote:
    Here is an example of a VI that I can't stop.
    Epic Fail
    but seriously, as was suggested, download Darren's Abort.vi. It comes in very handy for these.
    Message Edited by Broken Arrow on 05-03-2010 01:06 PM
    Richard

  • Integration Process - Time-Dependent Loop

    Hello All
    I made solution like :
    [Time-Dependent Loop|http://help.sap.com/saphelp_nw04/helpdata/en/c5/582541019fa52fe10000000a155106/frameset.htm]
    with second case "Time-Dependent Loop".
    But my exception is never raise and i don't know why. is there any special setting in PI where i have to configurate it ??
    Regards
    Maciej

    Hi
    What i have done is:
    define block with local correlation "Correlation" and exceptions "TimeOut"
    inside this block i create infinite loop with inside receive step tha use correlation and container operation.
    to block i added deadline block with following properties: creating the step 3 minutes and inside it control step with throw exception
    to block also added exception branch with exception handler
    after block i have some mapping and send step
    BR
    Maciej

  • How do i disable audio out timeout on a macbook pro causing noise on external amplifier, without having a silent .wav playing in infinite loop?

    After updating to Mavericks I have this problem. From what I guess, my audio out (either the signal, or the entire soundcard) cuts power after being idle for about 30 seconds. This results in a static noise when connected to my external amplifier. From various forums, dating back to 2007/8 I can see this is not a new problem. The only workaround is playing an empty .wav sound on infinite loop (either by using a terminal command, or by a third-pary app which does this for you), preventing the audio out from timing out and cutting power. This seems to me to be an undisirable proceeding. Even if minimal, it uses extra power and memory. Is there any way to prevent the sound card from timing out like this?

    Ok. I tried disconnecting the charger from my macbook and that actually helped. The noise is now so low it is hardly audible, so I guess it has to do with a ground loop. But still, even when hardly audible it still only happens after 30 seconds of idle time. Is that because my theory about a timeout is correct, or is there some other reason for this? This used to just happen when my macbook went on standby (sleep), but now it happens allready after 30 seconds, so even though it may be a loop, it wasn't like this before. I'd love to understand what is different now.

  • BPM Integration Process that correlates 2 messages.

    I have an BPM Integration Process defined that collects Deliveries for an Order number and when an Invoice arrives for the same Order number it merges the messages to produce another file that is for a 3rd party.
    I correctly receive in the Delivery and the Invoice u2013 I can see them in SXMB_MONI with a checkered flag and they are directed to my BPM.  I can see this also in SXMB_MONI_BPE.  I can also see the correlation correctly found in both messages.  No error is reported by either SXBM.. transaction.
    However it does nothing except receive the files u2013 I am expecting a transformation and then the send step to execute.
    Start >  CollectIDOCBlock  > Collect Fork
    Fork1
    Infinite Loop for Receive Delivery (Start process) and Collect in Container. It uses and activates Correlation OrderNum
    Fork2
    Receive Invoice uses Correlation OrderNum (it does not activate the correlation)
    At the end of the Fork (when Delivery collected and an Invoice is received)
    It will then do the Transformation and Send Step.
    <End
    I have tried various combinations of the correlations and which receive step starts the process.  Any ideas ?

    Yes that did work.  Now does somebody know what exactly the FORK parameter number of branches does ?
    The SAPHelp is here
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
    +You can specify the required number of branches and then define whether the process must run through all branches, or just a particular number of branches+
    But it does not explain why you need to have 1 as necessary branches rather than 2.  There are 2 branches in the FORK - so why does having 1 as the parameter work and not 2.
    In this SAPHelp for Message-Dependent Loop
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/frameset.htm
    it indicates to me that the parameter should be 2.
    BUT the SAP pattern (BpmPatternCollectMessage) I have used as a base for mine has this as 1 and not 2.
    Why is 1 the correct value and not 2 ??

  • Multiple Queue Assignment for Integration Process - PI 7.11

    Hi,
    I am trying to configure multiple Queues for an Integration Process.
    The Integration Process is straight forward, except for a Asynchronous Request Response pattern with correlation. (A asynch send step - immediately followed by a asynchronous receive step with Correlation)
    I have done the following
    1) In IR set the Queue as Multiple - Content Specific
    2) In SWF_INB_CONF transaction reconfigured Multiple Queues - Content Specific without buffering
    But when I trigger the message, the message is not at all triggering/entering the Integration Process. The error message is BPE Internal Failure.
    But if I reconfigure the IP as One Configurable Queue & "Without Buffering", it is working. But we want multiple queues assigned to this Process.
    Thanks in advance.
    Regards,
    Sudharshan N A

    Bjoern, there are blogs/wikis available which should be searched before a question is asked on forum. The information you need is quite basic one and I will therefore lock this thread.
    Regards,
    Prateek

Maybe you are looking for