ABAP Select data from SAP table HCMT_BSP_PA_CO_R0830 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 HCMT_BSP_PA_CO_R0830 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 HCMT_BSP_PA_CO_R0830. 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 HCMT_BSP_PA_CO_R0830 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_HCMT_BSP_PA_CO_R0830 TYPE STANDARD TABLE OF HCMT_BSP_PA_CO_R0830,
      WA_HCMT_BSP_PA_CO_R0830 TYPE HCMT_BSP_PA_CO_R0830,
      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: <HCMT_BSP_PA_CO_R0830> TYPE HCMT_BSP_PA_CO_R0830.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HCMT_BSP_PA_CO_R0830
*  INTO TABLE @DATA(IT_HCMT_BSP_PA_CO_R08302).
*--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_HCMT_BSP_PA_CO_R0830 INDEX 1 INTO DATA(WA_HCMT_BSP_PA_CO_R08302).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HCMT_BSP_PA_CO_R0830 ASSIGNING <HCMT_BSP_PA_CO_R0830>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HCMT_BSP_PA_CO_R0830>-OBJECT_KEY = 1.
<HCMT_BSP_PA_CO_R0830>-PERNR = 1.
<HCMT_BSP_PA_CO_R0830>-AEDTM = 1.
<HCMT_BSP_PA_CO_R0830>-UNAME = 1.
<HCMT_BSP_PA_CO_R0830>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HCMT_BSP_PA_CO_R0830-SPRTX, sy-vline,
WA_HCMT_BSP_PA_CO_R0830-ITBLD, sy-vline,
WA_HCMT_BSP_PA_CO_R0830-ITXEX, sy-vline,
WA_HCMT_BSP_PA_CO_R0830-BEGDA, sy-vline,
WA_HCMT_BSP_PA_CO_R0830-ENDDA, sy-vline,
WA_HCMT_BSP_PA_CO_R0830-PRCED, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HCMT_BSP_PA_CO_R0830 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_HCMT_BSP_PA_CO_R0830 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_HCMT_BSP_PA_CO_R0830 INTO WA_HCMT_BSP_PA_CO_R0830. *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_HCMT_BSP_PA_CO_R0830_STR,
OBJECT_KEY TYPE STRING,
PERNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
SPRPS TYPE STRING,
SPRTX TYPE STRING,
ITBLD TYPE STRING,
ITXEX TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
PRCED TYPE STRING,
PRCED_TEXT TYPE STRING,
AVRGE TYPE STRING,
PAYCO TYPE STRING,
DEREN TYPE STRING,
DEPEN TYPE STRING,
IDAUT TYPE STRING,
ACC12 TYPE STRING,
ACCPE TYPE STRING,
DEDBA TYPE STRING,
CUBAL TYPE STRING,
BABAL TYPE STRING,
PAVRG TYPE STRING,
PRCOA TYPE STRING,
PRCOA_TEXT TYPE STRING,
RECBA TYPE STRING,
WORDA TYPE STRING,
AVBAS TYPE STRING,
PYHEA TYPE STRING,
PYHOU TYPE STRING,
ENDBA TYPE STRING,
AVSEM TYPE STRING,
WAERS TYPE STRING,
DOCN1 TYPE STRING,
PAYC1 TYPE STRING,
PAYV1 TYPE STRING,
CUOT1 TYPE STRING,
DATI1 TYPE STRING,
DATE1 TYPE STRING,
DOCN2 TYPE STRING,
PAYC2 TYPE STRING,
PAYV2 TYPE STRING,
CUOT2 TYPE STRING,
DATI2 TYPE STRING,
DATE2 TYPE STRING,
DOCN3 TYPE STRING,
PAYC3 TYPE STRING,
PAYV3 TYPE STRING,
CUOT3 TYPE STRING,
DATI3 TYPE STRING,
DATE3 TYPE STRING,
DOCN4 TYPE STRING,
PAYC4 TYPE STRING,
PAYV4 TYPE STRING,
CUOT4 TYPE STRING,
DATI4 TYPE STRING,
DATE4 TYPE STRING,
DOCN5 TYPE STRING,
PAYC5 TYPE STRING,
PAYV5 TYPE STRING,
CUOT5 TYPE STRING,
DATI5 TYPE STRING,
DATE5 TYPE STRING,
DEDSA TYPE STRING,
ACCSA TYPE STRING,
CERT1 TYPE STRING,
BORA1 TYPE STRING,
BEGC1 TYPE STRING,
ENDC1 TYPE STRING,
BETR1 TYPE STRING,
CERT2 TYPE STRING,
BORA2 TYPE STRING,
BEGC2 TYPE STRING,
ENDC2 TYPE STRING,
BETR2 TYPE STRING,
CERT3 TYPE STRING,
BORA3 TYPE STRING,
BEGC3 TYPE STRING,
ENDC3 TYPE STRING,
BETR3 TYPE STRING,
CERT4 TYPE STRING,
BORA4 TYPE STRING,
BEGC4 TYPE STRING,
ENDC4 TYPE STRING,
BETR4 TYPE STRING,
CERT5 TYPE STRING,
BORA5 TYPE STRING,
BEGC5 TYPE STRING,
ENDC5 TYPE STRING,
BETR5 TYPE STRING,
CUMDS TYPE STRING,
AVEDS TYPE STRING,
NDAYS TYPE STRING,END OF T_EKKO_STR. DATA: WA_HCMT_BSP_PA_CO_R0830_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_HCMT_BSP_PA_CO_R0830_STR-OBJECT_KEY sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PERNR sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-AEDTM sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-UNAME sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-SPRPS sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-SPRTX sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ITBLD sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ITXEX sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGDA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDDA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PRCED sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PRCED_TEXT sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-AVRGE sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYCO sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DEREN sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DEPEN sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-IDAUT sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ACC12 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ACCPE sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DEDBA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUBAL sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BABAL sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAVRG sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PRCOA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PRCOA_TEXT sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-RECBA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-WORDA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-AVBAS sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PYHEA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PYHOU sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDBA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-AVSEM sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-WAERS sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DOCN1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYC1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYV1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUOT1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATI1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATE1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DOCN2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYC2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYV2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUOT2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATI2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATE2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DOCN3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYC3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYV3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUOT3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATI3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATE3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DOCN4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYC4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYV4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUOT4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATI4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATE4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DOCN5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYC5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-PAYV5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUOT5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATI5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DATE5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-DEDSA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ACCSA sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CERT1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BORA1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGC1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDC1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BETR1 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CERT2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BORA2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGC2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDC2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BETR2 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CERT3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BORA3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGC3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDC3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BETR3 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CERT4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BORA4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGC4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDC4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BETR4 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CERT5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BORA5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BEGC5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-ENDC5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-BETR5 sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-CUMDS sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-AVEDS sy-vline
WA_HCMT_BSP_PA_CO_R0830_STR-NDAYS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.