Code: Alles auswählen.
REPORT Z_Lieferant.
TABLES: LFA1, LFB1, LFBK.
SELECT-OPTIONS pstlz FOR LFA1-pstlz.
PARAMETERS p_BUKRS(4) TYPE c.
START-OF-SELECTION.
SELECT * FROM LFA1 WHERE ... "<-- Leider hab ich die Tabellenstruktur gerade nicht zur Hand
WRITE: LFA1-NAME1.
WRITE: LFA1-ADRNR.
ENDSELECT.
IF sy-subrc <> 0.
WRITE: 'Keine Übereinstimmung gefunden'.
RETURN.
ENDIF.
SELECT * FROM LFBK WHERE ... "<-- Leider hab ich die Tabellenstruktur gerade nicht zur Hand
WRITE: LFBK-LIFNR.
ENDSELECT.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Fritz
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Fritz
Code: Alles auswählen.
REPORT Z_Lieferant.
TABLES: lfa1, lfb1.
TYPES: BEGIN OF t_lieferanten,
lifnr TYPE lifnr,
bukrs TYPE bukrs,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
name3 TYPE name3_gp,
name4 TYPE name4_gp,
ort01 TYPE ort01_gp,
ort02 TYPE ort02_gp,
pfach TYPE pfach,
pstl2 TYPE pstl2,
pstlz TYPE pstlz,
stras TYPE stras_gp,
END OF t_lieferanten.
DATA: gt_lieferanten TYPE SORTED TABLE OF t_lieferanten
WITH UNIQUE KEY lifnr bukrs,
wa_lieferanten LIKE LINE OF gt_lieferanten.
DATA: wa_lfbk LIKE lfbk.
PARAMETERS: p_bukrs LIKE lfb1-bukrs DEFAULT '0001'.
SELECT-OPTIONS: o_pstlz FOR lfa1-pstlz.
START-OF-SELECTION.
"Lieferanten lesen: Buchungskreis, Name, Adresse...
"nur Lieferanten die nicht zum Löschen vorgemerkt sind
SELECT lfa1~lifnr lfb1~bukrs lfa1~name1 lfa1~name2 lfa1~name3
lfa1~name4 lfa1~ort01 lfa1~ort02 lfa1~pfach lfa1~pstl2
lfa1~pstlz lfa1~stras
FROM lfa1 JOIN lfb1 ON lfa1~lifnr = lfb1~lifnr
AND lfb1~bukrs = p_bukrs
APPENDING table gt_lieferanten
WHERE lfa1~pstlz IN o_pstlz
AND lfa1~loevm = ''.
LOOP AT gt_lieferanten INTO wa_lieferanten.
WRITE: wa_lieferanten-lifnr,
wa_lieferanten-bukrs,
wa_lieferanten-name1,
"... weitere Adressfelder
wa_lieferanten-stras,
wa_lieferanten-pstlz,
wa_lieferanten-ort01.
NEW-LINE.
"zum Lieferanten die Bankverbindung lesen
"ggf. die Gültigkeit der Bankverbindung beachten! KOVON, KOBIS
SELECT * FROM lfbk INTO wa_lfbk WHERE lifnr = wa_lieferanten-lifnr.
WRITE: ' ',
wa_lfbk-banks,
wa_lfbk-bankl,
wa_lfbk-bankn.
"hier weitere Felder für Bankverbindung einfügen...
NEW-LINE.
ENDSELECT.
IF sy-subrc <> 0.
WRITE: ' keine Bankverbindung gepflegt'. NEW-LINE.
ENDIF.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Fritz
Code: Alles auswählen.
REPORT Z_Lieferant.
TABLES: lfa1, lfb1.
TYPES: BEGIN OF t_lieferanten,
lifnr TYPE lifnr,
bukrs TYPE bukrs,
name1 TYPE name1_gp,
name2 TYPE name2_gp,
name3 TYPE name3_gp,
name4 TYPE name4_gp,
ort01 TYPE ort01_gp,
ort02 TYPE ort02_gp,
pstlz TYPE pstlz,
stras TYPE stras_gp,
END OF t_lieferanten.
DATA: gt_lieferanten TYPE SORTED TABLE OF t_lieferanten
WITH UNIQUE KEY lifnr bukrs,
wa_lieferanten LIKE LINE OF gt_lieferanten.
DATA: wa_lfbk LIKE lfbk.
PARAMETERS: p_bukrs LIKE lfb1-bukrs DEFAULT '0001'.
SELECT-OPTIONS: o_pstlz FOR lfa1-pstlz.
START-OF-SELECTION.
SELECT lfa1~lifnr lfb1~bukrs lfa1~name1
lfa1~ort01 lfa1~pstlz lfa1~stras
FROM lfa1 JOIN lfb1 ON lfa1~lifnr = lfb1~lifnr
AND lfb1~bukrs = p_bukrs
APPENDING TABLE gt_lieferanten
WHERE lfa1~pstlz IN o_pstlz
AND lfa1~loevm = ''.
IF sy-subrc <> 0.
WRITE: 'Es liegen keine Treffer vor!'.
RETURN.
ENDIF.
LOOP AT gt_lieferanten INTO wa_lieferanten.
WRITE:
'Name:' , wa_lieferanten-name1,
'Straße:' , wa_lieferanten-stras,
'Postleitzahl:' , wa_lieferanten-pstlz,
'Ort:' , wa_lieferanten-ort01.
NEW-LINE.
SELECT * FROM lfbk INTO wa_lfbk WHERE lifnr = wa_lieferanten-lifnr.
WRITE:
'Bankschlüssel:' , wa_lfbk-bankl,
'Bankkontennummer:' , wa_lfbk-bankn,
'Länderschlüssel der Bank:' , wa_lfbk-banks.
NEW-LINE.
ENDSELECT.
IF sy-subrc <> 0.
WRITE: 'Keine Bankverbindung gepflegt'. NEW-LINE.
ENDIF.
LOOP.
ENDLOOP.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Fritz
Code: Alles auswählen.
REPORT ZPTEST.
WRITE:/
'Bankschlüssel:' , '12345678',
'Bankkontennummer:' , '1237797',
'Länderschlüssel der Bank:' , 'DE'.
SKIP.
WRITE:/
'Bankschlüssel:' , '98645445',
'Bankkontennummer:' , '1258744',
'Länderschlüssel der Bank:' , 'DE'.