✒️ABAP El formato de salida de los datos
ABAP El formato de salida de los datos
ABAP/4 tiene una serie de instrucciones especialmente diseñadas para que la generación de reports sea más sencilla.
Ya hemos visto en el capítulo 8 un resumen de las sentencias de salida de reports más básicas.
WRITE /<offset>(<Iong>) “<datos a visualizar>”.
ULINE /<offset>(<Iong>) “<datos a visualizar>”.
SKIP <n>.
NEW-PAGE.
Además de estas sentencias fundamentales tenemos a nuestra disposición otras posibilidades:
· Para escribir un campo, variable o literal justamente debajo de otros sin tener que calcular la columna, utilizamos la cláusula UNDER del WRITE.
WRITE <campo2> UNDER <campo 1>.·POSITION <columna>.
· Si queremos ir a una determinada línea dentro de la misma página.
SKIP TO LINE <n>.
· Cuando utilizamos la instrucción WRITE con números empaquetados, el sistema trunca por la izquierda en caso de ser necesario (deja un * como indicador de que ha truncado) y rellena con blancos si sobra espacio. Tenemos que tener cuenta que si es negativo el signo ocupará una posición. Si se especifican los decimales con la cláusula DECIMALS del DATA, el punto o coma decimal también ocupará una posición. El signo decimal (punto o coma) estará determinado por los valores del registro de usuario.
y si no cabe el número:
· Podemos formatear la salida de un número empaquetado.
WRITE <campo> NO-SIGN. WRITE <campo_importe> CURRENCY<moneda>.· Si se desea formatear la salida de un campo según una cierta máscara utilizaremos el parámetro USING EDIT MASK “<mascara>” de la instrucción WRITE.
WRITE <campo> USING EDIT MASK”<mascara>”.
Los caracteres de la máscara pueden ser:
“_ “ : un carácter del campo a formatear.
“:” : un separador. Puede ser cualquier carácter especial menos el “-“.
“LL” : justifica por la izquierda (valor por defecto). (Al principio de la mascara). mascara.
“RR” : justifica por la derecha. (Al principio de la mascara).
Ejemplo:
WRITE /(8) SY-UZEIT IJSING EDIT MASK “_:_:_”.
· WRITE <campo_Caracter> NO-ZERO.
· <campo_Fecha> DD/MM/YY.
<campo_Fecha> MM/DD/YY.
<campo_Fecha> DD/MM/YYYY.
<campo_Fecha> MM/DD/YYYY.
·FORMAT INTENSIFIED ON/OFF.
FORMAT INVERSE OFF/ON.
FORMAT INPUT OFF/ON.
FORMAT COLOR n.
Ver la documentación Online del editor ABAP/4 para obtener información mas detallada sobre los usos y sintaxis posibles de esta instrucción.
Formato de página.
También hay un grupo de instrucciones destinadas a dar formato a la salida del report, ya sea por pantalla o por impresora.
· Podemos hacer tratamientos por inicio y fin de página con los eventos:
TOP-OF-PAGE y END-OF-PAGE.
END-OF-PAGE no se ejecutará si el salto de página se produce con un NEW-PAGE.
· Si no queremos que la cabecera del report sea la estándar de SAP, ya que la queremos controlar nosotros directamente en el evento TOP-OF-PAGE, utilizaremos:
REPORT <Zxxxxxxx> NO STANDARD PAGE HEADING.
· El formato de la página de report se define también desde la instrucción REPORT.
REPORT <Zxxxxxxx> LINE-SIZE <n> Ancho de línea.
LINE-COUNT <n(m)> Líneas por página (n). Si se desea se pueden
reservar líneas para un
pie de página (m).
PAGE-COUNT <n>. No. máximo de páginas.
· Podemos impedir que con un salto de página se corten líneas que pertenezcan a una agrupación de líneas con significado lógico propio. Con la instrucción RESERVE reservamos un número de líneas.
RESERVE <n> LINES.
Esta instrucción se colocará justo antes del write que se quiere “reservar”, si no cabe se imprimirá en la siguiente página.
·- Una vez ha salido el report por pantalla con la opción de 'Imprimir'.
- Imprimir sin visualizar por pantalla con la opción 'Imprimir' desde la pantalla de selección o de parámetros.
Desde el programa ABAP/4 podemos controlar la impresión con la instrucción:
NEW-PAGE PRINT ON/OFF Pantalla o impresora.
opciones de impresión.
LINE-COUNT <n> Líneas por página.
LINE-SIZE <n> Tamaño de línea.
Otros foematos
 
 
 
Sobre el autor
Publicación académica de Juan Carlos Ayala Chira, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Ayala Chira
Profesión: Ingeniero de Sistemas E Informática - Peru - Legajo: KQ70J
✒️Autor de: 97 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Ayala