Vous êtes sur la page 1sur 58

ABAP-REPORT

LISTAS PARAMETERS SELECTION OPTIONS VARIANTE PROGRAMA IN BACKGROUND INTERACTIVO REPORTING ALV GRID BDL

REPORT
REPORT El REPORT siempre va al principio de un programa. Y tiene las siguientes opciones - NO STANDARD PAGE HEADING ->Suprime la lnea de cabecera del sistema, sin embargo no se suprime la lnea de cabecera de columnas. Entonces se visualizan los ttulos/cabeceras que hayamos creado. - LINE-SIZE ->Nmero de columnas que tendr una lnea. - LINE-COUNT -> Nmero de filas que tendr la pantalla. - MESSAGE-ID xx -> Nmero de un mensaje estndar, donde xx es la librera donde estn los mensajes.

REPORT
- RESERVE n LINES -> Mantiene lneas libres del listado de salida para evitar que por un salto de pgina queden separadas lneas de un mismo grupo. - PAGE-COUNT oo -> oo cantidad mxima de pginas por listado. Ejemplo: voy a declarar un REPORT que no tenga cabeceras, con 65 columnas y 120 filas. REPORT NO STANDARD PAGE HEADING LINE-SIZE 65 LINE-COUNT 120

REPORT
La primera sentencia para generar la lista es: WRITE Por defecto ABAP genera dos header lines, el titulo y el nro de pagina.

REPORT
Se puede indicar que WRITE la fecha y la hora del sistema: write: 'DATE' , sy-datum. write: 'TIME' , sy-uzeit.

REPORT

REPORT
Anexar elemento de Texto

REPORT

REPORT
SKIP , genera lneas en blanco ULINE, produce una lnea solida

Podemos indicar la posicin y longitud especifica write: 5 'DATE'(001), 20 sy-datum. write: /5 'TIME'(003), 20 sy-uzeit. uline /5(50).

REPORT
Formatting options: write: /5 'TIME'(003), 20 sy-uzeit using edit mask '__:__'.

REPORT
FORMAT, determina como la data aparece . Ejemplo
format color 1. write: 5 'DATE'(001), 20 sy-datum. format color 2. write: /5 'TIME'(003), 20 SY-uzeit . format color 3. write: /5 'TIME'(003), 20 SY-uzeit using edit mask '__:__'. format color off.

REPORT
Siymbols y Icons.
include <symbol>.

write:/ sym_phone as symbol, ZUNIVERSIDAD-RIF. write:/ SYM_GLASSES as symbol, ZUNIVERSIDAD-RIF. write:/ SYM_DOWN_ARROW as symbol, ZUNIVERSIDAD-RIF.

REPORT
NEW-PAGE.
El sistema genera continuas paginas mientras tengas informacin que escribir, sin embargo se puede forzar una nueva pagina. WRITE:/ ZUNIVERSIDAD-RIF, ZUNIVERSIDAD-NOMBRE_D_UNIV. new-page.

REPORT
Page Header: Elemento de texto

REPORT
Page Header: Elemento de texto

REPORT
NO STANDARD PAGE HEADING: suprime el system header line. TOP-OF-PAGE top-of-page. format color col_heading. " o 1 write: 'PRUEBA', sy-uname, 60 sy-datum.

REPORT
END-OF-PAGE REPORT ZPRUE23 no standard page heading line-count 5(2).

end-of-page. uline. write:'Page Footer'.

REPORT

REPORT
Reserve <n> lines. Para la informacin que no se quiere separar durante una impresin, ejemplo direcciones, se usa RESERVE, se coloca antes del WRITE, el sistema primero verifica si hay suficientes lneas disponibles en la pagina, si no es el caso ejecuta un salto de pagina.

REPORT
El text Symbols se puede usar de dos formas: TEXT-xxx string(xxx)

Ejemplo write: 'DATE'(001) , sy-datum. write: text-001 , sy-datum.


En ambos caso el resultado es el mismo

