✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
Módulos de función:
--------------------------------------------------------------------------------------------
Funciones creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP.
Para acceder a ellas, usamos SE37.
Dentro del editor de ABAP, existe el botón Modelo (Pattern en inglés) que nos permite crear dentro de un programa el esqueleto de cualquier función creada a través de SE37.
--------------------------------------------------------------------------------------------
Estructura:
CALL FUNCTION <nombre_función>
EXPORTING <parámetros_entrada>
IMPORTING <parámetros_salida>
TABLES <tablas>
EXCEPTIONS <excepciones>.
--------------------------------------------------------------------------------------------
Ejemplo:
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
Titlebar = 'Aplicaciones de Bancos'
Text_question = 'Desea borrar el registro?'
Text_button_1 = 'Si'
Text_button_2 = 'No'.
Display_cancel_button = ''
EXCEPTIONS
Text_not_found = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------
Crear:
Se ingresa a la transacción SE37, se escribe el nombre deseado del módulo y se oprime Crear.
Allí veremos una ventana de dialogo en donde debemos escribir el nombre del grupo de funciones al que pertenece y una breve descripción de la función.
------------------------------------------------------------------------------------
En el caso de que el grupo de funciones no exista, deberemos crearlo antes:
QUE ES:
Repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre las distintas funciones pertenecientes al grupo.
Para crearlo:
En el menu de SE37 ir a: GO TO --> Functions Groups --> Create Group.
ingresamos el nombre del grupo y grabamos.
Un mensaje nos indicará que fue creado correctamente.
En el caso de querer definir variables que se puedan utilizar en todas las funciones pertenecientes al mismo grupo de funciones:
Ir a: GO TO --> Global --> Data.
En el caso de querer declarar subrutinas que pueden ser utilizadas por todas las funciones del grupo:
Ir a: GO TO --> Main Program.
Allí descomentamos el primer include que esta especificado para subprogramas.
Cambiamos el nombre para que comience con Z, lo creamos haciendo doble click sobre él y luego colocamos las subrutinas en él.
------------------------------------------------------------------------------------
Creada ya la función, completaremos las diferentes solapas:
Attributes:
Especificaremos la descripción de la función y el tipo de función (Normal, RFC o Update module).
Import:
Especificamos los parámetros de entrada de la función.
Export:
Especificamos los parámetros de salida de la función.
Changing:
Especificamos los parámetros de salida que cambiarán de valor con la ejecución de la función.
Tables:
Especificamos las tablas que se utilizan en la función.
Exceptions:
Especificamos las excepciones de la función.
Excepción:
Error que se produce al ejecutar la función y que ha sido catalogado cuando se creo el módulo de modo de poder identificar rápidamente el motivo del error.
Source Code:
Pondremos el código ABAP de la función.
------------------------------------------------------------------------------------
Ejemplo final:
FUNCTION ztest_clientes.
*"-------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE (DNI) TYPE Z_DNI
*" CHANGING
*" REFERENCE (ST_USUARIOS) TYPE ZTABLA_USUARIOS
*"-------------------------------------------
CLEAR st_usuarios.
SELECT SINGLE *
FROM ztabla_usuarios
INTO st_usuarios
WHERE dni EQ dni.
ENDFUNCTION.
------------------------------------------------------------------------------------
Por último, la activamos.
 
 
 
Sobre el autor
Publicación académica de Martin Alejandro Goya, en su ámbito de estudios para la Carrera Consultor ABAP.
Martin Alejandro Goya
Profesión: Ingeniero en Computacion - Argentina - Legajo: CJ13E
✒️Autor de: 49 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Martin Goya