✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
Lección: Módulos de Función
1) 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 : 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
CALL FUNCTION ( nombre función)
EXPORTING ( parámetros entrada)
IMPORTING ( parámetros salida)
TABLES ( tablas )
EXCEPTIONS ( excepciones)
Ej, 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.
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 de la transacción SE37, simplemente ingresando el nombre de la función que necesitemos
2) 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.
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)
Aquí ingresaremos el nombre de nuestro grupo de función y presionamos el botón Grabar, 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)
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 Contro ( Goto / MainProgram )
Allí descomentamos el primero de los include que está especificado para Subprogrmas, 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
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
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 ud. 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, ej 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 y podremos probar nuestra función ejecutándola y veremos los resultados de la ejecución de la misma
 
 
 
Sobre el autor
Publicación académica de Aida Cortina Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.
Aida Cortina Fernandez
Profesión: Consultor Junior - España - Legajo: MK87X
✒️Autor de: 74 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Aida Cortina