ABAP Select data from SAP table RJHSTAT1 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 RJHSTAT1 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 RJHSTAT1. 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 RJHSTAT1 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_RJHSTAT1 TYPE STANDARD TABLE OF RJHSTAT1,
      WA_RJHSTAT1 TYPE RJHSTAT1,
      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: <RJHSTAT1> TYPE RJHSTAT1.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RJHSTAT1
*  INTO TABLE @DATA(IT_RJHSTAT12).
*--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_RJHSTAT1 INDEX 1 INTO DATA(WA_RJHSTAT12).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RJHSTAT1 ASSIGNING <RJHSTAT1>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RJHSTAT1>-VKORG = 1.
<RJHSTAT1>-VTWEG = 1.
<RJHSTAT1>-SPART = 1.
<RJHSTAT1>-VKBUR = 1.
<RJHSTAT1>-VKGRP = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RJHSTAT1-AUART, sy-vline,
WA_RJHSTAT1-AVM_NR, sy-vline,
WA_RJHSTAT1-AVM_HRKNFT, sy-vline,
WA_RJHSTAT1-POS_NR, sy-vline,
WA_RJHSTAT1-POS_ART, sy-vline,
WA_RJHSTAT1-PSTYV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RJHSTAT1 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_RJHSTAT1 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_RJHSTAT1 INTO WA_RJHSTAT1. *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 AUART, internal->external for field AUART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_RJHSTAT1-AUART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHSTAT1-AUART.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field AVM_NR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJHSTAT1-AVM_NR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHSTAT1-AVM_NR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field GPAG CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJHSTAT1-GPAG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHSTAT1-GPAG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PACKAGE_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJHSTAT1-PACKAGE_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHSTAT1-PACKAGE_ID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BELEGEINH CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJHSTAT1-BELEGEINH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHSTAT1-BELEGEINH.
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_RJHSTAT1_STR,
VKORG TYPE STRING,
VTWEG TYPE STRING,
SPART TYPE STRING,
VKBUR TYPE STRING,
VKGRP TYPE STRING,
AUART TYPE STRING,
AVM_NR TYPE STRING,
AVM_HRKNFT TYPE STRING,
POS_NR TYPE STRING,
POS_ART TYPE STRING,
PSTYV TYPE STRING,
STATUSK TYPE STRING,
STAT_AMPEL TYPE STRING,
AMPEL TYPE STRING,
GPAG TYPE STRING,
SELDAT_VON TYPE STRING,
SELDAT_BIS TYPE STRING,
WERBK_TYP TYPE STRING,
XAGENAUFTR TYPE STRING,
EIN_NR TYPE STRING,
EINTL_ANZ TYPE STRING,
NE_TERMIN TYPE STRING,
XSTORNIERT TYPE STRING,
PACKAGE_ID TYPE STRING,
XUVPKEL_PREIS TYPE STRING,
PKMERKMAL0 TYPE STRING,
PKMERKMAL1 TYPE STRING,
PKMERKMAL2 TYPE STRING,
PKMERKMAL3 TYPE STRING,
PKMERKMAL4 TYPE STRING,
PKMERKMAL5 TYPE STRING,
PKMERKMAL6 TYPE STRING,
PKMERKMAL7 TYPE STRING,
PKMERKMAL8 TYPE STRING,
PKMERKMAL9 TYPE STRING,
XUVFAKT TYPE STRING,
XUVGP TYPE STRING,
XUVPREIS TYPE STRING,
XUVABSCHL TYPE STRING,
XUVVZ TYPE STRING,
XUVKPV TYPE STRING,
XGENEINT TYPE STRING,
XGENGRPF TYPE STRING,
XRESERV TYPE STRING,
XRESBEST TYPE STRING,
XFAKTMIN1 TYPE STRING,
XFAKTALL TYPE STRING,
XSPERR_BON TYPE STRING,
XKOMMFRGB TYPE STRING,
XNACHBEARB TYPE STRING,
XUVPK TYPE STRING,
XUVPK_ELEM TYPE STRING,
XUV_ADM_VAL TYPE STRING,
XUVPK_PREIS TYPE STRING,
XUVMOT TYPE STRING,
XUVTECH_AZ TYPE STRING,
XNOCHG_TEC TYPE STRING,
XTECH_EEAZ TYPE STRING,
XSPERR_TEC TYPE STRING,
XTECH_MINAZ TYPE STRING,
AENVERS_NR TYPE STRING,
AZMERKMAL0 TYPE STRING,
AZMERKMAL1 TYPE STRING,
AZMERKMAL2 TYPE STRING,
AZMERKMAL3 TYPE STRING,
AZMERKMAL4 TYPE STRING,
AZMERKMAL5 TYPE STRING,
AZMERKMAL6 TYPE STRING,
AZMERKMAL7 TYPE STRING,
AZMERKMAL8 TYPE STRING,
AZMERKMAL9 TYPE STRING,
XDISPOSITI TYPE STRING,
XMUSTER_OK TYPE STRING,
XSI_PLAZ TYPE STRING,
XSI_WARTET TYPE STRING,
XSI_VORH TYPE STRING,
XTECH_MINSI TYPE STRING,
XTECH_EESI TYPE STRING,
XUVSI TYPE STRING,
XUVTECH_SI TYPE STRING,
XRESTHSHLT TYPE STRING,
RESTHSHLT_DATUM TYPE STRING,
SIMERKMAL0 TYPE STRING,
SIMERKMAL1 TYPE STRING,
SIMERKMAL2 TYPE STRING,
SIMERKMAL3 TYPE STRING,
SIMERKMAL4 TYPE STRING,
SIMERKMAL5 TYPE STRING,
SIMERKMAL6 TYPE STRING,
SIMERKMAL7 TYPE STRING,
SIMERKMAL8 TYPE STRING,
SIMERKMAL9 TYPE STRING,
DIMERKMAL0 TYPE STRING,
DIMERKMAL1 TYPE STRING,
DIMERKMAL2 TYPE STRING,
DIMERKMAL3 TYPE STRING,
DIMERKMAL4 TYPE STRING,
DIMERKMAL5 TYPE STRING,
DIMERKMAL6 TYPE STRING,
DIMERKMAL7 TYPE STRING,
DIMERKMAL8 TYPE STRING,
DIMERKMAL9 TYPE STRING,
XTECH_MINWS TYPE STRING,
XTECH_EEWS TYPE STRING,
WSMERKMAL0 TYPE STRING,
WSMERKMAL1 TYPE STRING,
WSMERKMAL2 TYPE STRING,
WSMERKMAL3 TYPE STRING,
WSMERKMAL4 TYPE STRING,
WSMERKMAL5 TYPE STRING,
WSMERKMAL6 TYPE STRING,
WSMERKMAL7 TYPE STRING,
WSMERKMAL8 TYPE STRING,
WSMERKMAL9 TYPE STRING,
XUVSI_V TYPE STRING,
XVT_PLAZ_V TYPE STRING,
XMUSTER_V TYPE STRING,
XSI_VORH_V TYPE STRING,
XUVTECH_V TYPE STRING,
XTECH_M_V TYPE STRING,
XTECH_EE_V TYPE STRING,
VTMERKMAL0 TYPE STRING,
VTMERKMAL1 TYPE STRING,
VTMERKMAL2 TYPE STRING,
VTMERKMAL3 TYPE STRING,
VTMERKMAL4 TYPE STRING,
VTMERKMAL5 TYPE STRING,
VTMERKMAL6 TYPE STRING,
VTMERKMAL7 TYPE STRING,
VTMERKMAL8 TYPE STRING,
VTMERKMAL9 TYPE STRING,
XTECH_M_O TYPE STRING,
XTECH_EE_O TYPE STRING,
OLMERKMAL0 TYPE STRING,
OLMERKMAL1 TYPE STRING,
OLMERKMAL2 TYPE STRING,
OLMERKMAL3 TYPE STRING,
OLMERKMAL4 TYPE STRING,
OLMERKMAL5 TYPE STRING,
OLMERKMAL6 TYPE STRING,
OLMERKMAL7 TYPE STRING,
OLMERKMAL8 TYPE STRING,
OLMERKMAL9 TYPE STRING,
BELEGEINH TYPE STRING,
MARK TYPE STRING,END OF T_EKKO_STR. DATA: WA_RJHSTAT1_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_RJHSTAT1_STR-VKORG sy-vline
WA_RJHSTAT1_STR-VTWEG sy-vline
WA_RJHSTAT1_STR-SPART sy-vline
WA_RJHSTAT1_STR-VKBUR sy-vline
WA_RJHSTAT1_STR-VKGRP sy-vline
WA_RJHSTAT1_STR-AUART sy-vline
WA_RJHSTAT1_STR-AVM_NR sy-vline
WA_RJHSTAT1_STR-AVM_HRKNFT sy-vline
WA_RJHSTAT1_STR-POS_NR sy-vline
WA_RJHSTAT1_STR-POS_ART sy-vline
WA_RJHSTAT1_STR-PSTYV sy-vline
WA_RJHSTAT1_STR-STATUSK sy-vline
WA_RJHSTAT1_STR-STAT_AMPEL sy-vline
WA_RJHSTAT1_STR-AMPEL sy-vline
WA_RJHSTAT1_STR-GPAG sy-vline
WA_RJHSTAT1_STR-SELDAT_VON sy-vline
WA_RJHSTAT1_STR-SELDAT_BIS sy-vline
WA_RJHSTAT1_STR-WERBK_TYP sy-vline
WA_RJHSTAT1_STR-XAGENAUFTR sy-vline
WA_RJHSTAT1_STR-EIN_NR sy-vline
WA_RJHSTAT1_STR-EINTL_ANZ sy-vline
WA_RJHSTAT1_STR-NE_TERMIN sy-vline
WA_RJHSTAT1_STR-XSTORNIERT sy-vline
WA_RJHSTAT1_STR-PACKAGE_ID sy-vline
WA_RJHSTAT1_STR-XUVPKEL_PREIS sy-vline
WA_RJHSTAT1_STR-PKMERKMAL0 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL1 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL2 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL3 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL4 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL5 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL6 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL7 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL8 sy-vline
WA_RJHSTAT1_STR-PKMERKMAL9 sy-vline
WA_RJHSTAT1_STR-XUVFAKT sy-vline
WA_RJHSTAT1_STR-XUVGP sy-vline
WA_RJHSTAT1_STR-XUVPREIS sy-vline
WA_RJHSTAT1_STR-XUVABSCHL sy-vline
WA_RJHSTAT1_STR-XUVVZ sy-vline
WA_RJHSTAT1_STR-XUVKPV sy-vline
WA_RJHSTAT1_STR-XGENEINT sy-vline
WA_RJHSTAT1_STR-XGENGRPF sy-vline
WA_RJHSTAT1_STR-XRESERV sy-vline
WA_RJHSTAT1_STR-XRESBEST sy-vline
WA_RJHSTAT1_STR-XFAKTMIN1 sy-vline
WA_RJHSTAT1_STR-XFAKTALL sy-vline
WA_RJHSTAT1_STR-XSPERR_BON sy-vline
WA_RJHSTAT1_STR-XKOMMFRGB sy-vline
WA_RJHSTAT1_STR-XNACHBEARB sy-vline
WA_RJHSTAT1_STR-XUVPK sy-vline
WA_RJHSTAT1_STR-XUVPK_ELEM sy-vline
WA_RJHSTAT1_STR-XUV_ADM_VAL sy-vline
WA_RJHSTAT1_STR-XUVPK_PREIS sy-vline
WA_RJHSTAT1_STR-XUVMOT sy-vline
WA_RJHSTAT1_STR-XUVTECH_AZ sy-vline
WA_RJHSTAT1_STR-XNOCHG_TEC sy-vline
WA_RJHSTAT1_STR-XTECH_EEAZ sy-vline
WA_RJHSTAT1_STR-XSPERR_TEC sy-vline
WA_RJHSTAT1_STR-XTECH_MINAZ sy-vline
WA_RJHSTAT1_STR-AENVERS_NR sy-vline
WA_RJHSTAT1_STR-AZMERKMAL0 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL1 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL2 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL3 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL4 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL5 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL6 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL7 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL8 sy-vline
WA_RJHSTAT1_STR-AZMERKMAL9 sy-vline
WA_RJHSTAT1_STR-XDISPOSITI sy-vline
WA_RJHSTAT1_STR-XMUSTER_OK sy-vline
WA_RJHSTAT1_STR-XSI_PLAZ sy-vline
WA_RJHSTAT1_STR-XSI_WARTET sy-vline
WA_RJHSTAT1_STR-XSI_VORH sy-vline
WA_RJHSTAT1_STR-XTECH_MINSI sy-vline
WA_RJHSTAT1_STR-XTECH_EESI sy-vline
WA_RJHSTAT1_STR-XUVSI sy-vline
WA_RJHSTAT1_STR-XUVTECH_SI sy-vline
WA_RJHSTAT1_STR-XRESTHSHLT sy-vline
WA_RJHSTAT1_STR-RESTHSHLT_DATUM sy-vline
WA_RJHSTAT1_STR-SIMERKMAL0 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL1 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL2 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL3 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL4 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL5 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL6 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL7 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL8 sy-vline
WA_RJHSTAT1_STR-SIMERKMAL9 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL0 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL1 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL2 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL3 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL4 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL5 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL6 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL7 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL8 sy-vline
WA_RJHSTAT1_STR-DIMERKMAL9 sy-vline
WA_RJHSTAT1_STR-XTECH_MINWS sy-vline
WA_RJHSTAT1_STR-XTECH_EEWS sy-vline
WA_RJHSTAT1_STR-WSMERKMAL0 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL1 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL2 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL3 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL4 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL5 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL6 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL7 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL8 sy-vline
WA_RJHSTAT1_STR-WSMERKMAL9 sy-vline
WA_RJHSTAT1_STR-XUVSI_V sy-vline
WA_RJHSTAT1_STR-XVT_PLAZ_V sy-vline
WA_RJHSTAT1_STR-XMUSTER_V sy-vline
WA_RJHSTAT1_STR-XSI_VORH_V sy-vline
WA_RJHSTAT1_STR-XUVTECH_V sy-vline
WA_RJHSTAT1_STR-XTECH_M_V sy-vline
WA_RJHSTAT1_STR-XTECH_EE_V sy-vline
WA_RJHSTAT1_STR-VTMERKMAL0 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL1 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL2 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL3 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL4 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL5 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL6 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL7 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL8 sy-vline
WA_RJHSTAT1_STR-VTMERKMAL9 sy-vline
WA_RJHSTAT1_STR-XTECH_M_O sy-vline
WA_RJHSTAT1_STR-XTECH_EE_O sy-vline
WA_RJHSTAT1_STR-OLMERKMAL0 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL1 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL2 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL3 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL4 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL5 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL6 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL7 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL8 sy-vline
WA_RJHSTAT1_STR-OLMERKMAL9 sy-vline
WA_RJHSTAT1_STR-BELEGEINH sy-vline
WA_RJHSTAT1_STR-MARK sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.