13
Módulo 3 Programación de Reports

Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3 Programación de Reports

Page 2: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 2

ÍNDICE

1. REPORTS .................................................................................................................... 3

1.1. Estructura de reports ABAP - Eventos ................................................................... 3

1.2. Pantalla de selección ............................................................................................. 4

1.3. Selección de datos ................................................................................................. 5

1.4. Salida de datos ....................................................................................................... 5

1.5. Elementos de texto ................................................................................................ 6

1.6. Bases de datos lógicas (BDL) ................................................................................. 9

1.7. Otros eventos ...................................................................................................... 13

Page 3: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 3

1. REPORTS

Son programas orientados a hacer diferentes tipos de listados, ya sea simple o

interactivo.

Principales transacciones:

• SE38 (Editor ABAP)

• SA38 (Ejecución de programas tipo REPORT)

• SE80 (Object Navigator)

1.1. Estructura de reports ABAP - Eventos

El ABAP es un lenguaje de programación orientado

a eventos. Esto significa que se ejecuta en el

orden predeterminado en los eventos,

independientemente de cómo esté estructurado

el programa.

Bloques principales de un programa de tipo report:

• Cabecera del programa: REPORT ….

• Definición de datos: DATA, TABLES,… no es

un bloque ejecutable

• INITIALIZATION: ejecutado siempre al

iniciar un programa

• SELECTION-SCREEN: pantalla de selección,

ver figura contigua para entender otros

sub-eventos

• START-OF-SELECTION: inicio del programa,

utilizado principalmente para selección de

datos y cálculos.

• END-OF-SELECTION: fin del programa,

utilizado principalmente para mostrar el

listado de los datos seleccionados.

Page 4: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 4

1.2. Pantalla de selección

Define los campos de entrada que el usuario tendrá que informar para obtener el

listado.

Hay 2 tipos:

• PARAMETERS, campos simples

o RADIOBUTTON, permite elegir 1 entre varias opciones de una lista

o CHECKBOX, permite marcar varias opciones de una lista

• SELECT-OPTIONS, rangos de datos (desde-hasta, lista de valores, …)

Ejemplos:

PARAMETERS: p1(10) TYPE c VISIBLE LENGTH 1,

p2(10) TYPE c VISIBLE LENGTH 5,

p3(10) TYPE c VISIBLE LENGTH 10.

PARAMETERS: r1 RADIOBUTTON GROUP rad1,

r2 RADIOBUTTON GROUP rad1 DEFAULT 'X',

r3 RADIOBUTTON GROUP rad1.

PARAMETERS: a AS CHECKBOX USER-COMMAND flag,

b AS CHECKBOX DEFAULT 'X' USER-COMMAND flag.

SELECT-OPTIONS: s_soc FOR T001-BUKRS.

PARAMETERS: test1(10) TYPE c MODIF ID sc1,

test2(10) TYPE c MODIF ID sc2,

test3(10) TYPE c MODIF ID sc1,

test4(10) TYPE c MODIF ID sc2.

Page 5: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 5

1.3. Selección de datos

Bloque delimitado por START-OF-SELECTION, hasta el siguiente bloque, donde se

realizan todas las selecciones de datos deseadas y cálculos.

Ejemplo:

START-OF-SELECTION.

SELECT * FROM T001 INTO TABLE IT_T001.

1.4. Salida de datos

Una vez obtenidos los datos a mostrar de base de datos o calculados, se utilizan

deferentes comandos para mostrar los datos por pantallas, bien sea en el evento START-

OF-SELECTION o en END-OF-SELECTION.

Los comandos básicos para mostrar una lista en pantalla son

• WRITE, escribe datos en pantalla

• ULINE, escribe un línea horizontal

• SKIP, deja una línea en blanco

• NEW-LINE, salto de línea

• NEW-PAGE, salto de página

START-OF-SELECTION.

..

WRITE: / 'Hola mundo'.

END-OF-SELECTION.

Page 6: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 6

SKIP.

WRITE:'Soc','Descripción'.

ULINE.

LOOP AT IT_T001.

WRITE: IT_T001-BUKRS, IT_T001-BUTXT.

NEW-LINE.

ENDLOOP.

1.5. Elementos de texto

Es una forma de definir textos a utilizar en el programa, que pueden ser traducidos a

diferentes idiomas y mostrarlos según el idioma de logon:

Desde SE38, al editar un programa:

Desde la SE38, en la pantalla de selección:

Page 7: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 7

• Simbolos de texto: se utilizan en el programa con TEXT-XXX siendo XXX el código

del símbolo:

WRITE: TEXT-001, TEXT-003. "'Soc','Descripción'.

• Textos de selección, se corresponden con los parámetros definidos en la pantalla

de selección:

Page 8: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 8

• Cabecera de lista, corresponden con la cabecera del listado

Page 9: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 9

1.6. Bases de datos lógicas (BDL)

Son unos tipos de listado que utilizan un tipo especial de programas para realizar la

selección, llamados Bases de datos lógicas.

En estos programas se definen, la estructura de datos con varias tablas anidadas, y una

pantalla de selección por defecto.

La BDL a utilizar se define en la creación del report:

También podemos verlo en los atributos del programa:

Mediante doble-clic podemos visualizar su estructura:

Page 10: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 10

• NODES: define los nodos de la BDL a utilizar, esta definición tiene implícita otros

elementos del programa. Podemos verlo ejecutando:

Sin añadir nada más se ha creado una pantalla de selección:

• GET node, evento que equivale a un SELECT al nodo indicado, cada nodo se

ejecuta en el orden definido en la BDL.

Page 11: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 11

Si incluimos 2 nodos:

Aparecen nuevos campos en la pantalla de selección:

Page 12: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 12

Veamos un ejemplo con más eventos, nótese que el orden de los eventos en el programa

no coincide con la salida del listado, ya que la ejecución de los eventos sigue su orden

prestablecido. Por claridad de código se deberían incluir en el orden de ejecución.

Page 13: Módulo 3 - Programación de...Módulo 3: Programación de reports 4 1.2. Pantalla de selección Define los campos de entrada que el usuario tendrá que informar para obtener el listado

Módulo 3: Programación de reports

WWW.AYIESAP.COM 13

1.7. Otros eventos

Otros eventos que podemos ver en programas de tipo report:

• AT SELECTION-SCREEN … - permite incluir validaciones en la pantalla de

selección, o modificar el comportamiento estándar de las ayudas de búsqueda

(F4) o botón de ayuda (F1). Se ejecutan al seleccionar un código de función en

la pantalla

• AT USER-COMMAND // AT LINE-SELECTION – permite hacer listados

interactivos, y añadiendo funcionalidad una vez mostrado el listado. Ej.:

seleccionar datos del listado, visualizar un documento seleccionado, ejecutar un

proceso para actualizar datos …

• TOP-OF-PAGE - comienzo de una nueva página de listado

• END-OF-PAGE - final de una página de listado.

• GET <nodo> LATE – se ejecuta al final de cada GET, después de todas sus tablas

anidadas