Aqui les dejo este programa basico para el manejo de tablas internas
No utiliza Field Symbol, es solo para mostrar el tema genericamente.
report zgl01_helloworld.
* DECLARACION DE TIPOS
types : begin of ty_tabla,
matnr type matnr,
maktx type maktx,
werks type werks_d,
name1 type name1,
pstat type pstat_d,
end of ty_tabla.
*DELCARACION DE VARIABLES PARA SELECCION DE DATOS
data : material type matnr ,
centro type werks_d .
*DECLARACION DE TABLAS INTERNAS
data : it_marc type standard table of marc ,
it_makt type standard table of makt ,
it_001w type standard table of t001w ,
it_tabla type ty_tabla occurs 0 .
*DECLARACION DE AREAS DE TRABAJO
data: wa_marc like line of it_marc ,
wa_makt like line of it_makt ,
wa_001w like line of it_001w ,
wa_tabla like line of it_tabla .
***********************************************************************
selection-screen begin of block pantalla with frame title text-t01.
parameters : dato1 type pstat_d.
select-options : s_mater for material ,
s_centro for centro .
selection-screen end of block pantalla.
start-of-selection.
*
* WRITE : / 'Hola Mundo' , " comentarios
* 'Hola Mundo' .
*
* WRITE : / 'Mi datos ' ,
* / dato1 .
select * from marc
into table it_marc
where matnr in s_mater
and werks in s_centro .
if sy-subrc eq 0 .
select * from makt
into table it_makt
for all entries in it_marc
where matnr = it_marc-matnr
and spras = sy-langu .
select * from t001w
into table it_001w
for all entries in it_marc
where werks eq it_marc-werks.
endif.
write : /, / 'MATERIAL' , 'CENTRO', 'ESTATUS ACTUAL' .
loop at it_marc into wa_marc .
read table it_makt into wa_makt
with key matnr = wa_marc-matnr.
read table it_001w into wa_001w
with key werks = wa_marc-werks .
if wa_marc-pstat eq dato1
or dato1 is initial .
move : wa_marc-matnr to wa_tabla-matnr,
wa_makt-maktx to wa_tabla-maktx,
wa_marc-werks to wa_tabla-werks,
wa_001w-name1 to wa_tabla-name1,
wa_marc-pstat to wa_tabla-pstat .
append wa_tabla to it_tabla .
else.
endif.
endloop .
sort it_tabla by werks matnr descending .
loop at it_tabla into wa_tabla .
write: /
wa_tabla-matnr ,
wa_tabla-maktx ,
wa_tabla-werks ,
wa_tabla-name1 ,
wa_tabla-pstat .
endloop.
No hay comentarios:
Publicar un comentario