ABAP Select data from SAP table RNWAT_EDHON_DATA 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 RNWAT_EDHON_DATA 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 RNWAT_EDHON_DATA. 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 RNWAT_EDHON_DATA 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_RNWAT_EDHON_DATA TYPE STANDARD TABLE OF RNWAT_EDHON_DATA,
      WA_RNWAT_EDHON_DATA TYPE RNWAT_EDHON_DATA,
      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: <RNWAT_EDHON_DATA> TYPE RNWAT_EDHON_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RNWAT_EDHON_DATA
*  INTO TABLE @DATA(IT_RNWAT_EDHON_DATA2).
*--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_RNWAT_EDHON_DATA INDEX 1 INTO DATA(WA_RNWAT_EDHON_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RNWAT_EDHON_DATA ASSIGNING <RNWAT_EDHON_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNWAT_EDHON_DATA>-SOS01V10 = 1.
<RNWAT_EDHON_DATA>-SOS02V10 = 1.
<RNWAT_EDHON_DATA>-SOS03V10 = 1.
<RNWAT_EDHON_DATA>-SOS04V10 = 1.
<RNWAT_EDHON_DATA>-SOS05V10 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RNWAT_EDHON_DATA-SOS06V10, sy-vline,
WA_RNWAT_EDHON_DATA-SOS07V10, sy-vline,
WA_RNWAT_EDHON_DATA-SOS08V10, sy-vline,
WA_RNWAT_EDHON_DATA-SOS09V10, sy-vline,
WA_RNWAT_EDHON_DATA-SOS10V10, sy-vline,
WA_RNWAT_EDHON_DATA-SOS11V10, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNWAT_EDHON_DATA 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_RNWAT_EDHON_DATA 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_RNWAT_EDHON_DATA INTO WA_RNWAT_EDHON_DATA. *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_RNWAT_EDHON_DATA_STR,
SOS01V10 TYPE STRING,
SOS02V10 TYPE STRING,
SOS03V10 TYPE STRING,
SOS04V10 TYPE STRING,
SOS05V10 TYPE STRING,
SOS06V10 TYPE STRING,
SOS07V10 TYPE STRING,
SOS08V10 TYPE STRING,
SOS09V10 TYPE STRING,
SOS10V10 TYPE STRING,
SOS11V10 TYPE STRING,
SOS12V10 TYPE STRING,
SOS13V10 TYPE STRING,
SOS14V10 TYPE STRING,
SOS15V10 TYPE STRING,
SOS16V10 TYPE STRING,
SOS17V10 TYPE STRING,
SOS18V10 TYPE STRING,
SOS19V10 TYPE STRING,
SOS20V10 TYPE STRING,
SOS21V10 TYPE STRING,
SOS22V10 TYPE STRING,
SOS23V10 TYPE STRING,
SOS24V10 TYPE STRING,
SOS25V10 TYPE STRING,
SOS26V10 TYPE STRING,
SOS27V10 TYPE STRING,
SOS28V10 TYPE STRING,
SOS29V10 TYPE STRING,
SOS30V10 TYPE STRING,
SOS40V10 TYPE STRING,
SOS41V10 TYPE STRING,
SOS42V10 TYPE STRING,
SOS43V10 TYPE STRING,
SOS44V10 TYPE STRING,
SOS45V10 TYPE STRING,
SOS46V10 TYPE STRING,
SOS47V10 TYPE STRING,
SOS48V10 TYPE STRING,
SOS49V10 TYPE STRING,
SOS50V10 TYPE STRING,
SOS51V10 TYPE STRING,
SOS52V10 TYPE STRING,
SOS53V10 TYPE STRING,
SOS54V10 TYPE STRING,
SOS55V10 TYPE STRING,
SOS56V10 TYPE STRING,
SOS57V10 TYPE STRING,
SOS58V10 TYPE STRING,
SOS59V10 TYPE STRING,
SOS60V10 TYPE STRING,
SOS61V10 TYPE STRING,
SOS62V10 TYPE STRING,
SOS63V10 TYPE STRING,
SOS64V10 TYPE STRING,
SOS65V10 TYPE STRING,
SOS66V10 TYPE STRING,
SOS67V10 TYPE STRING,
SOS68V10 TYPE STRING,
SOS69V10 TYPE STRING,
SOS70V10 TYPE STRING,
SOS71V10 TYPE STRING,
SOS72V10 TYPE STRING,
SOS73V10 TYPE STRING,
SOS74V10 TYPE STRING,
SOS75V10 TYPE STRING,
SOS76V10 TYPE STRING,
SOS77V10 TYPE STRING,
SOS78V10 TYPE STRING,
SOS79V10 TYPE STRING,
SOS80V10 TYPE STRING,
SOS81V10 TYPE STRING,
SOS82V10 TYPE STRING,
SOS83V10 TYPE STRING,
SOS84V10 TYPE STRING,
SOS85V10 TYPE STRING,
SOS86V10 TYPE STRING,
SOS88V10 TYPE STRING,
SOS98V10 TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNWAT_EDHON_DATA_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_RNWAT_EDHON_DATA_STR-SOS01V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS02V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS03V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS04V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS05V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS06V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS07V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS08V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS09V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS10V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS11V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS12V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS13V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS14V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS15V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS16V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS17V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS18V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS19V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS20V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS21V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS22V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS23V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS24V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS25V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS26V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS27V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS28V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS29V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS30V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS40V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS41V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS42V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS43V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS44V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS45V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS46V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS47V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS48V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS49V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS50V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS51V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS52V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS53V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS54V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS55V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS56V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS57V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS58V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS59V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS60V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS61V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS62V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS63V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS64V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS65V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS66V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS67V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS68V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS69V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS70V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS71V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS72V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS73V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS74V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS75V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS76V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS77V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS78V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS79V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS80V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS81V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS82V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS83V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS84V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS85V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS86V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS88V10 sy-vline
WA_RNWAT_EDHON_DATA_STR-SOS98V10 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.