Code: Alles auswählen.
*Struktur für interne Tabelle
TYPES: BEGIN OF l_s_kreditor,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
HKONT LIKE BSIS-HKONT,
TXT20 LIKE SKAT-TXT20,
BELNR LIKE BKPF-BELNR,
BLDAT LIKE BKPF-BLDAT,
BUDAT LIKE BKPF-BUDAT,
WRBTR LIKE BSIK-WRBTR,
BUKRS LIKE BKPF-BUKRS,
GJAHR LIKE BKPF-GJAHR,
END OF l_s_kreditor.
TYPES: l_t_kreditor TYPE TABLE OF l_s_kreditor.
SELECT DISTINCT
LFA1~LIFNR
LFA1~NAME1
BSIS~HKONT
SKAT~TXT20
BKPF~BELNR
BKPF~BLDAT
BKPF~BUDAT
BSIK~WRBTR
BKPF~BUKRS
BKPF~GJAHR INTO CORRESPONDING FIELDS OF TABLE l_t_kreditor
FROM BSIK
INNER JOIN LFA1
ON BSIK~LIFNR = LFA1~LIFNR
INNER JOIN BSIS
ON BSIK~BELNR = BSIS~BELNR AND BSIK~BLDAT = BSIS~BLDAT AND BSIK~BUDAT = BSIS~BUDAT AND BSIK~BUKRS = BSIS~BUKRS
INNER JOIN BKPF
ON BSIK~BELNR = BKPF~BELNR AND BSIK~BLDAT = BKPF~BLDAT AND BSIK~BUDAT = BKPF~BUDAT AND BSIK~BUKRS = BKPF~BUKRS
INNER JOIN T001
ON BKPF~BUKRS = T001~BUKRS
INNER JOIN T004
ON T001~KTOPL = T004~KTOPL
INNER JOIN SKAT
ON T004~KTOPL = SKAT~KTOPL AND BSIS~HKONT = SKAT~SAKNR
WHERE BSIK~LIFNR IN Kreditor
AND SKAT~SPRAS = SY-LANGU
ORDER BY LFA1~LIFNR ASCENDING.
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE l_t_kreditor INDEX rs_selfield-tabindex INTO wa_kreditor.
IF sy-subrc = 0.
SET PARAMETER ID : 'BLN' FIELD l_t_kreditor-BELNR,
'BUK' FIELD l_t_kreditor-BUKRS,
'GJR' FIELD l_t_kreditor-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN '&REFRESH'.
PERFORM fetch_data.
rs_selfield-refresh = 'X'.
rs_selfield-col_stable = 'X'.
rs_selfield-row_stable = 'X'.
ENDCASE.
ENDFORM.