Focal Point
Data Migrator Error Handling (RET_CODE vs FOCERRNUM)

This topic can be found at:
http://forums.informationbuilders.com/eve/forums/a/tpc/f/1381057331/m/9381020152

October 09, 2007, 02:17 PM
Viral
Data Migrator Error Handling (RET_CODE vs FOCERRNUM)
Hello-

I've developed a process flow that calls several data flows with the "Execute as RPC" option so that they can share variables. I have a question regarding error handling. The oracle table we're populating was out of disk space. The dataflow detected this condition and reported it in the log.

The auto generated code for the success condition does not seem to handle this correctly. An error occurred but my flow continued to process. The code that is generated only checks &FOCERRNUM for continuation. In this case, &&CM__RETURN is not zero, but my flow continues anyway.

This line of code computes the correct error code, but never checks it:
-SET &RET_CODE = IF &&CM__RETURN EQ 0 THEN &FOCERRNUM ELSE &&CM__RETURN;

If I modify the condition from:
-IF (&FOCERRNUM EQ 0) GOTO Big GrinEP_3;

To this, everything works great.
-IF (&RET_CODE EQ 0) GOTO Big GrinEP_3;

Shouldn't the generated code check RET_CODE instead of FOCERRNUM? Based on what I'm seeing, I'd need to change every success condition I ever drop into a process flow to get the correct results. That seems quirky.

Sample Rendered Code Block (modified for success using the graphical editor)
-Big GrinEP_2
-TYPE (ICM18015) DEP_2: procedure my_etl_df started.
EX samples/my_etl_df
-RUN
-IF (&&KILL_RPC EQ 'Y') GOTO :STOPRPCS;
-SET &RET_CODE = IF &&CM__RETURN EQ 0 THEN &FOCERRNUM ELSE &&CM__RETURN;
-TYPE (ICM18039) DEP_2 my_etl_df Return Code = &RET_CODE
-IF (&RET_CODE EQ 0) GOTO Big GrinEP_3;
-GOTO :ENDDEP


Please review it and let me know does it required always to setup the custom condition.
Thanks in advance for your suggestions.

DM 7.1.6, OS WIN2003K., Oracle 10g.


WF 7.6.2/ OS WIN2003.
DM 7.6.2
October 09, 2007, 03:45 PM
newtofocus
Did you select the flow option, stop processing after n DBMS errors?. This option, if selected should have stopped the processing.


WF7.1.4 Prod/Test, MRE, self serve, DM
October 09, 2007, 04:34 PM
Viral
Thanks for quick response !

No I don't have setup like that.
Where I have to do this setup and n stands for any number DBMS returns error number or we have to give proper DBMS error number.

Pls. tell me how can I do this setup.

Thanks.


WF 7.6.2/ OS WIN2003.
DM 7.6.2
October 09, 2007, 05:53 PM
newtofocus
Go to flow properties and then choose Execution,select stop processing after n DBMS errors where n stands for how many you want it to stop after.


WF7.1.4 Prod/Test, MRE, self serve, DM
October 10, 2007, 05:36 PM
Viral
Thanks for reply

I can setup for that, but it will be set for all the flows, true ?

I found the IBI is working on the similar issue even after RDMS error flow continue to run where it suppose to stop the execution.


WF 7.6.2/ OS WIN2003.
DM 7.6.2
October 11, 2007, 06:53 PM
Jessica Bottone
It isn't a global setting. Setting it for one will not set it for all. You have to specificallly set it for each dataflow.


Data Migrator 5.3, 7.1, 7.6
WebFOCUS 7.1, 7.6, 7.7
SQL Server, Oracle, DB2
Windows