October 24, 2009, 11:43 AMMika Keranen
Controlling pmf_booklet_data, when there is no data found.
Is there a way, other than customizing/modifying the fex itself, to tell pmf_booklet_data that if there is no data found, continue the main fex? For example, in the following case we get a PMF 'No Data Found' message, although there is data for current year. This is a simplified version, I didn't copy all -SET commands, but could we control the behaviour with any &variable?
-SET &TIME_RANGE = '12MM' ;
-SET &MEASURES_HOLD_FILE = 'CURR_PRD';
And the the same thing for Prior year.
-SET &TIME_RANGE = '12MM_PRI' ;
-SET &MEASURES_HOLD_FILE = 'PRIOR_PRD';
We have data for current year for all metrics, but some don't have prior year. When this happens, we get 'No Data'. We could pf course try doing this with a different timerange (e.g. PRI_CUR_Y), but that would also require changing the program logic.
The customer is using PMF 513.
October 26, 2009, 09:12 AMBob Jude Ferrante
pmf_booklet_data is going to throw an error and jump to the :ERROR_XT label if there is a WebFOCUS error message thrown, or the :NODATA label if there is no data returned from a request.
You could "hook" those labels with modifications to handle these errors differently if you needed, that would be a customization.
October 26, 2009, 10:20 AMMichael Paul
There is a switch that you can set before calling pmf_booklet_data to tell it to ignore the NODATA page and continue to the end.
-SET &DISP_NO_DATA = 'N' ;
If this is set the NODATA page will not be displayed and it will finish to success in pmf_booklet_data. To catch this you will need to put in a check to see if any lines exist using "-IF (&LINES EQ 0) THEN GOTO".
October 27, 2009, 11:44 AMMika Keranen
Gentlemen, thanks for the answers. And Mike, thanks, good to know about &DISP_NO_DATA parameter. I ended up rewriting the program and using a time period that gives me the data for current and prior year with one go (PRI_CUR_Y). So no worries here anymore