![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
![ABAP Los módulos de funciones ABAP Los módulos de funciones](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/147.jpg)
Modulos de funcion
Son funciones que se han creado y almacenado en SAP y que pueden usarse por cualquier programa ABAP.
Para acceder a estas funciones usamos la transaccion SE37.
Transaccion SE37
Usamos la Biblioteca de funciones correspondientes a la transaccion estandar SE37 para la creacion, modificacion y visualizacion de los modulos de funciones que existen en el sistema.
Los modulos de funcion tienen una interfaz definida ya que su diseño facilita el paso de parametros tanto de entrada como de salida.
Estructura de un modulo de funciones:
CALL FUNCTION <nombre_funcion>
EXPORTING <parámetros_entrada>
IMPORTING <parámetros_salida>
TABLES <tablas>
EXCEPTIONS <excepciones>.
Ejemplo de utilizacion de un modulo de funcion ya existente:
Crearemos un nuevo programa ABAP donce ejecutaremos la funcion POPUP TO CONFIRM que se usa para pedir confirmacion al usuario antes de tomar una accion determinada.
En el menu del editor ABAP existe el boton Modelo (Pattern) que nos permite crear dentro de un programa el esqueleto de cualquier funcion creada a través de la transacción SE37 simplemente ingresando el nombre de la funcion que necesitamos.
Ejemplo de declaración de POP_UP_TO_CONFIRM:
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = ' Aplicación 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.
¿Como crear un modulo de funcion?
Accedemos a la transaccion SE37, allí escribimos el nombre de nuestra funcion (Z_TEST_CLIENTES) y presionamos el botón Crear.
Inmediatamente después se abre una ventana de dialogo en donde escribimos el nombre del grupo de funciones al que pertenece la funcion y una descripcion breve de la funcion que vamos a crear.
Al presionar grabar el sistema nos informa que previo a la creación del modulo de funciones debemos crear el Grupo de funciones asociado.
Grupo de funciones
Es un repositorio que agrupa funciones y que se usa principalmente para compartir suburbanas 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
Luego ingresamos el nombre de nuestro grupo de funciones y presionamos Grabar.
Veremos en la parte inferior de la pantalla un mensaje que nos indica que el grupo de funciones ha sido creado correctamente.
-Si quisiéramos definir variables que se puedan usar en todas las funciones pertenecientes a nuestro grupo de funciones, debemos ir a la transacción SE37 y en el menú la siguiente ruta:
Pasar a--> Datos Globales
-Si quisiéramos declarar subrutinas que puedan usarse por todas las funciones del grupo, debemos ir a la transacción SE37 y en el menú seguir la ruta:
Pasar a--> Programa de Control
Alli descomentamos el primero de los include que está especificado para Subprogramas, le cambiamos el nombre para que comience con Z, lo creamos haciendole doble clic y colocamos las subrutinas en él.
Finalmente volvemos a la transacción SE37 con nuestro grupo de funciones creado, presionamos Crear, ingresamos el grupo de funcion y la descripción de la funcion, grabamos y vemos la funcion Z_TEST_CLIENTES creada.
Se visualizan las siguientes solapas:
-Atributos: especificamos la descripcion de la funcion y el tipo de funcion que puede ser Normal, RFC o Update Module
-Import: especificamos los parametros de entrada de la funcion
-Export: especificamos los parametros de salida de la funcion
-Modificaciones: especificamos los parametros de salida que cambiaran de valor con la ejecución de la funcion
-Tablas: especificamos las tablas que se usan en la funcion
En la version actual de SAP no debemos especificar las tablas internas en la solapa 'tablas' ya que ha sido considerada obsoleta por SAP, debemos especificar las tablas internas en la solapa 'modificaciones'
-Excepciones: especificamos las excepciones de la funcion. Una excepción es un error que se produce al ejecutar la funcion y que se ha catalogado cuando se creo el modulo de funcion para poder identificar rápidamente el motivo del error
-Codigo Fuente: colocamos el codigo ABAP de la funcion
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 transaccion SE11, la cual va a tener la estructura de la tabla.
Por ultimo activamos.
Al momento de activar el modulo de funciones es indispensable también activar los demás objetos que creamos y que están estrechamente relacionados al modulo de funciones, es decir, el grupo de funciones y los include pertenecientes al grupo, para esto basta con tildarlos en la pantalla de activación junto con el modulo de funciones.
Finalmente probamos nuestra funcion ejecutandola y veremos los resultados de la ejecución.
Pasos para crear y ejecutar un modulo de funciones:
1- Creamos el grupo de funciones
2- Creamos el modulo de funciones conjuntamente y en forma automática se generan varios includes
3- Ingresamos el código correspondiente al modulo de funciones
4- Las declaraciones de datos y subrutinas las realizamos en los datos globales del grupo de funciones
5- Al momento de activar asegurarnos de activar todos los objetos que se generaron (grupo de funciones, modulo de funciones y los includes que se generaron automáticamente)
6- Probar el modulo de funciones ejecutando con F8, vemos la pantalla de ejecución del modulo de funciones donde podemos completar los parámetros de entrada del modulo, en caso que no los tenga se procesara directamente el código ABAP dentro del modulo de funciones.
 
 
 
Sobre el autor
Publicación académica de Diamela Serignese, en su ámbito de estudios para la Carrera Consultor ABAP.
Diamela Serignese
Profesión: Consultor Sap Crm / Solman - Argentina - Legajo: AA51D
✒️Autor de: 38 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Diamela Serignese