Aufsteigend nach Datum sortieren aber leere Felder

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

Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von ABAP_User (Specialist / 146 / 20 / 0 ) »
Hallo,

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?


Viele Grüße
abap_user

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


Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin abap_user,
Du könnstest die Leeren Datumszeilen so an das Ende sortieren !

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.

gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Die Frage ist WARUM!

Bei einer internen Tabelle kann es Dir doch egal sein, wo die leeren Felder nun sind, am Ende oder Anfang.

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von ABAP_User (Specialist / 146 / 20 / 0 ) »
Ok, danke!
Unit605 hat geschrieben: Bei einer internen Tabelle kann es Dir doch egal sein, wo die leeren Felder nun sind, am Ende oder Anfang.
Die interne Tabelle wird einem ALV übergeben.

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von black_adept (Top Expert / 4116 / 129 / 951 ) »
Hi Abap_user,

du könntest die Leerzeichen in deinen leeren Feldern durch ASCII-255 austauschen. Das Zeichen sieht auch leer aus, sollte aber bei Sortierung hinten stehen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von ralf.wenzel (Top Expert / 3946 / 201 / 281 ) »
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?
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).

Solche Programmieranforderungen lasse ich mir grundsätzlich vom Vorgesetzten des Anforderers genehmigen - was in der Regel dazu führt, dass sie nicht umgesetzt werden, weil der Vorgesetzte sich obigen Argumenten gegenüber sehr aufgeschlossen zeigt.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von black_adept (Top Expert / 4116 / 129 / 951 ) »
@Ralf,

warum suggerierst du, dass der Anwender nicht weiß was er tut? Die Fragestellung des Posts war doch relativ einfach und ich gehe immer davon aus, dass derjenige der eine Frage stellt sich (hoffentlich) vorher Gedanken darüber gemacht hat ob das was er programmiert sinnvoll ist oder nicht. Und mir fallen ad hoc mehrere Szenarien ein, wo eine solche Sortierung durchaus sinnvoll sein könnte.

Nur mal ein Beispiel. Das fragliche Sortierfeld stellt eine Art Nachfolgebeziehung dar. ( Sowas findet man u.A. im Materialstamm, Stornobelegen ) Häufig bedeutet in so einem Fall ein nicht gefülltes Feld, dass es keinen Nachfolger gibt. Und wenn durch Sortierung nun eine Kette von Nachfolgern gebildet werden kann, sollte üblicherweise das Element ohne Nachfolger das Letzte in der Kette sein, wird durch die Standardsortierung aber an den Anfang gestellt.

Noch ein Beispiel: Das Sortierfeld stellt eine Art Ablaufdatum oder Gültigkeitsende dar. Auch hier wird ein fehlender Eintrag üblicherweise als "läuft nicht ab" oder "ist gültig bis zum St. Nimmerleinstag" interpretiert und sollte an das Ende einer Liste gestellt werden, die nach diesem Sortierfeld sortiert wird. ( Aber hier würde mein Tipp mit dem ASCII-255 nicht fruchten, da falscher Datentyp )
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Aufsteigend nach Datum sortieren aber leere Felder

Beitrag von ralf.wenzel (Top Expert / 3946 / 201 / 281 ) »
black_adept hat geschrieben:warum suggerierst du, dass der Anwender nicht weiß was er tut?
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.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

8
Antw.
1810
Views
Nach Datum sortieren
von HansPeter » 23.01.2019 13:29 • Verfasst in ABAP® für Anfänger
1
Antw.
2694
Views
leere Felder im IDoc übertragen
von bapimueller » 20.07.2018 10:21 • Verfasst in Sales and Distribution
7
Antw.
6559
Views
Convert Gregorianisches Datum -> Julianisches Datum
von michael baum » 06.06.2005 09:25 • Verfasst in ABAP® Core
4
Antw.
900
Views
Daten zwischen Datum A und Datum B
von cecslucas » 13.10.2022 09:44 • Verfasst in ABAP® für Anfänger
3
Antw.
2709
Views
leere ALV-Liste als Job
von Mr. ABAP » 09.08.2006 16:19 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1742
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2295

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1742
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2295

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 291
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 881
MS-Word als Editor
letzen Monat von tekko 1 / 4394