Problem mit Spaltenausgabe im ABAP-Report

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Problem mit Spaltenausgabe im ABAP-Report

Beitrag von Ingo (ForumUser / 46 / 20 / 0 ) »
Hi,

da ich noch Anfänger in Sachen ABAP bin, habe ich leider (im Prinzip mit jedem Finanzbericht) ein Problem mit der LOOP-Schleife bzw. Sapltenausgabe:

Wenn ich z.B. eine Stammdatentabelle (z.B. PRPS - PSP-Elemente) mit einer Tabelle für Bewegungsdaten (z.B. BPJA Summensätze) verbinde, misslingt mir die Spaltenaufbereitung, sobald unterschiedliche Budgetarten bzw. Werttypen im Spiel sind. Ich würde gerne für ein bestimmten Kostenträger (hier PSP-Element) in Spalte A die Beträge Werttyp X, in Spalte B die Beträge mit Werttyp Y ausgeben, Spalte C etc.... ich hoffe, es ist klar, was ich meine.

Hätte jemand evtl. ein kleines Beispiel (von mir aus auch Plan-Ist-Vergleich im Bereich CO) für mich parat?

Dafür wäre ich echt dankbar.

VG
Ingo
Save a tree - eat a beaver

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


Re: Problem mit Spaltenausgabe im ABAP-Report

Beitrag von Ingo (ForumUser / 46 / 20 / 0 ) »
Hi,

ich habe mittlerweile mein (anscheinend schlecht formuliertes) Problem mit der Spaltenaufbereitung mit Variablen gelöst. Mein Quellcode sieht wie folgt aus:

Code: Alles auswählen.


REPORT  zpsbudget_test.

TYPES: BEGIN OF str_psbudget,
          "PROJ ALIAS d
          d_pspnr   TYPE proj-pspnr,
          "PRPS ALIAS p
          p_pspnr TYPE prps-pspnr,
          p_posid TYPE prps-posid,
          p_post1 TYPE prps-post1,
          p_objnr TYPE prps-objnr,
          p_psphi TYPE prps-psphi,
          "BPJA ALIAS b
          b_objnr   TYPE bpja-objnr,
          b_wrttp   TYPE bpja-wrttp,
          b_gjahr   TYPE bpja-gjahr,
          b_vorga   TYPE bpja-vorga,
          b_wljhr   TYPE bpja-wljhr,
          b_wljhv   TYPE bpja-wljhv,
       END OF str_psbudget.

DATA: i_psbudget TYPE TABLE OF str_psbudget,
      wa_psbudget   LIKE LINE OF i_psbudget.

DATA: v_original        TYPE bpja-wljhr,
      v_original_sum    TYPE bpja-wljhr,
      v_nachtrag        TYPE bpja-wljhr,
      v_nachtrag_sum    TYPE bpja-wljhr,
      v_verteilbar      TYPE bpja-wljhv,
      v_verteilbar_sum  TYPE bpja-wljhv,
      v_rueckgabe       TYPE bpja-wljhr,
      v_rueckgabe_sum   TYPE bpja-wljhr,
      v_umbuchung       TYPE bpja-wljhr,
      v_umbuchung_sum   TYPE bpja-wljhr.


SELECTION-SCREEN BEGIN OF BLOCK projektbudget WITH FRAME TITLE text-001.
SELECT-OPTIONS so_pspnr FOR wa_psbudget-d_pspnr NO INTERVALS
NO-EXTENSION
    OBLIGATORY.
SELECT-OPTIONS so_posid FOR wa_psbudget-p_posid.
SELECT-OPTIONS so_gjahr FOR wa_psbudget-b_gjahr NO INTERVALS
    NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK projektbudget.

START-OF-SELECTION.

 SELECT d~pspnr p~pspnr p~posid p~post1 p~objnr p~psphi b~objnr b~wrttp
        b~gjahr b~vorga b~wljhr b~wljhv
   FROM bpja AS b INNER JOIN prps AS p ON b~objnr = p~objnr
                  INNER JOIN proj AS d ON d~pspnr = p~psphi
   INTO TABLE i_psbudget
   WHERE d~pspnr IN so_pspnr
   "AND p~objnr = so_posid
   "AND p~objnr = 'PR00000453'
   AND b~gjahr = 2011
   AND ( wrttp = '41' OR wrttp = '42' ).

  IF sy-subrc <> 0.
    MESSAGE
    'Keine Datensätze zu den angegebenen Selektionswerten gefunden!'
      TYPE  'I'.
    EXIT.
  ENDIF.

