Code: Alles auswählen.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_tab
FROM mara
WHERE attyp = '01'
and matnr = '000000000001000030'.
SORT gt_tab by matnr.
IF sy-dbcnt > 0.
FIELD-SYMBOLS <gs_tab> TYPE gtys_tab.
LOOP AT gt_tab ASSIGNING <gs_tab>.
at new matnr.
SELECT SINGLE knumh kschl
INTO CORRESPONDING FIELDS OF <gs_tab>
FROM a073
WHERE ( matnr = <gs_tab>-matnr AND datbi >= sy-datum AND kschl = 'VKP0' )
or ( matnr = <gs_tab>-matnr AND datbi >= sy-datum AND kschl = 'ZUVP' ).
endat.
Code: Alles auswählen.
TYPES: BEGIN OF t_mara,
matnr TYPE mara-matnr,
attyp TYPE mara-attyp,
knumh TYPE a073-knumh,
kschl TYPE a073-kschl,
END OF t_mara,
tt_mara TYPE TABLE OF t_mara.
DATA: gt_mara TYPE tt_mara.
DATA: gs_mara TYPE t_mara.
RANGES: s_kschl FOR a073-kschl.
s_kschl-sign = 'I'.
s_kschl-option = 'EQ'.
s_kschl-low = 'ZUVP'.
APPEND s_kschl.
s_kschl-sign = 'I'.
s_kschl-option = 'EQ'.
s_kschl-low = 'VKPO'.
APPEND s_kschl.
SELECT a~matnr
a~attyp
b~knumh
b~kschl
INTO CORRESPONDING FIELDS OF TABLE gt_mara
FROM mara AS a INNER JOIN a073 AS b
ON b~matnr = a~matnr
WHERE a~matnr = '000000000001000030'
AND a~attyp = '01'
AND b~datbi GE sy-datum
AND b~kschl IN s_kschl.
Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
autohandel7
Code: Alles auswählen.
SELECT a~matnr
a~attyp
b~knumh
b~kschl
INTO CORRESPONDING FIELDS OF TABLE gt_mara
FROM mara AS a INNER JOIN a073 AS b
ON b~matnr = a~matnr
WHERE a~matnr = '000000000001000030'
AND a~attyp = '01'
AND b~datbi GE sy-datum
AND b~kschl IN s_kschl.
"a" und "b" sind in dem Fall Aliasnamen für die Tabellen mara und a073. Dies kannst du tun, musst du aber nichtautohandel7 hat geschrieben:Danke,alles super,
kannst du noch mir klären, warum bei join benutzt du "a~" oder "b~" sttat mara~ oder a073~???
es ist bequme oder gibt es eine Regeln?
Folgende Benutzer bedankten sich beim Autor Niels für den Beitrag (Insgesamt 2):
autohandel7 • Icke0801