ABAP Select data from SAP table V55EFET5 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 V55EFET5 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 V55EFET5. 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 V55EFET5 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_V55EFET5 TYPE STANDARD TABLE OF V55EFET5,
      WA_V55EFET5 TYPE V55EFET5,
      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: <V55EFET5> TYPE V55EFET5.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM V55EFET5
*  INTO TABLE @DATA(IT_V55EFET52).
*--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_V55EFET5 INDEX 1 INTO DATA(WA_V55EFET52).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_V55EFET5 ASSIGNING <V55EFET5>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<V55EFET5>-F002_BWINR = 1.
<V55EFET5>-F002_CADNR = 1.
<V55EFET5>-F002_ANRED = 1.
<V55EFET5>-F002_NAME1 = 1.
<V55EFET5>-F002_NAME2 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_V55EFET5-F002_NAME3, sy-vline,
WA_V55EFET5-F002_NAME4, sy-vline,
WA_V55EFET5-F002_STRAS, sy-vline,
WA_V55EFET5-F002_PFACH, sy-vline,
WA_V55EFET5-F002_PFORT, sy-vline,
WA_V55EFET5-F002_PSTL2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V55EFET5 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_V55EFET5 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_V55EFET5 INTO WA_V55EFET5. *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 ALPHA, internal->external for field F002_CADNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_V55EFET5-F002_CADNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F002_CADNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field F008_ADRNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_V55EFET5-F008_ADRNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F008_ADRNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field F038_GEWEI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_V55EFET5-F038_GEWEI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F038_GEWEI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field F041_BEMEH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_V55EFET5-F041_BEMEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F041_BEMEH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field F031_EXIDV CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_V55EFET5-F031_EXIDV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F031_EXIDV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field F014_CADNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_V55EFET5-F014_CADNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V55EFET5-F014_CADNR.
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_V55EFET5_STR,
F002_BWINR TYPE STRING,
F002_CADNR TYPE STRING,
F002_ANRED TYPE STRING,
F002_NAME1 TYPE STRING,
F002_NAME2 TYPE STRING,
F002_NAME3 TYPE STRING,
F002_NAME4 TYPE STRING,
F002_STRAS TYPE STRING,
F002_PFACH TYPE STRING,
F002_PFORT TYPE STRING,
F002_PSTL2 TYPE STRING,
F002_LAND1 TYPE STRING,
F002_PSTLZ TYPE STRING,
F002_ORT01 TYPE STRING,
F002_ORT02 TYPE STRING,
F002_REGIO TYPE STRING,
F002_SLAND TYPE STRING,
F002_LZONE TYPE STRING,
F008_ADRNR TYPE STRING,
F008_ANRED TYPE STRING,
F008_NAME1 TYPE STRING,
F008_NAME2 TYPE STRING,
F008_NAME3 TYPE STRING,
F008_NAME4 TYPE STRING,
F008_STRAS TYPE STRING,
F008_PFACH TYPE STRING,
F008_PFORT TYPE STRING,
F008_PSTL2 TYPE STRING,
F008_LAND1 TYPE STRING,
F008_PSTLZ TYPE STRING,
F008_ORT01 TYPE STRING,
F008_ORT02 TYPE STRING,
F008_REGIO TYPE STRING,
F008_LZONE TYPE STRING,
F003_VDRU1 TYPE STRING,
F003_VDRU2 TYPE STRING,
F004_LADLI TYPE STRING,
F005_POSAN TYPE STRING,
F006_ANZGL TYPE STRING,
F007_BEZNR TYPE STRING,
F015_LANDX TYPE STRING,
F017_LANDI TYPE STRING,
F032_POSNR TYPE STRING,
F033_STAWN TYPE STRING,
F033_MOWNR TYPE STRING,
F035_BRGEW TYPE STRING,
F038_NTGEW TYPE STRING,
F038_GEWEI TYPE STRING,
F040_VORNU TYPE STRING,
F041_BEMEH TYPE STRING,
F100_STGBE TYPE STRING,
F100_KZGBE TYPE STRING,
F103_GEWNT TYPE STRING,
F104_AUSGA TYPE STRING,
F104_LIORG TYPE STRING,
F104_BEVOR TYPE STRING,
F104_LIEAN TYPE STRING,
F104_OTHER TYPE STRING,
F104_TEXT1 TYPE STRING,
F104_TEXT2 TYPE STRING,
F110_ORT01 TYPE STRING,
F110_DATUM TYPE STRING,
F031_TEXT1 TYPE STRING,
F031_TEXT2 TYPE STRING,
F031_TEXT3 TYPE STRING,
F031_TEXT4 TYPE STRING,
F031_TEXT5 TYPE STRING,
F031_TEXT6 TYPE STRING,
F031_TEXT7 TYPE STRING,
F031_ANZAHL TYPE STRING,
F031_PCKAR TYPE STRING,
F031_PCKNR TYPE STRING,
F031_EXIDV TYPE STRING,
F105_TEXT1 TYPE STRING,
F106_TEXT1 TYPE STRING,
F106_TEXT2 TYPE STRING,
F106_TEXT3 TYPE STRING,
F107_TEXT1 TYPE STRING,
F108_TEXT1 TYPE STRING,
F109_EXDT2 TYPE STRING,
F014_BWINR TYPE STRING,
F014_CADNR TYPE STRING,
F014_NAME1 TYPE STRING,
F014_NAME2 TYPE STRING,
F014_NAME3 TYPE STRING,
F014_NAME4 TYPE STRING,
F014_STRAS TYPE STRING,
F014_PFACH TYPE STRING,
F014_PFORT TYPE STRING,
F014_PSTL2 TYPE STRING,
F014_LAND1 TYPE STRING,
F014_PSTLZ TYPE STRING,
F014_ORT01 TYPE STRING,
F014_ORT02 TYPE STRING,
F014_REGIO TYPE STRING,
F014_LZONE TYPE STRING,END OF T_EKKO_STR. DATA: WA_V55EFET5_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_V55EFET5_STR-F002_BWINR sy-vline
WA_V55EFET5_STR-F002_CADNR sy-vline
WA_V55EFET5_STR-F002_ANRED sy-vline
WA_V55EFET5_STR-F002_NAME1 sy-vline
WA_V55EFET5_STR-F002_NAME2 sy-vline
WA_V55EFET5_STR-F002_NAME3 sy-vline
WA_V55EFET5_STR-F002_NAME4 sy-vline
WA_V55EFET5_STR-F002_STRAS sy-vline
WA_V55EFET5_STR-F002_PFACH sy-vline
WA_V55EFET5_STR-F002_PFORT sy-vline
WA_V55EFET5_STR-F002_PSTL2 sy-vline
WA_V55EFET5_STR-F002_LAND1 sy-vline
WA_V55EFET5_STR-F002_PSTLZ sy-vline
WA_V55EFET5_STR-F002_ORT01 sy-vline
WA_V55EFET5_STR-F002_ORT02 sy-vline
WA_V55EFET5_STR-F002_REGIO sy-vline
WA_V55EFET5_STR-F002_SLAND sy-vline
WA_V55EFET5_STR-F002_LZONE sy-vline
WA_V55EFET5_STR-F008_ADRNR sy-vline
WA_V55EFET5_STR-F008_ANRED sy-vline
WA_V55EFET5_STR-F008_NAME1 sy-vline
WA_V55EFET5_STR-F008_NAME2 sy-vline
WA_V55EFET5_STR-F008_NAME3 sy-vline
WA_V55EFET5_STR-F008_NAME4 sy-vline
WA_V55EFET5_STR-F008_STRAS sy-vline
WA_V55EFET5_STR-F008_PFACH sy-vline
WA_V55EFET5_STR-F008_PFORT sy-vline
WA_V55EFET5_STR-F008_PSTL2 sy-vline
WA_V55EFET5_STR-F008_LAND1 sy-vline
WA_V55EFET5_STR-F008_PSTLZ sy-vline
WA_V55EFET5_STR-F008_ORT01 sy-vline
WA_V55EFET5_STR-F008_ORT02 sy-vline
WA_V55EFET5_STR-F008_REGIO sy-vline
WA_V55EFET5_STR-F008_LZONE sy-vline
WA_V55EFET5_STR-F003_VDRU1 sy-vline
WA_V55EFET5_STR-F003_VDRU2 sy-vline
WA_V55EFET5_STR-F004_LADLI sy-vline
WA_V55EFET5_STR-F005_POSAN sy-vline
WA_V55EFET5_STR-F006_ANZGL sy-vline
WA_V55EFET5_STR-F007_BEZNR sy-vline
WA_V55EFET5_STR-F015_LANDX sy-vline
WA_V55EFET5_STR-F017_LANDI sy-vline
WA_V55EFET5_STR-F032_POSNR sy-vline
WA_V55EFET5_STR-F033_STAWN sy-vline
WA_V55EFET5_STR-F033_MOWNR sy-vline
WA_V55EFET5_STR-F035_BRGEW sy-vline
WA_V55EFET5_STR-F038_NTGEW sy-vline
WA_V55EFET5_STR-F038_GEWEI sy-vline
WA_V55EFET5_STR-F040_VORNU sy-vline
WA_V55EFET5_STR-F041_BEMEH sy-vline
WA_V55EFET5_STR-F100_STGBE sy-vline
WA_V55EFET5_STR-F100_KZGBE sy-vline
WA_V55EFET5_STR-F103_GEWNT sy-vline
WA_V55EFET5_STR-F104_AUSGA sy-vline
WA_V55EFET5_STR-F104_LIORG sy-vline
WA_V55EFET5_STR-F104_BEVOR sy-vline
WA_V55EFET5_STR-F104_LIEAN sy-vline
WA_V55EFET5_STR-F104_OTHER sy-vline
WA_V55EFET5_STR-F104_TEXT1 sy-vline
WA_V55EFET5_STR-F104_TEXT2 sy-vline
WA_V55EFET5_STR-F110_ORT01 sy-vline
WA_V55EFET5_STR-F110_DATUM sy-vline
WA_V55EFET5_STR-F031_TEXT1 sy-vline
WA_V55EFET5_STR-F031_TEXT2 sy-vline
WA_V55EFET5_STR-F031_TEXT3 sy-vline
WA_V55EFET5_STR-F031_TEXT4 sy-vline
WA_V55EFET5_STR-F031_TEXT5 sy-vline
WA_V55EFET5_STR-F031_TEXT6 sy-vline
WA_V55EFET5_STR-F031_TEXT7 sy-vline
WA_V55EFET5_STR-F031_ANZAHL sy-vline
WA_V55EFET5_STR-F031_PCKAR sy-vline
WA_V55EFET5_STR-F031_PCKNR sy-vline
WA_V55EFET5_STR-F031_EXIDV sy-vline
WA_V55EFET5_STR-F105_TEXT1 sy-vline
WA_V55EFET5_STR-F106_TEXT1 sy-vline
WA_V55EFET5_STR-F106_TEXT2 sy-vline
WA_V55EFET5_STR-F106_TEXT3 sy-vline
WA_V55EFET5_STR-F107_TEXT1 sy-vline
WA_V55EFET5_STR-F108_TEXT1 sy-vline
WA_V55EFET5_STR-F109_EXDT2 sy-vline
WA_V55EFET5_STR-F014_BWINR sy-vline
WA_V55EFET5_STR-F014_CADNR sy-vline
WA_V55EFET5_STR-F014_NAME1 sy-vline
WA_V55EFET5_STR-F014_NAME2 sy-vline
WA_V55EFET5_STR-F014_NAME3 sy-vline
WA_V55EFET5_STR-F014_NAME4 sy-vline
WA_V55EFET5_STR-F014_STRAS sy-vline
WA_V55EFET5_STR-F014_PFACH sy-vline
WA_V55EFET5_STR-F014_PFORT sy-vline
WA_V55EFET5_STR-F014_PSTL2 sy-vline
WA_V55EFET5_STR-F014_LAND1 sy-vline
WA_V55EFET5_STR-F014_PSTLZ sy-vline
WA_V55EFET5_STR-F014_ORT01 sy-vline
WA_V55EFET5_STR-F014_ORT02 sy-vline
WA_V55EFET5_STR-F014_REGIO sy-vline
WA_V55EFET5_STR-F014_LZONE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.