Grab from an instance within split join

Hi All
I have a process, and every now and then a user from role 'G' wants to grab the instances of a process (that may exist in any activity) to one of his activities, say 'AAG' (Activity After Grab :)). The Grab activities properties are defined so that it can grab instances from 'All' activities and then assign to 'AAG'.
You can visualize the process like this:
Activity A1 --> Split ----> branch 1 after split forwards to Activity AS1, brach 2 after split forwards to Activity AS2 ---> join ---> A3 --> A4 ---> AAG --> A5 ---> end
Now when an instance has executed the split, the main instance waits at join. THe child instances are each at activity AS1 and AS2.
When a user wants to grab this instance, the idea is that AS1 and AS2 should disappear, the instance at join should go to AAG.
To realize that, if I try to grab the instance waiting at join, I can move this to AAG. However instances at AS1 and AS2 still remain there.
If I try to grab instances at AS1 or AS2, I can not send them to AAG.
Any workarounds?
I am basically using PAPI to get hold of the instances. Was thinking of grabbing the instance at join, and terminating all others. But am looking for a better solution.
THanks
Satinder

Hi Dan
You are right, this might be an option (I have not yet tried it though). But I guess it still might not be the best option because -
1. This user can grab instance in any activity and assign to AAG. Now if an activity is not within split-join, then we dont really need to interrupt the instance and call this message activity, a grab works fine. Message activity will also work fine, but that would mean that for every activity in the process I will need to add a conditional transition (executed when flagToGoToAAG = true) that goes to AAG.
2. We got a little more than usual complex process. It has about 6-7 splits. Also there are about three Grab activities. This would mean about 7*3 additional transitions originating from different joins.
I was looking for a solution may be that can process/abort all instances within split-join when the instance at join is grabbed.
Thanks for your help.
Cheers
BTW, I have never used a MessageWait, in case this becomes the only option available, could you let me know how to create an interrupt from PAPI for this messageWait.
Thanks a lot
Best
Satinder

