✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
Módulos de Función - ¿Qué son los Módulos de Función?
MÓDULOS DE FUNCIÓN
Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP.
Para acceder a estas funciones, utilizaremos la transacción SE37 como vemos a continuación:
TRANSACCIONES: Transacción SE37
Utilizaremos la Biblioteca de funciones correspondiente a la transacción estándar SE37 para la creación, modificación y visualización de los módulos de funciones existentes en el sistema.
Tienen una interfaz definida, ya que su diseño facilita el paso de parámetros tanto de entrada como de salida.
Veamos un ejemplo de como utilizar un módulo de función ya existente. Vamos a crear un nuevo programa ABAP, donde vamos a ejecutar la función POPUP_TO_CONFIRM que se utiliza para pedir confirmación al usuario antes de tomar una acción determinada.
RECUERDA: En el menú del editor 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 la transacción SE37, simplemente ingresando el nombre de la función que necesitemos.
La ejecución de este programa dará como resultado la siguiente salida:
¿Cómo crear un Módulo de función?Para crear un módulo de función accedemos a la transacción SE37. Allí escribiremos el nombre de nuestra función que será Z_TEST_CLIENTES y presionaremos el botón Crear, como vemos a continuación:
Inmediatamente después veremos la siguiente ventana de diálogo en donde debemos escribir el nombre del grupo de funciones al que pertenece la función y una descripción breve de la función que queremos crear.
Al presionar el botón Grabar el sistema nos informa que previamente a la creación del módulo de funciones debemos crear el Grupo de funciones asociado:
GRUPO DE FUNCIONES
Es un repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre las distintas funciones pertenecientes al grupo.
Para crear un grupo de funciones, debemos seleccionar en el menú de la transacción SE37 la ruta Pasar a / Gestión gr.funciones / Crear grupo (Goto/Functions Groups/Create Group) tal como vemos a continuación:
Aquí ingresaremos el nombre de nuestro grupo de función y presionamos el botón Grabar como vemos a continuación:
Luego veremos en la parte inferior de la pantalla el siguiente mensaje que nos indica que el grupo de funciones ha sido creado correctamente:
Si quisiéramos definir variables que se puedan utilizar en todas las funciones pertenecientes a nuestro grupo de funciones, debemos dirigirnos en el menú de la transacción SE37 a Pasar a / Datos Globales (Goto/GlobalData) y veríamos la siguiente pantalla donde definiremos las variables globales.
Si quisiéramos declarar subrutinas que puedan ser utilizadas por todas las funciones del grupo, debemos en el menú de la transacción SE37, ir a Pasar a / Programa de Control (Goto/MainProgram).
Allí descomentamos el primero de los include que está especificado para Subprogramas, le cambiamos el nombre para que comience con Z, lo creamos haciendo doble clic sobre él y luego colocamos las subrutinas en él.
Finalmente, volvemos a la transacción SE37 con nuestro grupo de funciones creado, presionamos Crear, ingresamos el grupo de función y la descripción de la función, grabamos y veremos la función Z_TEST_CLIENTES creada tal como muestra el siguiente gráfico:
Veamos la utilidad de cada una de las solapas que se visualizan:
- Atributos (Attributes): aquí especificamos la descripción de la función y el tipo de función que puede ser Normal, RFC o Update module.
- Import: aquí especificamos los parámetros de entrada de la función.
- Export: aquí especificamos los parámetros de salida de la función.
- Modificaciones (Changing): aquí especificamos los parámetros de salida que cambiarán de valor con la ejecución de la función.
- Tablas (Tables): aquí especificamos las tablas que se utilizan en la función.
-----------------------------
AUDIO TIPS 1: En la versión actual de SAP, no debemos especificar las tablas internas en la solapa TABLAS, ya que ha sido considerada como obsoleta por SAP. Debemos especificar las tablas internas en la sopala MODIFICACIONES.
-----------------------------
- Excepciones (Exceptions): aquí especificamos las excepciones de la función. Una excepción es un error que se produce al ejecutar la función y que ha sido catalogado cuando se creo el módulo de función de modo de poder identificar rápidamente el motivo del error.
- Código Fuente (Source Code): aquí pondremos el código ABAP de la función.
Ahora, volviendo a nuestra función Z_TEST_CLIENTES, vamos a agregarle como parámetro de entrada el DNI.
Y como parámetro de salida, en la solapa Modificaciones definimos la estructura de usuarios de la tabla que creamos en la unidad 2 ZTABLA_USUARIOS.
Si quisiéramos pasar como parámetro una tabla interna en lugar de una estructura, entonces debemos crear un Tipo Tabla a través de la transacción SE11, por ejemplo ZTT_USUARIOS, el cual va a tener la estructura de la tabla ZTABLA_USUARIOS.
Luego pondremos código en la solapa Código Fuente para recuperar de la tabla ZTABLA_USUARIOS, los datos del usuario al que pertenezca el DNI de entrada.
Finalmente activamos.
AUDIO TIPS 2: Al momento de activar el módulo de funciones que acabamos de crear, es indispensable también activar los demás objetos que acabamos de crear y que están estrechamente relacionados al módulo de funciones, es decir, el grupo de funciones y los includes pertenecientes al grupo. Para ello basta con tildarlos en la pantalla de activación junto con el módulo de funciones.
Y podremos probar nuestra función ejecutándola.
Y veremos los resultados de la ejecución de la misma:
AUDIO TIPS 3: Repasemos los pasos que realizamos para crear y ejecutar un módulo de funciones.
- Creamos el grupo de funciones.
- Creamos el módulo de funciones conjuntamente y en forma automática se generan varios includes.
- Ingresamos el código correspondiente al módulo de funciones.
- Las declaraciones de datos y subrutinas las realizamos en los datos globales del grupo de funciones.
- Finalmente al momento de activar debemos tener presente que tenemos que activar todos los objetos que se generaron, es decir, el grupo de funciones, el módulo de funciones y los includes que se generaron en forma automática.
Ahora bien, para probar el módulo de funciones, lo ejecutamos con F8, inmediatamente luego veremos la pantalla de ejecución del módulo de funciones donde podremos completar los parámetros de entrada del módulo. En caso que no los tenga se procesará directamente el código ABAP dentro del módulo de funciones.
 
 
 
Sobre el autor
Publicación académica de Vismark Eyner Sevillano Moreno, en su ámbito de estudios para la Carrera Consultor ABAP.
Vismark Eyner Sevillano Moreno
Profesión: Tecnologo en Sistemas - Colombia - Legajo: KN43C
✒️Autor de: 62 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Aprender todo lo relacionado con programación sap abap, para desenvolverme en el área laboral en el sector de programación abap.
Certificación Académica de Vismark Sevillano