October 24, 2009, 11:43 AM
Mika KeranenControlling 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';
-INCLUDE PMF_BOOKLET_DATA
And the the same thing for Prior year.
-SET &TIME_RANGE = '12MM_PRI' ;
...
-SET &MEASURES_HOLD_FILE = 'PRIOR_PRD';
-INCLUDE PMF_BOOKLET_DATA
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.
Thanks,
Mika
October 26, 2009, 09:12 AM
Bob Jude Ferrantepmf_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.
thanks
October 26, 2009, 10:20 AM
Michael PaulHi Mika,
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".
Good luck!
Mike
October 27, 2009, 11:44 AM
Mika KeranenGentlemen, 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
.
Thanks,
Mika