ABAP Anfänger - Kreditorenliste.

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

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo, ist doch so einfach!
Data: sum_total like lfc1-umsav.

nach der Anweisung: sumt = sumh - sums.
sum_total = sum_total + sumt.
Nach endselect:
write: / 'Umsätze aller Kreditoren: ' , sum_total.

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


Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
dies hätte ich so auch hinbekommen. Dann zaählt er mir aber jeden datensatz hoch und nicht für die einzelnen Kreditoren.
gruss

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Verstehe deine letzte Anmerkung nicht!
Was wills du zählen ?
Alle selektierten Kred oder alle Kred, die gem. Selektion erfüllt werden?

Gruß M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
es gibt zu den gleichen Kreditioren mehrere einzelnen Umsätze und diese für die entpsprechenden Kreditoren soll dann jeweils die Gesamtsummer angezeigt werden. z.B.

Satz1 EDV Consulting 5000 E
Satz 2 EDV-Consulting 3000 E
Summe EDV Consulting 8000 E

Satz1 ABC Firma 100
Satz2 ABC Firma 1000 1100 E

danke. gruss

Beitrag von muggel (ForumUser / 68 / 0 / 0 ) »
Hallo, dazu musst die selektierten Daten in eine Interne Tabelle
lesen und entsprechend die Werte bei gleichem Lieferant addieren
und aus Tabelle ausgeben.

Rein optisch werden gleiche Lieferanten ohne Leerzeile ausgegeben, wenn
du ...

if sumt GE umsatz.
if akt_lifnr is initial.
akt_lifnr = lfc1-lifnr.
endif.

select single * from lfa1 where lifnr = lfb1-lifnr.
if akt_lifnr ne lfa1-lifnr.
akt_lifnr = lfa1-lifnr.
skip 2.
endif.

write: / lfa1-lifnr, lfa1-name1(15), lfa1-ort01(15), lfb1-bukrs, ' Umsatz: ', sumt.

ergänzt.

Gruß M.

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
alles klar für die Hilfe. Ein letztes wäre noch der Einbau von Authority Check. Wie geht dass und wo baut man die Abfrage am besten ein.
Danke und Gruss

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo,

das ?Wo? hängt natürlich davon ab, was Du prüfen willst bzw. wo Dein Programm bei mangelnder Berechtigung mit einer Fehlermeldung enden soll. Das kann schon ganz am Anfang sein (darf der Benutzer die Transaktion überhaupt aufrufen?) oder irgendwo mittendrin (z.B. ist nur der Zugriff auf eine bestimmte Art von Lieferanten gewünscht?)

Ein Beispiel für den Einbau:

Code: Alles auswählen.

* Berechtigung für Anlegen Buchhaltungs-Beleg im Buchungskreis
 AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
         ID 'ACTVT' FIELD c_activity    ?Konstante mit Wert ?01?
         ID 'BUKRS' FIELD p_bukrs.     ?Parameter für BUKRS aus Selektionsbild
IF sy-subrc GT 0.
  MESSAGE ? WITH  'Sie haben keine Berechtigung für Buchungskreis ' p_bukrs.
ENDIF.
Die Standard-SAP-Berechtigungsobjekte findest Du in der SU21.
Hier kannst Du auch Einiges zum Thema lesen: http://www.abapforum.com/forum/viewtopic.php?t=10973

Vielleicht noch ein Hinweis zu solchen langen Anweisungen wie:

Code: Alles auswählen.

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. 
Da gibt es in ABAP eine nette Syntax, die das Ganze abkürzt und auch wesentlich übersichtlicher ist:

Code: Alles auswählen.

ADD LFC1-UM01H THEN LFC1-UM02H UNTIL LFC1-UM16H GIVING SUM.
Viele Grüße
Britta

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
Vielen Dank für eure zahlreiche Hilfe.

Habe jetzt doch noch eine Änderung. Und zwar soll über nen Select-Options die Zahlungsbedingungen ausgewählt werden, sprich es soll die Möglichkeit vorhanden sein, mehrere Zahlungsbedinungen gleichzeitig einzugeben. Des WEiteren sollte auch beim Umsatz die Spanne individuell eingegeben werden können. Wie könnte sowas aussehen. Wäre so ein Code denkbar:

REPORT ZFKRED01 .

Tables: LFA1, LFB1, LFC1, T052U. " Tabellendeklaration
Data: Sumh like lfc1-umsav,
UMSAV like lfc1-umsav,
counter type i,
sums like lfc1-umsav,
sumt like lfc1-umsav,
sum_total 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.
select-options: so_zterm FOR T052U-zterm.
Select-options: so_umsat for lfc1-umsav.

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


select * from T052U where zterm in so_zterm.
endselect.

*CALL FUNCTION 'FI_CHECK_ZTERM'
* EXPORTING
* i_zterm = zahl_bed.

if sy-subrc NE 0.
write: / ' Zahlungsbedingung nicht vorhanden: ', so_zterm.
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.
skip 2.

write: / 'Anzahl Datensätze =', counter, 140 'Umsatz gesamt =', sum_total.


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

ADD LFC1-UM01H THEN LFC1-UM02H UNTIL LFC1-UM16H GIVING SUMH.


* 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 = UMSAV.

sumt = sumh.
sum_total = sum_total + sumt.

if sumt LE umsav and sumh <> 0.
select single * from lfa1 where lifnr = lfb1-lifnr.
write: / LFA1-LIFNR, lfa1-name1, sy-vline, lfa1-ort01, sy-vline, LFA1-BRSCH, sy-vline, LFB1-BUKRS, sy-vline, T052U-TEXT1, sy-vline, sumt.

counter = counter + 1.
endif.

endform. "summieren

Vielen Dank
Gruss Marco

Beitrag von gruftassel (ForumUser / 31 / 0 / 0 ) »
nach dem obigen Code wird jezt leider keine Datensätze angezeigt.
Bestimmt kann mir jemand helfen. 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 13 Stunden von tar 8 / 316
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1597
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 244
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 483

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 13 Stunden von tar 8 / 316
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1597
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 244
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 483

Unbeantwortete Forenbeiträge

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