ABAP Select data from SAP table HRBENUS_S_1095 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 HRBENUS_S_1095 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 HRBENUS_S_1095. 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 HRBENUS_S_1095 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_HRBENUS_S_1095 TYPE STANDARD TABLE OF HRBENUS_S_1095,
      WA_HRBENUS_S_1095 TYPE HRBENUS_S_1095,
      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: <HRBENUS_S_1095> TYPE HRBENUS_S_1095.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HRBENUS_S_1095
*  INTO TABLE @DATA(IT_HRBENUS_S_10952).
*--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_HRBENUS_S_1095 INDEX 1 INTO DATA(WA_HRBENUS_S_10952).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HRBENUS_S_1095 ASSIGNING <HRBENUS_S_1095>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRBENUS_S_1095>-EMPLOYEE = 1.
<HRBENUS_S_1095>-NAME = 1.
<HRBENUS_S_1095>-PERID = 1.
<HRBENUS_S_1095>-GBDAT = 1.
<HRBENUS_S_1095>-STRAS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HRBENUS_S_1095-LOCAT, sy-vline,
WA_HRBENUS_S_1095-ORT01, sy-vline,
WA_HRBENUS_S_1095-STATE, sy-vline,
WA_HRBENUS_S_1095-ZIPCD, sy-vline,
WA_HRBENUS_S_1095-LAND1, sy-vline,
WA_HRBENUS_S_1095-FIRST_NAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRBENUS_S_1095 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_HRBENUS_S_1095 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_HRBENUS_S_1095 INTO WA_HRBENUS_S_1095. *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 PDATE, internal->external for field GBDAT CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_HRBENUS_S_1095-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HRBENUS_S_1095-GBDAT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_HRBENUS_S_1095-YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HRBENUS_S_1095-YEAR.
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_HRBENUS_S_1095_STR,
EMPLOYEE TYPE STRING,
NAME TYPE STRING,
PERID TYPE STRING,
GBDAT TYPE STRING,
STRAS TYPE STRING,
LOCAT TYPE STRING,
ORT01 TYPE STRING,
STATE TYPE STRING,
ZIPCD TYPE STRING,
LAND1 TYPE STRING,
FIRST_NAME TYPE STRING,
MIDDLE_NAME TYPE STRING,
LAST_NAME TYPE STRING,
SUFFIX_NAME TYPE STRING,
ALE TYPE STRING,
NAME TYPE STRING,
EIN TYPE STRING,
CNAME TYPE STRING,
CPHONE TYPE STRING,
STRAS TYPE STRING,
ORT01 TYPE STRING,
STATE TYPE STRING,
ZIPCD TYPE STRING,
LAND1 TYPE STRING,
ISSUER TYPE STRING,
NAME TYPE STRING,
EIN TYPE STRING,
CNAME TYPE STRING,
CPHONE TYPE STRING,
STRAS TYPE STRING,
ORT01 TYPE STRING,
STATE TYPE STRING,
ZIPCD TYPE STRING,
LAND1 TYPE STRING,
COVIND TYPE STRING,
ORIGPOL TYPE STRING,
SHOP TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
FTYPE TYPE STRING,
VOID TYPE STRING,
CORRECTION TYPE STRING,
OFFER TYPE STRING,
EEOFFER_00 TYPE STRING,
EEOFFER_01 TYPE STRING,
EEOFFER_02 TYPE STRING,
EEOFFER_03 TYPE STRING,
EEOFFER_04 TYPE STRING,
EEOFFER_05 TYPE STRING,
EEOFFER_06 TYPE STRING,
EEOFFER_07 TYPE STRING,
EEOFFER_08 TYPE STRING,
EEOFFER_09 TYPE STRING,
EEOFFER_10 TYPE STRING,
EEOFFER_11 TYPE STRING,
EEOFFER_12 TYPE STRING,
EESHARE_00 TYPE STRING,
EESHARE_01 TYPE STRING,
EESHARE_02 TYPE STRING,
EESHARE_03 TYPE STRING,
EESHARE_04 TYPE STRING,
EESHARE_05 TYPE STRING,
EESHARE_06 TYPE STRING,
EESHARE_07 TYPE STRING,
EESHARE_08 TYPE STRING,
EESHARE_09 TYPE STRING,
EESHARE_10 TYPE STRING,
EESHARE_11 TYPE STRING,
EESHARE_12 TYPE STRING,
SE4980H_00 TYPE STRING,
SE4980H_01 TYPE STRING,
SE4980H_02 TYPE STRING,
SE4980H_03 TYPE STRING,
SE4980H_04 TYPE STRING,
SE4980H_05 TYPE STRING,
SE4980H_06 TYPE STRING,
SE4980H_07 TYPE STRING,
SE4980H_08 TYPE STRING,
SE4980H_09 TYPE STRING,
SE4980H_10 TYPE STRING,
SE4980H_11 TYPE STRING,
SE4980H_12 TYPE STRING,
CURR TYPE STRING,
PSMONTH TYPE STRING,
AGENUM TYPE STRING,
ZIPCODE_00 TYPE STRING,
ZIPCODE_01 TYPE STRING,
ZIPCODE_02 TYPE STRING,
ZIPCODE_03 TYPE STRING,
ZIPCODE_04 TYPE STRING,
ZIPCODE_05 TYPE STRING,
ZIPCODE_06 TYPE STRING,
ZIPCODE_07 TYPE STRING,
ZIPCODE_08 TYPE STRING,
ZIPCODE_09 TYPE STRING,
ZIPCODE_10 TYPE STRING,
ZIPCODE_11 TYPE STRING,
ZIPCODE_12 TYPE STRING,
OFFER_CI TYPE STRING,
YEAR TYPE STRING,
STATUS TYPE STRING,
WATERMARK TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRBENUS_S_1095_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_HRBENUS_S_1095_STR-EMPLOYEE sy-vline
WA_HRBENUS_S_1095_STR-NAME sy-vline
WA_HRBENUS_S_1095_STR-PERID sy-vline
WA_HRBENUS_S_1095_STR-GBDAT sy-vline
WA_HRBENUS_S_1095_STR-STRAS sy-vline
WA_HRBENUS_S_1095_STR-LOCAT sy-vline
WA_HRBENUS_S_1095_STR-ORT01 sy-vline
WA_HRBENUS_S_1095_STR-STATE sy-vline
WA_HRBENUS_S_1095_STR-ZIPCD sy-vline
WA_HRBENUS_S_1095_STR-LAND1 sy-vline
WA_HRBENUS_S_1095_STR-FIRST_NAME sy-vline
WA_HRBENUS_S_1095_STR-MIDDLE_NAME sy-vline
WA_HRBENUS_S_1095_STR-LAST_NAME sy-vline
WA_HRBENUS_S_1095_STR-SUFFIX_NAME sy-vline
WA_HRBENUS_S_1095_STR-ALE sy-vline
WA_HRBENUS_S_1095_STR-NAME sy-vline
WA_HRBENUS_S_1095_STR-EIN sy-vline
WA_HRBENUS_S_1095_STR-CNAME sy-vline
WA_HRBENUS_S_1095_STR-CPHONE sy-vline
WA_HRBENUS_S_1095_STR-STRAS sy-vline
WA_HRBENUS_S_1095_STR-ORT01 sy-vline
WA_HRBENUS_S_1095_STR-STATE sy-vline
WA_HRBENUS_S_1095_STR-ZIPCD sy-vline
WA_HRBENUS_S_1095_STR-LAND1 sy-vline
WA_HRBENUS_S_1095_STR-ISSUER sy-vline
WA_HRBENUS_S_1095_STR-NAME sy-vline
WA_HRBENUS_S_1095_STR-EIN sy-vline
WA_HRBENUS_S_1095_STR-CNAME sy-vline
WA_HRBENUS_S_1095_STR-CPHONE sy-vline
WA_HRBENUS_S_1095_STR-STRAS sy-vline
WA_HRBENUS_S_1095_STR-ORT01 sy-vline
WA_HRBENUS_S_1095_STR-STATE sy-vline
WA_HRBENUS_S_1095_STR-ZIPCD sy-vline
WA_HRBENUS_S_1095_STR-LAND1 sy-vline
WA_HRBENUS_S_1095_STR-COVIND sy-vline
WA_HRBENUS_S_1095_STR-ORIGPOL sy-vline
WA_HRBENUS_S_1095_STR-SHOP sy-vline
WA_HRBENUS_S_1095_STR-BEGDA sy-vline
WA_HRBENUS_S_1095_STR-ENDDA sy-vline
WA_HRBENUS_S_1095_STR-FTYPE sy-vline
WA_HRBENUS_S_1095_STR-VOID sy-vline
WA_HRBENUS_S_1095_STR-CORRECTION sy-vline
WA_HRBENUS_S_1095_STR-OFFER sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_00 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_01 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_02 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_03 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_04 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_05 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_06 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_07 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_08 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_09 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_10 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_11 sy-vline
WA_HRBENUS_S_1095_STR-EEOFFER_12 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_00 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_01 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_02 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_03 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_04 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_05 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_06 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_07 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_08 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_09 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_10 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_11 sy-vline
WA_HRBENUS_S_1095_STR-EESHARE_12 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_00 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_01 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_02 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_03 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_04 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_05 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_06 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_07 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_08 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_09 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_10 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_11 sy-vline
WA_HRBENUS_S_1095_STR-SE4980H_12 sy-vline
WA_HRBENUS_S_1095_STR-CURR sy-vline
WA_HRBENUS_S_1095_STR-PSMONTH sy-vline
WA_HRBENUS_S_1095_STR-AGENUM sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_00 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_01 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_02 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_03 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_04 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_05 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_06 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_07 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_08 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_09 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_10 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_11 sy-vline
WA_HRBENUS_S_1095_STR-ZIPCODE_12 sy-vline
WA_HRBENUS_S_1095_STR-OFFER_CI sy-vline
WA_HRBENUS_S_1095_STR-YEAR sy-vline
WA_HRBENUS_S_1095_STR-STATUS sy-vline
WA_HRBENUS_S_1095_STR-WATERMARK sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.