ABAP Select data from SAP table ALPF_TESTDATADEF_IMPORT 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 ALPF_TESTDATADEF_IMPORT 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 ALPF_TESTDATADEF_IMPORT. 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 ALPF_TESTDATADEF_IMPORT 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_ALPF_TESTDATADEF_IMPORT TYPE STANDARD TABLE OF ALPF_TESTDATADEF_IMPORT,
      WA_ALPF_TESTDATADEF_IMPORT TYPE ALPF_TESTDATADEF_IMPORT,
      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: <ALPF_TESTDATADEF_IMPORT> TYPE ALPF_TESTDATADEF_IMPORT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ALPF_TESTDATADEF_IMPORT
*  INTO TABLE @DATA(IT_ALPF_TESTDATADEF_IMPORT2).
*--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_ALPF_TESTDATADEF_IMPORT INDEX 1 INTO DATA(WA_ALPF_TESTDATADEF_IMPORT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ALPF_TESTDATADEF_IMPORT ASSIGNING <ALPF_TESTDATADEF_IMPORT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ALPF_TESTDATADEF_IMPORT>-DATACREATEFROM = 1.
<ALPF_TESTDATADEF_IMPORT>-DATACREATETO = 1.
<ALPF_TESTDATADEF_IMPORT>-RELDATEFROM = 1.
<ALPF_TESTDATADEF_IMPORT>-RELDATETO = 1.
<ALPF_TESTDATADEF_IMPORT>-CNT_VON = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ALPF_TESTDATADEF_IMPORT-CNT_BIS, sy-vline,
WA_ALPF_TESTDATADEF_IMPORT-SUM_VON, sy-vline,
WA_ALPF_TESTDATADEF_IMPORT-SUM_BIS, sy-vline,
WA_ALPF_TESTDATADEF_IMPORT-CHECKED, sy-vline,
WA_ALPF_TESTDATADEF_IMPORT-MTSYSID, sy-vline,
WA_ALPF_TESTDATADEF_IMPORT-MTMCNAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ALPF_TESTDATADEF_IMPORT 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_ALPF_TESTDATADEF_IMPORT 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_ALPF_TESTDATADEF_IMPORT INTO WA_ALPF_TESTDATADEF_IMPORT. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_ALPF_TESTDATADEF_IMPORT_STR,
DATACREATEFROM TYPE STRING,
DATACREATETO TYPE STRING,
RELDATEFROM TYPE STRING,
RELDATETO TYPE STRING,
CNT_VON TYPE STRING,
CNT_BIS TYPE STRING,
SUM_VON TYPE STRING,
SUM_BIS TYPE STRING,
CHECKED TYPE STRING,
MTSYSID TYPE STRING,
MTMCNAME TYPE STRING,
MTNUMRANGE TYPE STRING,
MTUID TYPE STRING,
MTCLASS TYPE STRING,
OBJNAME TYPE STRING,
ATTRNAME TYPE STRING,
MTETYPE TYPE STRING,
MTESUBTYPE TYPE STRING,
MTECLASS TYPE STRING,
PARENTCL TYPE STRING,
P_MTSYSID TYPE STRING,
P_MTMCNAME TYPE STRING,
P_MTNUMRG TYPE STRING,
P_MTUID TYPE STRING,
P_MTCLASS TYPE STRING,
P_MTINDEX TYPE STRING,
P_EXTINDEX TYPE STRING,
OBREFID TYPE STRING,
MTE_PATH TYPE STRING,
OBS_SYSID TYPE STRING,
ACOMP TYPE STRING,
VALUNIT TYPE STRING,
DECIMALS TYPE STRING,
POLICYID TYPE STRING,
MIN_DAY_K TYPE STRING,
MIN_DAY_D TYPE STRING,
MIN_WEEK_K TYPE STRING,
MIN_WEEK_D TYPE STRING,
MIN_XDAY_K TYPE STRING,
MIN_XDAY_D TYPE STRING,
MIN_MONTH_K TYPE STRING,
MIN_MONTH_D TYPE STRING,
MIN_QUART_K TYPE STRING,
MIN_QUART_D TYPE STRING,
MIN_YEAR_K TYPE STRING,
MIN_YEAR_D TYPE STRING,
QTR_DAY_K TYPE STRING,
QTR_DAY_D TYPE STRING,
QTR_WEEK_K TYPE STRING,
QTR_WEEK_D TYPE STRING,
QTR_XDAY_K TYPE STRING,
QTR_XDAY_D TYPE STRING,
QTR_MONTH_K TYPE STRING,
QTR_MONTH_D TYPE STRING,
QTR_QUART_K TYPE STRING,
QTR_QUART_D TYPE STRING,
QTR_YEAR_K TYPE STRING,
QTR_YEAR_D TYPE STRING,
HR_DAY_K TYPE STRING,
HR_DAY_D TYPE STRING,
HR_WEEK_K TYPE STRING,
HR_WEEK_D TYPE STRING,
HR_XDAY_K TYPE STRING,
HR_XDAY_D TYPE STRING,
HR_MONTH_K TYPE STRING,
HR_MONTH_D TYPE STRING,
HR_QUART_K TYPE STRING,
HR_QUART_D TYPE STRING,
HR_YEAR_K TYPE STRING,
HR_YEAR_D TYPE STRING,
DAY_DAY_K TYPE STRING,
DAY_DAY_D TYPE STRING,
DAY_WEEK_K TYPE STRING,
DAY_WEEK_D TYPE STRING,
DAY_XDAY_K TYPE STRING,
DAY_XDAY_D TYPE STRING,
DAY_MONTH_K TYPE STRING,
DAY_MONTH_D TYPE STRING,
DAY_QUART_K TYPE STRING,
DAY_QUART_D TYPE STRING,
DAY_YEAR_K TYPE STRING,
DAY_YEAR_D TYPE STRING,
X_VALUE TYPE STRING,
COLLPERIOD TYPE STRING,
AVGMETHOD TYPE STRING,
WEIGHTSCHEM TYPE STRING,
SFTNAME TYPE STRING,
COLL_METHOD TYPE STRING,
COLL_TIMEZONE TYPE STRING,
REORG_TIMEZONE TYPE STRING,END OF T_EKKO_STR. DATA: WA_ALPF_TESTDATADEF_IMPORT_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_ALPF_TESTDATADEF_IMPORT_STR-DATACREATEFROM sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DATACREATETO sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-RELDATEFROM sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-RELDATETO sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-CNT_VON sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-CNT_BIS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-SUM_VON sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-SUM_BIS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-CHECKED sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTSYSID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTMCNAME sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTNUMRANGE sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTUID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTCLASS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-OBJNAME sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-ATTRNAME sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTETYPE sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTESUBTYPE sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTECLASS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-PARENTCL sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTSYSID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTMCNAME sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTNUMRG sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTUID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTCLASS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_MTINDEX sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-P_EXTINDEX sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-OBREFID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MTE_PATH sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-OBS_SYSID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-ACOMP sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-VALUNIT sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DECIMALS sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-POLICYID sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_DAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_DAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_WEEK_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_WEEK_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_XDAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_XDAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_MONTH_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_MONTH_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_QUART_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_QUART_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_YEAR_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-MIN_YEAR_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_DAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_DAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_WEEK_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_WEEK_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_XDAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_XDAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_MONTH_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_MONTH_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_QUART_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_QUART_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_YEAR_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-QTR_YEAR_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_DAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_DAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_WEEK_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_WEEK_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_XDAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_XDAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_MONTH_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_MONTH_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_QUART_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_QUART_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_YEAR_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-HR_YEAR_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_DAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_DAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_WEEK_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_WEEK_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_XDAY_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_XDAY_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_MONTH_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_MONTH_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_QUART_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_QUART_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_YEAR_K sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-DAY_YEAR_D sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-X_VALUE sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-COLLPERIOD sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-AVGMETHOD sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-WEIGHTSCHEM sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-SFTNAME sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-COLL_METHOD sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-COLL_TIMEZONE sy-vline
WA_ALPF_TESTDATADEF_IMPORT_STR-REORG_TIMEZONE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.