select< field > from marc into table lt_marc.
lt_tmp_marc = lt_marc.
if lt_marc is not initial.
select <field > from t001w
for all entries in lt_marc
where werks = lt_marc-werks.
sort lt_tmp_marc by matnr
delete duplicate comparing matnr from lt_tmp_marc
select <field > from makt
for all entries in lt_marc
where matnr = lt_marc-matnr
langu = sy-langu.
endif.
at the time filling final table.
loop at marc
read lt_t001w with binary
read lt_makt with binary