ABAP Select data from SAP table HRPAYCH_QST_OUTPUT_ELM 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 HRPAYCH_QST_OUTPUT_ELM 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 HRPAYCH_QST_OUTPUT_ELM. 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 HRPAYCH_QST_OUTPUT_ELM 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_HRPAYCH_QST_OUTPUT_ELM TYPE STANDARD TABLE OF HRPAYCH_QST_OUTPUT_ELM, WA_HRPAYCH_QST_OUTPUT_ELM TYPE HRPAYCH_QST_OUTPUT_ELM, 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: <HRPAYCH_QST_OUTPUT_ELM> TYPE HRPAYCH_QST_OUTPUT_ELM. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_HRPAYCH_QST_OUTPUT_ELM. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM HRPAYCH_QST_OUTPUT_ELM INTO TABLE IT_HRPAYCH_QST_OUTPUT_ELM. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM HRPAYCH_QST_OUTPUT_ELM * INTO TABLE @DATA(IT_HRPAYCH_QST_OUTPUT_ELM2). *--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_HRPAYCH_QST_OUTPUT_ELM INDEX 1 INTO DATA(WA_HRPAYCH_QST_OUTPUT_ELM2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_HRPAYCH_QST_OUTPUT_ELM ASSIGNING <HRPAYCH_QST_OUTPUT_ELM>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRPAYCH_QST_OUTPUT_ELM>-PERNR = 1.
<HRPAYCH_QST_OUTPUT_ELM>-ABREH = 1.
<HRPAYCH_QST_OUTPUT_ELM>-ABREH_TXT = 1.
<HRPAYCH_QST_OUTPUT_ELM>-KANTO = 1.
<HRPAYCH_QST_OUTPUT_ELM>-KANTO_TXT = 1.
ENDLOOP. LOOP AT IT_HRPAYCH_QST_OUTPUT_ELM INTO WA_HRPAYCH_QST_OUTPUT_ELM. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_HRPAYCH_QST_OUTPUT_ELM-QSTPF, sy-vline,
WA_HRPAYCH_QST_OUTPUT_ELM-QSTPF_TXT, sy-vline,
WA_HRPAYCH_QST_OUTPUT_ELM-GEMND, sy-vline,
WA_HRPAYCH_QST_OUTPUT_ELM-GEMND_TXT, sy-vline,
WA_HRPAYCH_QST_OUTPUT_ELM-SORT_KEY, sy-vline,
WA_HRPAYCH_QST_OUTPUT_ELM-AHVNR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRPAYCH_QST_OUTPUT_ELM 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_HRPAYCH_QST_OUTPUT_ELM 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_HRPAYCH_QST_OUTPUT_ELM INTO WA_HRPAYCH_QST_OUTPUT_ELM. *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 AHVNR, internal->external for field AHVNR CALL FUNCTION 'CONVERSION_EXIT_AHVNR_OUTPUT' EXPORTING input = WA_HRPAYCH_QST_OUTPUT_ELM-AHVNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HRPAYCH_QST_OUTPUT_ELM-AHVNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AHVN2, internal->external for field NAHVN CALL FUNCTION 'CONVERSION_EXIT_AHVN2_OUTPUT' EXPORTING input = WA_HRPAYCH_QST_OUTPUT_ELM-NAHVN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HRPAYCH_QST_OUTPUT_ELM-NAHVN.
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_HRPAYCH_QST_OUTPUT_ELM_STR,
PERNR TYPE STRING,
ABREH TYPE STRING,
ABREH_TXT TYPE STRING,
KANTO TYPE STRING,
KANTO_TXT TYPE STRING,
QSTPF TYPE STRING,
QSTPF_TXT TYPE STRING,
GEMND TYPE STRING,
GEMND_TXT TYPE STRING,
SORT_KEY TYPE STRING,
AHVNR TYPE STRING,
ENAME TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
PLZTX TYPE STRING,
ORT01 TYPE STRING,
STATE TYPE STRING,
MUTDAT TYPE STRING,
LOHN TYPE STRING,
ZULA TYPE STRING,
NPZU TYPE STRING,
SUMM TYPE STRING,
QSTAB TYPE STRING,
BETR TYPE STRING,
CORR TYPE STRING,
PROV TYPE STRING,
STAT TYPE STRING,
NAHVN TYPE STRING,
ID_CONT TYPE STRING,
SEC_ID_CONT TYPE STRING,
WAERS TYPE STRING,
EEADDR_LINE01 TYPE STRING,
EEADDR_LINE02 TYPE STRING,
EEADDR_LINE03 TYPE STRING,
EEADDR_LINE04 TYPE STRING,
EEADDR_LINE05 TYPE STRING,
EEADDR_LINE06 TYPE STRING,
EEADDR_LINE07 TYPE STRING,
EAD_FOA TYPE STRING,
EAD_FOAL TYPE STRING,
EAD_NAME1 TYPE STRING,
EAD_NAME2 TYPE STRING,
EAD_HSNMR TYPE STRING,
EAD_STREET TYPE STRING,
EAD_CNTRY TYPE STRING,
EAD_PSTCD TYPE STRING,
EAD_CITY TYPE STRING,
EEADR TYPE STRING,
QSPRO_MON_DEC TYPE STRING,
WORK_CANTON TYPE STRING,
BAWA TYPE STRING,
APPY TYPE STRING,
PAKI TYPE STRING,
PEPY TYPE STRING,
QSTBT_CANT TYPE STRING,
SABE TYPE STRING,
TACH TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRPAYCH_QST_OUTPUT_ELM_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_HRPAYCH_QST_OUTPUT_ELM_STR-PERNR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ABREH sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ABREH_TXT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-KANTO sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-KANTO_TXT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-QSTPF sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-QSTPF_TXT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-GEMND sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-GEMND_TXT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-SORT_KEY sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-AHVNR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ENAME sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-BEGDA sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ENDDA sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-PLZTX sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ORT01 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-STATE sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-MUTDAT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-LOHN sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ZULA sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-NPZU sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-SUMM sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-QSTAB sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-BETR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-CORR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-PROV sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-STAT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-NAHVN sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-ID_CONT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-SEC_ID_CONT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-WAERS sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE01 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE02 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE03 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE04 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE05 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE06 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADDR_LINE07 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_FOA sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_FOAL sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_NAME1 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_NAME2 sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_HSNMR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_STREET sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_CNTRY sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_PSTCD sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EAD_CITY sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-EEADR sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-QSPRO_MON_DEC sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-WORK_CANTON sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-BAWA sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-APPY sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-PAKI sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-PEPY sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-QSTBT_CANT sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-SABE sy-vline
WA_HRPAYCH_QST_OUTPUT_ELM_STR-TACH sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.