In Siebel 8.0, while using Siebel Operation Step in workflow, strangely we are facing one issue today.
In our Wf, we have 2 Siebel Operation steps continuously one after the other.
1) Siebel Operation to insert 1 record into table CX_EAI_LOG table.
If this step errors out due to one of the unique index in this table then the second step will come into picture. If no error it goes to other step.
2) Siebel operation to insert 1 record into same table CX_EAI_LOG table with just column value changed (as "Error").
But, when 1st step errors out and second step gets executed, the SQL generated is not having all the columns of the table. Hence it is getting errored out as "Required Field value missing".
However, if I check the configuration both the steps are having same input arguments in tools. I even tested passing all literal values to verify. But still the SQL is not having all the columns. In the log I could see all the values I passed from WF as literals, but SQL doesn't consists the columns for these values to insert.
Gurus, can you help me in figuring out why is this strange behavior?
Actually the first Siebel Operation step is part of a solution which is designed to avoid the duplicate transaction.
Due to one unique index the first SO will fail, then in the second SO I insert the same record with status as Error. It means only 1 columns value will change.
But it seems the context of the first BC still persists.
I tried below options today, but no use.
1) After 1st SO, used SO without passing any search spec, so expect to refresh the BC with null query.But instead of triggering null query the SQL generated has all the values used in first SO, in WHERE clause. I don't from from where these values are being taken.
2) Created new WF, which consists only 1 SO to insert the second record. And called it from current workflow, passing all the values through process properties. But still the values are being used in this sub process are old values (same context).
Is there any other way to fix this.