ABAP Anfänger - Kreditorenliste.

Getting started ... Alles für einen gelungenen Start.
24 Beiträge • Seite 1 von 2 (current) Nächste
24 Beiträge Seite 1 von 2 (current) Nächste

ABAP Anfänger - Kreditorenliste.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Hoffe, dasss mir jemand weiterhelfen kann. Bin in Sachen ABAP Anfänger und suche jemand der mir hilft bzw. unter die Arme greifen kann. Möchte gerne eine Kreditorenliste ausgeben, die über Parameter entsprechend nach zahlungsbedingungen und Umsatz selektiert werden kann (sprich kleiner dem eingegeben Umsatz). Der Umsatz ergibt sich aus verschiedenen Teilbeträgen.
Die auszugebenden Felder befinden sich aber in unterschiedliche Tabellen. Habe es zwar geschafft dass er mir ne Liste bringt, jedoch ist das Ergebniss immer das selbe egal welche Zahlungsbedingung ich auswähle.
Vielleicht kann mir jemand helfen. Hier mal der Code.
Vielen Dank vorab für die Hilfe. Gruss Marco

REPORT ZFKRED10 .

Tables: LFA1, LFB1, LFC1, T052U. " Tabellendeklaration
Data: Sum type i.
data: wa_kreditorliste.

selection-screen begin of block ZFKRED with frame title text-001.
parameter: zahl_bed(4) type c obligatory.
parameter: Umsatz type i obligatory.
selection-screen end of block ZFKRED.


select * from T052U where zterm = zahl_bed..


* Umsatzberechnunung
select * from LFC1 client specified where mandt = sy-mandt.
if sy-subrc = 0.
Sum = LFC1-UM01H + LFC1-UM02H + LFC1-UM03H + LFC1-UM04H + LFC1-UM05H + LFC1-UM06H + LFC1-UM07H + LFC1-UM08H + LFC1-UM09H + LFC1-UM10H + LFC1-UM11H + LFC1-UM12H + LFC1-UM13H + LFC1-UM14H + LFC1-UM15H + LFC1-UM16H.
if Sum < Umsatz and Sum <> 0.

* Liferantennummer-, Namen-, Ort und Branchenselektion
select * from LFA1 client specified where mandt = sy-mandt and LIFNR = LFC1-LIFNR.
if sy-subrc = 0.
write: / LFA1-LIFNR, sy-vline, LFA1-NAME1, sy-vline, LFA1-ORT01, sy-vline, LFA1-BRSCH, sy-vline.
endif.
endselect.

*Buchungskreisselektion
select * from LFB1 client specified where mandt = sy-mandt and LIFNR = LFC1-LIFNR.
if sy-subrc = 0.
write: LFB1-BUKRS, sy-vline.
endif.
endselect.

write: T052U-TEXT1, sy-vline, Sum, sy-vline.

sum = 0.

endif.
else.
write 'no records found'.
endif.

endselect.
endselect.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo Anfänger,

schau dir vorher mal die Tabellen an:
ZTERM in der LFB1
Umsätze über jew. Geschäftsjahr(LFC1)
berücksichtigst du keine Gutschriften?
Lass dir vorher die Anforderung detailliert beschreiben!

Gruss M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
schau dir vorher mal die Tabellen an:
ZTERM in der LFB1
Umsätze über jew. Geschäftsjahr(LFC1)
berücksichtigst du keine Gutschriften?
Lass dir vorher die Anforderung detailliert beschreiben!


....Das stimmt so!!!

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Ist ja klar, das du immer das gleiche rausbekommst.
Denn dein 2ter Select hat keinen Bezug zum ersten.

P.s. Verschachtelte Select-Endselect-Schleifen sind böse.
Mach lieber JOINs.

P.s.s. client specified brauchst du nicht, wenn eh sy-mandt niemst.
Zuletzt geändert von DeathGuardian am 27.05.2008 13:47, insgesamt 1-mal geändert.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Ist ja klar, das du immer das gleiche rausbekommst.
Denn dein 2ter Select hat keinen Bezug zum ersten.

P.s. Verschachtelte Select-Endselect-Schleifen sind böse.
Mach lieber JOINs.



Okey danke. Blöde Frage - Wie geht dass?
Danke

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hi, schau die mal den Report RFKUML00 an und lass ihn mal laufen.

Dürfte deine Anforderung erschlagen - oder ???

Grüße M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Hi, schau die mal den Report RFKUML00 an und lass ihn mal laufen.

Dürfte deine Anforderung erschlagen - oder ???


viel zu viel - da blickt man ja nicht mehr durch :-))
wie würde denn so ein Join in meinem bespiel aussehen
vg

Beitrag von ch|ma|ra (ForumUser / 5 / 0 / 0 ) »
Hallo,
ein Join könnte zum Beispiel so aussehen.

Code: Alles auswählen.

   select a~GJAHE
          a~UMSAV
          b~ERDAT
   FROM LFC1 AS a
   INNER JOIN LFB1 AS b 
   ON a~LIFNR = b~LIFNR
   AND a~BURKS = b~BURKS
   INTO CORRESPONDING FIELDS OF table gt_itab.
Jetzt wird jeder Eintrag aus der LFC1 mit dem passenden Eintrag aus der LFB1 verbunden und selectiert.

Gruß Stephan

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo A,

