Comment : |
Langages disponibles : reporting, Maintain
La fonction CHKPCK valide les données dans un champ décrit comme format condensé (si disponible sur votre plate-forme). La fonction empêche une exemption de données de se produire lors d'une lecture de requête de champ qui devrait contenir un nombre condensé valide mais ne l'est pas.
Pour utiliser CHKPCK :
CHKPCK(length, in_value, error, output)
où :
Numérique
Est la longueur du champ condensé. Elle peut être comprise entre 1 et 16 octets.
Alphanumérique
Est le nom du champ condensé ou la valeur devant être vérifié en tant que décimal condensé. La valeur doit être décrite en alphanumériques, pas condensé.
Numérique
est le code d'erreur que la fonction renvoie si une valeur n'est pas condensée. Choisissez un code d'erreur en dehors de la plage de données. Le code d'erreur est d'abord tronquée à un nombre entier, puis converti en format condensé. Cependant, il se peut qu'il apparaisse sur un rapport avec une décimale en fonction du format de sortie.
Décimal condensé
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
DEFINE FILE EMPLOYEE PACK_SAL/A8 = IF EMP_ID CONTAINS '123' THEN 'AAA' ELSE PCKOUT(CURR_SAL, 8, 'A8'); END
TABLE FILE EMPLOYEE PRINT DEPARTMENT PACK_SAL BY EMP_ID ON TABLE SAVE AS TESTPACK END
La sortie est :
NUMBER OF RECORDS IN TABLE= 12 LINES= 12 ALPHANUMERIC RECORD NAMED TESTPACK FIELDNAME ALIAS FORMAT LENGTH EMP_ID EID A9 9 DEPARTMENT DPT A10 10 PACK_SAL A8 8 TOTAL 27
FILE = TESTPACK, SUFFIX = FIX FIELD = EMP_ID ,ALIAS = EID,USAGE = A9 ,ACTUAL = A9 ,$ FIELD = DEPARTMENT,ALIAS = DPT,USAGE = A10,ACTUAL = A10,$ FIELD = PACK_SAL ,ALIAS = PS ,USAGE = A8 ,ACTUAL = A8 ,$
DEFINE FILE TESTPACK GOOD_PACK/P8CM = CHKPCK(8, PACK_SAL, -999, GOOD_PACK); END
TABLE FILE TESTPACK PRINT DEPARTMENT GOOD_PACK BY EMP_ID END
La sortie est :
EMP_ID DEPARTMENT GOOD_PACK ------ ---------- --------- 071382660 PRODUCTION $11,000 112847612 MIS $13,200 117593129 MIS $18,480 119265415 PRODUCTION $9,500 119329144 PRODUCTION $29,700 123764317 PRODUCTION -$999 126724188 PRODUCTION $21,120 219984371 MIS $18,480 326179357 MIS $21,780 451123478 PRODUCTION -$999 543729165 MIS $9,000 818692173 MIS $27,062
Information Builders |