ABAP Select data from SAP table HRPAYDE_EHAK 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 HRPAYDE_EHAK 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 HRPAYDE_EHAK. 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 HRPAYDE_EHAK 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_HRPAYDE_EHAK TYPE STANDARD TABLE OF HRPAYDE_EHAK, WA_HRPAYDE_EHAK TYPE HRPAYDE_EHAK, 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: <HRPAYDE_EHAK> TYPE HRPAYDE_EHAK. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_HRPAYDE_EHAK. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM HRPAYDE_EHAK INTO TABLE IT_HRPAYDE_EHAK. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM HRPAYDE_EHAK * INTO TABLE @DATA(IT_HRPAYDE_EHAK2). *--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_HRPAYDE_EHAK INDEX 1 INTO DATA(WA_HRPAYDE_EHAK2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_HRPAYDE_EHAK ASSIGNING <HRPAYDE_EHAK>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRPAYDE_EHAK>-PERNR = 1.
<HRPAYDE_EHAK>-FPPER = 1.
<HRPAYDE_EHAK>-WERKS = 1.
<HRPAYDE_EHAK>-BTRTL = 1.
<HRPAYDE_EHAK>-WERKS_TEXT = 1.
ENDLOOP. LOOP AT IT_HRPAYDE_EHAK INTO WA_HRPAYDE_EHAK. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_HRPAYDE_EHAK-BTRTL_TEXT, sy-vline,
WA_HRPAYDE_EHAK-BUKRS, sy-vline,
WA_HRPAYDE_EHAK-PERSG, sy-vline,
WA_HRPAYDE_EHAK-PERSK, sy-vline,
WA_HRPAYDE_EHAK-ANSTA, sy-vline,
WA_HRPAYDE_EHAK-ANSTA_TEXT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRPAYDE_EHAK 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_HRPAYDE_EHAK 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_HRPAYDE_EHAK INTO WA_HRPAYDE_EHAK. *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_HRPAYDE_EHAK_STR,
PERNR TYPE STRING,
FPPER TYPE STRING,
WERKS TYPE STRING,
BTRTL TYPE STRING,
WERKS_TEXT TYPE STRING,
BTRTL_TEXT TYPE STRING,
BUKRS TYPE STRING,
PERSG TYPE STRING,
PERSK TYPE STRING,
ANSTA TYPE STRING,
ANSTA_TEXT TYPE STRING,
TYPE TYPE STRING,
TYPE_TEXT TYPE STRING,
TYPE_ANZ TYPE STRING,
WOKNZ TYPE STRING,
BETRG00 TYPE STRING,
BETRG01 TYPE STRING,
BETRG02 TYPE STRING,
BETRG03 TYPE STRING,
ANZHL04 TYPE STRING,
ANZHL05 TYPE STRING,
BETRG06 TYPE STRING,
ANZHL07 TYPE STRING,
ANZHL08 TYPE STRING,
ANZHL09 TYPE STRING,
ANZHL10 TYPE STRING,
ANZHL11 TYPE STRING,
ANZHL12 TYPE STRING,
ANZHL13 TYPE STRING,
ANZHL14 TYPE STRING,
ANZHL15 TYPE STRING,
ANZHL16 TYPE STRING,
BETRG17 TYPE STRING,
ANZHL18 TYPE STRING,
BETRG19 TYPE STRING,
BETRG20 TYPE STRING,
BETRG21 TYPE STRING,
BETRG22 TYPE STRING,
BETRG23 TYPE STRING,
BETRG24 TYPE STRING,
BETRG25 TYPE STRING,
BETRG26 TYPE STRING,
BETRG27 TYPE STRING,
BETRG28 TYPE STRING,
BETRG29 TYPE STRING,
BETRG30 TYPE STRING,
BETRG31 TYPE STRING,
BETRG32 TYPE STRING,
BETRG33 TYPE STRING,
BETRG34 TYPE STRING,
BETRG35 TYPE STRING,
BETRG36 TYPE STRING,
BETRG37 TYPE STRING,
BETRG38 TYPE STRING,
BETRG39 TYPE STRING,
BETRG40 TYPE STRING,
BETRG41 TYPE STRING,
BETRG42 TYPE STRING,
BETRG43 TYPE STRING,
BETRG44 TYPE STRING,
BETRG45 TYPE STRING,
BETRG46 TYPE STRING,
BETRG47 TYPE STRING,
BETRG48 TYPE STRING,
BETRG49 TYPE STRING,
BETRG50 TYPE STRING,
BETRG51 TYPE STRING,
BETRG52 TYPE STRING,
BETRG53 TYPE STRING,
BETRG54 TYPE STRING,
BETRG55 TYPE STRING,
BETRG56 TYPE STRING,
BETRG57 TYPE STRING,
BETRG58 TYPE STRING,
BETRG59 TYPE STRING,
BETRG60 TYPE STRING,
BETRG61 TYPE STRING,
BETRG62 TYPE STRING,
BETRG63 TYPE STRING,
BETRG64 TYPE STRING,
BETRG65 TYPE STRING,
BETRG66 TYPE STRING,
BETRG67 TYPE STRING,
BETRG68 TYPE STRING,
BETRG69 TYPE STRING,
BETRG70 TYPE STRING,
BETRG71 TYPE STRING,
BETRG72 TYPE STRING,
BETRG73 TYPE STRING,
BETRG74 TYPE STRING,
BETRG75 TYPE STRING,
BETRG76 TYPE STRING,
BETRG77 TYPE STRING,
BETRG78 TYPE STRING,
BETRG79 TYPE STRING,
BETRG80 TYPE STRING,
BETRG81 TYPE STRING,
BETRG82 TYPE STRING,
BETRG83 TYPE STRING,
BETRG84 TYPE STRING,
BETRG85 TYPE STRING,
BETRG86 TYPE STRING,
BETRG87 TYPE STRING,
BETRG88 TYPE STRING,
BETRG89 TYPE STRING,
BETRG90 TYPE STRING,
BETRG91 TYPE STRING,
BETRG92 TYPE STRING,
BETRG93 TYPE STRING,
BETRG94 TYPE STRING,
BETRG95 TYPE STRING,
BETRG96 TYPE STRING,
BETRG97 TYPE STRING,
BETRG98 TYPE STRING,
BETRG99 TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRPAYDE_EHAK_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_HRPAYDE_EHAK_STR-PERNR sy-vline
WA_HRPAYDE_EHAK_STR-FPPER sy-vline
WA_HRPAYDE_EHAK_STR-WERKS sy-vline
WA_HRPAYDE_EHAK_STR-BTRTL sy-vline
WA_HRPAYDE_EHAK_STR-WERKS_TEXT sy-vline
WA_HRPAYDE_EHAK_STR-BTRTL_TEXT sy-vline
WA_HRPAYDE_EHAK_STR-BUKRS sy-vline
WA_HRPAYDE_EHAK_STR-PERSG sy-vline
WA_HRPAYDE_EHAK_STR-PERSK sy-vline
WA_HRPAYDE_EHAK_STR-ANSTA sy-vline
WA_HRPAYDE_EHAK_STR-ANSTA_TEXT sy-vline
WA_HRPAYDE_EHAK_STR-TYPE sy-vline
WA_HRPAYDE_EHAK_STR-TYPE_TEXT sy-vline
WA_HRPAYDE_EHAK_STR-TYPE_ANZ sy-vline
WA_HRPAYDE_EHAK_STR-WOKNZ sy-vline
WA_HRPAYDE_EHAK_STR-BETRG00 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG01 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG02 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG03 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL04 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL05 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG06 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL07 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL08 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL09 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL10 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL11 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL12 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL13 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL14 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL15 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL16 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG17 sy-vline
WA_HRPAYDE_EHAK_STR-ANZHL18 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG19 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG20 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG21 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG22 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG23 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG24 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG25 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG26 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG27 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG28 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG29 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG30 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG31 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG32 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG33 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG34 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG35 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG36 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG37 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG38 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG39 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG40 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG41 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG42 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG43 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG44 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG45 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG46 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG47 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG48 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG49 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG50 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG51 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG52 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG53 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG54 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG55 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG56 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG57 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG58 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG59 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG60 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG61 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG62 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG63 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG64 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG65 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG66 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG67 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG68 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG69 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG70 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG71 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG72 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG73 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG74 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG75 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG76 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG77 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG78 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG79 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG80 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG81 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG82 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG83 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG84 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG85 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG86 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG87 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG88 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG89 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG90 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG91 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG92 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG93 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG94 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG95 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG96 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG97 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG98 sy-vline
WA_HRPAYDE_EHAK_STR-BETRG99 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.