Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report ZTEST_DATUMSORT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ztest_datumsort .
TYPES: BEGIN OF t_datum,
dat TYPE d,
END OF t_datum.
DATA : lt_datum TYPE TABLE OF t_datum.
FIELD-SYMBOLS <p> TYPE t_datum.
APPEND '20120131' TO lt_datum.
APPEND '00000000' TO lt_datum.
APPEND '20120122' TO lt_datum.
APPEND '20120101' TO lt_datum.
APPEND '00000000' TO lt_datum.
LOOP AT lt_datum ASSIGNING <p> WHERE dat IS INITIAL .
<p>-dat = '99991231'.
ENDLOOP.
SORT lt_datum ASCENDING.
* .. wenns sein muss , auch wieder zurück zu Null
LOOP AT lt_datum ASSIGNING <p> WHERE dat = '99991231'.
CLEAR <p>-dat.
ENDLOOP.
Die interne Tabelle wird einem ALV übergeben.Unit605 hat geschrieben: Bei einer internen Tabelle kann es Dir doch egal sein, wo die leeren Felder nun sind, am Ende oder Anfang.
Das ist wohl wieder so ein Fall, wo man den Anwender fragen sollte, ob er weiß was er tut. Er will eine Sortierung, die gegen alle Sortierregeln verstößt - mit dem Effekt, dass man Datensätze dort hinsetzt, wo ein anderer Anwender sie nicht suchen würde. Das kann schnell zu einer Missinterpretation der Liste führen (wenn man nämlich nicht in der Liste nach unten scrollt, sondern aufgrund der Abwesenheit der Sätze am oberen Ende der Liste davon ausgeht, dass sie nicht da sind).ABAP_User hat geschrieben:möchte eine interne Tabelle aufsteigend sortieren. Problem dabei ist, dass bei manchen Spalten das Feld leer ist. Diese werden nun am Anfang angezeigt, sollen aber zuletzt angezeigt werden.
Wie bekommt man das denn hin?
Weil das oft genug der Fall ist. Anwender sehen meist "ihre" Liste und bedenken nicht, dass andere die Liste auch benutzen. Ich hab ja nichts dagegen, sowas zu programmieren - aber nur, wenn ich es nicht drei Tage später zurückdrehen muss (was wahrlich oft genug vorgekommen ist), weil sich andere Anwender beschweren. Der Knaller war eine konventionelle Liste eines Kunden, die ich auf ALV umstellen sollte. Zwei Tage später rief der Leiter der Landesgesellschaft in New York an, was uns denn einfällt, die Liste zu ändern, die dort für das Zollformular (als Anlage) verwendet wird.black_adept hat geschrieben:warum suggerierst du, dass der Anwender nicht weiß was er tut?