Ver la Versión Completa : Ayuda con un Select MAX( budat )
Alguien puede decirme de que manera hacer que esto funcione... :confused:
SELECT ebeln MAX( budat )
INTO CORRESPONDING FIELDS OF TABLE ti_budat
FROM ekbe
FOR ALL ENTRIES IN t_bseg
WHERE ebeln = t_bseg-ebeln
AND ebelp = t_bseg-ebelp.
Quiero sacar el maximo valor del campo ekbe-budat donde el campo de la table t_bseg-ebeln y t_bseg-ebelp y meterlo en ti_budat.
Nota: t_bseg y ti_budat son tablas internas.
Holas,
cuando haces un FOR ALL ENTRIES la unica funcion k te permite realizar es
el COUNT.
lo k podrias hacer es ordenarla en forma descendente luego de obtener la
data
SELECT ebeln budat
INTO CORRESPONDING FIELDS OF TABLE ti_budat
FROM ekbe
FOR ALL ENTRIES IN t_bseg
WHERE ebeln = t_bseg-ebeln
AND ebelp = t_bseg-ebelp.
sort ti_budat by budat descending.
y leyendo el 1er registro obtienes la mayor fecha.
Muchas gracias Danny por tu aportacion, ya quedo resuelto de otra forma pero te agradezco el tiempo invertido y la solucion aportada.. :D
Muchas gracias Danny por tu aportacion, ya quedo resuelto de otra forma pero te agradezco el tiempo invertido y la solucion aportada.. :D
Si no es mucha molestía podrías poner cual es la solución que le has dado.
Si no es mucha molestía podrías poner cual es la solución que le has dado.
Aqui va... :cool:
*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... :D
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web