✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
-MÓDULOS DE FUNCIÓN
Son funciones creadas y almacenadas en SAP, pueden ser utilizadas por cualquier programa.
**SE37 Function Builder - ABC de módulos de funciones.
Interfaz definida, se busca facilitar paso de parámetros de entrada y salida.
CALL FUNCTION <nombre_función>
EXPORTING <parámetros_entrada>
IMPORTING <parámetros_salida>
TABLES <tablas>
EXCEPTIONS <excepciones>.
*En el menú de editor se muestra el botón Pattern (Modelo) que agrega el esqueleto de cualquier función creada en SE37.
Ejemplo con función existente.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Test función '
text_question = 'Desea borrar el registro?'
TEXT_BUTTON_1 = 'Si'
TEXT_BUTTON_2 = 'No'
DISPLAY_CANCEL_BUTTON = 'X'
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
GRUPO DE FUNCIONES. Repositorio para agrupar funciones, se utiliza para compartir subrutinas y declaraciones de variables entre distintas funciones del grupo.
-¿COMO CREAR UN MÓDULO DE FUNCIÓN?
1.-Se necesita primero un grupo de funciones:
SE37 -> Menu Go To -> Function Groups -> Create Group -> f_group_name & short_text -> Save
2.-Ya se puede crear la función para ese group
SE37 -> function_name -> Create -> f_group_name & short text -> Save
*****NOTA ¿Que se está creando con estas instrucciones ? El workbench en automático genera un main con la sentencia FUNCTION-POOL(Primer sentencia de un programa standalone) en un ...TOP Include.
El nombre completo del grupo de funciones en el repositorio cuenta con el prefijo SAPL. Y el nombre fpool(Grupo) despues de la sentencia FUNCTION-POOL.
---¿Como podemos ver el Main ?--- Menu Go To -> Main Program. ( SAPL<f_group_name> )
-Ahí veremos el Top Include mencionado arriba, para Globales. ( INCLUDE L<f_group_name>TOP )
-También veremos otro Include de funciones, en el que no debemos realizar cambios, se genera en automático y hace referencia a la funcion que estamos creando ( INCLUDE L<f_group_name>UXX )
-Si requerimos agregar subrutinas hay un INCLUDE comentado, lo podemos descomentar y dejarlo como INCLUDE <f_group_name>F.
*ERROR. Para evitar errores hay que activar todos los objetos relacionados al mismo tiempo.
-Pestañas en SE37: Attributes: Descripción y tipo de función(Normal, RFC, Update module)., Import: Params de entrada, Export: Params de salida, Changing: Params de salida que cambiaran durante la ejecución, Tablas(obsoleto), Excepciones, Código Fuente.
*****FIN NOTA
3.- Despues de crear la función. Agregarle el campo DNI en la pestaña IMPORT, en CHANGING agregar estructura de tabla usuarios. **Si quisieramos pasar una tabla interna, en SE11 creariamos la tabla con la estructura de la tabla BD
4.- En pestaña Source Code agregar código para recuperar la tabla BD de usuarios que coincidan con el dni de entrada
CLEAR st_usrs.
SELECT SINGLE * FROM ZTAB_USRS_RL93E
INTO st_usrs
WHERE dni = dni.
-ACTIVAR y Ejecutar
 
 
 
Sobre el autor
Publicación académica de Armando Mayo Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Armando Mayo Marquez
Profesión: Desarrollador / Soporte Infra - Mexico - Legajo: RL93E
✒️Autor de: 59 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Profesional de t.i. desde 2005 desarrollador cobol, algol, c, tuxedo, java, shell script - banamex soporte de infra en linux para aplicaciones tuxedo, weblogic, oracle, websphere mq -amdocs/at&t usa
Certificación Académica de Armando Mayo