Vous êtes sur la page 1sur 13

AMPLIACIONES

Adicionar códigos a programas para efectuar ciertos tipos de validaciones

USER EXIT
Registrar un pedido de ventas
VA01
MODIFICAR EL PROGRAMA: MV45AFZZ Para que la Cantidad de pedido no sea mayor que 2, si
se ingresa un número mayor el programa debe cambiar dicho número a 2.
Por temas de auditoria, la empresa que provee el servicio del servidor debe proporcionar una
clave para poder modificar los programas estándares de SAP, algunos programas estándares
no están con la características de que puedan ser modificados por el usuario.

De acuerdo a la modificación, cuando el pedido lo realiza el usuario ABAP13, el pedido se


multiplica por 50, caso contrario la cantidad de pedido se divide por 2

PROGRAMA QUE DETECTA USER-EXIT

*&--------------------------------------------------------------------
-*
*& Report Z_FIND_USEREXIT
*&
*&--------------------------------------------------------------------
-*
*&
*&
*&--------------------------------------------------------------------
-*

REPORT Z_FIND_USEREXIT.

tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.


tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.

move : tadir-devclass to v_devclass.


endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code – ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.

at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.

Ejecutamos el programa y damos el código de la transacción que


queremos modificar.
CUSTOMER EXIT

1) Encontrar la ampliación (Buscar en internet u otros documentos)


Verificar con la SMOD
2) Crear un proyecto CMOD

( Utilizar la transacción SE93 para verificar las parametrizaciones de las trancciones)


Indica que la f-43 llama a la FB01

Registrar una factura directamente por finanzas


F-43
---------------***********---------------
Se ha encontrado para esta transacción la FMRESERV, verificar con SMOD
Verificamos

------**********------

Registramos la factura
Fecha Doc, Sociedad (1000) Moneda (EUR) Clacta (31-10001), (40-416100) CeCo (1210)
importe 1000
Verificamos con la FB03

BADI

Las BADI’s (Bussiness Ad-ins) son unas herramienta de programación abap


orientada a objetos que se utilizan en sap para implementar validaciones y
ampliaciones en el código standard de sap en versiones a partir de la 4.6c

Realizar ampliaciones para los pedidos de compras:

ME21N

Proveedor:15
Organización de compras: 1000
Grupo de compras: 001
Sociedad: 1000
Material: P182_WST
Ce: Berlin
Imputacion: K
Centro de costo: 4250
Cantidad: 10

ENHANCEMENT - POINT

Vous aimerez peut-être aussi