REPORT
Otras instrucciones usadas en las Listas: NEW-LINE., corresponde a / en el WRITE SET BLANK LINES ON /OFF. Activa o desactiva la posibilidad de escribir lneas en blanco. POSITION <n>. Siguiente posicin de salida en columna n de la lnea actual. BACK. Vuelve a la primera lnea

REPORT
SY-ULINE. El sistema genera una lnea Horizontal. SY-VLINE. El sistema genera una lnea vertical

REPORT
Campos del Sistema en la creacin de listas. SY-TITLE. Titulo del reporte desde Elemento de texto. SY-LINCT. Nro. de lneas del reporte. SY-LINSZ. Ancho de la lnea del reporte. SY-PAGNO. Numero de la pagina. SY-LINNO. Numero de la lnea. SY-COLNO. Numero de la columna.

REPORT
Impresin directa desde un programa: NEW-PAGE PRINT ON NO DIALOG DESTINATION LT01 IMMEDIATELY X. Write: .. NEW-PAGE PRINT OFF.

REPORT- PARAMETERS
PARAMETERS
Con esta sentencia se declara un parmetro en la pantalla de seleccin. Un PARAMETERS permite que el usuario de un valor nico y concreto a un campo o variable del programa PARAMETERS parmetro [ (longitud) ] [ TYPE tipo | LIKE var ] [ DECIMALS num ][ DEFAULT valor ] [ MEMORY ID parm ] [ MODIF ID clave] [ FOR TABLE tabla][ NO-DISPLAY] [ AS CHECKBOX ] [ LOWER CASE ] [ OBLIGATORY ][ RADIOBUTTON GROUP grupo ] [ MATCHCODE OBJECT objeto ][ AS MATCHCODE STRUCTURE ] [ VALUE REQUEST ] [HELPREQUEST ].

REPORT- PARAMETERS
TYPE tipo | LIKE var: Definicin del tipo del parmetro. DECIMALS num: N de decimales a mostrar (slo para PARAMETERS de tipo numrico). DEFAULT se utiliza para asignar un valor por defecto al parmetro, antes del evento INITIALIZATION. Dicho valor aparecer en pantalla. El usuario puede cambiarlo si quiere. MEMORY ID parm: Permite iniciar un parmetro con el contenido de una var. de memoria. .

REPORT- PARAMETERS
NO-DISPLAY: Este PARAMETERS no ser visible, pero existe. Puede drsele valor usando la opcin DEFAULT, el evento INITIALIZATION, o al llamar al programa con SUBMIT . AS CHECKBOX: Crea el parmetro con la apariencia y funcionalidad de un checkbox. Un checkbox tiene dos estados chequeado y no chequeado. Si usamos esta opcin significa que vamos a presentar una eleccin del tipo on/off o verdadero/falso. Los checkbox son independientes entre si . No se puede especificar tipo y longitud. siempre su tipo es c y su longitud es 1. Los valores de un checkbox son X y espacio. No existen otros valores de este parmetro.

LOWER-CASE: Permite distinguir en el parmetro caracteres en mayscula y minscula. Si no se especifica esta opcin, al pulsar ENTER se pasa el valor introducido a todo maysculas.
OBLIGATORY: Este campo o parmetro ser obligatorio (debe drsele algn valor).

REPORT- PARAMETERS
RADIOBUTTON GROUP grupo: Crea el parmetro como un botn de seleccin. Los botones van agrupados, de forma que en el mismo grupo de ellos slo se puede seleccionar 1. Un radio button tiene tambin dos estados, seleccionado y no seleccionado. Sin embargo los radio buttons funcionan en grupos de modo que solamente uno de los parmetros del grupo puede estar seleccionado. No se puede especificar tipo y longitud. siempre su tipo es c y su longitud es 1. Para mostrar un parmetro como radiobutton, hay que especificar de que grupo es. Se pueden crear varios grupos en el programa. Los valores de un parmetro radiobutton son X y espacio. MATCHCODE OBJECT objeto. Asigna un objeto de matchcode a un parmetro, para que aparezca un matchcode que, al desplegarlo, nos muestre valores posibles para el campo. (mediante tabla de valores asociada).

