ABAP Select data from SAP table VFLAFGVD 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 VFLAFGVD 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 VFLAFGVD. 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 VFLAFGVD 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_VFLAFGVD TYPE STANDARD TABLE OF VFLAFGVD,
      WA_VFLAFGVD TYPE VFLAFGVD,
      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: <VFLAFGVD> TYPE VFLAFGVD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM VFLAFGVD
*  INTO TABLE @DATA(IT_VFLAFGVD2).
*--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_VFLAFGVD INDEX 1 INTO DATA(WA_VFLAFGVD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_VFLAFGVD ASSIGNING <VFLAFGVD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<VFLAFGVD>-O_NAME1 = 1.
<VFLAFGVD>-O_NAME2 = 1.
<VFLAFGVD>-O_STREET = 1.
<VFLAFGVD>-O_POST_CODE1 = 1.
<VFLAFGVD>-O_CITY1 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_VFLAFGVD-LANDX, sy-vline,
WA_VFLAFGVD-DATHI, sy-vline,
WA_VFLAFGVD-DATLO, sy-vline,
WA_VFLAFGVD-L_NAME1, sy-vline,
WA_VFLAFGVD-L_STREET, sy-vline,
WA_VFLAFGVD-L_POST_CODE1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_VFLAFGVD 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_VFLAFGVD 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_VFLAFGVD INTO WA_VFLAFGVD. *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 MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_VFLAFGVD-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VFLAFGVD-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_VFLAFGVD-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VFLAFGVD-LANGU.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit ALPHA, internal->external for field KUNNR_LIST CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_VFLAFGVD-KUNNR_LIST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_VFLAFGVD-KUNNR_LIST.
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_VFLAFGVD_STR,
O_NAME1 TYPE STRING,
O_NAME2 TYPE STRING,
O_STREET TYPE STRING,
O_POST_CODE1 TYPE STRING,
O_CITY1 TYPE STRING,
LANDX TYPE STRING,
DATHI TYPE STRING,
DATLO TYPE STRING,
L_NAME1 TYPE STRING,
L_STREET TYPE STRING,
L_POST_CODE1 TYPE STRING,
L_CITY1 TYPE STRING,
L_LANDX TYPE STRING,
MATNR TYPE STRING,
MAKTX TYPE STRING,
STAWN TYPE STRING,
IDNLF TYPE STRING,
LAND1 TYPE STRING,
LANDA TYPE STRING,
INTCA TYPE STRING,
GZOLX TYPE STRING,
BEZEI30 TYPE STRING,
TXNAM_ANF TYPE STRING,
TXNAM_RHM TYPE STRING,
LANGU TYPE STRING,
DATUM TYPE STRING,
LINES1 TYPE STRING,
MANCO_FIRST TYPE STRING,
MANCO_LIST TYPE STRING,
TITLE_P TYPE STRING,
NAME_FIRST TYPE STRING,
NAME_LAST TYPE STRING,
DEPARTMENT TYPE STRING,
TEL_NUMBER TYPE STRING,
TEL_EXTENS TYPE STRING,
FAX_NUMBER TYPE STRING,
FAX_EXTENS TYPE STRING,
NAME_TEXT TYPE STRING,
PRENE TYPE STRING,
PRENG TYPE STRING,
KDMAT TYPE STRING,
KDPTX TYPE STRING,
PRENE_KTXT TYPE STRING,
ZONES TYPE STRING,
PRENG_TXT TYPE STRING,
WERKSLAND TYPE STRING,
L_TITLE TYPE STRING,
L_NAME2 TYPE STRING,
L_NAME3 TYPE STRING,
L_NAME4 TYPE STRING,
L_NAMETXT TYPE STRING,
L_CITY2 TYPE STRING,
L_REGIOGROUP TYPE STRING,
L_POST_CODE2 TYPE STRING,
L_POST_CODE3 TYPE STRING,
L_PST1XT TYPE STRING,
L_PST2XT TYPE STRING,
L_PST3XT TYPE STRING,
L_POBX TYPE STRING,
L_POBXLOC TYPE STRING,
L_POBXREG TYPE STRING,
L_POBXCTY TYPE STRING,
L_TLNMBR1 TYPE STRING,
L_TLXTNS1 TYPE STRING,
L_FXNMBR1 TYPE STRING,
L_FXXTNS1 TYPE STRING,
O_LAND1 TYPE STRING,
L_HOUSE_NUM1 TYPE STRING,
L_HOUSE_NUM2 TYPE STRING,
L_HOUSE_NUM3 TYPE STRING,
O_HOUSE_NUM1 TYPE STRING,
O_HOUSE_NUM2 TYPE STRING,
O_HOUSE_NUM3 TYPE STRING,
O_POST_CODE2 TYPE STRING,
O_POST_CODE3 TYPE STRING,
O_PST1XT TYPE STRING,
O_PST2XT TYPE STRING,
O_PST3XT TYPE STRING,
O_POBX TYPE STRING,
O_POBXLOC TYPE STRING,
O_POBXREG TYPE STRING,
O_POBXCTY TYPE STRING,
LIFNR TYPE STRING,
LIFNR_LIST TYPE STRING,
KUNNR TYPE STRING,
KUNNR_LIST TYPE STRING,
FUNCTION TYPE STRING,END OF T_EKKO_STR. DATA: WA_VFLAFGVD_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_VFLAFGVD_STR-O_NAME1 sy-vline
WA_VFLAFGVD_STR-O_NAME2 sy-vline
WA_VFLAFGVD_STR-O_STREET sy-vline
WA_VFLAFGVD_STR-O_POST_CODE1 sy-vline
WA_VFLAFGVD_STR-O_CITY1 sy-vline
WA_VFLAFGVD_STR-LANDX sy-vline
WA_VFLAFGVD_STR-DATHI sy-vline
WA_VFLAFGVD_STR-DATLO sy-vline
WA_VFLAFGVD_STR-L_NAME1 sy-vline
WA_VFLAFGVD_STR-L_STREET sy-vline
WA_VFLAFGVD_STR-L_POST_CODE1 sy-vline
WA_VFLAFGVD_STR-L_CITY1 sy-vline
WA_VFLAFGVD_STR-L_LANDX sy-vline
WA_VFLAFGVD_STR-MATNR sy-vline
WA_VFLAFGVD_STR-MAKTX sy-vline
WA_VFLAFGVD_STR-STAWN sy-vline
WA_VFLAFGVD_STR-IDNLF sy-vline
WA_VFLAFGVD_STR-LAND1 sy-vline
WA_VFLAFGVD_STR-LANDA sy-vline
WA_VFLAFGVD_STR-INTCA sy-vline
WA_VFLAFGVD_STR-GZOLX sy-vline
WA_VFLAFGVD_STR-BEZEI30 sy-vline
WA_VFLAFGVD_STR-TXNAM_ANF sy-vline
WA_VFLAFGVD_STR-TXNAM_RHM sy-vline
WA_VFLAFGVD_STR-LANGU sy-vline
WA_VFLAFGVD_STR-DATUM sy-vline
WA_VFLAFGVD_STR-LINES1 sy-vline
WA_VFLAFGVD_STR-MANCO_FIRST sy-vline
WA_VFLAFGVD_STR-MANCO_LIST sy-vline
WA_VFLAFGVD_STR-TITLE_P sy-vline
WA_VFLAFGVD_STR-NAME_FIRST sy-vline
WA_VFLAFGVD_STR-NAME_LAST sy-vline
WA_VFLAFGVD_STR-DEPARTMENT sy-vline
WA_VFLAFGVD_STR-TEL_NUMBER sy-vline
WA_VFLAFGVD_STR-TEL_EXTENS sy-vline
WA_VFLAFGVD_STR-FAX_NUMBER sy-vline
WA_VFLAFGVD_STR-FAX_EXTENS sy-vline
WA_VFLAFGVD_STR-NAME_TEXT sy-vline
WA_VFLAFGVD_STR-PRENE sy-vline
WA_VFLAFGVD_STR-PRENG sy-vline
WA_VFLAFGVD_STR-KDMAT sy-vline
WA_VFLAFGVD_STR-KDPTX sy-vline
WA_VFLAFGVD_STR-PRENE_KTXT sy-vline
WA_VFLAFGVD_STR-ZONES sy-vline
WA_VFLAFGVD_STR-PRENG_TXT sy-vline
WA_VFLAFGVD_STR-WERKSLAND sy-vline
WA_VFLAFGVD_STR-L_TITLE sy-vline
WA_VFLAFGVD_STR-L_NAME2 sy-vline
WA_VFLAFGVD_STR-L_NAME3 sy-vline
WA_VFLAFGVD_STR-L_NAME4 sy-vline
WA_VFLAFGVD_STR-L_NAMETXT sy-vline
WA_VFLAFGVD_STR-L_CITY2 sy-vline
WA_VFLAFGVD_STR-L_REGIOGROUP sy-vline
WA_VFLAFGVD_STR-L_POST_CODE2 sy-vline
WA_VFLAFGVD_STR-L_POST_CODE3 sy-vline
WA_VFLAFGVD_STR-L_PST1XT sy-vline
WA_VFLAFGVD_STR-L_PST2XT sy-vline
WA_VFLAFGVD_STR-L_PST3XT sy-vline
WA_VFLAFGVD_STR-L_POBX sy-vline
WA_VFLAFGVD_STR-L_POBXLOC sy-vline
WA_VFLAFGVD_STR-L_POBXREG sy-vline
WA_VFLAFGVD_STR-L_POBXCTY sy-vline
WA_VFLAFGVD_STR-L_TLNMBR1 sy-vline
WA_VFLAFGVD_STR-L_TLXTNS1 sy-vline
WA_VFLAFGVD_STR-L_FXNMBR1 sy-vline
WA_VFLAFGVD_STR-L_FXXTNS1 sy-vline
WA_VFLAFGVD_STR-O_LAND1 sy-vline
WA_VFLAFGVD_STR-L_HOUSE_NUM1 sy-vline
WA_VFLAFGVD_STR-L_HOUSE_NUM2 sy-vline
WA_VFLAFGVD_STR-L_HOUSE_NUM3 sy-vline
WA_VFLAFGVD_STR-O_HOUSE_NUM1 sy-vline
WA_VFLAFGVD_STR-O_HOUSE_NUM2 sy-vline
WA_VFLAFGVD_STR-O_HOUSE_NUM3 sy-vline
WA_VFLAFGVD_STR-O_POST_CODE2 sy-vline
WA_VFLAFGVD_STR-O_POST_CODE3 sy-vline
WA_VFLAFGVD_STR-O_PST1XT sy-vline
WA_VFLAFGVD_STR-O_PST2XT sy-vline
WA_VFLAFGVD_STR-O_PST3XT sy-vline
WA_VFLAFGVD_STR-O_POBX sy-vline
WA_VFLAFGVD_STR-O_POBXLOC sy-vline
WA_VFLAFGVD_STR-O_POBXREG sy-vline
WA_VFLAFGVD_STR-O_POBXCTY sy-vline
WA_VFLAFGVD_STR-LIFNR sy-vline
WA_VFLAFGVD_STR-LIFNR_LIST sy-vline
WA_VFLAFGVD_STR-KUNNR sy-vline
WA_VFLAFGVD_STR-KUNNR_LIST sy-vline
WA_VFLAFGVD_STR-FUNCTION sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.