ABAP Select data from SAP table J_3RBS_LINE_2120 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 J_3RBS_LINE_2120 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 J_3RBS_LINE_2120. 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 J_3RBS_LINE_2120 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_J_3RBS_LINE_2120 TYPE STANDARD TABLE OF J_3RBS_LINE_2120,
      WA_J_3RBS_LINE_2120 TYPE J_3RBS_LINE_2120,
      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: <J_3RBS_LINE_2120> TYPE J_3RBS_LINE_2120.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_3RBS_LINE_2120
*  INTO TABLE @DATA(IT_J_3RBS_LINE_21202).
*--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_J_3RBS_LINE_2120 INDEX 1 INTO DATA(WA_J_3RBS_LINE_21202).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_3RBS_LINE_2120 ASSIGNING <J_3RBS_LINE_2120>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_3RBS_LINE_2120>-21201CURR = 1.
<J_3RBS_LINE_2120>-21201PREV = 1.
<J_3RBS_LINE_2120>-21201NAME = 1.
<J_3RBS_LINE_2120>-21202CURR = 1.
<J_3RBS_LINE_2120>-21202PREV = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_3RBS_LINE_2120-21202NAME, sy-vline,
WA_J_3RBS_LINE_2120-21203CURR, sy-vline,
WA_J_3RBS_LINE_2120-21203PREV, sy-vline,
WA_J_3RBS_LINE_2120-21203NAME, sy-vline,
WA_J_3RBS_LINE_2120-21204CURR, sy-vline,
WA_J_3RBS_LINE_2120-21204PREV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_3RBS_LINE_2120 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_J_3RBS_LINE_2120 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_J_3RBS_LINE_2120 INTO WA_J_3RBS_LINE_2120. *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_J_3RBS_LINE_2120_STR,
21201CURR TYPE STRING,
21201PREV TYPE STRING,
21201NAME TYPE STRING,
21202CURR TYPE STRING,
21202PREV TYPE STRING,
21202NAME TYPE STRING,
21203CURR TYPE STRING,
21203PREV TYPE STRING,
21203NAME TYPE STRING,
21204CURR TYPE STRING,
21204PREV TYPE STRING,
21204NAME TYPE STRING,
21205CURR TYPE STRING,
21205PREV TYPE STRING,
21205NAME TYPE STRING,
21206CURR TYPE STRING,
21206PREV TYPE STRING,
21206NAME TYPE STRING,
21207CURR TYPE STRING,
21207PREV TYPE STRING,
21207NAME TYPE STRING,
21208CURR TYPE STRING,
21208PREV TYPE STRING,
21208NAME TYPE STRING,
21209CURR TYPE STRING,
21209PREV TYPE STRING,
21209NAME TYPE STRING,
21210CURR TYPE STRING,
21210PREV TYPE STRING,
21210NAME TYPE STRING,
21211CURR TYPE STRING,
21211PREV TYPE STRING,
21211NAME TYPE STRING,
21212CURR TYPE STRING,
21212PREV TYPE STRING,
21212NAME TYPE STRING,
21213CURR TYPE STRING,
21213PREV TYPE STRING,
21213NAME TYPE STRING,
21214CURR TYPE STRING,
21214PREV TYPE STRING,
21214NAME TYPE STRING,
21215CURR TYPE STRING,
21215PREV TYPE STRING,
21215NAME TYPE STRING,
21216CURR TYPE STRING,
21216PREV TYPE STRING,
21216NAME TYPE STRING,
21217CURR TYPE STRING,
21217PREV TYPE STRING,
21217NAME TYPE STRING,
21218CURR TYPE STRING,
21218PREV TYPE STRING,
21218NAME TYPE STRING,
21219CURR TYPE STRING,
21219PREV TYPE STRING,
21219NAME TYPE STRING,
21220CURR TYPE STRING,
21220PREV TYPE STRING,
21220NAME TYPE STRING,
21201EXPL TYPE STRING,
21202EXPL TYPE STRING,
21203EXPL TYPE STRING,
21204EXPL TYPE STRING,
21205EXPL TYPE STRING,
21206EXPL TYPE STRING,
21207EXPL TYPE STRING,
21208EXPL TYPE STRING,
21209EXPL TYPE STRING,
21210EXPL TYPE STRING,
21211EXPL TYPE STRING,
21212EXPL TYPE STRING,
21213EXPL TYPE STRING,
21214EXPL TYPE STRING,
21215EXPL TYPE STRING,
21216EXPL TYPE STRING,
21217EXPL TYPE STRING,
21218EXPL TYPE STRING,
21219EXPL TYPE STRING,
21220EXPL TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_3RBS_LINE_2120_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_J_3RBS_LINE_2120_STR-21201CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21201PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21201NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21202CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21202PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21202NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21203CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21203PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21203NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21204CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21204PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21204NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21205CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21205PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21205NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21206CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21206PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21206NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21207CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21207PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21207NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21208CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21208PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21208NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21209CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21209PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21209NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21210CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21210PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21210NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21211CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21211PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21211NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21212CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21212PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21212NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21213CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21213PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21213NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21214CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21214PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21214NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21215CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21215PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21215NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21216CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21216PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21216NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21217CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21217PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21217NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21218CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21218PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21218NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21219CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21219PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21219NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21220CURR sy-vline
WA_J_3RBS_LINE_2120_STR-21220PREV sy-vline
WA_J_3RBS_LINE_2120_STR-21220NAME sy-vline
WA_J_3RBS_LINE_2120_STR-21201EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21202EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21203EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21204EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21205EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21206EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21207EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21208EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21209EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21210EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21211EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21212EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21213EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21214EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21215EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21216EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21217EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21218EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21219EXPL sy-vline
WA_J_3RBS_LINE_2120_STR-21220EXPL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.