This is a test message to test the length of the message box.
Login
|
ABAP Tipp Icon aus Druckliste
Erstellt von Software-Heroes

ABAP Tipp - Icon aus Druckliste

418

Du willst auf dem technischen Wege ein Icon aus einer Druckliste oder gedruckten ALV separieren? Bei uns bist du an der richtigen Stelle.

Werbung


Für eine technische Auswertung von Spool Aufträgen oder Ausdrucken von Hintergrundverarbeitungen, ist es manchmal nötig auch ein Icon aus einer Liste zu separieren, da es weitere Informationen zu einem Verarbeitungsstatus geben könnte. Ein Extrakt der Information ist aber ohne Weiteres nicht möglich, da die Standard Funktionsbausteine der SAP die Ikons aus den Daten filtern.

 

Extrakt einer Liste

Im folgenden Szenario wird Beispiel-Coding gezeigt, mit dem ein Extrakt einer Liste durchgeführt wird. Per Submit wird ein Report gestartet, dessen Ergebnis bzw. Liste in den Zwischenspeicher geladen wird. Dann wird die Liste intern konvertiert.


DATA:
  lt_abaplist TYPE STANDARD TABLE OF abaplist,
  lt_list     TYPE STANDARD TABLE OF text255.

CALL FUNCTION 'LIST_FREE_MEMORY'.

SUBMIT 
  ...
 EXPORTING LIST TO MEMORY AND RETURN.

CALL FUNCTION 'LIST_FROM_MEMORY'
  TABLES
    listobject = lt_abaplist
  EXCEPTIONS
    not_found  = 1
    OTHERS     = 2.
IF sy-subrc <> 0 OR lt_abaplist IS INITIAL.
ENDIF.

CALL FUNCTION 'LIST_TO_ASCI'
  TABLES
    listasci           = lt_list
    listobject         = lt_abaplist
  EXCEPTIONS
    empty_list         = 1
    list_index_invalid = 2
    OTHERS             = 3.
IF sy-subrc <> 0.
ENDIF.

 

LIST_TO_ASCI

Der Funktionsbaustein LIST_TO_ASCI konvertiert das binäre Ergebnis in ein lesbares Format, wobei zum Beispiel Spalten mit Icons leer gelassen werden, da diese nicht konvertiert werden vom Funktionsbaustein. Und hier liegt das Problem, wenn man auf diese Icons zugreifen möchte, wenn diese einen Status darstellen.

In diesem Fall ist die Lösung eigentlich recht einfach, da nur der Baustein kopiert werden muss und einige kleinere Anpassung nötig sind, damit Icons halbwegs korrekt zurückgegeben werden. Die Anpassungen sind wie folgt:

  • Ergänzung der Performs um "IN PROGRAM saplslst", damit die Routinen aus dem Standard Funktionsbaustein aufgerufen werden
  • Konvertierung des verwendeten Typs t_linenumbers auf "TABLE OF i"
  • Austausch des Übergabeparameters des Forms LIST_LINE_TO_ASCI von space auf "abap_true"

 

Der letzte Schritt ist die eigentliche Magie und bewirkt, dass die Icons nicht auf Space konvertiert werden und in der Liste mit zurückgegeben werden. Bei der Konvertierung der Liste erhält man nun den Icon Code ohne die @ Zeichen (zum Beispiel: 3A anstatt @3A@). Über die Tabelle ICON kann man dann die Zusatzinformationen zu dem Icon abrufen oder direkt dagegen vergleichen.

 

Fazit

Mit diesem kleinen praktischen Beispiel kannst du in Zukunft Listen noch einfacher auswerten und verschiedene Status auch anhand der verwendeten Icons auswerten. Natürlich ist es nicht ganz sauber eine Kopie eines Standardobjekts zu erstellen.


Enthaltene Themen:
TippIconDrucklisteLIST_TO_ASCI
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


DDIC der Zukunft (Vergleich)

Kategorie - ABAP

Wie geht es eigentlich mit dem DDIC in Zukunft weiter und können wir schon Heute die neuen Features für uns nutzen? In diesem Teil vergleichen wir die Welt von Heute mit der von Morgen und wo du alle Features findest.

03.07.2026

DDIC der Zukunft (Morgen)

Kategorie - ABAP

Wie geht es eigentlich mit dem DDIC in Zukunft weiter und können wir schon Heute die neuen Features für uns nutzen? In diesem Teil werfen wir ein Blick auf Morgen und wie uns CDS Artefakte bei der Modellierung helfen.

30.06.2026

DDIC der Zukunft (Heute)

Kategorie - ABAP

Wie geht es eigentlich mit dem DDIC in Zukunft weiter und können wir schon Heute die neuen Features für uns nutzen? In diesem Teil schauen wir auf den aktuellen Zustand des Dictionary in ABAP.

26.06.2026

ABAP in der Praxis - News App verwenden

Kategorie - ABAP

In diesem Praxisbeispiel schauen wir uns an, wie wir die neue News App im ABAP Environment mit Informationen bestücken können. Dabei analysieren wir die aktuelle ABAP Auslieferung der Anwendung und des Services, um das korrekte Format zu finden.

31.03.2026

ABAP in der Praxis - Objekt Generator

Kategorie - ABAP

In diesem Beispiel schauen wir uns an, wie wir mit der XCO Bibliothek einen wiederverwendbaren Generator erstellen, um uns für unsere Tutorials etwas Arbeit zu sparen und automatisiert DDIC Objekte zu generieren.

09.01.2026