ABAP Select data from SAP table V_FILA_LDB_VALS 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 V_FILA_LDB_VALS 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 V_FILA_LDB_VALS. 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 V_FILA_LDB_VALS 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_V_FILA_LDB_VALS TYPE STANDARD TABLE OF V_FILA_LDB_VALS,
      WA_V_FILA_LDB_VALS TYPE V_FILA_LDB_VALS,
      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: <V_FILA_LDB_VALS> TYPE V_FILA_LDB_VALS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM V_FILA_LDB_VALS
*  INTO TABLE @DATA(IT_V_FILA_LDB_VALS2).
*--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_V_FILA_LDB_VALS INDEX 1 INTO DATA(WA_V_FILA_LDB_VALS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_V_FILA_LDB_VALS ASSIGNING <V_FILA_LDB_VALS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<V_FILA_LDB_VALS>-MANDT = 1.
<V_FILA_LDB_VALS>-COMPONENT = 1.
<V_FILA_LDB_VALS>-BUKRS = 1.
<V_FILA_LDB_VALS>-OBJID = 1.
<V_FILA_LDB_VALS>-SUBID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_V_FILA_LDB_VALS-TMSTAMP, sy-vline,
WA_V_FILA_LDB_VALS-VALUEID, sy-vline,
WA_V_FILA_LDB_VALS-OBJECTID, sy-vline,
WA_V_FILA_LDB_VALS-ITEMNO, sy-vline,
WA_V_FILA_LDB_VALS-EVENT, sy-vline,
WA_V_FILA_LDB_VALS-STATUS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V_FILA_LDB_VALS 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_V_FILA_LDB_VALS 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_V_FILA_LDB_VALS INTO WA_V_FILA_LDB_VALS. *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 OBJECTID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_V_FILA_LDB_VALS-OBJECTID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_FILA_LDB_VALS-OBJECTID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field PRODUCT CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_V_FILA_LDB_VALS-PRODUCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_FILA_LDB_VALS-PRODUCT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit MATN1, internal->external for field FINPROD CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_V_FILA_LDB_VALS-FINPROD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_FILA_LDB_VALS-FINPROD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_V_FILA_LDB_VALS-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_FILA_LDB_VALS-GJAHR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR_ORIG CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_V_FILA_LDB_VALS-GJAHR_ORIG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_FILA_LDB_VALS-GJAHR_ORIG.
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_V_FILA_LDB_VALS_STR,
MANDT TYPE STRING,
COMPONENT TYPE STRING,
BUKRS TYPE STRING,
OBJID TYPE STRING,
SUBID TYPE STRING,
TMSTAMP TYPE STRING,
VALUEID TYPE STRING,
OBJECTID TYPE STRING,
ITEMNO TYPE STRING,
EVENT TYPE STRING,
STATUS TYPE STRING,
CONTSTARTDT TYPE STRING,
CONTENDDT TYPE STRING,
LEASTARTDT TYPE STRING,
LEASOPTEXEDT TYPE STRING,
TERM TYPE STRING,
PRODUCT TYPE STRING,
USEDPRODUCT TYPE STRING,
CUSTGROUP TYPE STRING,
SALESORG TYPE STRING,
DIS_CHANNEL TYPE STRING,
SOLDTO TYPE STRING,
FINPROD TYPE STRING,
FINCLAS TYPE STRING,
DEVICECLASS TYPE STRING,
OPTIONID TYPE STRING,
CLASSIF_LOCAL TYPE STRING,
CLASSIF_GROUP TYPE STRING,
CLASSIF_LO_FLAG TYPE STRING,
CLASSIF_GR_FLAG TYPE STRING,
CLAS_CUSTOMER TYPE STRING,
BUS_AREA TYPE STRING,
BZDAT TYPE STRING,
UBZDT TYPE STRING,
BLART TYPE STRING,
GJAHR TYPE STRING,
MONAT TYPE STRING,
ANBTR TYPE STRING,
PROZS TYPE STRING,
XANEU TYPE STRING,
XVABG TYPE STRING,
BUDAT_ORIG TYPE STRING,
BZDAT_ORIG TYPE STRING,
GJAHR_ORIG TYPE STRING,
MONAT_ORIG TYPE STRING,
VALUE TYPE STRING,
SUPPLYID TYPE STRING,END OF T_EKKO_STR. DATA: WA_V_FILA_LDB_VALS_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_V_FILA_LDB_VALS_STR-MANDT sy-vline
WA_V_FILA_LDB_VALS_STR-COMPONENT sy-vline
WA_V_FILA_LDB_VALS_STR-BUKRS sy-vline
WA_V_FILA_LDB_VALS_STR-OBJID sy-vline
WA_V_FILA_LDB_VALS_STR-SUBID sy-vline
WA_V_FILA_LDB_VALS_STR-TMSTAMP sy-vline
WA_V_FILA_LDB_VALS_STR-VALUEID sy-vline
WA_V_FILA_LDB_VALS_STR-OBJECTID sy-vline
WA_V_FILA_LDB_VALS_STR-ITEMNO sy-vline
WA_V_FILA_LDB_VALS_STR-EVENT sy-vline
WA_V_FILA_LDB_VALS_STR-STATUS sy-vline
WA_V_FILA_LDB_VALS_STR-CONTSTARTDT sy-vline
WA_V_FILA_LDB_VALS_STR-CONTENDDT sy-vline
WA_V_FILA_LDB_VALS_STR-LEASTARTDT sy-vline
WA_V_FILA_LDB_VALS_STR-LEASOPTEXEDT sy-vline
WA_V_FILA_LDB_VALS_STR-TERM sy-vline
WA_V_FILA_LDB_VALS_STR-PRODUCT sy-vline
WA_V_FILA_LDB_VALS_STR-USEDPRODUCT sy-vline
WA_V_FILA_LDB_VALS_STR-CUSTGROUP sy-vline
WA_V_FILA_LDB_VALS_STR-SALESORG sy-vline
WA_V_FILA_LDB_VALS_STR-DIS_CHANNEL sy-vline
WA_V_FILA_LDB_VALS_STR-SOLDTO sy-vline
WA_V_FILA_LDB_VALS_STR-FINPROD sy-vline
WA_V_FILA_LDB_VALS_STR-FINCLAS sy-vline
WA_V_FILA_LDB_VALS_STR-DEVICECLASS sy-vline
WA_V_FILA_LDB_VALS_STR-OPTIONID sy-vline
WA_V_FILA_LDB_VALS_STR-CLASSIF_LOCAL sy-vline
WA_V_FILA_LDB_VALS_STR-CLASSIF_GROUP sy-vline
WA_V_FILA_LDB_VALS_STR-CLASSIF_LO_FLAG sy-vline
WA_V_FILA_LDB_VALS_STR-CLASSIF_GR_FLAG sy-vline
WA_V_FILA_LDB_VALS_STR-CLAS_CUSTOMER sy-vline
WA_V_FILA_LDB_VALS_STR-BUS_AREA sy-vline
WA_V_FILA_LDB_VALS_STR-BZDAT sy-vline
WA_V_FILA_LDB_VALS_STR-UBZDT sy-vline
WA_V_FILA_LDB_VALS_STR-BLART sy-vline
WA_V_FILA_LDB_VALS_STR-GJAHR sy-vline
WA_V_FILA_LDB_VALS_STR-MONAT sy-vline
WA_V_FILA_LDB_VALS_STR-ANBTR sy-vline
WA_V_FILA_LDB_VALS_STR-PROZS sy-vline
WA_V_FILA_LDB_VALS_STR-XANEU sy-vline
WA_V_FILA_LDB_VALS_STR-XVABG sy-vline
WA_V_FILA_LDB_VALS_STR-BUDAT_ORIG sy-vline
WA_V_FILA_LDB_VALS_STR-BZDAT_ORIG sy-vline
WA_V_FILA_LDB_VALS_STR-GJAHR_ORIG sy-vline
WA_V_FILA_LDB_VALS_STR-MONAT_ORIG sy-vline
WA_V_FILA_LDB_VALS_STR-VALUE sy-vline
WA_V_FILA_LDB_VALS_STR-SUPPLYID sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.