Code: Alles auswählen.
* Haupttabellenstruktur erstellen
paramtere s_sammg type vbsk-sammg.
* Lieferpositionen
DATA:
begin of lief_pos,
posnr type lips-posnr,
matnr type lips-matnr,
lfimg type lips-lfimg,
vrkme type lips-vrkme,
end of lief_pos,
pos_tab like table of lief_pos,
pos_line like line of pos_tab,
* Lieferungen
begin of lief,
vbeln type likp-vbeln,
wadat type likp-wadat,
btgew type likp-btgew,
gewei type likp-gewei,
pos_tab like pos_tab,
end of lief,
lief_tab type table of lief,
lief_line like line of lief_tab,
* Liefergruppen
begin of liefgruppe,
sammg type vbsk-sammg,
smart type vbsk-smart,
brgew type vbsk-brgew,
gewei type vbsk-gewei,
lief_tab like lief_tab,
end of liefgruppe.
**Daten suchen
refresh: lief_tab, pos_tab.
clear : liefergruppe, lief_line, pos_line.
clear: liefgruppe.
liefgruppe-sammg = s_sammg.
check not liefgruppe-sammg is initial.
* Daten über die Liefergruppe
select single smart brgew gewei
into (liefgruppe-smart, liefgruppe-brgew,
liefgruppe-gewei)
from vbsk
where sammg = liefgruppe-sammg.
* Lieferungen in der Liefergruppe
clear: lief_tab, lief_line.
select vbeln
into lief_line-vbeln
from vbss
where sammg = liefgruppe-sammg.
* Daten aus der Lieferungen suchen
select single wadat btgew gewei
into (lief_line-wadat, lief_line-btgew,
lief_line-gewei)
from likp
where vbeln = tmp_lief_line_vbeln.
if sy-subrc = 0.
* Lieferpositionen suchen
clear: lief_pos_tab.
select posnr matnr lfimg vrkme
into table lief_pos_tab
from lips
where vbeln = lief_line-vbeln.
endif.
lief_line-pos_tab[] = lief_pos_tab[].
append lief_line to lief_tab.
clear: lief_line, tmp_lief_line-vbeln.
endselect.
liefgruppe-lief_tab[] = lief_tab[].