We're using BPM 188.8.131.52. 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">
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.
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)
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 ' ||
TEST-Output: org_id otc 98 orgTC org_name state tax-id
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:
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.