SORT i_psbudget BY b_objnr.

  LOOP AT i_psbudget INTO wa_psbudget.

    v_original = 0.
    v_nachtrag = 0.
    v_rueckgabe = 0.
    v_umbuchung = 0.
    v_verteilbar = 0.

    CASE wa_psbudget-b_vorga.
      WHEN 'KBUD'.
        v_original = v_original + wa_psbudget-b_wljhr.

      WHEN 'KBN0'.
        v_nachtrag = v_nachtrag + wa_psbudget-b_wljhr.

      WHEN 'KBR0'.
        v_rueckgabe = v_rueckgabe + wa_psbudget-b_wljhr.

      WHEN 'KBUS'.
        v_umbuchung = v_umbuchung + wa_psbudget-b_wljhr.

      WHEN 'KBFC'.
        v_verteilbar = v_verteilbar + wa_psbudget-b_wljhv.

    ENDCASE.

    v_original_sum = v_original_sum + v_original.
    v_nachtrag_sum = v_nachtrag_sum + v_nachtrag.
    v_rueckgabe_sum = v_rueckgabe_sum + v_rueckgabe.
    v_verteilbar_sum = v_verteilbar_sum + v_verteilbar.
    v_umbuchung_sum = v_umbuchung_sum + v_umbuchung.

WRITE:  wa_psbudget-p_posid, wa_psbudget-b_objnr, v_original_sum, 
v_nachtrag_sum, v_rueckgabe_sum, v_umbuchung_sum, v_verteilbar_sum.

ENDLOOP.
Ich habe nun folgendes Problem: Ich möchte die Summen für ein Objenkt (=wa_psbudget-b_objnr) in eine Zeile schreiben. Im Moment schreibt das Programm dies logischerweise Zeile für Zeile, so dass das Ergebnis folgendes ist:

T.1 PR00000453 100.000,00 0,00 0,00 0,00 0,00
T.1 PR00000453 100.000,00 0,00 0,00 0,00 52.500,00
T.1 PR00000453 100.000,00 35.000,00 0,00 0,00 52.500,00
T.1 PR00000453 100.000,00 35.000,00 4.000,00- 0,00 52.500,00
T.1 PR00000453 100.000,00 35.000,00 4.000,00- 25.000,00- 52.500,00
T.1.1 PR00000454 150.000,00 35.000,00 4.000,00- 25.000,00- 52.500,00
T.1.1 PR00000454 150.000,00 35.000,00 4.000,00- 25.000,00- 106.000,00
T.1.1 PR00000454 150.000,00 40.000,00 4.000,00- 25.000,00- 106.000,00
T.1.1 PR00000454 150.000,00 40.000,00 5.500,00- 25.000,00- 106.000,00
T.2 PR00000455 150.000,00 40.000,00 5.500,00- 25.000,00- 106.000,00
T.2 PR00000455 150.000,00 40.000,00 5.500,00- 25.000,00- 131.000,00

Was muss ich im Loop anstellen, damit für die einzelnen Objektnummern (hier PR00000453-PR00000455) nur eine Zeile ensteht? Ich verzweifle langsam an dieser Aufgabe...

Könnt Ihr mir jetzt vielleicht helfen? Wenn ich die Anfrage unverständlich gestellt habe, sagt mir bitte noch einmal Bescheid.
Für Eure Hilfe wäre ich echt dankbar!

Viele Grüße
Ingo
Save a tree - eat a beaver

Re: Problem mit Spaltenausgabe im ABAP-Report

Beitrag von wreichelt (Top Expert / 1075 / 32 / 195 ) »
Hallo Ingo,
im Loop gibt's AT END und AT NEW damit solltest
Du weiterkommen.
Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Ingo


Re: Problem mit Spaltenausgabe im ABAP-Report

Beitrag von Ingo (ForumUser / 46 / 20 / 0 ) »
Hallo Wolfgang,

Danke für den Tipp. Leider hatte ich noch nicht sehr viel Zeit, dass zu probieren. Werde ich erst in einer Woche schaffen. Auf die schnelle hat es "geklappt", Leider bekomme ich zur Zeit noch durchgehend Nullwerte raus... Gruß
Ingo
Save a tree - eat a beaver

Seite 1 von 1

Vergleichbare Themen

0
Antw.
882
Views
Problem mit Spaltenausgabe im ABAP-Report
von Ingo » 10.01.2012 15:29 • Verfasst in ABAP® für Anfänger
0
Antw.
2447
Views
Report Painter Problem
von Lucy80 » 20.11.2009 16:04 • Verfasst in Financials
7
Antw.
4584
Views
ABAP Report
von Fritz » 26.02.2014 19:17 • Verfasst in ABAP® für Anfänger
5
Antw.
2917
Views
ABAP Report
von swonny » 05.12.2007 09:03 • Verfasst in ABAP® für Anfänger
3
Antw.
2779
Views
ABAP-Coding CO-Report
von sap-junior » 24.09.2015 10:01 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.