Come: |
Lingue disponibili: reporting, Maintain
La funzione CHKPCK convalida i dati in un campo descritto come formato compresso (se disponibile sulla propria piattaforma). La funzione previene l'avvenimento di una eccezione dati quando una richiesta legge un campo che dovrebbe avere un numero compresso valido, ma non lo contiene.
Per usare CHKPCK:
CHKPCK(length, in_value, error, output)
dove:
Numerico
La lunghezza delcampo compresso. Può essere compresa tra 1 e 16 byte.
Alfanumerico
Il nome del campo compresso o del valore da verificare come decimale compresso. Il valore deve essere descritto come alfanumerico e non compresso.
Numerico
Codice errore che la funzione restituisce se un valore non è in formato compresso. Scegliere un codice errore esterno al di fuori dell'intervallo di dati. Il codice errore è troncato prima su un numero intero, quindi convertito come formato compresso. Tuttavia, potrebbe apparire su un prospetto con un punto decimale a seconda del formato di emissione.
BCD (Binary-Coded Decimal)
Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.
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
L'emissione è:
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
L'emissione è:
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
WebFOCUS |