XTPACK: Cómo escribir un número empaquetado de hasta 31 dígitos significativos en un archivo de salida

Cómo:

La función XTPACK almacena números empaquetados de hasta 31 dígitos significativos en un campo alfanumérico, manteniendo los datos decimales. Esto permite escribir un campo empaquetado corto o largo, de 1 a 16 bytes, en un archivo de salida.


Principio de página

x
Sintaxis: Cómo Guardar valores empaquetados en un campo alfanumérico
XTPACK(in_value, outlength, outdec, output)

donde:

infield
Numérico

Es el valor empaquetado.

outlength
Numérico

Es la longitud del campo alfanumérico que mantiene el campo empaquetado convertido. Puede ser de 1 a 16.

outdec
Numérico

Es el número de posiciones decimales deoutput.

output
Alfanumérico

Es el nombre del campo que contendrá el resultado o el formato del campo entre comillas simples.



Ejemplo: Cómo escribir un número empaquetado largo en un archivo de salida

La siguiente solicitud crea un campo de decimal empaquetado largo denominado LONGPCK. ALPHAPCK (formato A13) es el resultado de aplicar XTPACK al campo empaquetado largo. A continuación, PCT_INC, LONGPCK y ALPHAPCK quedan escritos en un archivo SAVE, llamado XTOUT.

DEFINE FILE EMPLOYEE                                  
LONGPCK/P25.2 = PCT_INC + 11111111111111111111;       
ALPHAPCK/A13 = XTPACK(LONGPCK,13,2,'A13');            
END                                                   
TABLE FILE EMPLOYEE                                   
PRINT PCT_INC LONGPCK ALPHAPCK                        
WHERE PCT_INC GT 0                                    
  ON TABLE SAVE AS XTOUT                              
END                                                   

El archivo SAVE presenta los siguientes campos y formatos:

ALPHANUMERIC RECORD NAMED  XTOUT                                    
FIELDNAME                         ALIAS         FORMAT        LENGTH
                                                                    
PCT_INC                           PI            F6.2            6   
LONGPCK                                         P25.2          25   
ALPHAPCK                                        A13            13   
                                                                    
TOTAL                                                          44   
SAVED...                                                            

Information Builders