✒️ABAP / Los módulos de funciones Por Gustavo Rondon Hernandez
ABAP Los módulos de funciones
Los módulos de funciones
1 | ¿Qué son los módulos de funciones?
Los módulos de funciones
Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP.
SAP dispone de un gran número de módulos de funciones predefinidos que son estándar del sistema y que pueden ser llamados por cualquier programa ABAP desarrollado por el usuario- También el usuario puede desarrollar nuevos módulos de funciones Z.
Para acceder a los módulos de funciones, ya sea que sean estándar del sistema o Z, utilizaremos la transacción estándar SE37 correspondiente a la Biblioteca de funciones.
Transacción SE37
Utilizaremos la biblioteca de funciones correspondiente para la creación, modificación y visualización de los módulos de funciones existentes en el sistema SAP.
Los módulos de funciones tienen una interfaz o estructura definida, ya que su diseño facilita el paso de parámetros tanto de entrada como de salida y se declaran con la palabra reservada CALL FUNCTION seguida del nombre del módulo de funciones.
Debajo de EXPORTING se especifican los parámetros de entrada del módulo de funciones.
Debajo de IMPORTING se especifican los parámetros de salida del módulo de funciones.
Debajo de TABLES se especifican las tablas internas que se pasan como parámetro en el módulo de funciones.
Debajo de EXCEPTIONS se especifican las excepciones que manejará el módulo de funciones.
Veamos un ejemplo sobre cómo utilizar un módulo de funciones ya existente en la biblioteca de funciones.
Para ello crearemos un nuevo programa ABAP cuyo nombre será ZTEST_MODULO_DE_FUNCIONES, en donde vamos a ejecutar el módulo de funciones POPUP_TO_CONFIRM que se utiliza para solicitar la confirmación al usuario antes de tomar una acción determinada.
Editando el programa ZTEST_MODULO_DE_FUNCIONES, posicionamos el puntero del mouse en la línea del código ABAP donde deseamos crear la declaración del módulo de funciones y hacemos clic en Modelo.
A continuación, el sistema nos muestra una ventana de diálogo en donde dejamos seleccionada la opción CALL
FUNCTION, escribimos el nombre del módulo de funciones POPUP_TO_CONFIRM y hacemos clic en continuar. Tenemos la posibilidad de buscar el módulo de funciones que deseamos seleccionar haciendo clic en el matchcode del campo o presionando la tecla F4.
Automáticamente se generará en el programa la plantilla correspondiente al módulo de funciones POPUP_TO_CONFIRM.
Vamos a completar la interfaz del módulo de funciones de acuerdo a lo que deseamos ejecutar.
Los parámetros o las secciones que no se utilicen se deben borrar o comentar.
2 | El paso a paso para la creación de un módulo de funciones
Para crear un módulo de funciones Z accedemos a la Biblioteca de funciones correspondiente a la transacción estándar SE37. Allí escribiremos el nombre del nuevo módulo de funciones que será Z_TEST_CLIENTES y hacemos clic en el botón Crear.
Inmediatamente después veremos la siguiente ventana de diálogo en donde debemos escribir el nombre del grupo de funciones al que pertenece el módulo de funciones y una descripción breve para el módulo de funciones que estamos por crear que será "Módulo de funciones de clientes"
Grupo de funciones
Es un repositorio que agrupa módulos de funciones según su funcionalidad y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre los distintos módulos de funciones pertenecientes al grupo de funciones.
Por lo que previamente a la creación del módulo de funciones deberemos crear un grupo de funciones o también tenemos la opción de utilizar un grupo de funciones ya existente en el sistema.
Vamos a crear un grupo de funciones nuevo, para ello seleccionamos en el menú de la transacción SE37 la opción Pasar a / Gestión gr.funciones /Crear grupo.
Si quisiéramos definir variables que se puedan utilizar en todos los módulos de funciones pertenecientes al grupo de funciones debemos dirigirnos en el menú de la transacción estándar SE37 a Pasar a I Datos Globales.
Si quisiéramos declarar subrutinas que puedan ser utilizadas por todos los módulos de funciones del grupo de funciones entonces debemos, en el menú de la transacción SE377 ir a Pasar a I Programa de Control.
Veamos la utilidad de cada una de las solapas que se visualiza en el modulo de funciones:
- Atributos: aquí especificamos un texto breve para el módulo de funciones, que en este caso será "Módulo de funciones de clientes", la forma de ejecución del módulo de funciones que puede ser Módulo de funciones normal, Módulo de acceso remoto o Módulo actualización, en este caso será "Módulo de funciones normal" y dejamos seleccionado "Inicio inmediato" tal como viene por defecto.
- Import: aquí especificamos los parámetros de entrada del módulo de funciones.
- Export: aquí especificamos los parámetros de salida del módulo de funciones.
- Modificaciones: aquí especificamos los parámetros de salida que cambiarán de valor con la ejecución del módulo defunciones.
- Tablas: aquí especificamos las tablas que se utilizan en el módulo de funciones.
- Excepciones: aquí especificamos las excepciones del módulo de funciones. Una excepción es un error que se produce al ejecutar el módulo de funciones y que ha sido catalogado cuando se creó el módulo de funciones de modo de poder identificar rápidamente el motivo del error.
- Código Fuente: aquí escribiremos el código ABAP del módulo de funciones.
Ahora, volviendo al módulo de funciones Z _ TEST CLIENTES, vamos a agregarle como parámetro de entrada el DNI. Y como parámetro de salida definimos en la solapa Modificaciones, la estructura de usuarios WA_USUARIOS, del tipo de la tabla base de datos de usuarios ZTABLA_USUARIOS.
Luego escribiremos el código ABAP del módulo de funciones en la solapa Código Fuente para recuperar de la tabla base de datos ZTABLA USUARIOS, los datos del usuario al que pertenezca el DNI de entrada.
Por último activamos el módulo de funciones, el grupo de funciones y los include.
Y podremos probar el módulo de funciones ejecutándolo haciendo clic en el botón ejecutar o presionando la tecla F8.
En la pantalla que vemos a continuación vamos a introducir el parámetro de entrada DNI y vamos a ejecutar el módulo defunciones haciendo clic en el botón ejecutar.
 
 
 
Sobre el autor
Publicación académica de Gustavo Jose Rondon Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gustavo Jose Rondon Hernandez
Profesión: Becario - España - Legajo: WF47H
✒️Autor de: 33 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy informático con 10 años de experiencia en el área de tecnología, tengo un master en sap business intelligence sap bw & sap bi-bo en la salle barcelona.
Certificación Académica de Gustavo Rondon
























