✒️ABAP / Los módulos de funciones Por Mara Romero Hernandez
ABAP Los módulos de funciones

# Notas sobre Módulos de Función en ABAP
## ¿Qué son los módulos de función?
- Son funciones predefinidas almacenadas en SAP que pueden ser reutilizadas por cualquier programa ABAP
- SAP incluye muchos módulos estándar, pero también podemos crear nuestros propios módulos (comenzando con Z)
- Se acceden mediante la transacción SE37 (Biblioteca de Funciones)
## Estructura de un módulo de función
```ABAP
CALL FUNCTION '<nombre_módulo_de_funciones>'
EXPORTING <parámetros_de_entrada>
IMPORTING <parámetros_de_salida>
TABLES <tablas_internas>
EXCEPTIONS <excepciones>.
```
## Grupos de Función (Function Groups)
- **Definición**: Contenedores que agrupan módulos de función relacionados por funcionalidad
- **Propósito**:
- Compartir variables globales entre módulos
- Reutilizar subrutinas comunes
- Organizar módulos lógicamente
### Pasos para crear un Grupo de Función:
1. Ir a transacción SE37 (Biblioteca de Funciones)
2. Seleccionar: `Pasar a → Gestión gr.funciones → Crear grupo`
3. Completar datos:
- **Nombre del grupo**: Z_TEST_CLIENTES_GRP (siempre comenzando con Z o Y)
- **Texto breve**: "Grupo de funciones de clientes"
4. Hacer clic en **Grabar**
## Creación de un Módulo de Función
### Pasos para crear un módulo:
1. En SE37, completar campos:
- **Módulo funciones**: Z_TEST_CLIENTES
- **Grupo funciones**: Z_TEST_CLIENTES_GRP (debe existir previamente)
- **Texto breve**: "Módulo de funciones de clientes"
2. Hacer clic en **Grabar**
### Configuración del módulo:
- **Atributos**:
- Forma de ejecución (Normal/Acceso remoto/Actualización)
- Tipo: "Módulo de funciones normal"
- Inicio: "Inicio inmediato" (por defecto)
## Configuración de Parámetros
### 1. Parámetro de Entrada (IMPORTING)
```ABAP
IMPORTING
REFERENCE(DNI) TYPE Z_DNI
```
### 2. Parámetro de Salida (CHANGING)
```ABAP
CHANGING
REFERENCE(WA_USUARIOS) TYPE ZTABLA_USUARIOS
```
### 3. Tablas Internas como Parámetros (TABLES)
```ABAP
TABLES
T_USUARIOS TYPE ZTT_USUARIOS
```
## Implementación del Código Fuente
### Ejemplo completo:
```ABAP
FUNCTION Z_TEST_CLIENTES.
*"----------------------------------------------------------------------
*"*"Interfase local:
*" IMPORTING
*" REFERENCE(DNI) TYPE Z_DNI
*" CHANGING
*" REFERENCE(WA_USUARIOS) TYPE ZTABLA_USUARIOS
*"----------------------------------------------------------------------
CLEAR wa_usuarios. " Limpiamos la estructura de salida
" Consulta a la base de datos
SELECT SINGLE *
FROM ztabla_usuarios
INTO wa_usuarios
WHERE dni EQ dni.
ENDFUNCTION.
```
## Proceso de Prueba del Módulo
### Pasos para probar:
1. **Acceder al entorno de prueba**: Botón "Ejecutar" o tecla F8
2. **Introducir datos de prueba**: Ej. Parámetro DNI: 28974568
3. **Ejecutar y ver resultados**:
- Tiempo de ejecución (ej. 1.075 microsegundos)
- Valores de parámetros changing actualizados
4. **Ver detalles completos**: Hacer clic en vista detallada
## Buenas Prácticas
1. **Manejo de errores**:
- Limpiar estructuras de salida antes de usarlas
- Verificar sy-subrc después de operaciones de BD
- Definir excepciones relevantes
2. **Optimización**:
- Usar SELECT SINGLE para consultas de un único registro
- Especificar solo los campos necesarios
3. **Documentación**:
- Comentar la interfaz del módulo
- Describir el propósito de cada parámetro
## Flujo de Trabajo Recomendado
1. Diseñar la interfaz (parámetros y excepciones)
2. Implementar la lógica en código fuente
3. Probar con diversos casos de prueba
4. Documentar el módulo
5. Activar todos los componentes (módulo, grupo e includes)
 
 
 
Sobre el autor
Publicación académica de Mara Fadua Romero Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Mara Fadua Romero Hernandez
Profesión: Psicóloga - Mexico - Legajo: EE18E
✒️Autor de: 67 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Mara Romero






Disponibilidad Laboral: FullTime


















