Ver Mensaje Individual
  #1  
Viejo 12/05/10, 12:23:41
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Pasar de Inner Join a Read Table

Buenos Dias

Qusiera que por favor me ayudaran con el siguiente codigo, el cual usa Inner Joins.

Lo que necesito es cambiarlo para bajar la informacion a tablas internas y luego hacer los cruzes de informacion con FOR ALL ENTRIES, READ TABLE y LOOP AT.

He trabajdo con READ TABLE antes y he logrado hacerlos sin problemas, pero en este caso me surge una duda especial y es que dentro del SELECT se ejecutan PERFORMS que lo que hacen es calcular unos campos cuyo valor no se encuentra en la base de datos y no se en que momento llamarlo, si mientras voy bajando la informacion como esta en el codigo, o despues de haberla bajado toda a tablas internas.

Agradeceria mucho si alguien pudiera transcribir el codigo a READ TABLE

Gracias!

*********************************************************
select caufv~aufnr caufv~auart caufv~erdat
caufv~objnr caufv~plnbez makt~maktg
caufv~gamng cobrb~aufnr
sum( afpo~wemng )
into (wa_tabcon-aufnr, wa_tabcon-auart, wa_tabcon-erdat, lv_objnr,
wa_tabcon-plnbez, wa_tabcon-maktg, wa_tabcon-gamng, lv_aufnr,
wa_tabcon-wemng)
from caufv inner join afpo on ( afpo~aufnr = caufv~aufnr )
inner join makt on ( makt~matnr = caufv~plnbez )
inner join cobrb on ( cobrb~objnr = caufv~objnr )
where caufv~bukrs = p_bukrs
and caufv~werks = p_werks
and caufv~autyp = 10
and caufv~auart in ('ZA11','ZA12','ZA13','ZL14','ZL15')
and cobrb~konty = 'ORD'
and cobrb~werks = p_werks
group by caufv~aufnr caufv~auart caufv~erdat caufv~objnr
caufv~plnbez makt~maktg caufv~gamng cobrb~aufnr
having sum( afpo~wemng ) = 0.

call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = wa_tabcon-aufnr
importing
output = wa_tabcon-aufnr.

call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = wa_tabcon-plnbez
importing
output = wa_tabcon-plnbez.

perform obtener_costo_real_orden using lv_objnr
changing wa_tabcon-costo.

if wa_tabcon-costo <> 0. " si la orden tiene costos reales.

perform obtener_finca_suerte_orden using lv_aufnr
changing lv_plnbez.
move lv_plnbez+1(4) to wa_tabcon-tplnr.
move lv_plnbez+6(3) to wa_tabcon-suertcdg.

perform obtener_nombrefinca using wa_tabcon-tplnr
changing wa_tabcon-pltxt.

perform obtener_estado_orden using lv_objnr
changing wa_tabcon-txt30.

append wa_tabcon to p_tabla.

endif.

lv_reg_num = lv_reg_num + 1.
perform mostrar_barra_progreso using 'Procesando ordenes... '
lv_reg_tot
lv_reg_num.

endselect.
****************************************************
Responder Con Cita