This is a test message to test the length of the message box.
Login
ABAP Quick Extract icon from list
Created by Software-Heroes

ABAP Quick - Extract icon from list

You want to separate an icon from a printed list or a printed ALV? With us you are in the right place to get this knowledge.

For a technical evaluation of spool jobs or printing of background processing, it is sometimes necessary to separate an icon from a list because it could give further information about a processing status. However, it is not possible to extract the information because the standard function modules of SAP filter the icons from the data.

 

Extract a list

The following scenario shows sample coding that extracts an item from a list. Submit starts a report whose result or list is loaded into the list memory. Then the list is converted internally.


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

The function module LIST_TO_ASCI converts the binary result into a readable format. For example, columns with icons are left blank because they are not converted by the function module. And here is the problem if you want to access these icons when they represent a status.

In this case, the solution is actually quite simple, since only the function module needs to be copied and some minor adjustments are needed so that icons are returned reasonably correct. The adjustments are as follows:

  • Adjust of the Performs to "IN PROGRAM saplslst", so that the routines are called from the standard function module
  • Conversion of the used type t_linenumbers to "TABLE OF i"
  • Exchange of the transfer parameter of the form LIST_LINE_TO_ASCI from space to "abap_true"

 

The final step is the actual magic, and causes the icons to not be converted to space and returned in the list. When converting the list you will now get the icon code without the @ characters (for example: 3A instead of @3A@). Using the ICON table, you can then select the additional information about the icon or compare it directly.

 

Conclusion

With this small practical example, you can evaluate lists even more easily in the future and evaluate different statuses based on the icons used. Of course it is not completely clean to make a copy of a standard object, but very useful for this case.


Included topics:
QuickIconListLIST_TO_ASCI
Comments (0)

ABAP in Change

Category - ABAP

The programming language ABAP has been changing for years and is being modernized in various concepts. In this article, we'll look at it in detail.

06/24/2022

ABAP Quick - Clean Core

Category - ABAP

In this article something about Clean Core, what does it mean for the developer, what are the requirements and what do you have to pay attention to.

06/17/2022

ABAP Quick - Processing in a new task

Category - ABAP

This tip is about asynchronous processing in a new process and what to look out for.

01/07/2022

ABAP Quick - Convert JSON to internal

Category - ABAP

In this little tip, we'll go into how you can convert a JSON stream to an internal format and then use it properly.

12/10/2021

ABAP Quick - External currency to internal

Category - ABAP

A little tip to convert data from an Excel or CSV file into the correct internal currency format. A simple conversion can quickly lead to errors.

12/03/2021