Ampliaciones SAP
Qué son los Enhancement de SAP ?
Para explicarlo en un idioma funcional, en español, que todos podamos entender más o menos qué es esto de las ampliaciones o "enhancement" de SAP, bastaría con decir que son métodos de personalización al sistema SAP. Son, como la palabra lo indica, ampliaciones al sistema.
El sistema SAP, sea el módulo que sea, tiene limitaciones y no siempre tendremos la funcionalidad que el cliente necesita. Cuando el cliente requiere cosas que, por estandar no podemos entregar (o alcanzar), tenemos que recurrir a desarrollos no-estandares (los que se denominan desarrollos zetas).
Es aquí donde intervienen éstas ampliaciones... si bien no forman parte del estándar con el que viene el módulo, son ampliaciones desarrolladas (y avaladas) por SAP para completar determinadas funcionalidades de acuerdo a ciertos procesos lógicos que los clientes pueden llegar a requerir.
Lo importante es entender que a traves de éstas ampliaciones, estamos introduciendo código a un estándar... por lo tanto, no se debe considerar un desarrollo propio (zeta), sino que el sistema sigue siendo estándar, con ampliación.
Ventajas de aplicar Ampliaciones
- Permite modificar programas estándar
- Permite realizar mejoras, o agregar funcionalidades al estándar (comportamientos que antes no hacía).
- La ampliación/mejora entra en productivo, simplemente transportando el objeto.
Desventajas de aplicar Ampliaciones
- No todos los programas tienen ampliaciones de SAP
- No siempre se pueden hacer las ampliaciones que requiere el cliente a los programas.
Tipos de Ampliaciones:
- User-Exits
- Screen-Exits
- Menu-Exits
- Keywords-Exits
- BTE
- Include o Appends
- Field-Exits (obsoletos)
UserExits
La primera generación de ampliaciones se hacía a través de los USER EXITS.
Inicialmente los user-exits en ABAP eran el modo más usual de realizar ampliaciones en SAP. Los USER EXITS son como subrutinas vacías dentro de un programa estándar en las cuales se puede agregar código. (El nombre de las mismas comienza con USEREXIT). Este método utiliza módulos de función mediante los cuales se puede ingresar código ABAP. El sistema provee las funciones donde los user-exits son llamados y se cuenta con una interfaz definida y un programa Include. Es en este programa Include donde se agrega el código requerido.
Los user exits NO están definidos dentro de un proyecto de ampliación, directamente se modifica el código estándar.
CUSTOMER-EXITS
Los CUSTOMER EXITS se definen dentro de un proyecto de ampliación, por lo tanto se gestionan con la transacción CMOD.
Permiten ampliar código fuente (function module exit), menúes (menu exit) y pantallas estándares (screen exit), y no permiten múltiples implementaciones.
BTE (Business Transaction Events)
Con la versión 4.0, aparecieron también los llamados BTE (BUSINESS TRANSACTION EVENTS). Estas son ampliaciones que fueron desarrolladas para el módulo de Contabilidad Financiera (FI), que permiten agregar componentes adicionales en los programas estándares por medio de funciones (FUNCTION MODULES). Una característica común de las BTE, es que son independientes de mandante a diferencia de las ampliaciones denominadas "Customer Exits".
BADI's
Luego, con la versión 4.6C, y de la mano de la orientación a objetos, apareció la tercera generación de recursos de ampliación, a través de las BADIS. Las BADI's (Bussiness Add-ins) son las nuevas técnicas de ampliación del código estándar de SAP basadas en programación ABAP orientada a objetos. Usan instancias de ABAP Objects. Se invocan con CALL METHOD. Se crean con la transacción SE18 y se implementan con la transacción SE19.
Qué es el Enhancement Framework?
Únicamente para aquellos clientes que cuenten con la versión 6.00 de SAP (ECC 6.0), tendrán la posibilidad de realizar ampliaciones a traves del "Enhancement Framework". Es una solución que permite al cliente optar por diferentes técnicas para aplicar ampliaciones a sus programas estándar.
Las técnicas disponibles a aplicar gracias al "Enhancement Framework" son las siguientes:
- Ampliaciones de código (plug-ins)
- Ampliaciones de grupo de función
- Ampliaciones de clases
- Ampliaciones de Kernel-BADI
Para más información respecto a este item, recomiendo leer el artículo completo de este sitio web (y sus sub-siguientes artículos).
Creo que con este breve resumen funcional de qué son las ampliaciones de SAP, podrán tener una idea más global y saber hacia donde ir e investigar cuando les pidan un "exit".
Hay un programa en ForoSap.com donde alguien contribuyo agregando el código fuente, es un desarrollo para encontrar Exits. Quizás a alguien le sirva ;)
Actualización.1:
Existen dos artículos imperdibles sobre BADIS:
Actualización.1:
Existen dos artículos imperdibles sobre BADIS:
Saludos!!!
Fuentes consultadas:
- Todo acerca de la Badi's de SAP
- Ampliaciones SAP
- Ampliaciones de SAP R/3
- ENHANCEMENT (Ampliaciones)
- Enhancement Framework: Nuevo metodo para realizar ampliaciones al codigo ABAP en ECC 6.0 (ERP 6.0).
- Resumen. Opciones de personalización en nuestro sistema Sap.
- Qué diferencia a las BADIS de los CUSTOMER EXITS o de otros recursos de Enhancement para evitar modificar el código ABAP estándar?.
Muchas gracias.
ResponderBorrar