heute muss ich mich nochmals mit einem weiteren Thema an die Community wenden. Ich bekomme von einer Web seite folgende key/value paare geliefert (siehe Bild). Um das ganze jetzt weiter verarbeiten zu können muss die Tabelle sortiert werden. Das Sortierkriterium befindet sich in eckigen Klammern Beispiel: val-value_txt[3].
Mein problem ist nun wie eine solche Tabelle sortiert werden kann. Ich habe da schon einiges an versuchen gestartet komme aber nicht wirklich zum erfolg. Vielleicht hat von euch jemand eine Idee.
Das letzte mittel wäre wohl jede Zeile zu lesen, den String abschneiden, die zahl zu prüfen und dann die Tabelle mit der richtigen Sortierung neu aufbauen.
Würde mich wie immer über Hilfe freuen.
Viele Grüße,
Thorsten
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ich würde eine interne Tabelle mit drei Spalten benutzen und dann während des LOOPs eine Zahl reinschreiben, mithilfe von der die Werte dann sortiert werden können. Dann müsste man wenigstens nicht durch mehrere LOOPs.
Aber ich bin auch nur Anfänger, vielleicht hat jemand eine bessere Idee.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Leider gibt es in ABAP noch keine Sortierung mittels Regex.
Die einfachste Lösung, wie gesagt, wäre eine neue Tabelle mit drei Spalten zu befüllen wobei der Name und die Sortierung in eigene Spalten getrennt werden.
Alternativ würde mir eine XML-Transformation einfallen. Dank des KEY-Elements in XSLT kann man auf beliebige (Teil-)Strings einen Schlüssel und somit eine Sortierung anwenden.
In ABAP würde das ganze dann irgendwie so ausschauen:
Das XSLT dahinter darfst du selbst als Hausaufgabe machen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
habe mich jetzt für die Variante von Legxis entschieden. Es war dann doch einiges an arbeit alles richtig zusammenzubauen. Aber die fertige Tabelle schaut jetzt gut aus. An der Stelle kann ich jetzt weiter Arbeiten. Nochmals danke an alle für die Tipps.