ABAP Select data from SAP table J_3RBS_LINE_2310 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_2310 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_2310. 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_2310 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_2310 TYPE STANDARD TABLE OF J_3RBS_LINE_2310,
      WA_J_3RBS_LINE_2310 TYPE J_3RBS_LINE_2310,
      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_2310> TYPE J_3RBS_LINE_2310.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_3RBS_LINE_2310
*  INTO TABLE @DATA(IT_J_3RBS_LINE_23102).
*--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_2310 INDEX 1 INTO DATA(WA_J_3RBS_LINE_23102).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_3RBS_LINE_2310-23102NAME, sy-vline,
WA_J_3RBS_LINE_2310-23103CURR, sy-vline,
WA_J_3RBS_LINE_2310-23103PREV, sy-vline,
WA_J_3RBS_LINE_2310-23103NAME, sy-vline,
WA_J_3RBS_LINE_2310-23104CURR, sy-vline,
WA_J_3RBS_LINE_2310-23104PREV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_3RBS_LINE_2310 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_2310 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_2310 INTO WA_J_3RBS_LINE_2310. *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_2310_STR,
23101CURR TYPE STRING,
23101PREV TYPE STRING,
23101NAME TYPE STRING,
23102CURR TYPE STRING,
23102PREV TYPE STRING,
23102NAME TYPE STRING,
23103CURR TYPE STRING,
23103PREV TYPE STRING,
23103NAME TYPE STRING,
23104CURR TYPE STRING,
23104PREV TYPE STRING,
23104NAME TYPE STRING,
23105CURR TYPE STRING,
23105PREV TYPE STRING,
23105NAME TYPE STRING,
23106CURR TYPE STRING,
23106PREV TYPE STRING,
23106NAME TYPE STRING,
23107CURR TYPE STRING,
23107PREV TYPE STRING,
23107NAME TYPE STRING,
23108CURR TYPE STRING,
23108PREV TYPE STRING,
23108NAME TYPE STRING,
23109CURR TYPE STRING,
23109PREV TYPE STRING,
23109NAME TYPE STRING,
23110CURR TYPE STRING,
23110PREV TYPE STRING,
23110NAME TYPE STRING,
23111CURR TYPE STRING,
23111PREV TYPE STRING,
23111NAME TYPE STRING,
23112CURR TYPE STRING,
23112PREV TYPE STRING,
23112NAME TYPE STRING,
23113CURR TYPE STRING,
23113PREV TYPE STRING,
23113NAME TYPE STRING,
23114CURR TYPE STRING,
23114PREV TYPE STRING,
23114NAME TYPE STRING,
23115CURR TYPE STRING,
23115PREV TYPE STRING,
23115NAME TYPE STRING,
23116CURR TYPE STRING,
23116PREV TYPE STRING,
23116NAME TYPE STRING,
23117CURR TYPE STRING,
23117PREV TYPE STRING,
23117NAME TYPE STRING,
23118CURR TYPE STRING,
23118PREV TYPE STRING,
23118NAME TYPE STRING,
23119CURR TYPE STRING,
23119PREV TYPE STRING,
23119NAME TYPE STRING,
23120CURR TYPE STRING,
23120PREV TYPE STRING,
23120NAME TYPE STRING,
23101EXPL TYPE STRING,
23102EXPL TYPE STRING,
23103EXPL TYPE STRING,
23104EXPL TYPE STRING,
23105EXPL TYPE STRING,
23106EXPL TYPE STRING,
23107EXPL TYPE STRING,
23108EXPL TYPE STRING,
23109EXPL TYPE STRING,
23110EXPL TYPE STRING,
23111EXPL TYPE STRING,
23112EXPL TYPE STRING,
23113EXPL TYPE STRING,
23114EXPL TYPE STRING,
23115EXPL TYPE STRING,
23116EXPL TYPE STRING,
23117EXPL TYPE STRING,
23118EXPL TYPE STRING,
23119EXPL TYPE STRING,
23120EXPL TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_3RBS_LINE_2310_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_2310_STR-23101CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23101PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23101NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23102CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23102PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23102NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23103CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23103PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23103NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23104CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23104PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23104NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23105CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23105PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23105NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23106CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23106PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23106NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23107CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23107PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23107NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23108CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23108PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23108NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23109CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23109PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23109NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23110CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23110PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23110NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23111CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23111PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23111NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23112CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23112PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23112NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23113CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23113PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23113NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23114CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23114PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23114NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23115CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23115PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23115NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23116CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23116PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23116NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23117CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23117PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23117NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23118CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23118PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23118NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23119CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23119PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23119NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23120CURR sy-vline
WA_J_3RBS_LINE_2310_STR-23120PREV sy-vline
WA_J_3RBS_LINE_2310_STR-23120NAME sy-vline
WA_J_3RBS_LINE_2310_STR-23101EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23102EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23103EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23104EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23105EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23106EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23107EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23108EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23109EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23110EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23111EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23112EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23113EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23114EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23115EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23116EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23117EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23118EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23119EXPL sy-vline
WA_J_3RBS_LINE_2310_STR-23120EXPL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.