|
|
An alternative to using LISTPGM An alternative, and we believe a better, solution has been created to LISTPGM / F4PGM verbs which have to be placed at P* FORMAT IS VALIDATED in order to decode the "?" to a selected key, BEFORE validations are executed, as the "?" would presumably fail the e"X"istence check. The solution is new validation type "Q" (query/question mark support). Not strictly a validation (in fact it will probably not have an associated message and the "warning" question would normally be answered "I"gnore i.e. its not really a validation). The reason for this apparent lunacy is again to overcome an abnormal user interface. If a display has a mix of LISTPGMs , Existence Check Validations and Validman Validations, then a strange sequence of "?" support options may be displayed. Initially the LISTPGMs (executed at P* FORMAT IS VALIDATED ) show the Finder pgms in the sequence in the 4GL (presumably specified in the sequence the fields appear on the display) then the Validman Validation "?" support is executed as part of normal validations. The idea behind "Q" type validations is that you can better sequence the "?" support from Finders in between the "?" support from Validman in between the "X" type validations. It also removes the problem of less experienced GV users being subjected to P* points at so an early a stage of the learning curve. The planting of LISTPGM verbs into the 4GL screen when picking fields through the interactive field picker can be amended to plant "Q" type validations by amending the Auto-Specify Data Area (option 1 from the data areas menu) to say "QVALS" rather than LISTPGM in the appropriate answer box. This will also change the Auto Specifier to plant "Q" type validations rather than LISTPGM verbs. Another big advantage in using QVALS rather than LISTPGMs is that they can be entered against a field in the Data Dictionary and included directly into a Function Spec just as normal validations are included. The main advantage here is that Genesis V always guesses the LISTPGM to be the Finder over the main key of a file, whereas it is common practice to make the Finder program locate on a different field such as Mnemonic or Short Description. By setting a "Q" type validation in the Data Dictionary pointing to the appropriate Finder program, the guesswork is removed. |