ABAP Select data from SAP table HRP1010 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 HRP1010 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 HRP1010. 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 HRP1010 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_HRP1010 TYPE STANDARD TABLE OF HRP1010,
      WA_HRP1010 TYPE HRP1010,
      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: <HRP1010> TYPE HRP1010.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HRP1010
*  INTO TABLE @DATA(IT_HRP10102).
*--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_HRP1010 INDEX 1 INTO DATA(WA_HRP10102).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HRP1010 ASSIGNING <HRP1010>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRP1010>-MANDT = 1.
<HRP1010>-PLVAR = 1.
<HRP1010>-OTYPE = 1.
<HRP1010>-OBJID = 1.
<HRP1010>-SUBTY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HRP1010-ISTAT, sy-vline,
WA_HRP1010-BEGDA, sy-vline,
WA_HRP1010-ENDDA, sy-vline,
WA_HRP1010-VARYF, sy-vline,
WA_HRP1010-SEQNR, sy-vline,
WA_HRP1010-INFTY, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRP1010 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_HRP1010 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_HRP1010 INTO WA_HRP1010. *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_HRP1010_STR,
MANDT TYPE STRING,
PLVAR TYPE STRING,
OTYPE TYPE STRING,
OBJID TYPE STRING,
SUBTY TYPE STRING,
ISTAT TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
VARYF TYPE STRING,
SEQNR TYPE STRING,
INFTY TYPE STRING,
OTJID TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
REASN TYPE STRING,
HISTO TYPE STRING,
ITXNR TYPE STRING,
HILFM TYPE STRING,
HILFM001 TYPE STRING,
HILFM002 TYPE STRING,
HILFM003 TYPE STRING,
HILFM004 TYPE STRING,
HILFM005 TYPE STRING,
HILFM006 TYPE STRING,
HILFM007 TYPE STRING,
HILFM008 TYPE STRING,
HILFM009 TYPE STRING,
HILFM010 TYPE STRING,
HILFM011 TYPE STRING,
HILFM012 TYPE STRING,
HILFM013 TYPE STRING,
HILFM014 TYPE STRING,
HILFM015 TYPE STRING,
HILFM016 TYPE STRING,
HILFM017 TYPE STRING,
HILFM018 TYPE STRING,
HILFM019 TYPE STRING,
HILFM020 TYPE STRING,
HILFM021 TYPE STRING,
HILFM022 TYPE STRING,
HILFM023 TYPE STRING,
HILFM024 TYPE STRING,
HILFM025 TYPE STRING,
HILFM026 TYPE STRING,
HILFM027 TYPE STRING,
HILFM028 TYPE STRING,
HILFM029 TYPE STRING,
HILFM030 TYPE STRING,
HILFM031 TYPE STRING,
HILFM032 TYPE STRING,
HILFM033 TYPE STRING,
HILFM034 TYPE STRING,
HILFM035 TYPE STRING,
HILFM036 TYPE STRING,
HILFM037 TYPE STRING,
HILFM038 TYPE STRING,
HILFM039 TYPE STRING,
HILFM040 TYPE STRING,
HILFM041 TYPE STRING,
HILFM042 TYPE STRING,
HILFM043 TYPE STRING,
HILFM044 TYPE STRING,
HILFM045 TYPE STRING,
HILFM046 TYPE STRING,
HILFM047 TYPE STRING,
HILFM048 TYPE STRING,
HILFM049 TYPE STRING,
HILFM050 TYPE STRING,
HILFM051 TYPE STRING,
HILFM052 TYPE STRING,
HILFM053 TYPE STRING,
HILFM054 TYPE STRING,
HILFM055 TYPE STRING,
HILFM056 TYPE STRING,
HILFM057 TYPE STRING,
HILFM058 TYPE STRING,
HILFM059 TYPE STRING,
HILFM060 TYPE STRING,
HILFM061 TYPE STRING,
HILFM062 TYPE STRING,
HILFM063 TYPE STRING,
HILFM064 TYPE STRING,
HILFM065 TYPE STRING,
HILFM066 TYPE STRING,
HILFM067 TYPE STRING,
HILFM068 TYPE STRING,
HILFM069 TYPE STRING,
HILFM070 TYPE STRING,
HILFM071 TYPE STRING,
HILFM072 TYPE STRING,
HILFM073 TYPE STRING,
HILFM074 TYPE STRING,
HILFM075 TYPE STRING,
HILFM076 TYPE STRING,
HILFM077 TYPE STRING,
HILFM078 TYPE STRING,
HILFM079 TYPE STRING,
HILFM080 TYPE STRING,
HILFM081 TYPE STRING,
HILFM082 TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRP1010_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_HRP1010_STR-MANDT sy-vline
WA_HRP1010_STR-PLVAR sy-vline
WA_HRP1010_STR-OTYPE sy-vline
WA_HRP1010_STR-OBJID sy-vline
WA_HRP1010_STR-SUBTY sy-vline
WA_HRP1010_STR-ISTAT sy-vline
WA_HRP1010_STR-BEGDA sy-vline
WA_HRP1010_STR-ENDDA sy-vline
WA_HRP1010_STR-VARYF sy-vline
WA_HRP1010_STR-SEQNR sy-vline
WA_HRP1010_STR-INFTY sy-vline
WA_HRP1010_STR-OTJID sy-vline
WA_HRP1010_STR-AEDTM sy-vline
WA_HRP1010_STR-UNAME sy-vline
WA_HRP1010_STR-REASN sy-vline
WA_HRP1010_STR-HISTO sy-vline
WA_HRP1010_STR-ITXNR sy-vline
WA_HRP1010_STR-HILFM sy-vline
WA_HRP1010_STR-HILFM001 sy-vline
WA_HRP1010_STR-HILFM002 sy-vline
WA_HRP1010_STR-HILFM003 sy-vline
WA_HRP1010_STR-HILFM004 sy-vline
WA_HRP1010_STR-HILFM005 sy-vline
WA_HRP1010_STR-HILFM006 sy-vline
WA_HRP1010_STR-HILFM007 sy-vline
WA_HRP1010_STR-HILFM008 sy-vline
WA_HRP1010_STR-HILFM009 sy-vline
WA_HRP1010_STR-HILFM010 sy-vline
WA_HRP1010_STR-HILFM011 sy-vline
WA_HRP1010_STR-HILFM012 sy-vline
WA_HRP1010_STR-HILFM013 sy-vline
WA_HRP1010_STR-HILFM014 sy-vline
WA_HRP1010_STR-HILFM015 sy-vline
WA_HRP1010_STR-HILFM016 sy-vline
WA_HRP1010_STR-HILFM017 sy-vline
WA_HRP1010_STR-HILFM018 sy-vline
WA_HRP1010_STR-HILFM019 sy-vline
WA_HRP1010_STR-HILFM020 sy-vline
WA_HRP1010_STR-HILFM021 sy-vline
WA_HRP1010_STR-HILFM022 sy-vline
WA_HRP1010_STR-HILFM023 sy-vline
WA_HRP1010_STR-HILFM024 sy-vline
WA_HRP1010_STR-HILFM025 sy-vline
WA_HRP1010_STR-HILFM026 sy-vline
WA_HRP1010_STR-HILFM027 sy-vline
WA_HRP1010_STR-HILFM028 sy-vline
WA_HRP1010_STR-HILFM029 sy-vline
WA_HRP1010_STR-HILFM030 sy-vline
WA_HRP1010_STR-HILFM031 sy-vline
WA_HRP1010_STR-HILFM032 sy-vline
WA_HRP1010_STR-HILFM033 sy-vline
WA_HRP1010_STR-HILFM034 sy-vline
WA_HRP1010_STR-HILFM035 sy-vline
WA_HRP1010_STR-HILFM036 sy-vline
WA_HRP1010_STR-HILFM037 sy-vline
WA_HRP1010_STR-HILFM038 sy-vline
WA_HRP1010_STR-HILFM039 sy-vline
WA_HRP1010_STR-HILFM040 sy-vline
WA_HRP1010_STR-HILFM041 sy-vline
WA_HRP1010_STR-HILFM042 sy-vline
WA_HRP1010_STR-HILFM043 sy-vline
WA_HRP1010_STR-HILFM044 sy-vline
WA_HRP1010_STR-HILFM045 sy-vline
WA_HRP1010_STR-HILFM046 sy-vline
WA_HRP1010_STR-HILFM047 sy-vline
WA_HRP1010_STR-HILFM048 sy-vline
WA_HRP1010_STR-HILFM049 sy-vline
WA_HRP1010_STR-HILFM050 sy-vline
WA_HRP1010_STR-HILFM051 sy-vline
WA_HRP1010_STR-HILFM052 sy-vline
WA_HRP1010_STR-HILFM053 sy-vline
WA_HRP1010_STR-HILFM054 sy-vline
WA_HRP1010_STR-HILFM055 sy-vline
WA_HRP1010_STR-HILFM056 sy-vline
WA_HRP1010_STR-HILFM057 sy-vline
WA_HRP1010_STR-HILFM058 sy-vline
WA_HRP1010_STR-HILFM059 sy-vline
WA_HRP1010_STR-HILFM060 sy-vline
WA_HRP1010_STR-HILFM061 sy-vline
WA_HRP1010_STR-HILFM062 sy-vline
WA_HRP1010_STR-HILFM063 sy-vline
WA_HRP1010_STR-HILFM064 sy-vline
WA_HRP1010_STR-HILFM065 sy-vline
WA_HRP1010_STR-HILFM066 sy-vline
WA_HRP1010_STR-HILFM067 sy-vline
WA_HRP1010_STR-HILFM068 sy-vline
WA_HRP1010_STR-HILFM069 sy-vline
WA_HRP1010_STR-HILFM070 sy-vline
WA_HRP1010_STR-HILFM071 sy-vline
WA_HRP1010_STR-HILFM072 sy-vline
WA_HRP1010_STR-HILFM073 sy-vline
WA_HRP1010_STR-HILFM074 sy-vline
WA_HRP1010_STR-HILFM075 sy-vline
WA_HRP1010_STR-HILFM076 sy-vline
WA_HRP1010_STR-HILFM077 sy-vline
WA_HRP1010_STR-HILFM078 sy-vline
WA_HRP1010_STR-HILFM079 sy-vline
WA_HRP1010_STR-HILFM080 sy-vline
WA_HRP1010_STR-HILFM081 sy-vline
WA_HRP1010_STR-HILFM082 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.