ABAP Select data from SAP table KSS04_ABW into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP KSS04_ABW table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to KSS04_ABW. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the KSS04_ABW table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_KSS04_ABW TYPE STANDARD TABLE OF KSS04_ABW,
      WA_KSS04_ABW TYPE KSS04_ABW,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <KSS04_ABW> TYPE KSS04_ABW.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_KSS04_ABW.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM KSS04_ABW
  INTO TABLE IT_KSS04_ABW.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM KSS04_ABW
*  INTO TABLE @DATA(IT_KSS04_ABW2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_KSS04_ABW INDEX 1 INTO DATA(WA_KSS04_ABW2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_KSS04_ABW ASSIGNING <KSS04_ABW>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<KSS04_ABW>-BSG = 1.
<KSS04_ABW>-GAG = 1.
<KSS04_ABW>-GAF = 1.
<KSS04_ABW>-GAV = 1.
<KSS04_ABW>-GAG_PROZ = 1.
ENDLOOP.

LOOP AT IT_KSS04_ABW INTO WA_KSS04_ABW.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_KSS04_ABW-PAG, sy-vline,
WA_KSS04_ABW-PAF, sy-vline,
WA_KSS04_ABW-PAV, sy-vline,
WA_KSS04_ABW-MAG, sy-vline,
WA_KSS04_ABW-MAF, sy-vline,
WA_KSS04_ABW-MAV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_KSS04_ABW you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_KSS04_ABW TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_KSS04_ABW INTO WA_KSS04_ABW. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.

*Conversion exit AC152, internal->external for field GAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-GAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-GAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field GAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-GAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-GAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field GAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-GAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-GAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field PAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-PAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-PAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field PAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-PAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-PAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field PAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-PAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-PAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field SAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-SAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-SAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field SAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-SAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-SAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field SAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-SAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-SAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field EAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-EAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-EAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field EAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-EAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-EAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field EAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-EAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-EAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MPG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MPG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MPG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MPF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MPF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MPF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field MPV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-MPV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-MPV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VGG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VGG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VGG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VGF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VGF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VGF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field VGV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-VGV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-VGV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field LAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-LAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-LAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field LAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-LAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-LAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field LAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-LAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-LAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field FAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-FAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-FAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field RAG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-RAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-RAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field RAF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-RAF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-RAF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field RAV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-RAV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-RAV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AUG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-AUG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-AUG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AUF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-AUF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-AUF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field AUV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-AUV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-AUV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field WIG CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-WIG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-WIG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field WIF CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-WIF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-WIF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field WIV CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_KSS04_ABW-WIV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_KSS04_ABW-WIV.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_KSS04_ABW_STR,
BSG TYPE STRING,
GAG TYPE STRING,
GAF TYPE STRING,
GAV TYPE STRING,
GAG_PROZ TYPE STRING,
PAG TYPE STRING,
PAF TYPE STRING,
PAV TYPE STRING,
MAG TYPE STRING,
MAF TYPE STRING,
MAV TYPE STRING,
SAG TYPE STRING,
SAF TYPE STRING,
SAV TYPE STRING,
EAG TYPE STRING,
EAF TYPE STRING,
EAV TYPE STRING,
VAG TYPE STRING,
VAF TYPE STRING,
VAV TYPE STRING,
MPG TYPE STRING,
MPF TYPE STRING,
MPV TYPE STRING,
VGG TYPE STRING,
VGF TYPE STRING,
VGV TYPE STRING,
LAG TYPE STRING,
LAF TYPE STRING,
LAV TYPE STRING,
FAG TYPE STRING,
RAG TYPE STRING,
RAF TYPE STRING,
RAV TYPE STRING,
AUG TYPE STRING,
AUF TYPE STRING,
AUV TYPE STRING,
MEGA TYPE STRING,
WIG TYPE STRING,
WIF TYPE STRING,
WIV TYPE STRING,
MEGW TYPE STRING,END OF T_EKKO_STR. DATA: WA_KSS04_ABW_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_KSS04_ABW_STR-BSG sy-vline
WA_KSS04_ABW_STR-GAG sy-vline
WA_KSS04_ABW_STR-GAF sy-vline
WA_KSS04_ABW_STR-GAV sy-vline
WA_KSS04_ABW_STR-GAG_PROZ sy-vline
WA_KSS04_ABW_STR-PAG sy-vline
WA_KSS04_ABW_STR-PAF sy-vline
WA_KSS04_ABW_STR-PAV sy-vline
WA_KSS04_ABW_STR-MAG sy-vline
WA_KSS04_ABW_STR-MAF sy-vline
WA_KSS04_ABW_STR-MAV sy-vline
WA_KSS04_ABW_STR-SAG sy-vline
WA_KSS04_ABW_STR-SAF sy-vline
WA_KSS04_ABW_STR-SAV sy-vline
WA_KSS04_ABW_STR-EAG sy-vline
WA_KSS04_ABW_STR-EAF sy-vline
WA_KSS04_ABW_STR-EAV sy-vline
WA_KSS04_ABW_STR-VAG sy-vline
WA_KSS04_ABW_STR-VAF sy-vline
WA_KSS04_ABW_STR-VAV sy-vline
WA_KSS04_ABW_STR-MPG sy-vline
WA_KSS04_ABW_STR-MPF sy-vline
WA_KSS04_ABW_STR-MPV sy-vline
WA_KSS04_ABW_STR-VGG sy-vline
WA_KSS04_ABW_STR-VGF sy-vline
WA_KSS04_ABW_STR-VGV sy-vline
WA_KSS04_ABW_STR-LAG sy-vline
WA_KSS04_ABW_STR-LAF sy-vline
WA_KSS04_ABW_STR-LAV sy-vline
WA_KSS04_ABW_STR-FAG sy-vline
WA_KSS04_ABW_STR-RAG sy-vline
WA_KSS04_ABW_STR-RAF sy-vline
WA_KSS04_ABW_STR-RAV sy-vline
WA_KSS04_ABW_STR-AUG sy-vline
WA_KSS04_ABW_STR-AUF sy-vline
WA_KSS04_ABW_STR-AUV sy-vline
WA_KSS04_ABW_STR-MEGA sy-vline
WA_KSS04_ABW_STR-WIG sy-vline
WA_KSS04_ABW_STR-WIF sy-vline
WA_KSS04_ABW_STR-WIV sy-vline
WA_KSS04_ABW_STR-MEGW sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.