Tables: LFA1, LFB1, LFC1, T052U. " Tabellendeklaration
Data: Sumh like lfc1-umsav,
sums like lfc1-umsav,
sumt like lfc1-umsav.


selection-screen begin of block ZFKRED with frame title text-001.
SELECT-OPTIONS: so_lifnr FOR lfa1-lifnr.
SELECT-OPTIONS: so_bukrs FOR lfb1-bukrs.
SELECT-OPTIONS: so_gjahr FOR lfc1-gjahr.




parameter: zahl_bed(4) type c. " obligatory.
parameter: Umsatz type i obligatory.
selection-screen end of block ZFKRED.


select single * from T052U where zterm = zahl_bed.
if sy-subrc NE 0.
write: / ' Zahlungsbedingung nicht vorhanden: ', zahl_bed.
exit.
endif.

select * from LFB1 where LIFNR in so_LIFNR and
bukrs in so_bukrs and
zterm = zahl_bed.

select * from lfc1 where lifnr = lfb1-lifnr and
bukrs = lfb1-bukrs and
gjahr in so_gjahr.
if sy-subrc = 0.
perform summieren.
endif.

endselect.
endselect.



*&---------------------------------------------------------------------*
*& Form summieren
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form summieren.
clear: sumh, sums, sumt.

SumH = LFC1-UM01H + LFC1-UM02H + LFC1-UM03H + LFC1-UM04H + LFC1-UM05H + LFC1-UM06H + LFC1-UM07H +
LFC1-UM08H + LFC1-UM09H + LFC1-UM10H + LFC1-UM11H + LFC1-UM12H + LFC1-UM13H + LFC1-UM14H + LFC1-UM15H + LFC1-UM16H.

SumS = LFC1-UM01s + LFC1-UM02s + LFC1-UM03s + LFC1-UM04s + LFC1-UM05s + LFC1-UM06s + LFC1-UM07s +
LFC1-UM08s + LFC1-UM09s + LFC1-UM10s + LFC1-UM11s + LFC1-UM12s + LFC1-UM13s + LFC1-UM14s + LFC1-UM15s + LFC1-UM16s.

sumt = sumh - sums.

if sumt GE umsatz.
select single * from lfa1 where lifnr = lfb1-lifnr.
write: / lfa1-name1, lfa1-ort01, ' Umsatz: ', sumt.
endif.

Ciao, M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
VIELEN DANK - es geht

Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Hallo Gruftassel,
vielleicht noch eine Ergänzung. Die Tabelle T052U beherbergt die sprachabhängigen, kundeneigenen Erläuterungen zu den einzelnen Zahlungsbedingungen und eignet sich somit nur bedingt zur Gültigkeitsprüfung. Nimm stattdessen lieber die 'Haupttabelle' T052:

Code: Alles auswählen.

select single * from T052 where zterm = zahl_bed.
oder noch besser - verwende den Funktionsbaustein FI_CHECK_ZTERM:

Code: Alles auswählen.

CALL FUNCTION 'FI_CHECK_ZTERM'
  EXPORTING
    i_zterm             = zahl_bed.
Weiterhin viel Freude mit SAP...
Cheers
MrB.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Noch eine Anmerkung. Wie bekomme ich noch die Summer der einzelnen Kreditoren hin? Bis her werden alle DS der einzelnen Kreditoren ohne Summer dargestellt. Gibt es da noch ne Möglichkeit.

Wäre toll - Danke

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Noch eine Anmerkung / Bitte. Wie bekomme ich noch die Summe der einzelnen Kreditoren hin? Bis her werden alle DS der einzelnen Kreditoren ohne Summe dargestellt. Gibt es da noch ne Möglichkeit. Auch schön wäre noch die Anzahl der DS.

Wäre toll - Danke

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Halle,
verstehe die Frage nicht!

..write: / lfa1-name1, lfa1-ort01, ' Umsatz: ', sumt.

sumt ( Summe Total) wird doch mit der Write-Anw. ausgegeben-
Anzahl der gefundenen Sätze:
DATA: counter type i.

Nach jedem write ....
Counter = counter + 1. " Addition

Nach dem endselect:
write: / 'Anzahl der Kreditoren = ' , counter.

Gruß M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Es werden die enzelnen Kreditorensätze ausgegeben
bspw. vom Kreditor XYZ Umsatz 100000
XYZ Umsatz 120000
XYZ Umsatz 500

Jetzt möchte ich gerne die ganzen Summern als einen Summenwert zusätzlich ausgegeben haben.
Danke

Vergleichbare Themen

2
Antw.
527
Views
ABAP RAP für Anfänger
von retsch » 16.04.2023 10:56 • Verfasst in ABAP® für Anfänger
3
Antw.
3538
Views
Die Literatur für ABAP- Anfänger
von Valerius » 11.10.2007 15:06 • Verfasst in ABAP® für Anfänger
3
Antw.
2331
Views
Ein paar Anfänger fragen zu ABAP
von jermo » 25.11.2014 19:43 • Verfasst in ABAP® für Anfänger
1
Antw.
2480
Views
Für Anfänger
von ferox » 09.02.2006 14:03 • Verfasst in ABAP® für Anfänger
2
Antw.
776
Views
Anfänger zu Expertenlevel
von BecomingAnAbapGuru » 06.02.2022 07:27 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 11 Stunden von tar 8 / 265
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1553
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 200
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 442

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 11 Stunden von tar 8 / 265
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1553
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 200
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 442

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 145
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3321
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9874