Cómo: |
Idiomas disponibles: informes, Maintain
La función CHKPCK valida los datos de un campo de formato empaquetado (si está disponible en su plataforma). La función evita que ocurran excepciones de datos cuando una solicitud lee un campo que, en contra de lo esperado, no contiene un número empaquetado válido.
Para usar CHKPCK:
CHKPCK(length, in_value, error, output)
donde:
Numérico
Es la longitud del en el campo empaquetado. Puede tener entre 1 y 16 bytes.
Alfanumérico
Es el nombre del campo empaquetado o el valor que se va a verificar como decimal empaquetado. El valor debe estar descrito como alfanumérico, no como empaquetado.
Numérico
Es el código de error devuelto por la función cuando un valor no está empaquetado. Elija un código de error situado fuera del rango de datos. Primero, el código de error se trunca a un número entero y a continuación, se convierte al formato empaquetado. Sin embargo, puede que aparezca con un punto decimal en el informe, dependiendo del formato de salida.
Decimal empaquetado
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
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 salida es:
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 salida es:
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 |