Similar Messages

  • Problem with variable inside split-join

    Hello,
    I'm using Oracle BOM Suite 10.3.0.0 and i want to use the split gateway.
    In general the split activity ends with a join.
    the problem is when i affect a value to a variable between the split and join, it could not get this value after the join, which means after the join the variable becomes empty just like it was before the split.
    could anyone help me please.
    thanks

    HI
    Case 1: Instance variables are not shared:
    At join you can copy the variables from one of the branches to the main instance (that waits at join).
    this.instanceVar = copy.instanceVar
    This will copy the value of variable 'instanceVar' from the instance that just arrived at join to the instance that was waiting at join (main instance)
    Case 2: Instance variables are shared:
    This would mean that the main instance shares its variables with the child instances (instances between split - join). In such a case, when a variable is updated by any of the branches, the change is reflect in all the copies.
    You can set the property to share or not to share instance variables, in the advanced properties of the split activity.
    HTH
    SAtinder

  • Split joins in OSB

    Hi,
    Actually i do have a requirement where i need to call 2 business services simultaneously(in parallel) in OSB(Like using Flow activity in SOA) using split joins. Is it possible to call 2 business services parallely in OSB?
    Can any one please help me out with any blogs or steps that i can follow to achieve this.
    Your help is appreciated.
    Thanks,
    Naveen

    That is not entirely true. Split Join itself is based on single operation, i.e. the input to split join will be a single message, but within the split join you can invoke multiple services in parallel. You can either dynamically decide the number of parallel flows at runtime (similar to FlowN) or you can have static number of parallel calls (like Flow activity of BPEL) within split join.
    In case you want to call two business services in parallel, create a WSDL(if needed, in most cases you can reuse the WSDL of the Proxy Service itself for SplitJoin as well unless you are doing enrichment within Proxy before calling business services) for split join which has request message which contains data for both business services. Within the split join you can configure calls to both business services in parallel and you can also add transformations for each business services in respective branches.
    You can than aggregate the response from both services if needed and return that as a response of split join.
    Here is an example of Static Split Join:
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/

  • Grab in split-join

    I have a grab activity which is set to from all to all. The process has a split-join. The user cannot grab an activity which is in a branch of split-join to outside the split-join or grab an acitivity which is outside the split-join into one branch of split-join. If I want to grab an activity of a branch to outside split-join, I can abort all activities in all branches and the process goes to join. Or I can grab all acitivities in all branches to the final activity before join and execute them to join. Is there any other method to grab from activity which is inside split-join to outside the gateway?

    Hi,
    Thanks for your reply. I create a new grab activity and set it to grab from all to all.
    In a new instance, if the process is inside the split-join, the new grab activity is the same as the first one. It is shows that the instance in a branch can be grabbed within the split-join.
    If the instance is outside the split-join, the grab activity cannot grab the instance to the branch.
    For example, the split-join has 2 branches. Each has 3 activities, named as
    branch 1: a1, a2, a3;
    branch 2: b1, b2, b3.
    Before the split, there are 2 activities named as c1, c2. After the join, 2 activities named c3, c4.
    C1 cannot be grabbed to b2. b2 cannot be grabbed to c4.

  • Propagating Error from Split join to Calling Proxy Service

    Hi All,
    In our project we are calling a split join service, from a Proxy Service, which in turn calls another Proxy Service.
    i.e:
    Proxy Service1 (PS1) <-> SplitJoin Service (SjS) <-> Proxy Service2 (PS2)
    Requirement:
    All the service calls are two way service calls and local protocol is being used. When an error occurs in PS2 we need to propagate the error with detailed error details to the PS1 via the SjS in order to achieve the following
    1. Achieving rollback of the Transaction
    2. Logging the detailed error report of PS2 in PS1
    Issue:
    But we are not getting the detailed error in the PS1. On further analysis we found dat the fault variable in the split join is empty in its error handling flow.
    We have used reply with error activity in PS2 to propagate the fault to the split join and reply with soap fault option in split join to propagate the fault to the PS1.
    We need to propagate the detailed report as error only, in order to achieve the rollback. So kindly suggest me the ways to get the detailed error report in PS1? i.e: getting the detailed error report of PS2 in split join fault variable and propagating the same to PS1.
    Regards,
    Balaji R

    Balaji,
    Try to enable Execution and Message(Terse Level) Tracing for the OSB services to see where fault message is going
    and
    In PS2 try with Reply with Success.
    as Reply with failure returns the fault variable back and Reply with success will send the content of (PS2)$body back as a response and then u can capture the fault from faulted body and send it to PS1.
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Aug 28, 2012 3:06 PM

  • Can not query from v$instance and v$session from within Pro*C program

    Hi there,
    We have Oracle 10.2.0.1 enterprise edition running on Linux (Red Hat 4 ES)
    Our Pro*C developer tries to query the version from v$instance view and is getting errors when compiling his Pro*C programs.
    The related Oracle user account has the SELECT ANY DICTIONARY privilege, so if he tries from the sqlplus, he has no problem querying the v$instance or v$session views. His problem is when he is trying to compile his Pro*C program against the very same Oracle account.
    Any help/input is greatly appreciated.
    R/ Zafer
    Here are the errors he is getting:
    Pro*C/C++: Release 10.2.0.1.0 - Production on Thu Jun 24 12:54:04 2010
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    System default option values taken from:
    /home/oracle/product/10.2.0/Linux6
    4/precomp/admin/pcscfg.cfg
    Error at line 150, column 4 in file ../database.pc
    EXEC SQL SELECT version INTO :inputLine FROM V$INSTANCE;
    ...1
    PLS-S-00201, identifier 'V$INSTANCE' must be declared
    Error at line 150, column 4 in file ../database.pc
    EXEC SQL SELECT version INTO :inputLine FROM V$INSTANCE;
    ...1
    PLS-S-00000, SQL Statement ignored
    Semantic error at line 150, column 4, file ../database.pc:
    EXEC SQL SELECT version INTO :inputLine FROM V$INSTANCE;
    ...1
    PCC-S-02346, PL/SQL found semantic errors

    I issued FULL DB EXPORT / IMPORT privilege to the related Oracle user account and it works now.

  • OSB Split Join Repeat Until Question On XPath Condition

    I'm trying to use OSB File Transport to stream a very large XML document file into a service which will split the file into very many small XML documents. So, given a file like:
    <BookStore>
    <Book></Book>
    <Book></Book>
    ... (many more books)
    </BookStore>
    In the split join I want to use a 'repeat until' to process each Book until there are no more Books in the BookStore. Here's my question: What is the correct XPath expression to use as the Repeat Until terminating condition? (I'm an XPath novice.)
    Thanks for your help!!!

    Hi,
    Based on what I understood, you should be using a for each loop with the conditions as follows:
    Within the Split Join flow
    for each ( counter variable from 1 to Count (xpath of book) ) --> For my example it was count($request.parameter/sjpoc:Orders/sjpoc:Order) replace this with your xpath.
    - do your logic
    Snapshot just in case @ http://dl.dropbox.com/u/19901533/sj_foreach_snapshot.JPG
    Based on this the split and join would happen for n (based on count) number of Book tags.
    Let me know if my understanding is incorrect.
    Thanks,
    Patrick

  • Calling two Business service using split join in osb

    Hi,
    While trying to call two business service using Split Join in osb i am getting selection failure message in Bpel em console. i am using invoke activity to invoke the BS and assign to assign the input. in the assign i am assigning *$request.payload/input* to input.payload . In the em console i am getting input like this
    receiveInput
    Jun 19, 2012 5:05:45 PM Received "process" call from partner "bpelprocess1_client"
    <payload>
    <inputVariable>
    <part name="payload">
    <client:process>xxxxx</client:process>
    </part>
    </inputVariable>
    Assign (pending)
    Jun 19, 2012 5:05:48 PM Error in evaluate <from> expression at line "65". The result is empty for the XPath expression : "/client:process/client:input".
    <payload>
    <client:process>xxxxxx</client:process>
    Jun 19, 2012 5:05:48 PM The following exception occurred while attempting to execute operation copy at line 63
    <payload>
    <bpelFault>
    <faultType>0</faultType>
    <selectionFailure/>
    </bpelFault>
    Jun 19, 2012 5:05:57 PM "BPELFault" has not been caught by a catch block.
    Jun 19, 2012 5:06:00 PM The transaction was rolled back. The work performed for bpel instance "650002" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.
    Can anyone help on this?
    Thanks in Advance...

    maybe this one helps a bit, it's the same pattern
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/
    if you're using a dynamic split join easiest way is to do something like
    assing <yourresponse/> to $response
    at this moment your assign an empty placeholder to the response variable
    now you go into the for-each looping and for each iteration you need to insert the response of your bpel call in the $response variable
    so in the looping as last step you add something like
    insert $mybpelresponse/rootelement into $response/yourresponse
    with the insert it will insert the reponse 1..x times into the $response variable (so actually aggregating all the responses for you)

  • Losing value after split/join

    Hi,
    In my process, there is a split/join activity. Before the split, there is an interactivity activity. User can set the BPMObject values.
    Then, in the split/join, all interactive activities can change the BPMObject values. Before the join, the process works fine.
    However, after join, the interactive activity only gets the original BPMObject values. All changes are lost.
    Argument mapping of input ScreenFlow for the final interactive activity is: var1vpsfArg=var1
    (var1 is the Instance variable)
    How to get the updated value?
    Sincerely,

    Hi,
    I don't think this was caused by your argument mapping. Whenever you're having trouble getting the new information out of a Join activity, the problem is usually the logic in the Join activity itself.
    There are two ways you can treat a Split / Join pattern. If you right mouse click the Split -> Properties -> Advanced, you'll see a check box that allows you to either generate copies (the default) or not generate copies. This means that the transitions leaving the Split can either each have their own independent copy of the original instance variable or all the transitions leaving the split can share original instance variable.
    I'd guess you're not seeing information flowing out of the Join because the Split is set to generate copies and you're not retrieving the copied information in the Join. If you're curious, here's what the engine does when it hits a Split activity that is set to generate copies:
    1. Instance arrives in the Split activty
    2. The engine automatically sends the original (copy 0) instance with all its variables to the Join activity
    3. If there are two transitions leaving the Split, the engine automatically creates a copy of the instance for each of the transitions and sends them to the two activities that follow the Split via their respective transitions. If the two activities that followed the Split were "Check Credit" and "Check Inventory", you would now have the original instance in the Join (copy 0) and a copy (copy1) in the activity "Check Credit" and a copy (copy 2) in "Check Inventory".
    4. As an end user completes the work in "Check Credit" the copy arrives in the Join activity and the logic in the Join executes
    5. As an end user completes the work in "Check Inventory" the copy arrives in the Join activity and the logic in the Join executes
    6. Now that all the copies have arrived and completed the Join, the engine automatically moves the original instance (copy 0) out the Join activity and downstream in the process.
    Here's the logic you might want to add to your Join activity (the logic below assumes I named my activities "Check Credit" and "Check Inventory"). You'll notice that anywhere where you're refering to instance information that would have been set in either of the two activities between the Split and Join are referred to inside the Join's logic using the prefix "copy.". This "copy." is only used inside the Join activity and not in the Split (no logic needed here) or "Check Credit" or "Check Inventory".
    <pre class="jive-pre"><font size= 2 color="navy">// this lets you know where this copy came from
    logMessage "JOIN: previous activity was: " + copy.activity.source.name using severity = DEBUG
    <br>
    case copy.activity.source.name
    when "CheckCredit" then
    order.creditStatus = copy.order.creditStatus
    when "CheckInventory" then
    order.status = copy.order.status
    // the "else" should not have been hit if you've done this correctly
    else
    order.status = "Problem"
    end</font></pre>
    After end users finish their work in the "Check Credit" activity this logic exectutes. The Join activity's logic uses the "copy.activity.source.name" variable to determine where the copy is coming from. Since in this example there are just two activities that immediately precede the Join, there are only two "when" clauses in the case statement. If there had been 4, then there would be 4 "when" clauses.
    It's important to note the name of the activity in the logic above. Notice that the friendly labels are "Check Credit" and "Check Inventory"? Right mouse click each of your activities that immediately precede the Join -> click Properties and note the read only text in the "Activity id" field for each of these activities. In this example, even though the activity appears to be named "Check Credit" the name the logic will use will be "CheckCredit" without the space. The value in the activity's activity id field is what is passed into the Join logic's "copy.activity.source.name" variable.
    What would happen if you didn't have the "case" in the logic above? You'd see the variable information in the last copy arriving into the Join overwrite the information written in previous copies. The last copy in would win.
    In the second paragraph of this, I mentioned that you can choose to either generate copies (the default) or not generate copies (by unchecking the checkbox). I tend to leave it the default simply because it's the way I've always done it. You need to be careful because if you place a new activity just before your Join, the logic in the Join will need to change to accommodate the new activity in a new "when" clause. If you choose to not generate copies, then you don't need any of the logic shown above in the Join activity.
    Hope this helps,
    Dan

  • Error reading job logs of Apps server from Central Instance

    Dear Gurus,
    We have newly installed system with one CI ( cluster environment) and 2 application Instances.
    Systems are recently installed by other team. I am looking into support part after handover.
    We have noticed below error while reading failed background job logs from our CI. If suppose any job is failing, we can read respective job log from that application instance but it throws error while reading job log from CI to either of application instance.
    I checked /sapmnt/SID/global is shared among all 3 servers and i am successfully able to "Touch a" from applications instances.
    Even though i have given "777" permissions to all folders like  /sapmnt/SID , /sapmnt/SID/global , /sapmnt/SID/global/400JOB*
    I am not able to read job log from CI , for same failed job I can read job log from respective application instance.
    Error log :
    Error reading job log JOBLGX00080700X39290
    Message no. BT167
    Diagnosis
    The background processing system was unable to read the job log named in the message.
    This message suggests that there is a problem with the TEMSE storage system of the SAP system.  The TEMSE storage system is a repository for temporary objects, such as job logs and spool requests. Job logs are always stored in the TEMSE as operating system files.
    This error occurs if the TEMSE system is not able to find or access the file that contains the text of the job log that you requested. Possible causes for the loss or unavailability of the job log include the following:
    Someone deleted the required TEMSE file (from the operating system, not from within the SAP system).
    A CRON (or equivalent scheduler) job has deleted the TEMSE file.
    The file system in which the TEMSE stores its files is not mounted or is not accessible (NFS problem, disk failure, or similar problem).
    The TEMSE reorganize or consistency check functions were used within the SAP system and deleted the job log.
    SM21 logs :
    Error 2 for write/read access to a file. File = /usr/sap/SID/SYS/global
    BP_JOBLOG_SHOW: Failed to display jobs. Reason:
    > Error reading job log JOBLGX00080700X39290
    Strange this is I can check failed job log on one application instance frfom other application instance but not from CI.
    Kindly throw some lights where to check.
    Regards,

    Hi Shravan,
    I guess it is related to permission to /sapmnt/SID/global folder. Please ensure owner is sidadm:sapsys in all the systems viz CI, App servers etc.
    Check the mounting options are correctly set with read/write mode.
    Hope this helps.
    Regards,
    Deepak Kori

  • NullPointerException was thrown while extracting a value from an instance

    Dear all,
    We have got a null point exception during commit call. According to the stack trace shown below, it seems that it is a problem due to instance variable accessor. As we know toplink use reflection to access the instance variable value. I am curious whether the exception we got is related to any class-loader setting. Thanks a lot.
    =================
    Stack Trace:
    Exception [TOPLINK-69] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle
    .toplink.exceptions.DescriptorException
    Exception Description: A NullPointerException was thrown while extracting a valu
    e from the instance variable [versionID] in the object [com.oocl.csc.frm.pom.tes
    t.model.Company].
    Internal Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[versionID-->COMPANY.VERSIO
    NID]
    Descriptor: Descriptor(com.oocl.csc.frm.pom.test.model.Company --> [DatabaseTabl
    e(COMPANY)])
    at oracle.toplink.exceptions.DescriptorException.nullPointerWhileGetting
    ValueThruInstanceVariableAccessor(DescriptorException.java:1022)
    at oracle.toplink.internal.descriptors.InstanceVariableAttributeAccessor
    .getAttributeValueFromObject(InstanceVariableAttributeAccessor.java:68)
    at oracle.toplink.mappings.DatabaseMapping.getAttributeValueFromObject(D
    atabaseMapping.java:304)
    at oracle.toplink.mappings.DirectToFieldMapping.iterate(DirectToFieldMap
    ping.java:355)
    at oracle.toplink.internal.descriptors.ObjectBuilder.iterate(ObjectBuild
    er.java:1438)
    at oracle.toplink.internal.descriptors.DescriptorIterator.iterateReferen
    ceObjects(DescriptorIterator.java:258)
    at oracle.toplink.internal.descriptors.DescriptorIterator.startIteration
    On(DescriptorIterator.java:407)
    at oracle.toplink.publicinterface.UnitOfWork.discoverUnregisteredNewObje
    cts(UnitOfWork.java:1368)
    at oracle.toplink.publicinterface.UnitOfWork.discoverAllUnregisteredNewO
    bjects(UnitOfWork.java:1290)
    at oracle.toplink.publicinterface.UnitOfWork.assignSequenceNumbers(UnitO
    fWork.java:326)
    at oracle.toplink.publicinterface.UnitOfWork.collectAndPrepareObjectsFor
    Commit(UnitOfWork.java:664)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeS
    et(UnitOfWork.java:1130)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOf
    Work.java:956)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:771)
    ====================
    ====================
    Mapping Description:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <project>
    <project-name>POM-TEST</project-name>
    <login>
    <database-login>
    <platform>oracle.toplink.oraclespecific.Oracle9Platform</platform>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <connection-url>jdbc:oracle:thin:@sjcngdb2:1521:cdrfrmdv</connection-ur
    l>
    <user-name>pomowner</user-name>
    <password>BB742416276274A47F360CCDD2711570</password>
    <uses-native-sequencing>false</uses-native-sequencing>
    <sequence-preallocation-size>50</sequence-preallocation-size>
    <sequence-table>SEQUENCE</sequence-table>
    <sequence-name-field>SEQ_NAME</sequence-name-field>
    <sequence-counter-field>SEQ_COUNT</sequence-counter-field>
    <should-bind-all-parameters>false</should-bind-all-parameters>
    <should-cache-all-statements>false</should-cache-all-statements>
    <uses-byte-array-binding>true</uses-byte-array-binding>
    <uses-string-binding>false</uses-string-binding>
    <uses-streams-for-binding>false</uses-streams-for-binding>
    <should-force-field-names-to-upper-case>false</should-force-field-names
    -to-upper-case>
    <should-optimize-data-conversion>true</should-optimize-data-conversion>
    <should-trim-strings>true</should-trim-strings>
    <uses-batch-writing>false</uses-batch-writing>
    <uses-jdbc-batch-writing>true</uses-jdbc-batch-writing>
    <uses-external-connection-pooling>false</uses-external-connection-pooli
    ng>
    <uses-external-transaction-controller>false</uses-external-transaction-
    controller>
    <type>oracle.toplink.sessions.DatabaseLogin</type>
    </database-login>
    </login>
    <java-class>com.oocl.csc.frm.pom.test.model.Company</java-class>
    <tables>
    <table>COMPANY</table>
    </tables>
    <primary-key-fields>
    <field>COMPANY.COMPANY_KEY</field>
    </primary-key-fields>
    <descriptor-type-value>Normal</descriptor-type-value>
    <identity-map-class>oracle.toplink.internal.identitymaps.SoftCacheWeakI
    dentityMap</identity-map-class>
    <remote-identity-map-class>oracle.toplink.internal.identitymaps.SoftCac
    heWeakIdentityMap</remote-identity-map-class>
    <identity-map-size>100</identity-map-size>
    <remote-identity-map-size>100</remote-identity-map-size>
    <should-always-refresh-cache>false</should-always-refresh-cache>
    <should-always-refresh-cache-on-remote>false</should-always-refresh-cac
    he-on-remote>
    <should-only-refresh-cache-if-newer-version>false</should-only-refresh-
    cache-if-newer-version>
    <should-disable-cache-hits>false</should-disable-cache-hits>
    <should-disable-cache-hits-on-remote>false</should-disable-cache-hits-o
    n-remote>
    <alias>Company</alias>
    <copy-policy>
    <descriptor-copy-policy>
    <type>oracle.toplink.internal.descriptors.CopyPolicy</type>
    </descriptor-copy-policy>
    </copy-policy>
    <instantiation-policy>
    <descriptor-instantiation-policy>
    <type>oracle.toplink.internal.descriptors.InstantiationPolicy</ty
    pe>
    </descriptor-instantiation-policy>
    </instantiation-policy>
    <query-manager>
    <descriptor-query-manager>
    <existence-check>Check cache</existence-check>
    </descriptor-query-manager>
    </query-manager>
    <event-manager>
    <descriptor-event-manager empty-aggregate="true"/>
    </event-manager>
    <mappings>
    <database-mapping>
    <attribute-name>companyKey</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.COMPANY_KEY</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>contact</attribute-name>
    <read-only>false</read-only>
    <reference-class>com.oocl.csc.frm.pom.test.model.Contact</referen
    ce-class>
    <is-private-owned>false</is-private-owned>
    <uses-batch-reading>false</uses-batch-reading>
    <indirection-policy>
    <mapping-indirection-policy>
    <type>oracle.toplink.internal.indirection.NoIndirectionPoli
    cy</type>
    </mapping-indirection-policy>
    </indirection-policy>
    <uses-joining>false</uses-joining>
    <foreign-key-fields>
    <field>COMPANY.CONTACT_OID</field>
    </foreign-key-fields>
    <source-to-target-key-field-associations>
    <association>
    <association-key>COMPANY.CONTACT_OID</association-key>
    <association-value>CONTACT.POID</association-value>
    </association>
    </source-to-target-key-field-associations>
    <type>oracle.toplink.mappings.OneToOneMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>createdBy</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.CREATED_BY</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>creationClientID</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.CREATION_CLIENTID</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>creationTime</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.CREATION_TIME</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>employeeList</attribute-name>
    <read-only>false</read-only>
    <reference-class>com.oocl.csc.frm.pom.test.model.Person</referenc
    e-class>
    <is-private-owned>false</is-private-owned>
    <uses-batch-reading>false</uses-batch-reading>
    <indirection-policy>
    <mapping-indirection-policy>
    <type>oracle.toplink.internal.indirection.NoIndirectionPoli
    cy</type>
    </mapping-indirection-policy>
    </indirection-policy>
    <container-policy>
    <mapping-container-policy>
    <container-class>com.oocl.csc.frm.pom.impl.FWPersistentArra
    yList</container-class>
    <type>oracle.toplink.internal.queryframework.ListContainerP
    olicy</type>
    </mapping-container-policy>
    </container-policy>
    <relation-table>EMPLOYEMENT</relation-table>
    <source-key-fields>
    <field>COMPANY.COMPANY_KEY</field>
    </source-key-fields>
    <source-relation-key-fields>
    <field>EMPLOYEMENT.EMPLOYER_KEY</field>
    </source-relation-key-fields>
    <target-key-fields>
    <field>PERSON.POID</field>
    </target-key-fields>
    <target-relation-key-fields>
    <field>EMPLOYEMENT.EMPLOYEE_ID</field>
    </target-relation-key-fields>
    <type>oracle.toplink.mappings.ManyToManyMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>lastUpdateClientID</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.LAST_UPDATE_CLIENTID</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>lastUpdatedBy</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.LAST_UPDATED_BY</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>lastUpdateTime</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.LAST_UPDATE_TIME</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>name</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.NAME</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>partner</attribute-name>
    <read-only>false</read-only>
    <reference-class>com.oocl.csc.frm.pom.test.model.Company</referen
    ce-class>
    <is-private-owned>false</is-private-owned>
    <uses-batch-reading>false</uses-batch-reading>
    <indirection-policy>
    <mapping-indirection-policy>
    <type>oracle.toplink.internal.indirection.NoIndirectionPoli
    cy</type>
    </mapping-indirection-policy>
    </indirection-policy>
    <uses-joining>false</uses-joining>
    <foreign-key-fields>
    <field>COMPANY.PARTNER</field>
    </foreign-key-fields>
    <source-to-target-key-field-associations>
    <association>
    <association-key>COMPANY.PARTNER</association-key>
    <association-value>COMPANY.COMPANY_KEY</association-value>
    </association>
    </source-to-target-key-field-associations>
    <type>oracle.toplink.mappings.OneToOneMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>persistentCtxt</attribute-name>
    <read-only>false</read-only>
    <reference-class>com.oocl.csc.frm.pom.impl.FWPOMPersistentContext
    </reference-class>
    <is-null-allowed>false</is-null-allowed>
    <aggregate-to-source-field-name-associations>
    <association>
    <association-key>OWNERID</association-key>
    <association-value>COMPANY.OWNERID</association-value>
    </association>
    <association>
    <association-key>ROOTID</association-key>
    <association-value>COMPANY.ROOTID</association-value>
    </association>
    </aggregate-to-source-field-name-associations>
    <type>oracle.toplink.mappings.AggregateObjectMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>poid</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.POID</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>version</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.VERSION</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    <database-mapping>
    <attribute-name>versionID</attribute-name>
    <read-only>false</read-only>
    <field-name>COMPANY.VERSIONID</field-name>
    <type>oracle.toplink.mappings.DirectToFieldMapping</type>
    </database-mapping>
    </mappings>
    <type>oracle.toplink.publicinterface.Descriptor</type>
    </descriptor>
    </descriptors>
    </project>
    ====================
    ====================
    Session Creation Method:
    SessionBroker broker = (SessionBroker) manager.getSession(brokerName, Thread.currentThread().getContextClassLoader());
    broker.getLogin().getPlatform().getConversionManager().setLoader(Thread.currentThread().getContextClassLoader());
    ====================
    ===================
    Class Hierarchy:
    Object extends> ..xxx.. extends> FWObject extends> Company
    The problematic attribute -- versionID -- is defined at "FWObject" level.
    ===================
    ===================
    Environment Configuration:
    Application Server version: 10.1.2
    TopLink version : 9.0.4.5
    TopLink classpath: specified at container level
    FWObject classpath: specified at container level
    Company classpath: specified at application level
    ===================
    Thanks and regards,
    William

    Dear All,
    We have loaded the toplink.jar to container level instead of application level. Don't know whether it is a possible source of error. Moreover, what is the purpose of loading antlr.jar? What is this jar for?
    Thanks and regards,
    William

  • Exception while executing split join in ALSB

    Hi
    When i am executing splitjoin flow in ALSB i am getting below exception
    ####<Nov 29, 2010 5:02:17 AM EST> <Error> <BPEL Kernel> <gifsmrt> <AdminServer> <[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1291024937262> <BEA-2032000> *<Error during invocation of "MICAPI/Proxy Services/SplitJoin" for event "CPS_IWGIF_Proxy@GetContractFinance" of type "com.bea.bpel.internal.dispatcher.message.ServiceResponseMessageExchangeImpl".*
    *com.bea.bpel.interpreter.exception.MissingReplyException: The message for partner link 'SplitJoin', operation 'GetContractFinance' and message exchange token 'null' has not been replied to.: Fault [{http://docs.oasis-open.org/wsbpel/2.0/process/executable}missingReply] The message for partner link 'SplitJoin', operation 'GetContractFinance' and message exchange token 'null' has not been replied to.*Executing Process Reference: MICAPI/Proxy Services/SplitJoin; instance ID: uuid:11d1def534ea1be0:-5e2ac50e:12b0eb1ffb4:-7b00; thread: Thread 26 (RUNNING); frame ID: null; location: null
    at com.bea.bpel.interpreter.internal.InterpreterFactory$ReplyEventListener.onTerminate(InterpreterFactory.java:84)
    at com.bea.bpel.interpreter.internal.state.StateContainerImpl.terminate(StateContainerImpl.java:131)
    at com.bea.bpel.interpreter.internal.program.StackFrameImpl.delete(StackFrameImpl.java:558)
    at com.bea.bpel.interpreter.internal.program.StackFrameImpl.delete(StackFrameImpl.java:572)
    at com.bea.bpel.interpreter.internal.program.StackFrameImpl.terminate(StackFrameImpl.java:535)
    at com.bea.bpel.interpreter.internal.program.ExecutionThreadImpl.pop(ExecutionThreadImpl.java:79)
    at com.bea.bpel.interpreter.internal.program.ProgramImpl.pop(ProgramImpl.java:395)
    at com.bea.bpel.interpreter.internal.operation.transition.FaultTransition.raise(FaultTransition.java:220)
    at com.bea.bpel.interpreter.internal.operation.transition.FaultTransition.execute(FaultTransition.java:85)
    at com.bea.bpel.interpreter.internal.Interpreter.postProcess(Interpreter.java:224)
    at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:169)
    at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:82)
    at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:55)
    at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventMessage(SchedulerServiceContextImpl.java:184)
    at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:67)
    at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:35)
    at weblogic.work.ContextWrap.run(ContextWrap.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    and fault message as
    <con1:faultcode xmlns:exec="http://docs.oasis-open.org/wsbpel/2.0/process/executable">exec:missingReply</con1:faultcode>
    <con1:faultstring>The message for partner link 'SplitJoin', operation 'GetContractFinance' and message exchange token 'null' has not been replied to.</con1:faultstring>
    Can someone let me know what might went wrong in my flow?

    mmm as far as I remember it's available only in 3.0, not in 2.6
    http://download.oracle.com/docs/cd/E11036_01/alsb30/userguide/splitjoin.html
    and see also the excellent Biemond blog http://biemond.blogspot.com/2008/11/split-join-in-oracle-service-bus.html

  • How does a RAC DB 'spread' from single instance to multiple instances ?

    GI/RDBMS Version: 11.2.0.3
    OS: Oracle Linux 6.3
    Filesystem : ASM
    When a RAC database is created using dbca , Manually , or RMAN restore, the DB is created in the Node1 first with cluster_Database=FALSE .
    Then you run the following commands (for 3-node RAC)  from Node1
    srvctl add database -d lmnprod -o $ORACLE_HOME -p +LMNPROD_DATA01/lmnprod/spfilelmnprod.ora
    srvctl add instance -d lmnprod -i lmnprod1 -n hwcarser290
    srvctl add instance -d lmnprod -i lmnprod2 -n hwcarser291
    srvctl add instance -d lmnprod -i lmnprod3 -n hwcarser292
    Once the DB is created,mounted and opened in Node1 and the above commands are executed , you set cluster_Database=TRUE and startup the Instance2 and Instance 3 in Node2 and Node3.
    I just want to know how does Node2 and Node3 becomes aware of the DB and joins the DB cluster ? What happens internally ?

    Generally speaking, registering in OCR is not required for database to be a cluster database.
    Migration from single-instance database to cluster consists of creating redo logs and undo tablespace for new instance and enabling this instance (thread). If database is policy-managed, this is done automatically for new node.

  • Creating New Entity Instances within OPA

    This is another one that I think I know the answer to, but I think it is best to confirm.
    In prior versions, it was not possible to create entity instances within RuleBurst/Haley Office Rules. Is that still the case in OPA?
    For example, my rules are determining the status of a case and the reason(s) why that status was determined. The case status may be Denied and the reasons may be "invalid customer Id", "expenses to income ratio too high", "primary customer not employed long enough", etc. I want to return all the reasons for the status. While the list of reasons is pre-determined, the ones that apply to a particular case are dynamic, as any, but not all can apply.
    Given this situation using a database, I would create an instance of reason for each applicable one and link it to the case. In the past, with OPA's predecessor(s), it was not possible to create new instances from within. They either had to all be passed into the rulebase or a list of all allowable reasons attributes had to be created and then set to true for the ones that applied.
    My preference is to create the instances inside OPA. Is that functionality provided in the current version?
    Thanks,
    Terry

    Hi Terry,
    Michael is correct that you can't write rules at design time which will dynamically create new entity instances at runtime. However, perhaps the new inferred relationships functionality in v10 could address what you're trying to do.
    You can write rules which conclude membership of an inferred relationship. So you might always have, say, 10 instances of 'the reason' in every case, but as for which of those instances apply in any particular case, it depends on the details of the case. You could use an inferred relationship to collect up the entity instances which apply in the case.
    First you'd need to set up a regular one-to-many relationship to instantiate the 10 instances at runtime - this would be done in the usual way. Then you'd also need to set up an inferred relationship and write rules to conclude the members of the inferred relationship. The instances which are members of the inferred relationship are then effectively the list of entity instances you wanted to create in your example above.
    Have a look at this OPM Help article: http://www.oracle.com/technology/products/applications/policy-automation/help/opm10_1/Content/Rules%20using%20entity%20instances/Reason_about_relship_between_2_entities.htm
    Cheers,
    Jasmine

  • Dynamic Split Join:Parallel flow using OSB

    Hi,
    I am implementing a dynamic split join in OSB,where in the for -loop i am invoking a database adapter.
    If I select parallel='yes' in the for-loop settings, I get a random number of records from the database as an output.
    While on the other hand, on running the for-loop sequentially, i get the exact number of records i am expecting.
    Could anybody figure out why is this happening?
    Regards,
    Tarun

    If I understand correctly, this is what you are doing:
    Configure a For loop based on a repeating element in source XML (for ex. for each customer id in xml message).
    Inside each loop you are making a DB lookup and getting one record for each element (for ex. customer details of each customer id)
    Finally you are aggregating them in the same variable (join)
    The problem that you see is that if you do it in parallel then you do not see details of all customers in the out variable?
    If yes, then can you please let me know how you are updating the details of each record in the out variable.

Maybe you are looking for

  • .js files not found

    I keep getting the following error when updating a template that contains a DW 8 generated pop-up menu (behaviors) At line 1654 of file "C:\Program Files\Macromedia/Dreamweaver 8\Configuration\Behaviors\Actions\Show Pop-up Menu.js": The function save

  • Unusual Shared Computer and Lost External Hard Drive

    I cannot mount a Acomdata HD250FE5-72 external hard drive on my iMacG5. I can't find it in Disk Utility and I can't find it on my new MacBook. My TimeMachine hard drive is daisy chained to it and is working fine. The light on the front is red and fla

  • Randomly accessing serialized objects

    Is there any way to access objects written to a file randomly. Serialization basically needs accessing objects in the same order as they are writeen. but i need to access object(s) in any order. Any suggestions on how to do so?

  • Double Byte Issues inPortal

    Hi,    Can any one help me out with the Double Byte character isuue. The Japaneses Characters are getting printed over lapped inportal screens. Regards. Bharath Mohan N

  • Since I went to iTunes 12 every song skips at least once

    Every time I play a song it skips or pauses at least once. I never had that trouble with iTunes 11. Everything is set to 44,000 @ 24bits, same as my old version