ABAP Select data from SAP table HFILKELO_Y17E_OUTPUT 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 HFILKELO_Y17E_OUTPUT 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 HFILKELO_Y17E_OUTPUT. 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 HFILKELO_Y17E_OUTPUT 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_HFILKELO_Y17E_OUTPUT TYPE STANDARD TABLE OF HFILKELO_Y17E_OUTPUT, WA_HFILKELO_Y17E_OUTPUT TYPE HFILKELO_Y17E_OUTPUT, 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: <HFILKELO_Y17E_OUTPUT> TYPE HFILKELO_Y17E_OUTPUT. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_HFILKELO_Y17E_OUTPUT. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM HFILKELO_Y17E_OUTPUT INTO TABLE IT_HFILKELO_Y17E_OUTPUT. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM HFILKELO_Y17E_OUTPUT * INTO TABLE @DATA(IT_HFILKELO_Y17E_OUTPUT2). *--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_HFILKELO_Y17E_OUTPUT INDEX 1 INTO DATA(WA_HFILKELO_Y17E_OUTPUT2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_HFILKELO_Y17E_OUTPUT ASSIGNING <HFILKELO_Y17E_OUTPUT>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<HFILKELO_Y17E_OUTPUT>-ENAME = 1.
<HFILKELO_Y17E_OUTPUT>-PERID = 1.
<HFILKELO_Y17E_OUTPUT>-EEADDR = 1.
<HFILKELO_Y17E_OUTPUT>-ABS_BEGDA = 1.
<HFILKELO_Y17E_OUTPUT>-ABS_ENDDA = 1.
ENDLOOP. LOOP AT IT_HFILKELO_Y17E_OUTPUT INTO WA_HFILKELO_Y17E_OUTPUT. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_HFILKELO_Y17E_OUTPUT-TER_NO, sy-vline,
WA_HFILKELO_Y17E_OUTPUT-TER_YES, sy-vline,
WA_HFILKELO_Y17E_OUTPUT-TER_DATE, sy-vline,
WA_HFILKELO_Y17E_OUTPUT-EARN_BEGDA, sy-vline,
WA_HFILKELO_Y17E_OUTPUT-EARN_ENDDA, sy-vline,
WA_HFILKELO_Y17E_OUTPUT-ABS_EARN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HFILKELO_Y17E_OUTPUT 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_HFILKELO_Y17E_OUTPUT 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_HFILKELO_Y17E_OUTPUT INTO WA_HFILKELO_Y17E_OUTPUT. *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_HFILKELO_Y17E_OUTPUT_STR,
ENAME TYPE STRING,
PERID TYPE STRING,
EEADDR TYPE STRING,
ABS_BEGDA TYPE STRING,
ABS_ENDDA TYPE STRING,
TER_NO TYPE STRING,
TER_YES TYPE STRING,
TER_DATE TYPE STRING,
EARN_BEGDA TYPE STRING,
EARN_ENDDA TYPE STRING,
ABS_EARN TYPE STRING,
SUM_BEGDA TYPE STRING,
SUM_ENDDA TYPE STRING,
ACTUAL TYPE STRING,
ESTMT TYPE STRING,
SUM_EARN TYPE STRING,
SUM_BONUS TYPE STRING,
SUM_VAC TYPE STRING,
SUM_SEN TYPE STRING,
SUM_YR_BONUS TYPE STRING,
SUM_OTHER TYPE STRING,
SUM_TRADE TYPE STRING,
ERNAME TYPE STRING,
TXRNO TYPE STRING,
ERADDR TYPE STRING,
BNK_ACC TYPE STRING,
REF_NO TYPE STRING,
CONT_PER TYPE STRING,
PHONE_NO TYPE STRING,
WAERS TYPE STRING,
SUM_HOLDY TYPE STRING,
SUM_INS TYPE STRING,
ADDINFO1 TYPE STRING,
ADDINFO2 TYPE STRING,
ADDINFO3 TYPE STRING,
ADDINFO4 TYPE STRING,
ADDINFO5 TYPE STRING,
ADDINFO6 TYPE STRING,
ADDINFO7 TYPE STRING,
ADDINFO8 TYPE STRING,
ADDINFO9 TYPE STRING,
ADDINFO10 TYPE STRING,
ATH_NAME TYPE STRING,
ATH_BID TYPE STRING,
ATH_ADDR TYPE STRING,
ATH_PER TYPE STRING,
ERIBAN TYPE STRING,
ERBIC TYPE STRING,
HIREDAT TYPE STRING,END OF T_EKKO_STR. DATA: WA_HFILKELO_Y17E_OUTPUT_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_HFILKELO_Y17E_OUTPUT_STR-ENAME sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-PERID sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-EEADDR sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ABS_BEGDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ABS_ENDDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-TER_NO sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-TER_YES sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-TER_DATE sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-EARN_BEGDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-EARN_ENDDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ABS_EARN sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_BEGDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_ENDDA sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ACTUAL sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ESTMT sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_EARN sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_BONUS sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_VAC sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_SEN sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_YR_BONUS sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_OTHER sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_TRADE sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ERNAME sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-TXRNO sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ERADDR sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-BNK_ACC sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-REF_NO sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-CONT_PER sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-PHONE_NO sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-WAERS sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_HOLDY sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-SUM_INS sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO1 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO2 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO3 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO4 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO5 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO6 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO7 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO8 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO9 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ADDINFO10 sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ATH_NAME sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ATH_BID sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ATH_ADDR sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ATH_PER sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ERIBAN sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-ERBIC sy-vline
WA_HFILKELO_Y17E_OUTPUT_STR-HIREDAT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.