Code: Alles auswählen.
START-OF-SELECTION.
*##################
* GUI-Titel anlegen
SET TITLEBAR 'T_SOHA'.
SELECT zdlkz bezeichnung
FROM zdlkz_t INTO CORRESPONDING FIELDS OF TABLE itab_zdlkz_t
WHERE zdlkz IN so_dlkz.
IF sy-subrc <> 0.
MESSAGE i003(/sapdmc/lsmw_glo_030).
* Bitte tragen Sie einen gültigen Wert ein.
EXIT.
ENDIF.
SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr b~hkont
INTO CORRESPONDING FIELDS OF TABLE itab_sumla
FROM ( lfa1 AS a
INNER JOIN bsak AS b
ON a~lifnr = b~lifnr )
WHERE bukrs IN ('1001')
AND blart IN ('A1', 'A2', 'A3')
AND land1 IN so_land
AND gjahr IN range
AND zuonr IN so_dlkz
AND monat IN so_perio.
SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr b~hkont
APPENDING CORRESPONDING FIELDS OF TABLE itab_sumla
FROM ( lfa1 AS a
INNER JOIN bsik AS b
ON a~lifnr = b~lifnr )
WHERE bukrs IN ('1001')
AND blart IN ('A1', 'A2', 'A3')
AND land1 IN so_land
AND gjahr IN range
AND zuonr IN so_dlkz
AND monat IN so_perio.
SELECT bukrs hkont zuonr gjahr belnr blart monat bschl shkzg wrbtr
APPENDING CORRESPONDING FIELDS OF TABLE itab_sumla
FROM bsas
WHERE bukrs IN ('1001')
AND blart IN ('A1', 'A2', 'A3')
AND gjahr IN range
AND zuonr IN so_dlkz
AND monat IN so_perio.
SELECT bukrs hkont zuonr gjahr belnr blart monat bschl shkzg wrbtr
APPENDING CORRESPONDING FIELDS OF TABLE itab_sumla
FROM bsis
WHERE bukrs IN ('1001')
AND blart IN ('A1', 'A2', 'A3')
AND gjahr IN range
AND zuonr IN so_dlkz
AND monat IN so_perio.
Code: Alles auswählen.
SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr c~hkont c~belnr c~zuonr c~blart
c~bukrs c~monat c~gjahr c~shkzg c~bschl c~wrbtr
INTO CORRESPONDING FIELDS OF TABLE itab_sumla
FROM ( ( lfa1 AS a
INNER JOIN bsak AS b
ON a~lifnr = b~lifnr )
INNER JOIN bsas AS c
ON b~hkont = c~hkont AND
b~belnr = c~belnr AND
b~zuonr = c~zuonr AND
b~blart = c~blart AND
b~bukrs = c~bukrs AND
b~monat = c~monat AND
b~gjahr = c~gjahr AND
b~shkzg = c~shkzg AND
b~wrbtr = c~wrbtr )
WHERE c~bukrs IN ('1001')
AND c~blart IN ('A1', 'A2', 'A3')
AND land1 IN so_land
AND c~gjahr IN range
AND c~zuonr IN so_dlkz
AND c~monat IN so_perio.
SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr c~hkont c~belnr c~zuonr c~blart
c~bukrs c~monat c~gjahr c~shkzg c~wrbtr
APPENDING CORRESPONDING FIELDS OF TABLE itab_sumla
FROM ( ( lfa1 AS a
INNER JOIN bsik AS b
ON a~lifnr = b~lifnr )
INNER JOIN bsis AS c
ON b~hkont = c~hkont AND
b~belnr = c~belnr AND
b~zuonr = c~zuonr AND
b~blart = c~blart AND
b~bukrs = c~bukrs AND
b~monat = c~monat AND
b~gjahr = c~gjahr AND
b~shkzg = c~shkzg AND
b~wrbtr = c~wrbtr )
WHERE c~bukrs IN ('1001')
AND c~blart IN ('A1', 'A2', 'A3')
AND land1 IN so_land
AND c~gjahr IN range
AND c~zuonr IN so_dlkz
AND c~monat IN so_perio.
dann ist die Selektion falsch!robin1at hat geschrieben:...
Ich habe das Problem, daß ich zuviele Daten im ALV angezeigt bekomme.
vielleicht solltest Du erst einmal alle Daten, die Du brauchst sammeln und daraus dann den Datenbestand erzeugen, der für die Anzeige im ALV gedacht ist.robin1at hat geschrieben: Und zwar sehe ich die Daten aus BSAK, BSIK, BSAS und BSIS.
Ich brauche BSAK und BSIK für die Verknüpfung zur Tabelle LFA1 in der das Land steht.
Ist das eine Bedingung (ZUORD ist gefüllt)?robin1at hat geschrieben: Habe im Anhang meinen ALV. Hier möchte ich nurmehr die Daten sehen, die jetzt in der Spalte ZUONR einen Wert haben. (kommen aus BSAS und BSIS)
Was heißt hier 'könnte'? Ist das Deine Aufgabe? Und was ist mit der Bedingung zu ZUORD?robin1at hat geschrieben:...
Es könnte ungefähr so lauten:
Selektiere alle Belege mit der Belegart A1, A2, A3, welche im genannten Zeitraum zum bestimmten Land angefallen sind.