REPORT-PROGRAMA IN BACKGROUND
Si se necesita procesar gran cantidad de datos que produce una extensiva lista debe ejecutarse en proceso de fondo. Para correr un programa de fondo es necesario incluirlo en un JOB. Cuando se ejecuta un programa ABAP en fondo, el sistema crea automticamente una definicin de JOB cuyo nombre es el mismo del nombre del programa. Tambin es posible generar la definicin de un JOB y dispararlo desde un programa ABAP.

REPORT-PROGRAMA IN BACKGROUND
Se utiliza las funciones: CALL FUNCTION JOB_OPEN CALL FUNCTION JOB_SUBMIT CALL FUNCTION JOB_CLOSE

REPORT-PROGRAMA IN BACKGROUND
CALL FUNCTION JOB_OPEN Mediante la funcin JOB_OPEN se crea el nombre del Job. Esta funcin requiere de una entrada correspondiente al nombre que se desea dar al Job y la funcin devuelve en una variable la identificacin interna que gener para dicho job, que ser luego necesaria para la ejecucin de las siguientes funciones.

REPORT-PROGRAMA IN BACKGROUND
CALL FUNCTION JOB_SUBMIT

CALL FUNCTION JOB_CLOSE

REPORT-PROGRAMA IN BACKGROUND
Mediante la funcin JOB_OPEN se crea el nombre del JOB

REPORT-PROGRAMA IN BACKGROUND

REPORT-PROGRAMA IN BACKGROUND

REPORT-VARIANTE
Para cada reporte se puede crear diferente seleccin para los datos de entrada .Esta seleccin se guardar como variante. Al momento de procesar el reporte selecciona la variante deseada. La variante se puede usar online o en background

REPORT
Ver programas ZPRUE24, ZPRUE25, ZPRUE26, ZPRUE27, ZPRUE28, ZPRUE29 MATCHCODE ZH_RIF

REPORT-BD LOGICA, continuacin


Para obtener datos en un programa existen dos posibilidades:

- Programar la lectura de datos de la base de datos en el mismo programa con la instruccin SELECT. - Dejar que otro programa de lectura (BD lgica) lea los datos y se los proporcione en la secuencia apropiada.

REPORT-BD LOGICA
Se utiliza Base de datos lgica para leer los datos consistentes desde bases de datos. Cada base de datos tiene una estructura lgica que contiene una jerarqua de las tablas y vistas que se van a leer. Puede adjuntar exactamente una base de datos lgica para cada tipo de programa 1. La base de datos lgica suministra al programa entradas a las tablas y vistas. Esto significa que slo tiene que programar el procesamiento de datos.

REPORT-BD LOGICA

REPORT-BD LOGICA
SPFLI : Conexiones de vuelos SFLIGHT: Vuelos SBOOK: Reseva de vuelos

REPORT-BD LOGICA
NODES <node>. GET <node>. GET <node> FIELDS camp. GET <node> LATE. CHECK STOP EXIT START-OF-SELECTION END-OF-SELECTION

REPORT-BD LOGICA
NODES Realiza dos funciones: 1.- Asigna el espacio de almacenamiento apropiado. Esta estructura se rellena en tiempo de ejecucin con registros de datos que la base de datos lgica ha ledo a partir de la base de datos y puesta a disposicin del programa. 2.- Determina con detalle el SELECTION SCREEN, y debe contener solo los campos claves de entrada de informacin que el programa necesita.

REPORT-BD LOGICA
GET <node>. Copia los datos de la BDL al programa. Este evento siempre ocurre cuando una BDL a ledo la correspondiente tabla y previsto el reporte. El GET evento es procesado varias GET <node> LATE. Se dispara cuando todos los nodos subordinados han sido procesados antes que la data es leda por el prximo nodo. Ocurre cuando las tablas subordinadas se han procesados y el sistema requiere la prxima entrada

REPORT-BD LOGICA
5 1 1 SPFLI

SPFLI 5

SPFLI SFLIGHT

SFLIGHT

