Encontrar BADI's y USER-EXIT PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Como buscar "USER-EXITS"

Antes de empezar me gustaría aclarar que aunque todo el mundo dice "user-
exits", en realidad tendríamos que decir "enhancements" ya que las user-exits son
solo uno de los distintos tipos de enhancements que SAP nos proporciona. Los
tipos de enhancements mas importantes son:

 Customer Exits:
o Se trata de funciones utilizadas por un programa estándar cuyo
código está en un include Z.
 Business Add-Ins:
o Más conocidas como badis, baDis, con D de Dinamarca. No
confundir con las bapis, baPis con P de Pamplona. Aunque su
nombre se parece no tienen nada que ver. Las badis son interfaces
(un tipo especial de programa ABAP orientado a objetos) que
podemos implementar en una clase (otro tipo especial de programa
ABAP orientado a objetos) Z.
 User Exits:
o Son subrutinas de un programa estándar que están en un include
especia que sap nos deja modificar. Son el tipo más rudimentario de
enhancement y en algunos manuales de SAP aparecen como si
fueran un tipo especial de modificaciones al estándar.

Tenemos otros tipos de enhancements: BTE, Screen Exits, Menu Exits, etc... pero
son utilizadas con menos frecuencias que las tres anteriores. Para más detalles
podemos consultar el curso de SAP BC425.

Una vez que conocemos los tres tipos principales de enhancements vamos a ver
como podemos buscarlas. Existe un programa z, podemos buscarlo en google que
seguro que aparece, que se encarga de buscar los enhancements de un programa
cualquiera. He revisado el código a fondo y hace exactamente lo mismo que voy a
contar aquí.

 Buscar Customer Exits:

1. Tenemos que localizar el programa en el cual queremos buscarlas, a si que


lo ejecutamos (mediante la transacción, por el menú SAP, por el menú
favoritos, por el menú de usuario o como nos de la gana) y una vez que
estamos en el programa que nos interesa seleccionamos el menu "Sistema"
y dentro de el la opción "Status". En la pantalla que aparece nos apuntamos
el último programa que aparezca en en apartado "Datos Repository" (puede
que lo necesitemos más adelante) y hacemos doble click en el para ir al
código fuente.
2. Una vez que estamos en el código fuente tenemos que buscar la cadena
"CUSTOMER-FUNCTION" con la opción Global en prog.control

3. Al buscar la cadena, es posible que el motor de búsqueda nos pregunte por


el programa principal de algún include:
A ser posible seleccionaremos el programa que apuntamos en el paso 1, de
no aparecer en la lista elegimos uno cualquiera, aunque esta última opción
podría terminar encontrando enhancements de otros programas distintos al
que queremos. Después de un rato de búsqueda tendremos la lista de las
Customer Exits del programa. Si la búsqueda termina sin resultados es que
no tenemos Customer Exits.
4. Lamentablemente con esto no es suficiente para que un programador
pueda implementar el enhancement. Aún tenemos que buscar un poco
más. Con doble click en el nombre del include llegamos al punto del
programa donde está siendo llamada la Customer Exit. Y una vez allí, con
coble click en el número de la customer, llegamos a la función.
5. Aún nos queda un último paso. Los programadores necesitan saber la
"ampliación" donde está esta Customer Exit. A si que nos apuntamos el
nombre de la función, vamos a la SMOD y buscamos la ampliación
correspondiente.
6. Con el nombre de la función y el de la ampliación ya podemos implementar
nuestra customer exit.

 Buscar BAdIs:

1. Las BAdIs son similares a las Customer Exits, excepto que utilizan clases
(ABAP orientado a objetos) en lugar de funciones (ABAP Clásico). La
tendencia de SAP es sustituir en el estándar todas las Customer Exits por
BAdIs, por lo que en las nuevas versiones de SAP cada vez vamos a ver
menos Customer Exits y más BAdIs. Comenzamos la búsqueda como en el
caso de las Customer Exits, solo que ahora la cadena a buscar es
"CL_EXITHANDLER"

2. El resultado de la búsqueda son las BAdIs. Para poder implementarlas, un


programador necesita saber como se llama la BAdI, el nombre aparece
justo después de "exit_name".
 Buscar User Exits:

1. Las User Exits son el tipo de Enhacement más antiguo que tiene SAP.
Principalmente están en el módulo SD y, al igual que las Customer Exits,
tienden a desaparecer al ser sustituidas en las nuevas versiones por BaDIs.
Se utiliza ABAP clásico para implementarlas. La busqueda es idéntica a los
casos anteriores solo que ahora la cadena de búsqueda es USEREXIT. El
resultado de la busqueda nos da el nombre del include y el de las User
Exits que el programador necesita para implementarlas

También podría gustarte