#1
|
||||
|
||||
Ayuda con un Select MAX( budat )
Alguien puede decirme de que manera hacer que esto funcione...
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.
__________________
Drako |
#2
|
|||
|
|||
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. |
#3
|
||||
|
||||
Muchas gracias Danny por tu aportacion, ya quedo resuelto de otra forma pero te agradezco el tiempo invertido y la solucion aportada..
__________________
Drako |
#4
|
||||
|
||||
Si no es mucha molestía podrías poner cual es la solución que le has dado.
__________________
Salu2 Rafael Cano Villamartín - Cádiz - España Jaén - España |
#5
|
||||
|
||||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|