Ermitteln der WKG* Felder durch Periodeneingabe


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Ermitteln der WKG* Felder durch Periodeneingabe

Beitragvon Bjoern80 » 14.11.2017, 12:47

Hallo zusammen,

ich bin zum Einen neu hier im Forum und zum anderen auch nicht ganz so fit im ABAP. Daher hoffe ich auf Hilfe.

Ich soll ein Programm erstellen, was mir Soll- und Istkosten pro Kostenstelle ausgibt.
Hierfür ziehe ich die COSS und COSP heran. Die Auswertung soll pro Periode erfolgen, d.h. ich habe einen Selektionsparameter Periode
im Selektionsbildschirm. Das Programm funktioniert auch eigentlich ganz gut, aber was ich nicht hinbekomme ist, dass das System das entsprechende Wertfeld
(WKG***) abhängig von der eingegeben Periode nimmt (Momentan werden alle Felder aufsummiert). Also z.B. WKG001 wenn ich Periode 1 wähle.

Kann mir da jemand einen kurzen Hinweis geben, wie das gemacht werden kann?

Vielen Dank!
Bjoern80
ForumUser
 
Beiträge: 2
Registriert: 14.11.2017, 10:27
Dank erhalten: 0 mal
Ich bin: Berater/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Ermitteln der WKG* Felder durch Periodeneingabe

Beitragvon DeathAndPain » 14.11.2017, 13:06

Zum Verständnis: Die Nummer Deiner Periode ist die Nummer des Feldes aus der COSS, das genommen werden soll?

Da würde ich mir ein Feldsymbol definieren, die richtige Tabellenzeile in eine Worksarea WA_COSS einlesen und dann mit einem ASSIGN COMPONENT period OF STRUCTURE WA_COSS rangehen. (siehe F1-Hilfe zu ASSING COMPONENT)

Wenn Du in einer Schleife durch alle Werte durchgehen willst, dann bin ich ein ganz großer Fan des VARYING-Zusatzes des DO-Befehls, wissend, dass die SAP diesen leider für veraltet erklärt hat und stattdessen eine umständlichere und IMHO schlechter lesbare Variante propagiert.
DeathAndPain
Specialist
 
Beiträge: 266
Registriert: 05.05.2006, 10:14
Dank erhalten: 65 mal
Ich bin: Entwickler/in

Re: Ermitteln der WKG* Felder durch Periodeneingabe

Beitragvon Bjoern80 » 14.11.2017, 13:54

Ich bin mir nicht sicher, ob ich Dich richtig verstanden habe.
Die Felder in der COSS und COSP heißen WKG001 - WKG016. (Nummerierung wie die Perioden).
Die Periode hat den Typ POPER, also 001 - 016.

Ja, die Idee mit einem Field Symbol hatte ich auch schon aber ich komme da nicht auf einen grünen Zweig. Muss ich nochmal forschen.

Danke schon mal.
Bjoern80
ForumUser
 
Beiträge: 2
Registriert: 14.11.2017, 10:27
Dank erhalten: 0 mal
Ich bin: Berater/in

Re: Ermitteln der WKG* Felder durch Periodeneingabe

Beitragvon DeathAndPain » 14.11.2017, 17:41

Na ja, ich dache mir das in etwa so:

Code: Alles auswählen
DATA: KOMPONENTENNUMMER TYPE I, " Wenn Period ein NUMC ist, vorher in eine Integervariable umkopieren
      WA_COSS LIKE COSS.

FIELD-SYMBOLS <GESUCHTES_FELD>.

SELECT SINGLE * INTO WA_COSS FROM COSS
 WHERE ...

KOMPONENTENNUMMER = PERIOD + 15. " weil laut SE11 in der Tabelle COSS fünfzehn Felder vor WTG001 kommen.

ASSIGN COMPONENT KOMPONENTENNUMMER OF STRUCTURE WA_COSS TO <GESUCHTES_FELD>.

write <gesuchtes_feld>. " oder was immer Du damit anstellen möchtest


Danke schon mal.

Dafür gibt es einen Knopf. ;-)

Für diese Nachricht hat DeathAndPain einen Dank bekommen :
Bjoern80
DeathAndPain
Specialist
 
Beiträge: 266
Registriert: 05.05.2006, 10:14
Dank erhalten: 65 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
gelöst Protokoll vergangener RFC Aufrufe
vor 16 Stunden von Dele 3 Antw.
BREAK-POINT-IDs verwenden
vor 15 Stunden von ralf.wenzel 2 Antw.
MEREQ001 Zusatzfelder ausblenden
vor 3 Tagen von SAP4Echo 0 Antw.
gelöst Z Tabelle Key Feld ändern
vor 3 Tagen von DeathAndPain 3 Antw.
gelöst Funktionsbaustein EXIT_SAPLCORF_404 in Transaktion COR6N
vor 20 Stunden von SAP_ENTWICKLER 2 Antw.

  Ähnliche Beiträge beta
gelöst Anzahl Felder einer Struktur ermitteln
05.12.2013, 08:46 von Barney 4 Antw.
gelöst Division durch 0 vermeiden
19.05.2005, 12:11 von ewx 6 Antw.
Gesperrte Personalnummer durch log ->Datenbank?
14.03.2006, 23:26 von ChrisB 1 Antw.
Tabulator durch 6 Leerzeichen ersetzen
12.11.2012, 09:54 von asamat 3 Antw.
DUMP bei versenden durch SOST
09.10.2013, 15:19 von ralf.wenzel 3 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!