Correlation for multiline in NW BPM

Hi Experts,
This is related to NW-BPM not CC BPM.
My flow is like :
BPM (Asynch req) --> ECC
ECC (asynch response) --> BPM
In ECC validation is done and response (Asynch) is sent back to BPM.
In BPM --> ECC flow:
Request has multiple Items under a single PO
PO
   --> Item1
   --> Item2
etc ...
and response also has the same structure.
PO
   --> Item1
   --> Item2
I am defining a correlation in such a way that
response PO = request PO
and
response Item = Request Item
But as I have multiple Items ,
Do we need to explicitly provide multiline check like we have the option in receiver determination ? if yes where we can provide in NW-BPM case.
If not , will the correlation also checks for multiple Items or simply the first item?
Regards,
SP

Hi SP,
If you want to check multiple line items with primary key as PO then write an EJB function in which you will pass the details and then use looping.
Regards,
Nikhil

Similar Messages

  • No active correlations for message

    Hi,
    I am working on a BPM scenario. I Receive 3 different messages which I merge later in the process. I can see that the first received message is processed but the following messages get stuck in the inbound queue with a error message "permanent error in BPM" or something like that. Also I saw an error message which says "No active correlations for message".
    My BPM steps seem alright. I activated the correlation in the send step and used it in the receive step. Also defined it in the block as Local Correlation.
    sxi_cache status is "0". no problem there.
    Do you have any idea what the problem is?
    By the way after i tried it a number of times the inbound error throw another error.
    "Warning: EM-Memory exhausted:  Workprocess gets PR
    IV  / Permanent error i"
    Why do i get this error?
    Thanks

    Hi Arman,
    First of all,
    Run SWWL transaction in order to delete all the Work items involved with you Integration Process.
    Then,
    Check your correlation.
    If you recieve 3 different messages and you dont know the order they came, the correlation should be
    activated with the first message (first reciver step). But in the other two message you need to indicate which correlation must be used. I think you should use a fork with three receiver steps and in these
    reciever steps you need to activate you correlation and use the correlation.
    Hope this helps you.
    Carlos

  • Correlation for files containing multiple records

    I was learning correlation from a nice blog below.
    /people/milan.thaker/blog/2008/07/23/correlation-150-runtime-behavior-of-bpm
    I have one question though. In the case where the correlation is done on  a key field say PsNo.
    Now if two files have multiple records, will the correlation compare the PsNo of each record or is the comparison just on the first PsNo of each file record.
    Thanks,
    Minhaj.

    Hi Minhaj,
    1) Suppose if you want to merge 2 files into a single file based on a keyfield (PsNo), You are opting Correlation in BPM.
    In your Correlation Editor, You should mention the XPATH Expression for Keyfield(PsNO) for the involved messages.
    2) Only if both the values of keyfied(PsNo) in 2 files are equal then Only you can merge all those 2 files into single file.
    So first PsNo of each file record is going to compared with another file.

  • Correlation for ELS

    Hi all,
    i'm in the process of making a fairly generic ELS functionality with by using eInsight Correlation.
    Have one inbound Queue that is being picked up by a JMS Receive, initialized the CorrelationSet, etcetera. Then goes on to a while loop which contains an Event Based Decision with a JMS Receive on one branch and a Time out on the other branche.
    Although the runtime errors appear to occur at random, in order to not get runtime errors i have to specify a receiveWait for this one, but then the process blocks. If i use a receive then i get the exception below.
    For using receiveWait i do have to specify a different PortType, ns0:JMSQueue instead of ns0:JMSMessageListener.
    [#|2007-02-08T22:26:03.328+0000|INFO|IS5.1.2|javax.enterprise.system.container.ejb|_ThreadID=32; ThreadName=JMS Async S167; Context=prjPPlay_u002F_prjELSdpELS/qHTTPReply_cmELS_bpELS1_ejb;stacktrace-id=4;|
    javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean; nested exception is: java.lang.NullPointerException
    java.lang.NullPointerException
         at com.stc.codegen.eInsightImpl.runtime.ejb.BPELService.handleRequestWithCorrelatedInstance(BPELService.java:596)
         at com.stc.codegen.eInsightImpl.runtime.ejb.BPELService.handleRequest(BPELService.java:340)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    Just to verify, is it possible to use eInsight Correlation with receiving messages from the same Queue ? All samples i've seen separate the Queue for the first JMS Receive and the second JMS Receive.
    Tried that too, but cause some other trouble which wasn't worth pursuing.
    Any input is welcome.
    Take care and Ciao
    Paul

    11.10.5 and 11.10.6 to refer to...
    Using for the first receive
    <receive name="JMS.receive"
    partner="JMSSource"
    portType="ns0:JMSMessageListener"
    operation="receive"
    container="JMS.receive.Output"
    createInstance="yes"
    <correlations>
    <correlation set="csGroupID" initiation="yes"/>
    </correlations>
    For the second receive either :
    <onMessage name="JMS.receive"
    partner="JMSSource"
    portType="ns0:JMSMessageListener"
    operation="receive"
    container="JMS.receive.Output1"
    <correlations>
    <correlation set="csGroupID" initiation="no"/>
    </correlations>
    Throws the Error as refered to in the first case.
    <onMessage partner="JMSSource"
    portType="ns0:JMSQueue"
    operation="receiveWait"
    container="JMS.receive.Output1"
    <correlations>
    <correlation set="csGroupID" initiation="no"/>
    </correaltions>
    Never picks up a message...
    Should i just not use an event based decision such as in the samples ?

  • Failing to assemble Downloaded Pre-built Virtual Machine for  SOA Suite and BPM Suite 11g

    Hello,
    I checked the download checksum of the files downloaded for Pre-built Virtual Machine for  SOA Suite and BPM Suite 11g ( Pre-built Virtual Machine for SOA Suite and BPM Suite 11g ) and they all match checksums.
    however, when I try to assemble them with 7zip, I get a corrupt error message.  I have tried downloading with Chrome and Internet Explorer.  I have also tried assembling the 7zip files different ways.
    Is there anything else I should try?
    Running on Windows 7, 64 bit machine.  (with lots of disk space).
    Is there any other way to get the files?
    thank you.

    thanks for the response
    I guess I will have to do that as well.
    However, it defeats the speed with which can ramp up with the toolset;  thus slowing my time I can allocate to learning it...

  • Correlation for JMS Messages possible? JMSCorrID in JMSHeader not accepted

    Is Correlation for communication over JMS messages possible?
    If I define the JMSHeader field "JMSCorrelationID" in a correlation set ("as usual") then I get
    compiler errors:
    Error ORABPEL-10036: invalid correlation set
    BPEL seems not to accept JMSHeader fields for correlation but only fields from the actual payload msg.
    Is this true?
    Is there soemwhere a guide on how to correlate JMS messages?
    Thank you
    Michael

    you can use the "Message Selector" on the JMS adapter to filter to achieve that;
    here is extract from oracle help document
    Message Selector
    Specify filtering logic that enables you to receive messages that match a certain criteria. Enter an expression between 1 and 255 characters in length. Use SQL92 syntax in this field. The JMS server uses this criteria to filter messages received by this consumer. The message selector works with variables defined in standard JMS headers and user-defined properties. You cannot use variables or elements that are in the payload of the message.
    For example, you can enter logic such as: JMSPriority > 3. Based on this, messages with a priority greater than 3 are consumed; all other messages are rejected. JMSType = 'car' AND color = 'blue' AND weight > 2500 Country in ('UK', 'US', 'France')
    it's got some limitations but works fine for our requirements so far...

  • Sales BOM: Quantity correlation for deliv.group 001

    When creating a delivery for a sales BOM material assigned to delivery group, I'm getting a partial quantity. 
    Example is sales BOM material A requires 4 EA of subitem B.  Order created for 1 EA of material A, which requires 4 EA subitem B but there are only 2 EA of B in stock.  The corresponding delivery is created with a quantity of .5 for material A.  I get the following message in the delivery log:
    "Quantity correlation for deliv.group 001 from sls.order 0004831194 for deliv.item 000010"
    I'm expecting the quantity to be 1 on the sales order.  Any help is appreciated.

    Hi,
    I guess not. Obviously, if you don't have enough to deliver in full, then you can do one of the two; either deliver less (in this case half), or deliver none (maybe you can't deliver half because it is impossible).
    Here's something from the online documentation:
    Correlating Delivery Groups
    Items in delivery groups can be combined in the sales order to synchronize their delivery. You will receive a warning message when creating a delivery for a sales order if all items belonging to such a group cannot be delivered. If you then create deliveries using a delivery due list, all orders whose delivery groups cannot be completely delivered will be ignored in this process. In this case, the log supplies all appropriate information. If the delivery quantity is changed or if such an item is deleted in a delivery item belonging to a delivery group, you will receive a warning message. For further information on delivery groups, refer to Combining Sales Document Items for Delivery.
    In addition, the system will carry out a quantity correlation for groups of items when they are classified together by one of the following requirements:
    the items belong to a common delivery group
    the items have a bill of material structure
    If the order structure arose from a bill of material explosion, the relations in quantity of the items is based on component quantity. If this is not the case, it is based on the relation of the order quantities. The system does not correlate items classified as having fixed quantities.
    When creating deliveries, the system automatically carries out a quantity correlation. If you change a higher level itemu2019s quantity, the quantities in the dependent items will be adjusted on all levels if necessary. When you change a dependent itemu2019s quantity, the system generates a warning message. When you delete a higher level item, all subordinate items are deleted as well. When you delete a dependent item, the system generates a warning message. If the dependent item contains a quantity to correlate and is the main item of a batch split, you receive a note. You must decide manually for which batches the quantity change is to take place.
    The question really is, from a business point of view, in your example what would you like to do? Deliver 1 A or none?
    Regards,
    Mario

  • Quantity correlation for deliv.group 001 -reg

    Hi
    While creating  delivery am facing below error.
    "Quantity correlation for deliv.group 001 from sls.order 0000000046 for deliv.item 000020"
    this i am facing for Genaric article in is-reatil, item cate group am using as 0002 and for main article system will determine item category as TAC
    OR 0002              TAC
    for sub items item category will be TAN
    OR 0002  TAC         TAN
    so how to resolve this error can any one please guide me
    rajen

    this is resolved my self

  • Correlation for JMS Queue

    Hi,
    I have following scenario :
    Queue1
    Bpel1 -> Writes Schema A to Queue1
    Bpel2 -> Writes Schema B to Queue1
    Bpel3 -> Reads from Queue1
    I need that Bpel3 should read only Schema A from Queue and not Schema B.
    So how will i define the correlation between Bpel1 & Bpel 3.
    I tried fetching the processId in Bpel 1 and add it to Invoke property jca.jms.JmsCorrelation_id, but was not able to set the same in Bpel3.
    Any help/spec in setting up correlation for JMS Queues is highly apreciated.
    Thanks !!

    In standard JMS, an application can specify a correlation-id on per message basis using the javax.jms.Message API, and then specify a filter (a "selector") when creating a consumer via the javax.jms.Session API, but, in general, it is usually better to use a separate dedicated queue per business process (simplifies management, simplifies coding, improves perf, etc), or, if that's not an attractive option, to use a single MDB to dispatch messages from the same queue to different business processes. I don't know the specific steps to do the same in BPEL.
    You might want to try posting to the BPEL forum at BPEL
    Hope this helps,
    Tom

  • Is it possible to create two correlation id's for same message in BPM

    Hi All
    Is it possible to define two correlation id's for the same correlation in BPM.. intially we defind one field as a correaltion id but in some rare situations we are getting two fiels at time containing the same correlation id then it is generation two instances for them ,but only one instance is executing and another one is in wait mode,in monitoring its showing TBDL (to be deliver mode)...we added one more field as a correlation id in correlation editor, but its not working only the first id is working.
    Seeking your valuable suggestions.
    Thanks.

    Are you correlatiing on a field whose occurence is more one 1(like 0..unbounded).?
    if you want to correlate on the first occurence of that field  then you have to specify in the XPATH.
    try [1] at the end of xpath
    If the field contains a structure, select Multiline.
    refer [this|http://help.sap.com/saphelp_nw04/helpdata/en/ab/13bf7191e73a4fb3560e767a2525fd/content.htm] for how to specify XPATH

  • Correlation for multiple fields in messages inside BPM

    Hi All,
    We have a requirement to collect multiple IDOCs based on combination of field1,field2,field3 and field4.
    Could you please tel me possible ways to implement this solution:
    I have tried the below options:
    Multiple fields in one correlation
    Correlation name is given and then in Correlation editor,we have given all four fields in correlation container and 1 involved message and properties are given for all fields
    Using this solution.IDOCSa re not collected even if all the IDOCs coming with same value for (field1field2field3+field4)
    for example even if combination of (field1field2field3+field4) is same still its not collecting and sending each IDOC sepearately outside BPM.
    Could you please suggest where the problem is?
    Please suggest if there is any other way to implement this in BPM.
    Thanks in advance
    Best Regards,
    Harleen Kaur Chadha

    Hi Harleen Kaur Chadha,
    Open your Integration Process (ccBPM), go menu bar u201CViewu201D, select u201CCorrelation Editoru201D. Then you can see the Correlation variables you have declared. Go the third tab u201CPropertiesu201D, and then try to edit u201CValueu201D. Expression Editor window pops up, select u201CInterface Variableu201D, then select XPath. Now edit u201CXPath Expressionu201D. Pay attention to Prefix u201Cp1u201D, it should be present in XPath expression. Check SAP help [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm]
    Regards,
    Raghu_Vamsee

  • How to check condtions for multilines in switch step in bpm?

    Hello,
    I am implementing a scenario that send PO create Idoc(orders.orders05) to bpm and bpm receives an OrderResponse from File adapter, I have a switch to check the condition if the Qunatity for each line items from the OrderResponse xml matche with the quantity for each line ltems in OrderCreate, but I don't know how to specify mulitline containers in conditon editor, currently the system only takes the quantity from the first line item.  Any suggestions or other recommendations?  BTW, here is the blog talks about modeling multi rows for incoming message, didn't totally get it...
    Using BPM (Blocks) when Incoming message has multilple rows
    Thanks,
    Hy

    Hi,
    go to Condition Editor-->After selecting your message in the LeftOperand -->then it will lead into Expression Editor there you can see a check box stating "Multiline".
    This will be enabled , if you choose option of XPATH in this Expression Editor.
    Hope this helps,
    Regards,
    Moorthy

  • Correlation or container step in BPM

    we had scenario where 3 files will come in batch in sequence 
    and after validation check in message mapping they had to transfered
    to same RFC in that sequence.
    File -> Xi-> RFC
    Files will come in one shot/batch
    batch by batch..
    Now my concern is..
    With BPM we want to correlate 3 files and then post it to RFC.
    3 files will have some comman field/Filename extension...
    why we want correlate is that:
    - XI should not process any incomplete batch ( like 1-2 files have  come)
    - XI should differentiate between files of Next coming batch..correlation will help or only container variable ..
    Regards
    Ashutosh

    Hi,
    Why do u want to go for BPM is there any specific reason.
    Did the functionality of BPM work only for batch files.
    If it work for single file then make necessary changes in file adapter mention below.
    3 files will come in batch in sequence
    We can understand that they will come in batch (group) within that  batch they are in sequence.
    Correct me if I am wrong.
    If so make necessary changes in sender file adapter.
    Mention file name as .txt or .xml (depending your format)
    Processing mode as Delete.
    Processing sequence By Date.
    Hope this changes is necessary with out using BPM.
    If using BPM is mandatory 
    With BPM we want to correlate 3 files and then post it to RFC.
    3 files will have some comman field/Filename extension...
    if u want to use correlation then three files should have common Field.
    reward points if helpful.
    regards,
    pradeep A.

  • ** Multiline checkbox in BPM - At what situcation we select this

    Hi Friends,
    Still I am not clear to check 'Mulltiline' in Container area of the BPM. At what situations, we select this ? In the loop, transformation, or ...?
    Friends, could you kindly tell clearly this use in detail ? If possible, with example.
    Thanking you,
    Jeg P.

    Hi,
    A multiline container element is a table comprising elements of the same type. For example, if you want to gather messages in a container element, you must define this element as a multiline container element. 
    you can be able to Accessing details from multiline object attribute..
    You need to mark the checkbox multiline if the sender data will be comming to container with multiple records and have to imply the logic or to consider each records in container, you need to mark it as Multiline.
    Refer some of the links for useage of Multiline
    Accessing details from multiline object attribute..
    Workflow: check multiline container element for emptiness
    receiver determination step in the BPM and multiline container
    Thanks
    Swarup

  • Multiline option in BPM?

    hi
    can anyone explain the multiline option in the Intergration Process in BPM?

    A multiline container element is a table comprising elements of the same type. For example, if you want to gather messages in a container element, you must define this element as a multiline container element.
    In other words: a multiline container element can contain several 'abstract message interfaces', which are stored in a container element as well. Using a block in your integration process, it is possible to 'loop' over the individual rows of the multiline element.
    I hope this definition explains the multiline option sufficiently.

Maybe you are looking for