SBOOK

SBOOK

SBOOK 3

SBOOK
3

SBOOK
3

REPORT-BD LOGICA
CHECK: Finaliza el procesamiento del bloque si la condicin es falsa. STOP: Finaliza el procesamiento del programa. Si hay un STOP dentro de un END-OF-SELECTION, el programa finaliza y se muestra la lista que este en el buffer EXIT: Sale del programa pero no dispara el END-OFSELECTION, si hay una lista creada en el buffer antes del EXIT se puede mostrar. REJECT: El registro de datos no se procesa mas.

REPORT-BD LOGICA
Ver programas: ZPRUE 30,ZPRUE31 y ZPRUE32

REPORT-BD LOGICA
GET <table> , si quiero indicar todos los campos GET <table> FIELDS campo, si quiero un campo en especial

REPORT- Selection Screen


PARAMETERS SELECT-OPTIONS

REPORT- Selection Options


Es usada para ingresar criterios de seleccin para la data

REPORT- Selection Options


. SELECT-OPTIONS: SELECT-OPTIONS criterio FOR campo [ DEFAULT v1 [ TO v2 ] [ OPTION o SIGN s] ][ MEMORY ID parm ] [ MODIF ID clave] [ NO-DISPLAY ] [ LOWER CASE ][ OBLIGATORY] [ NO-EXTENSION ] [ NO INTERVALS ] [ NO DATABASESELECTION ] [ MATCHCODE OBJECT objeto] [ VALUE REQUEST [ FOR LOW| HIGH ] ] [ HELP-REQUEST [ FOR LOW |HIGH ] ].

Con esta sentencia se declara un criterio de seleccin en la pantalla de seleccin. El nombre de dicho criterio debe tener 8 caracteres como mximo.

Un SELECT-OPTIONS permite que el usuario de un rango de valores para un campo o variable, o bien varios intervalos, o bien uno o ms valores individuales, todo ello entremezclado como se desee. En las condiciones (en IF, opciones WHERE, CHECK, ) que involucren SELECTOPTIONS se usa el operador IN, ya que chequea si un valor dado est o no en el(los) rango(s) del criterio de seleccin.

REPORT- Selection Options


DEFAULT v1 [ TO v2 ] [ OPTION o SIGN s ]: Para indicar valores por defecto. v1 es el valor LOW, v2 es el valor HIGH. Para valores de seleccin simples, las OPTIONs vlidas son: EQ, NE, GE, GT, LE, LT, CP o NP (la opcin por defecto es EQ). Para intervalos de seleccin, las OPTIONs vlidas son BT (between) y NB (la opcin por defecto es BT). NO-EXTENSION: Limita el criterio de seleccin a una nica entrada en la tabla (o bien 1 valor individual, o 1 rango). Para ello elimina el icono que posibilita las entradas mltiples. NO INTERVALS: Limita el criterio de seleccin a valores simples, es decir, no admite rangos, aunque se pueden poner varios valores individuales.

REPORT- Selection Options


Ver programa ZPRUE33.

REPORT-INTERACTIVO REPORTING
Con los reportes interactivos se puede generar segundas listas . Se pueden asociar o disparar el evento desde: AT PFxx AT line-selection AT user-command TOP-OF-PAGE DURING LINE-SELECTION, encabezado para la lista secundaria. SY-LSIND contiene el index de la lista que se esta creando. SY-LISEL es llenado con el contenido de la linea seleccionada. HIDE: Esconde el contenido de la lnea, el contenido se almacena en una rea especial, el sistema almacena para cada campo el nombre y el valor.

REPORT-INTERACTIVO REPORTING
Reporte ZDEMO_INTERACTIVE

REPORT-INTERACTIVO REPORTING
Reporte ZDEMO_INTERACTIVE

REPORT-INTERACTIVO REPORTING
Reporte ZDEMO_INTERACTIVE, sy-lisel = 1

REPORT-INTERACTIVO REPORTING
Reporte ZDEMO_INTERACTIVE, sy-lisel = 2

Vous aimerez peut-être aussi