✒️ABAP Los módulos de funciones
ABAP Los módulos de funciones
Unidad n°4: Las subrutinas, los módulos de funciones y el procesamiento batch
Lección n°2: Los módulos de funciones
Los módulos de funciones son funciones creadas y almacenadas en SAP y pueden ser usadas por cualquier programa.
SAP dispone de muchos módulos de funciones predefinidas y el usuario también puede desarrollarlas.
Por la trans. SE37 (Biblioteca de funciones) accederemos a los módulos de funciones.
Los módulos de fun. tienen una interfaz o estructura definida, ya que su diseño facilita el paso de parám. de ent. y sal. y se declaran con la palabra reservada CALL FUNCTION seguida del nombre del módulo de fun:
CALL FUNCTION <nombre_modulo_de_funciones>
EXPORTING <parametros_de_entrada>
IMPORTING <parametros_de_salida>
TABLES <tablas_internas>
EXCEPTIONS <excepciones>.
Debajo de EXPORTING se especifican los param. de ent. del módulo de fun.
Debajo de IMPORTING se especifican los param. de sal. del módulo de fun.
Debajo de TABLES se especifican las ti que se pasan como param. en el módulo de fun.
Debajo de EXCEPTIONS se especifican las excepciones que manejará el módulo de fun.
Ej sobre como usar el módulo de fun. existente en la biblioteca de funciones:
- Creamos un nuevo programa "ZTEST_MODULO_DE_FUNCIONES".
- Ejecutamos el módulo de fun POPUP_TO_CONFIRM que se usa para solicitar la confirmación del 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 donde deseamos crear la declaración del módulo de fun. y hacemos clic en Modelo.
- El sist. muestra una ventana donde dejamos seleccionada la opción CALL FUNCTION, escribimos el nombre del módulo de funcion POPUP_TO_CONFIRM y clic en Continuar.
Automáticamente se generará en el programa la plantilla correspondiente POPUP_TO_CONFIRM. - Ahora completamos la interfaz del módulo de fun. de acuerdo a lo que deseamos ejecutar.
*Los parám. o las selecciones que no se usen deben borrarse o comentarse. - Ejecutamos el programa y veremos el mensaje "Desea borrar el registro?"
El paso a paso para crear un módulo de fun:
- Con la trans. SE37 crearemos un módulo de fun. "Z_TEST_CLIENTES" y creamos.
- En la ventana que aparece escribiremos el nombre del grupo de funciones "Z_TEST_CLIENTES_GRP" al que pertenece el mod. de fun y una Desc. breve para el mód. de fun. que crearemos "Módulo de funciones de clientes".
*Grupo de funciones: repositorio que agrupo módulos de funciones según su funcionalidad y se usa principalmente para compartir subru. y declaraciones de variables entre los distintos módulos de funciones pertenecientes al grupo de funciones. - Ahora crearemos un grupo de funciones, vamos al menú Pasar a -> Gestión gr.funciones -> Crear grupo.
- En la pantalla ingresamos el nombre del grupo y grabamos.
- Si queremos definir variables que se puedan usar en todos los mód. de fun. pertenecientes al grupo de func., debemos dirigirnos al menú Pasar a -> Datos Globales.
- Dentro veremos que podemos definir las variables globales, las cuales pueden ser usadas por todos los módulos de funciones pertenecientes al grupo:
FUNCTION-POOL Z_TEST_CLIENTES_GRP. - Para declarar subru. que puedan usarse por todos los mód. de fun. del grupo de funciones, tenemos que ir al menú Pasar a -> Programa de Control.
- Una vez dentro, descomentamos el 1ro de los include que está especificado para subprogramas, modificamos su nombre para que comience con Z y lo creamos haciendo doble clic en él, y luego escribimos las subrutinas dentro.
INCLUDE z_test_clientes_grpf. - Volvemos a la trans SE37 con el grupo de funciones creado y vamos a crear el mód. de fun.
- Completamos el nombre del mód. "Z_TEST_CLIENTES", el nombre del grup. de func. "Z_TEST_CLIENTES_GRP", un texto breve y grabamos.
- Finalmente creamos el mód. de fun. Z_TEST_CLIENTES.
Utilidades de cada solapa:
- Atributos: especificamos un texto breve para el mód. de fun. "Módulo de funciones de clientes", la forma de ejecución del mód. de fun. puede ser el normal, remoto o de actualización, nosotros usamos el normal y dejamos seleccionado "Inicio inmediato".
- Import: especificamos los parám. de entrada del mód. de fun.
- Export: especificamos los parám. de salida del mód. de fun.
- Modificaciones: especificamos los parám. de salida que cambian de valor con la ejecución del mód. de fun.
- Tablas: especificamos las tablas que se usarán en el mód. de fun.
- Excepciones: especificamos las excepciones del mód. de fun. Una excepción es un error que se produce al ejecutar el mód. de fun. y que ha sido catalogado cuando se creó el mód. de fun. de modo de poder identificar el error.
- Código fuente: escribimos el código del mód. de fun.
Una vez dentro de las solapas del mód. de fun. Z_TEST_CLIENTES:
- Agregaremos el parám. de entrada DNI en Import
- Agregamos el parám. de salida WA_USUARIOS del tipo tbd, en Modificaciones.
Si quisiéramos pasar como parám. una ti en vez de una estructura:
- Crear un Tipo Tabla "ZTT_USUARIOS" que tendrá la estructura de la tabla ZTABLA_USUARIOS por medio del DICC (SE11).
- Volvemos al mód. de fun. y escribimos su código en la solapa Código Fuente para recuperar la tbd ZTABLA_USUARIOS, los datos del ususario al que pertenezca el DNI de entrada.
CLEAR wa_usuarios.
SELECT SINGLE *
FROM ztabla_usuarios
INTO wa_usuarios
WHERE dni EQ dni. - Ahora activamos el mód. de fun, el grupo de funciones y los includes.
- Probamos el mód. de fun. con el botón de ejecutar (F8)
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada