Está en la página 1de 8

Como buscar "USER-EXITS"

Antes de empezar me gustara aclarar que aunque todo el mundo dice "userexits", en realidad tendramos 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 estndar cuyo
cdigo est en un include Z.
Business Add-Ins:
o Ms 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 estndar que estn en un include
especia que sap nos deja modificar. Son el tipo ms rudimentario de
enhancement y en algunos manuales de SAP aparecen como si
fueran un tipo especial de modificaciones al estndar.

Tenemos otros tipos de enhancements: BTE, Screen Exits, Menu Exits, etc... pero
son utilizadas con menos frecuencias que las tres anteriores. Para ms 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 cdigo 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 transaccin, 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 opcin "Status". En la pantalla que aparece nos apuntamos
el ltimo programa que aparezca en en apartado "Datos Repository" (puede
que lo necesitemos ms adelante) y hacemos doble click en el para ir al
cdigo fuente.

2. Una vez que estamos en el cdigo fuente tenemos que buscar la cadena
"CUSTOMER-FUNCTION" con la opcin Global en prog.control

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


el
programa
principal
de
algn
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 opcin
podra terminar encontrando enhancements de otros programas distintos al
que queremos. Despus de un rato de bsqueda tendremos la lista de las
Customer Exits del programa. Si la bsqueda termina sin resultados es que
no tenemos Customer Exits.

4. Lamentablemente con esto no es suficiente para que un programador


pueda implementar el enhancement. An tenemos que buscar un poco
ms. 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 nmero de la customer, llegamos a la funcin.

5. An nos queda un ltimo paso. Los programadores necesitan saber la


"ampliacin" donde est esta Customer Exit. A si que nos apuntamos el
nombre de la funcin, vamos a la SMOD y buscamos la ampliacin
correspondiente.

6. Con el nombre de la funcin y el de la ampliacin 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 Clsico). La
tendencia de SAP es sustituir en el estndar todas las Customer Exits por
BAdIs, por lo que en las nuevas versiones de SAP cada vez vamos a ver
menos Customer Exits y ms BAdIs. Comenzamos la bsqueda como en el
caso de las Customer Exits, solo que ahora la cadena a buscar es
"CL_EXITHANDLER"

2. El resultado de la bsqueda son las BAdIs. Para poder implementarlas, un


programador necesita saber como se llama la BAdI, el nombre aparece
justo despus de "exit_name".

Buscar User Exits:

1. Las User Exits son el tipo de Enhacement ms antiguo que tiene SAP.
Principalmente estn en el mdulo SD y, al igual que las Customer Exits,
tienden a desaparecer al ser sustituidas en las nuevas versiones por BaDIs.
Se utiliza ABAP clsico para implementarlas. La busqueda es idntica a los
casos anteriores solo que ahora la cadena de bsqueda 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