ABAP Select data from SAP table HRPAYDE_EHAK_2008 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_2008 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_2008. 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_2008 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_2008 TYPE STANDARD TABLE OF HRPAYDE_EHAK_2008,
      WA_HRPAYDE_EHAK_2008 TYPE HRPAYDE_EHAK_2008,
      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_2008> TYPE HRPAYDE_EHAK_2008.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HRPAYDE_EHAK_2008
*  INTO TABLE @DATA(IT_HRPAYDE_EHAK_20082).
*--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_2008 INDEX 1 INTO DATA(WA_HRPAYDE_EHAK_20082).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HRPAYDE_EHAK_2008 ASSIGNING <HRPAYDE_EHAK_2008>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRPAYDE_EHAK_2008>-PERNR = 1.
<HRPAYDE_EHAK_2008>-FPPER = 1.
<HRPAYDE_EHAK_2008>-WERKS = 1.
<HRPAYDE_EHAK_2008>-BTRTL = 1.
<HRPAYDE_EHAK_2008>-WERKS_ABSENDER = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HRPAYDE_EHAK_2008-BTRTL_ABSENDER, sy-vline,
WA_HRPAYDE_EHAK_2008-STAT_BTRNR, sy-vline,
WA_HRPAYDE_EHAK_2008-WERKS_TEXT, sy-vline,
WA_HRPAYDE_EHAK_2008-BTRTL_TEXT, sy-vline,
WA_HRPAYDE_EHAK_2008-BUKRS, sy-vline,
WA_HRPAYDE_EHAK_2008-PERSG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRPAYDE_EHAK_2008 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_2008 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_2008 INTO WA_HRPAYDE_EHAK_2008. *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_2008_STR,
PERNR TYPE STRING,
FPPER TYPE STRING,
WERKS TYPE STRING,
BTRTL TYPE STRING,
WERKS_ABSENDER TYPE STRING,
BTRTL_ABSENDER TYPE STRING,
STAT_BTRNR 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,
BETRG061 TYPE STRING,
BETRG062 TYPE STRING,
BETRG063 TYPE STRING,
BETRG064 TYPE STRING,
BETRG065 TYPE STRING,
BETRG066 TYPE STRING,
BETRG067 TYPE STRING,
BETRG068 TYPE STRING,
BETRG069 TYPE STRING,
BETRG072 TYPE STRING,
BETRG073 TYPE STRING,
BETRG074 TYPE STRING,
BETRG075 TYPE STRING,
BETRG076 TYPE STRING,
BETRG077 TYPE STRING,
BETRG078 TYPE STRING,
BETRG080 TYPE STRING,
BETRG082 TYPE STRING,
BETRG083 TYPE STRING,
BETRG084 TYPE STRING,
BETRG086 TYPE STRING,
BETRG087 TYPE STRING,
BETRG100 TYPE STRING,
ANZHL101 TYPE STRING,
BETRG102 TYPE STRING,
BETRG103 TYPE STRING,
ANZHL104 TYPE STRING,
BETRG106 TYPE STRING,
ANZHL107 TYPE STRING,
ANZHL108 TYPE STRING,
ANZHL109 TYPE STRING,
ANZHL110 TYPE STRING,
ANZHL111 TYPE STRING,
ANZHL112 TYPE STRING,
ANZHL113 TYPE STRING,
ANZHL114 TYPE STRING,
ANZHL117 TYPE STRING,
ANZHL118 TYPE STRING,
ANZHL119 TYPE STRING,
BETRG120 TYPE STRING,
BETRG300 TYPE STRING,
BETRG301 TYPE STRING,
BETRG302 TYPE STRING,
BETRG303 TYPE STRING,
BETRG304 TYPE STRING,
BETRG305 TYPE STRING,
BETRG306 TYPE STRING,
BETRG307 TYPE STRING,
BETRG308 TYPE STRING,
BETRG309 TYPE STRING,
BETRG310 TYPE STRING,
BETRG311 TYPE STRING,
BETRG312 TYPE STRING,
BETRG313 TYPE STRING,
BETRG314 TYPE STRING,
BETRG315 TYPE STRING,
BETRG316 TYPE STRING,
BETRG317 TYPE STRING,
BETRG318 TYPE STRING,
BETRG319 TYPE STRING,
BETRG320 TYPE STRING,
BETRG321 TYPE STRING,
BETRG322 TYPE STRING,
BETRG323 TYPE STRING,
BETRG324 TYPE STRING,
BETRG325 TYPE STRING,
BETRG326 TYPE STRING,
ANZHL400 TYPE STRING,
ANZHL401 TYPE STRING,
ANZHL402 TYPE STRING,
ANZHL403 TYPE STRING,
ANZHL404 TYPE STRING,
ANZHL405 TYPE STRING,
ANZHL406 TYPE STRING,
ANZHL407 TYPE STRING,
ANZHL408 TYPE STRING,
ANZHL409 TYPE STRING,
ANZHL410 TYPE STRING,
ANZHL411 TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRPAYDE_EHAK_2008_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_2008_STR-PERNR sy-vline
WA_HRPAYDE_EHAK_2008_STR-FPPER sy-vline
WA_HRPAYDE_EHAK_2008_STR-WERKS sy-vline
WA_HRPAYDE_EHAK_2008_STR-BTRTL sy-vline
WA_HRPAYDE_EHAK_2008_STR-WERKS_ABSENDER sy-vline
WA_HRPAYDE_EHAK_2008_STR-BTRTL_ABSENDER sy-vline
WA_HRPAYDE_EHAK_2008_STR-STAT_BTRNR sy-vline
WA_HRPAYDE_EHAK_2008_STR-WERKS_TEXT sy-vline
WA_HRPAYDE_EHAK_2008_STR-BTRTL_TEXT sy-vline
WA_HRPAYDE_EHAK_2008_STR-BUKRS sy-vline
WA_HRPAYDE_EHAK_2008_STR-PERSG sy-vline
WA_HRPAYDE_EHAK_2008_STR-PERSK sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANSTA sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANSTA_TEXT sy-vline
WA_HRPAYDE_EHAK_2008_STR-TYPE sy-vline
WA_HRPAYDE_EHAK_2008_STR-TYPE_TEXT sy-vline
WA_HRPAYDE_EHAK_2008_STR-TYPE_ANZ sy-vline
WA_HRPAYDE_EHAK_2008_STR-WOKNZ sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG061 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG062 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG063 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG064 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG065 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG066 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG067 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG068 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG069 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG072 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG073 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG074 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG075 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG076 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG077 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG078 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG080 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG082 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG083 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG084 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG086 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG087 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG100 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL101 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG102 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG103 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL104 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG106 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL107 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL108 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL109 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL110 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL111 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL112 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL113 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL114 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL117 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL118 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL119 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG120 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG300 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG301 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG302 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG303 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG304 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG305 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG306 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG307 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG308 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG309 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG310 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG311 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG312 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG313 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG314 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG315 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG316 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG317 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG318 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG319 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG320 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG321 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG322 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG323 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG324 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG325 sy-vline
WA_HRPAYDE_EHAK_2008_STR-BETRG326 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL400 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL401 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL402 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL403 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL404 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL405 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL406 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL407 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL408 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL409 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL410 sy-vline
WA_HRPAYDE_EHAK_2008_STR-ANZHL411 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.