✒️ABAP Las Ampliaciones: los User Exits y los Customer Exits
ABAP Las Ampliaciones: los User Exits y los Customer Exits
AMPLIACIONES: USER EXITS Y CUSTOMER EXITS
Ampliaciones son diferentes herramientas que presentan SAP para realizar mejoras, modificaciones o agregados a un programa estándar del sistema. Algunos programas estándares están preparados para agregarles funcionalidad nueva a la existente. Permite en ocasiones:
· Validar campos de una dynpro.
· Adicionar campos con código.
· Adicionar nuevas opciones en un menú.
· Adicionar campos a una tabla estándar.
Ventajas:
Desventajas:
Las ampliaciones más importantes son: User Exits, Customer Exits o Exits de cliente, KeyWord Exits, KeyWord Exits, entre otras.
User Exits. Es una subrutina definida dentro de un programa estándar SAP que esta hueca, es decir sin código, está allí para que el usuario ponga su propio código fuente que le permita realizar tareas específicas que no están previstas por SAP.
Son las primeras ampliaciones que introdujo SAP.
Son propias del módulo de SD.
Están implementadas en forma de subrutinas.
Están nombrados como USEREXIT_XXXXXX.
El problema que tiene esta en encontrar el user_exit correcto. Una vez lo encontremos debemos verificar que sirva para nuestro propósito. El código abap que se insertara dentro de un User Exit puede colocarse dentro de un INCLUDE que comenzara con Z o sino suelto. Para hacer estas modificaciones no se necesita un código Abap.
Customer Exits. También llamado exit del cliente es un punto dentro de un programa en donde se puede llamar a un programa propio.
Tabla ModSap.
Los módulos de función tienen una nomenclatura estándar:
Ejemplo: exit_sapmv45a_003.
La llamada a un exit de un módulo de función es implementada de la siguente forma en un programa estándar SAP.
Ventajas:
Desventajas:
Para trabajar con customers exits vamos a utilizar principalmente dos transacciones que son:
· SMOD: Administrar Ampliaciones.
· CMOD: Para la gestión de proyectos de ampliaciones.
Pasos para realizar un customers Exit.
Vamos a la transacción SMOD, en esta transacción se debe completar el nombre de la ampliación que contiene el módulo de función a utilizar en el customer exti.
Si no se conoce aún se debe ir a la transacción se16 a la tabla MODSAP, en el campo member completar con el nombre de función a buscar ejemplo: exit_sapmv45a_003 y el campo name nos dira la ampliación que la contiene.
Si tampoco se conoce el módulo de función, debe buscarse en el código del programa estándar las llamadas a funciones de usuario. Que estarán indicadas por CALL CUSTOMER-FUNCTION 001, donde el número del final puede ir cambiando si presenta mas de una llamada, es decir varios customer exit o exits de cliente.
Cuando tengamos el nombre de la ampliación vamos al punto uno, es decir a la transacción SMOD y presionamos visualizar.
En la siguente pantalla seleccionamos la opción componentes para visualizar todos los módulos de funciones que contiene esta ampliación.
En el caso, existen dos módulos de funciones cada uno va a ser ejecutado en algún momento determinado de la ejecución del programa al cual pertenece, en este caso sapmv454.
Selecciona el módulo de función correspondiente a las necesidades, haciendo doble clic, se visualizara una pantalla donde se verá los objetos que importa y exporta esta función. también las tablas que importa y que pueden modificarse. En la solapa código fuente se encuentra un Include Z que se utiliza para agregar el código del usuario.
Luego podemos generar código ABAP utilizando todos los objetos que figuren en la solapa import, modific y tablas
Proyecto de ampliaciones: La ampliación debe activarse e incluirse en un proyecto, estos se crean por la transacción cmod, allí debe generarse un proyecto Z en el cual se incluirá las ampliaciones que se desee. Esto se hace para agrupar, clasificar y controlar los customer exit.
Un proyecto de ampliaciones asocia n ampliaciones. Su activación o desactivación afecta a todas las ampliaciones asociadas. El nombre de los proyectos de ampliación debe estar dentro del rango permitido para los clientes, es decir debe comenzar con Z. con el botón asignación ampliación incluiremos las ampliaciones.
en la pantalla de componentes vamos activar la ampliación presionando el botón de activiacion. Una vez activado el proyecto de ampliación pasara a color verde. También podemos desactivar un proyecto.
Probar un customer exit.
 
 
 
Sobre el autor
Publicación académica de Alexander Cardenas, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Cardenas
Profesión: Ingeniero de Sistemas - Colombia - Legajo: UN96T
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP MM Nivel Avanzado
- Carrera Consultor en SAP MM Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial