CL_SALV_TREE

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

CL_SALV_TREE

Postby Linnea2424 » Fri Oct 31, 2014 10:34 am

Hallo zusammen,

ich habe eine kleine, wirklich überschaubare Aufgabe und dachte mir, ich probiere mal wieder zur Realisierung meinen persönlichen Nightmare --> einen Tree. Ich würde jetzt fast behaupten, dass ich ABAP mittlerweile etwas beherrsche, aber die Tree-Technik will einfach nicht mit mir und umgekehrt. Und ja ich habe gefühlte hundert Demoprogramme zum Tree gesehen und auch jede Menge davon benutzt :)

Es werden Anfragen erfasst, die nach Status und Arbeitsvorrat summiert bzw. im Durchschnitt berechnet werden sollen.

Genreller Aufbau:
Status
--> AV
----> Anfragenummer

So der echte Aufbau:
Neu
--> 1
----> 1000
----> 10001
--> 2
----> 2000
In Bearbeitung
--> 1
----> 10002
--> 3
----> 30000
----> 30001
Jeweils auf der Zeile (Last Child bis First Node) soll die summierte Anzahl und die durchschnittliche Bearbeitungszeit stehen.

Der Select liefert die Daten in eine Tabelle, die Zeile hat die Struktur Status - AV - Anz - Durch - ERDAT - AEDAT. In Anz steht immer eine 1, in Durch immer die Anzahl Tage AEDAT - ERDAT. Dann wird die Tabelle nach STATUS und AV sortiert.

Jetzt soll der Tree aufgebaut werden. Mit ON CHANGE klappt das gar nicht, lustig das die Hilfe den Befehl als obsolet ausweist, daher mit AT.
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   loop at pt_outtab into ls_data
  2.     at new status.
  3.       perform add_status_line using    ls_data
  4.                                        ''
  5.                               changing l_status_key.
  6.     endat.
  7.     at new av.
  8.       perform add_av_line using    ls_data
  9.                                        l_status_key
  10.                               changing l_av_key.
  11.     endat.
  12.     perform add_complete_line using  ls_data
  13.                                              l_av_key
  14.                                     changing l_last_key.
GeSHi ©


In den Forms sind die meisten Felder mit * belegt bzw. die Felder ANZ und DURCH (vorher ja korrekt gefüllt) mit 0.

Die Gruppierung habe ich mit AGGREGATIONS gemacht:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. lo_aggregations->add_aggregation( columnname  = 'ANZ' ).
GeSHi ©


Iverstehe einfach die grundsätzliche Umsetzung der Gruppenwechselthematik mit AT nicht bzw. denke ich, dass die "Lösung" aber nicht so weit weg ist.

Kann mir da einer weiterhelfen?
Gruß
Linnea2424
..
..
 
Posts: 94
Joined: Thu Sep 21, 2006 3:10 pm

Re: CL_SALV_TREE

Postby Joeline5261 » Fri Oct 31, 2014 10:46 am

Hallo,

bei einem Loop und NEW sind die Gruppenbegriffe immer mit '*' gefüllt.
Sichere Dir die Tabellenzeile vorher und verwende die Felder dann daraus.
Hoffe das ist verständlich.

Gruß
Wolfgang
Joeline5261
...
...
 
Posts: 387
Joined: Thu Aug 18, 2005 2:42 pm

Re: CL_SALV_TREE

Postby Linnea2424 » Fri Oct 31, 2014 10:51 am

Wie soll ich sie denn vorher sichern. Der Knoten wird erst in ADD_STATUS_LINE angelegt, da ist aber die PS_DATA bereits leer.
Linnea2424
..
..
 
Posts: 94
Joined: Thu Sep 21, 2006 3:10 pm

Re: CL_SALV_TREE

Postby Joeline5261 » Fri Oct 31, 2014 10:52 am

Hallo,

hier eine Hilfe dazu:
http://www.tricktresor.de/blog/gruppenwechsel/

Gruß
Wolfgang
Joeline5261
...
...
 
Posts: 387
Joined: Thu Aug 18, 2005 2:42 pm


Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 10 guests