This discussion is archived
1 Reply Latest reply: Jul 25, 2013 7:09 AM by AliAbidi RSS

DB Adapter Service Task - Data Associations not working

AliAbidi Newbie
Currently Being Moderated

Hi,

 

We're using BPM 11.1.1.6. We need to save data submitted on the HumanTask into the Database. Out HumanTask Works fine. The Audit trail shows that output data of Human Task exists as expected. The Human Task flows directly into the ServiceTask, which is a DB Adapter mapped to a PL/SQL PROCEDURE. One data-item is hard-coded via "Simple Expression function" in the mapping, and the rest are mapped in the Data Associations from the DataObject.


Problem is: When the PL/SQL Procedure ( i.e. DB Adapter ) is invoked, the Procedure does NOT receive any of the mapped DataObject Values! It however does receive the Hard-coded value for the one hard-coded item.

 

The Audit Trail of the Service Task shows:

 

Instance entered the Activity (i.e. Service Task): (notice values EXISITING in Red) but they will not reflect in the procedure.

 

 

<auditQueryPayload  auditId="2561001"  ciKey="540187">

<dataState>
<dataObject  name="Organizations"  isBusinessIndicator="false">
<value> <Organizations xmlns="http://xmlns.oracle.com/bpm/bpmobject/BusinessObjects/Organizations"> <o_organization_id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">PL001</o_organization_id> <o_organization_type_code xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">07</o_organization_type_code> <o_organization_name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">TEST NEW INITIAL FILING</o_organization_name> <o_incorporated_state xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">CA</o_incorporated_state> <o_charter_org_id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=""/> <o_fed_operator_id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=""/> <o_tax_id xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">1234567</o_tax_id> </Organizations> </value>

 

</dataObject>

</dataState>

</auditQueryPayload>


PL/SQL PROCEDURE: It outputs the mapped values in a table column. But nothing displays except the hard-coded "98". (See output at bottom)

The idea of this test was to demonstrate that the Procedure is NOT receiving the Mapped Data Associations in the Service Task.

I'm baffled why that would happen. Please Assist.


BELOW IS PL/SQL PROCEDURE AND OUTPUT.


procedure load_test2

(

  p_organization_id in varchar2 default null

, p_operation_type_code in varchar2 default null

, p_organization_type_code in varchar2  default null

, p_organization_name in varchar2   default null

, p_incorporated_state in varchar2   default null

, p_tax_id in varchar2   default null)

IS

BEGIN

    insert into OR1_ERROR_LOGS (error_module, error)

    values ('OR1 BPM Test', 'TEST-Output: org_id' || p_organization_id || ' otc ' ||

p_operation_type_code    || ' orgTC ' ||

p_organization_type_code || ' org_name ' ||

p_organization_name      || ' state ' ||

p_incorporated_state     || ' tax-id ' ||

p_tax_id

); commit;

END load_test2;

 

PROCEDURE OUTPUT:

 

TEST-Output: org_id otc 98 orgTC  org_name  state  tax-id

  • 1. Re: DB Adapter Service Task - Data Associations not working
    AliAbidi Newbie
    Currently Being Moderated

    It is apparently a bug in the software. We'll follow it up through the appropriate channels.

    In the meantime, we found a work-around. Convert the SimpleExpressions of the inputs to Xpath Variables. THEN apply the concat function to append an empty string, as in the below example:

    concat(bpmn:getDataObject('PurposeOfFiling')/ns:purFormType,'')

    Apparently this creates a delay, or a corrected sequencing, such that the data-association will now get picked up in the DB Procedure underlying the DB-Adapter Service Task.

    Hope this helps others out there facing the same problem.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points