Amigos,
Solicito de su ayuda por favor, estoy implementado el user exit CONFPP05 - Notificación orden PP: Suplementos esp.cliente al grabar, el cual, valide al momento de grabar que todos los materiales que están asignados a una orden tengan salida de mercancía, si entra al user exit, y si envía el mensaje de error, pero en vez de salirse de la Transacción me envía un debug.
este es el código que está en el user_exit
--------
DATA: lt_return TYPE TABLE OF bapiret2.
FIELD-SYMBOLS:
<return> LIKE LINE OF lt_return.
DATA: var_aufnr LIKE afko-aufnr, " Con referencia a un tipo existente
var_rsnum LIKE afko-rsnum.
DATA: var1(50) TYPE c.
TYPES: BEGIN OF orden_res, " Declaración Estructura
var_aufnr LIKE resb-aufnr, "No. Orden
var_rsnum LIKE resb-rsnum, "No. Reserva
var_rspos LIKE resb-rspos, "Posición
var_bwart LIKE resb-bwart, "Tipo de movimiento
var_charg LIKE resb-charg, "No. de Lote
var_kzear LIKE resb-kzear, "Inidcador de salida final
END OF orden_res.
DATA: it_orden TYPE STANDARD TABLE OF orden_res.
DATA: wa_orden TYPE orden_res. " Work Area
" Funciones
BREAK-POINT.
SELECT SINGLE aufnr rsnum " Qué
FROM afko " De dónde
INTO (var_aufnr, var_rsnum)
WHERE aufnr EQ caufvd_tab-aufnr.
SELECT aufnr rsnum rspos bwart charg kzear
FROM resb
INTO TABLE it_orden
WHERE rsnum EQ var_rsnum
AND aufnr EQ var_aufnr.
LOOP AT it_orden INTO wa_orden.
IF wa_orden-var_bwart EQ '261'
AND wa_orden-var_kzear EQ ''.
var1 = wa_orden-var_aufnr.
SHIFT var1 LEFT DELETING LEADING '0'.
MESSAGE e001(zmsje) WITH var1.
.
EXIT.
ENDIF.
ENDLOOP.
EXIT.
--------------------
este es el error que me envía
Texto breve
Exception condition "DUPREC" raised.
¿Qué ha sucedido?
The current ABAP/4 program encountered an unexpected
situation.
Anál.errores
A RAISE statement in the program "SAPLCORB" raised the exception
condition "DUPREC".
Since the exception was not intercepted by a superior
program, processing was terminated.
Short description of exception condition:
For detailed documentation of the exception condition, use
Transaction SE37 (Function Library). You can take the called
function module from the display of active calls.
-
Posición desencadenante de error tiempo ejecución
Programa SAPLCORB
Include LCORBU08
Línea 100
Tp.módulo (FUNCTION)
Nombre módulo CO_RU_DI_AFRU_INSERT
Detalle código fuente
Lín. Txt.fte.
70 IF ls_rcols_2-aplfl = afrud_ins-aplfl AND
71 ls_rcols_2-vornr = afrud_ins-vornr AND
72 ls_rcols_2-uvorn = afrud_ins-uvorn.
73 l_subrc = 0.
74 EXIT.
75 ENDIF.
76 ENDLOOP.
77 IF l_subrc = 0.
78 * Indices auf Belegtabelle in Rückmelde-Dialogtabelle übernehmen
79 ls_lst-index_plko = dialog_tab-index_plko.
80 ls_lst-index_plfl = dialog_tab-index_plfl.
81 ls_lst-index_plpo = dialog_tab-index_plpo.
82 ls_lst-index_sopr = dialog_tab-index_sopr.
83 ENDIF.
84 ENDIF.
validación para que no se puedan confirmar ordenes las cuales no tengan salida de mercancía todos los materiales.
De antemano gracias.