Ver Mensaje Individual
  #5  
Viejo 23/01/08, 20:53:55
Avatar de Drako
Drako Drako is offline
Member
 
Fecha de Ingreso: nov 2006
Localización: Monterrey, NL
Mensajes: 60

Aqui va...

*Declare un rango para el valor que se usara como parametro de comparacion.

DATA gd_lines TYPE i.
RANGES: r_ebeln FOR bseg-ebeln.

*Despues de la tabla interna principal llene el rango que iba a utilizar.

SORT t_bseg BY ebeln.

LOOP AT t_bseg .
IF t_bseg-ebeln <> space.
MOVE 'I' TO r_ebeln-sign.
MOVE 'EQ' TO r_ebeln-option.
MOVE t_bseg-ebeln TO r_ebeln-low.
APPEND r_ebeln.
ENDIF.
ENDLOOP.

*Borre los duplicados para tener un rango hecho correctamente.

DELETE ADJACENT DUPLICATES FROM r_ebeln.

*Llene una tabla interna generada solo con los datos que ocupaba en base al rango hecho.

SELECT ebeln MAX( budat )
INTO TABLE ti_budat
FROM ekbe
WHERE ebeln IN r_ebeln
GROUP BY ebeln.

*Agregue los datos de la tabla interna con los datos especificos en la tabla interna principal.

DESCRIBE TABLE ti_budat LINES gd_lines.
IF gd_lines > 0.
LOOP AT t_bseg.
READ TABLE ti_budat WITH KEY ebeln = t_bseg-ebeln.
IF sy-subrc = 0.
t_bseg-budat = ti_eindt-eindt.
MODIFY t_bseg.
ENDIF.
ENDLOOP.
ENDIF.

y listo...
__________________
Drako
Responder Con Cita