This is a two part question:
1. Is there away to test for the number of Across Values a request is bringing back before you get the FOC031 error - kind of like &LINES, where you can test for the number of rows and then either return your own error message or continue with the rest of the request.
2. If not, is there a way to hack the fot004.err file and write your own error message for this situation (MAXIMUM NUMBER OF 'ACROSS' VALUES HAS BEEN EXCEEDED) I would like to NOT get the white screen of death and rather return an in house message complete with instructions on how to avoid this issue. Can I put a -INCLUDE in the fot004.err file? Has anyone ever tried this?
FYI - this is a self-service application, we have much front end verification to avoid what we know are huge acrosses, but we still get a few that slip past.
1. Not really. The only thing I can think of is to TABLE FILE fn WRITE CNT.DST.acrossfield ON TABLE SAVE END -RUN -READ SAVE &DST.A6. -IF &DST GT 95 GOTO ERR
2. Since fot004.err is a plain text file, you may theoretically edit and change it, but you may not like the results. For one thing, err files are read by fixed offsets. Each message is one line, followed by four lines of explanation. If you change the explanation for FOC031 to something that is longer than 4 lines, all subsequent error messages will be displayed incorrectly. Another thing, any time you apply a service pack, your custom fot004.err will be replaced by the current standard one.
Could you modify the application to test &FOCERRNUM and issue a custom message IF &FOCERRNUM EQ 31?
|Powered by Social Strata|