Reporte Alv y Funciones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Creación de funciones

Entrar a la transacción SE37


Una función un desarrollo utilizado para facilitar y ahorrar tiempo de código en diferentes desarrollos ya
que esto simplifica procesos comúnmente utilizados, es recomendable crear una función cuando
analicemos que se esta haciendo repetitivo algún proceso de los desarrollos que estamos realizando.

Antes debemos crear un grupo de funciones vamos a la transacción se80

Se escoge grupo de funciones y se introduce el nombre que queramos darle al grupo de funciones
recuerden inciar con Z y le damos enter , nos aparecerá la siguiente pantalla

Le damos un texto y listo tenemos nuestro grupo de funciones , si desean ya pueden cerrar la se80

Y nos regresamos al otro nodo donde tenemos la función


Introducimos el nombre de la función, después el nombre del grupo de funciones que creamos y por último
el texto breve que queramos y le damos grabar.

Y nos aparecerá la siguiente pantalla

En esta sección de import es donde meteremos los parámetros que utilizara la función para hacer sus
cálculos, lógica etc.

Por ejemplo en esta función que suma dos números meteré dos parámetros de entrada.

Ahora nos vamos a la sección de export ahí es donde se meten los parámetros que queramos que nos
devuelva la función en este caso será el resultado de la suma.

En esta pestaña ira todo nuestro código para hacer la suma o lógica que haremos.

En mi caso es la suma de dos numero , si observan estoy utilizando los parámetros de entrada que le puse
(numero1 y numero2) y estoy utilizando la variable que declare de export (Resultado) que será la que nos
dara de salida la función. Ahora ya solo grabamos y activamos y ya tenemos nuestra función y la podemos
utilizar en cualquier desarrollo
REPORTE ALV

El reporte alv no es mas que una forma mas dinámica y mas visual de mostrar la información al usuario
además de que nos permite tener una barra de herramientas que nos facilita interactuar con los registros
mostrados.

Abrimos un nuevo programa en la transacción SE80 o en el que estuvimos trabajando

Nombre del
programa

Seleccionamos la carpeta le damos boton derecho y le damos create include.

Haremos un include (es una manera de fraccionar el programa para tenerlo de manera estructurada) de
declaraciones y un include de la logica del programa
Nos aparecerá esta pantalla le ponemos un nombre iniciando con zalv_d y le damos save

Y nos aparecerá esta pantalla le damos guardar y activar


ahora crearemos el siguiente include que es donde meteremos toda la lógica del programa

Hacemos lo mismo botón derecho en la carpeta del programa create include ai le damos el nombre que
queramos recuerden que todo debe de iniciar con Z

Y nos aparecerá de nuevo la pantalla le damos como nombre zalv_r y le damos save

Guardamos y activamos
Ahora ya tenemos creado los dos includes debemos tener una pantalla parecida a esta.

Ahora le damos doble click a zalv_d (o como uds le pusieron al include donde insertaran toda las
declaraciones) y ahí meteremos todas las declaraciones que necesitemos en el programa (types, tables,
datas, parameters, etc) grabamos y activamos.
Ahora en la pantalla principa después de los includes escribimos lo siguiente

Start-of-selection. Esto lo que hace es determinar donde empezara la lógica de nuestro programa

Después del start-of-selection iniciaremos con el primer perform obten_info o selecciona_datos como uds
quieran. Le damos doble click y nos aparecerá la siguiente pantalla seleccionamos zalv_r que es donde
iran todas nuestras rutinas.
Ahora en esta parte haremos el alv

Haremos exactamente lo mismo que hicimos para sacar información de alguna de nuestras tablas

Por ejemplo un query a la tabla de zmm_001 y lo guardamos en la tabla interna que creamos en el include
de declaraciones en mi caso fue ti_mm001

Después de esto hacemos nuestra validación del select que es el sy-subrc y dentro de este if cuando es
correcto haremos los siguiente includes haciendo doble click en ellos.

El primero será el llena_layout lo guardamos de igual manera en zalv_r

Y dentro del perform pondremos lo siguiente


Nos regresamos a la parte del código donde están nuestros perform y ahora le damos dobleclick al
perform llena_catalogo y también lo guardamos en zalv_r.

Y dentro del perform escribiremos lo siguiente.

DATA: wa_fieldcat LIKE A LINE OF T_FIELDCAT .


Aquí va en mayúsculas el nombre del campo de la
*LLENADO DE CATALOGO tabla interna que creamos
wa_fieldcat-fieldname = 'MANDT'.
Aquí va el nombre que queremos que
wa_fieldcat-seltext_m = 'MANDANTE'.
wa_fieldcat-col_pos = 1. muestra la columna del reporte
Aquí la posición de la columna
APPEND wa_fieldcat TO t_fieldcat.

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext_m = 'MATERIAL'.
wa_fieldcat-col_pos = 2.

APPEND wa_fieldcat TO t_fieldcat.

wa_fieldcat-fieldname = 'ERSDAT'.
wa_fieldcat-seltext_m = 'FECHA'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO t_fieldcat.

wa_fieldcat-fieldname = 'ERNAM'.
wa_fieldcat-seltext_m = 'USUARIO'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO t_fieldcat.

wa_fieldcat-fieldname = 'PSTAT'.
wa_fieldcat-seltext_m = 'ESTATUS'.
wa_fieldcat-col_pos = 5.
APPEND wa_fieldcat TO t_fieldcat.

Se hara el llenado de esos 4 variables por cada campo de la tabla interna a mostrar

Después de esto regresamos a la parte donde están nuestros performs y crearemos el llama_funcion.
Dentro de este perform oprimiremos el botón pattern.

después de hacer el select utilizamos el botón pattern y le daremos el siguiente nombre de la función alv a
insertar

y le damos enter.

Nos insertara la siguiente función


Eliminaremos todas las líneas excepto

Exporting, IS_LAYOUT, IT_FIELDCAT, TABLES, t_outtab

Y nos quedara de la siguiente manera.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING

IS_LAYOUT =
IT_FIELDCAT =
TABLES
t_outtab =

Ahora lo que vemos es que necesitamos llenar esos parámetros ya que son necesarios para mandar
llamar la function y que nos muestre un alv de nuestra table interna que llenamos con el select.

Y le pasamos los parámetros que acabamos de llenar

La teníamos asi

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING

IS_LAYOUT =
IT_FIELDCAT =
TABLES
t_outtab =

Y ahora la tendremos asi

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
IS_LAYOUT = LAYOUT
IT_FIELDCAT = T_FIELDCAT
TABLES
t_outtab = TI_MM001.
Guardamos y activamos ya solo nos queda correr el programa

Y este es nuestro reporte ALV

También podría gustarte