ABAP Select data from SAP table RJG01 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 RJG01 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 RJG01. 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 RJG01 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_RJG01 TYPE STANDARD TABLE OF RJG01,
      WA_RJG01 TYPE RJG01,
      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: <RJG01> TYPE RJG01.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RJG01
*  INTO TABLE @DATA(IT_RJG012).
*--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_RJG01 INDEX 1 INTO DATA(WA_RJG012).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RJG01 ASSIGNING <RJG01>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RJG01>-MANDT = 1.
<RJG01>-GPNR = 1.
<RJG01>-EKORG = 1.
<RJG01>-VKORG = 1.
<RJG01>-VTWEG = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RJG01-SPART, sy-vline,
WA_RJG01-BUKRS, sy-vline,
WA_RJG01-JKTOKD, sy-vline,
WA_RJG01-TEXT050, sy-vline,
WA_RJG01-GPNR_VOR, sy-vline,
WA_RJG01-EKORG_VOR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RJG01 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_RJG01 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_RJG01 INTO WA_RJG01. *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 ALPHA, internal->external for field GPNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJG01-GPNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJG01-GPNR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field GPNR_VOR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJG01-GPNR_VOR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJG01-GPNR_VOR.
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_RJG01_STR,
MANDT TYPE STRING,
GPNR TYPE STRING,
EKORG TYPE STRING,
VKORG TYPE STRING,
VTWEG TYPE STRING,
SPART TYPE STRING,
BUKRS TYPE STRING,
JKTOKD TYPE STRING,
TEXT050 TYPE STRING,
GPNR_VOR TYPE STRING,
EKORG_VOR TYPE STRING,
VKORG_VOR TYPE STRING,
VTWEG_VOR TYPE STRING,
SPART_VOR TYPE STRING,
BUKRS_VOR TYPE STRING,
STRUHAUSN TYPE STRING,
TEXT051 TYPE STRING,
TEXT053 TYPE STRING,
TEXT054 TYPE STRING,
TEXT055 TYPE STRING,
TEXT056 TYPE STRING,
TEXT057 TYPE STRING,
TEXT058 TYPE STRING,
TEXT059 TYPE STRING,
TEXT060 TYPE STRING,
TEXT061 TYPE STRING,
TEXT062 TYPE STRING,
TEXT063 TYPE STRING,
TEXT064 TYPE STRING,
TEXT065 TYPE STRING,
TEXT066 TYPE STRING,
TEXT067 TYPE STRING,
TEXT068 TYPE STRING,
TEXT069 TYPE STRING,
TEXT070 TYPE STRING,
TEXT071 TYPE STRING,
TEXT072 TYPE STRING,
TEXT073 TYPE STRING,
TEXT074 TYPE STRING,
TEXT075 TYPE STRING,
TEXT076 TYPE STRING,
TEXT077 TYPE STRING,
TEXT078 TYPE STRING,
TEXT079 TYPE STRING,
TEXT080 TYPE STRING,
TEXT081 TYPE STRING,
TEXT082 TYPE STRING,
TEXT083 TYPE STRING,
TEXT084 TYPE STRING,
TEXT085 TYPE STRING,
TEXT086 TYPE STRING,
TEXT087 TYPE STRING,
TEXT088 TYPE STRING,
TEXT089 TYPE STRING,
TEXT090 TYPE STRING,
TEXT091 TYPE STRING,
TEXT092 TYPE STRING,
TEXT093 TYPE STRING,
TEXT094 TYPE STRING,
TEXT095 TYPE STRING,
TEXT096 TYPE STRING,
TEXT097 TYPE STRING,
LAND1 TYPE STRING,
JGESCHT TYPE STRING,
TEXT500 TYPE STRING,
KNA1_STAT TYPE STRING,
KNVV_STAT TYPE STRING,
JLFM1_STAT TYPE STRING,
FLG_VBER TYPE STRING,
FLG_BUKRS TYPE STRING,
FLG_VKORG TYPE STRING,
FLG_EKORG TYPE STRING,
TXREMART TYPE STRING,
TXREMWEISE TYPE STRING,
TXVERBER TYPE STRING,
TBRCT_BEZ1 TYPE STRING,
TBRCT_BEZ2 TYPE STRING,
TBRCT_BEZ3 TYPE STRING,
TBRCT_BEZ4 TYPE STRING,
TBRCT_BEZ5 TYPE STRING,
XBCODE TYPE STRING,
TEXT159 TYPE STRING,
TEXT160 TYPE STRING,
TEXT161 TYPE STRING,
XASEL TYPE STRING,
AZSCH TYPE STRING,
AZPSD TYPE STRING,
AZTXT TYPE STRING,
XESEL TYPE STRING,
EZSCH TYPE STRING,
EZPSD TYPE STRING,
EZTXT TYPE STRING,
SEITE TYPE STRING,
R2_SUBRC TYPE STRING,
PSTLZ TYPE STRING,
ORT01 TYPE STRING,
XINS TYPE STRING,
XUPD TYPE STRING,
XUPDFSYS TYPE STRING,
DDTEXT TYPE STRING,
XMCODE TYPE STRING,
XUIDCODE TYPE STRING,END OF T_EKKO_STR. DATA: WA_RJG01_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_RJG01_STR-MANDT sy-vline
WA_RJG01_STR-GPNR sy-vline
WA_RJG01_STR-EKORG sy-vline
WA_RJG01_STR-VKORG sy-vline
WA_RJG01_STR-VTWEG sy-vline
WA_RJG01_STR-SPART sy-vline
WA_RJG01_STR-BUKRS sy-vline
WA_RJG01_STR-JKTOKD sy-vline
WA_RJG01_STR-TEXT050 sy-vline
WA_RJG01_STR-GPNR_VOR sy-vline
WA_RJG01_STR-EKORG_VOR sy-vline
WA_RJG01_STR-VKORG_VOR sy-vline
WA_RJG01_STR-VTWEG_VOR sy-vline
WA_RJG01_STR-SPART_VOR sy-vline
WA_RJG01_STR-BUKRS_VOR sy-vline
WA_RJG01_STR-STRUHAUSN sy-vline
WA_RJG01_STR-TEXT051 sy-vline
WA_RJG01_STR-TEXT053 sy-vline
WA_RJG01_STR-TEXT054 sy-vline
WA_RJG01_STR-TEXT055 sy-vline
WA_RJG01_STR-TEXT056 sy-vline
WA_RJG01_STR-TEXT057 sy-vline
WA_RJG01_STR-TEXT058 sy-vline
WA_RJG01_STR-TEXT059 sy-vline
WA_RJG01_STR-TEXT060 sy-vline
WA_RJG01_STR-TEXT061 sy-vline
WA_RJG01_STR-TEXT062 sy-vline
WA_RJG01_STR-TEXT063 sy-vline
WA_RJG01_STR-TEXT064 sy-vline
WA_RJG01_STR-TEXT065 sy-vline
WA_RJG01_STR-TEXT066 sy-vline
WA_RJG01_STR-TEXT067 sy-vline
WA_RJG01_STR-TEXT068 sy-vline
WA_RJG01_STR-TEXT069 sy-vline
WA_RJG01_STR-TEXT070 sy-vline
WA_RJG01_STR-TEXT071 sy-vline
WA_RJG01_STR-TEXT072 sy-vline
WA_RJG01_STR-TEXT073 sy-vline
WA_RJG01_STR-TEXT074 sy-vline
WA_RJG01_STR-TEXT075 sy-vline
WA_RJG01_STR-TEXT076 sy-vline
WA_RJG01_STR-TEXT077 sy-vline
WA_RJG01_STR-TEXT078 sy-vline
WA_RJG01_STR-TEXT079 sy-vline
WA_RJG01_STR-TEXT080 sy-vline
WA_RJG01_STR-TEXT081 sy-vline
WA_RJG01_STR-TEXT082 sy-vline
WA_RJG01_STR-TEXT083 sy-vline
WA_RJG01_STR-TEXT084 sy-vline
WA_RJG01_STR-TEXT085 sy-vline
WA_RJG01_STR-TEXT086 sy-vline
WA_RJG01_STR-TEXT087 sy-vline
WA_RJG01_STR-TEXT088 sy-vline
WA_RJG01_STR-TEXT089 sy-vline
WA_RJG01_STR-TEXT090 sy-vline
WA_RJG01_STR-TEXT091 sy-vline
WA_RJG01_STR-TEXT092 sy-vline
WA_RJG01_STR-TEXT093 sy-vline
WA_RJG01_STR-TEXT094 sy-vline
WA_RJG01_STR-TEXT095 sy-vline
WA_RJG01_STR-TEXT096 sy-vline
WA_RJG01_STR-TEXT097 sy-vline
WA_RJG01_STR-LAND1 sy-vline
WA_RJG01_STR-JGESCHT sy-vline
WA_RJG01_STR-TEXT500 sy-vline
WA_RJG01_STR-KNA1_STAT sy-vline
WA_RJG01_STR-KNVV_STAT sy-vline
WA_RJG01_STR-JLFM1_STAT sy-vline
WA_RJG01_STR-FLG_VBER sy-vline
WA_RJG01_STR-FLG_BUKRS sy-vline
WA_RJG01_STR-FLG_VKORG sy-vline
WA_RJG01_STR-FLG_EKORG sy-vline
WA_RJG01_STR-TXREMART sy-vline
WA_RJG01_STR-TXREMWEISE sy-vline
WA_RJG01_STR-TXVERBER sy-vline
WA_RJG01_STR-TBRCT_BEZ1 sy-vline
WA_RJG01_STR-TBRCT_BEZ2 sy-vline
WA_RJG01_STR-TBRCT_BEZ3 sy-vline
WA_RJG01_STR-TBRCT_BEZ4 sy-vline
WA_RJG01_STR-TBRCT_BEZ5 sy-vline
WA_RJG01_STR-XBCODE sy-vline
WA_RJG01_STR-TEXT159 sy-vline
WA_RJG01_STR-TEXT160 sy-vline
WA_RJG01_STR-TEXT161 sy-vline
WA_RJG01_STR-XASEL sy-vline
WA_RJG01_STR-AZSCH sy-vline
WA_RJG01_STR-AZPSD sy-vline
WA_RJG01_STR-AZTXT sy-vline
WA_RJG01_STR-XESEL sy-vline
WA_RJG01_STR-EZSCH sy-vline
WA_RJG01_STR-EZPSD sy-vline
WA_RJG01_STR-EZTXT sy-vline
WA_RJG01_STR-SEITE sy-vline
WA_RJG01_STR-R2_SUBRC sy-vline
WA_RJG01_STR-PSTLZ sy-vline
WA_RJG01_STR-ORT01 sy-vline
WA_RJG01_STR-XINS sy-vline
WA_RJG01_STR-XUPD sy-vline
WA_RJG01_STR-XUPDFSYS sy-vline
WA_RJG01_STR-DDTEXT sy-vline
WA_RJG01_STR-XMCODE sy-vline
WA_RJG01_STR-XUIDCODE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.