ABAP Select data from SAP table RNWATTISS28X 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 RNWATTISS28X 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 RNWATTISS28X. 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 RNWATTISS28X 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_RNWATTISS28X TYPE STANDARD TABLE OF RNWATTISS28X,
      WA_RNWATTISS28X TYPE RNWATTISS28X,
      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: <RNWATTISS28X> TYPE RNWATTISS28X.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RNWATTISS28X
*  INTO TABLE @DATA(IT_RNWATTISS28X2).
*--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_RNWATTISS28X INDEX 1 INTO DATA(WA_RNWATTISS28X2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RNWATTISS28X ASSIGNING <RNWATTISS28X>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNWATTISS28X>-MANDT = 1.
<RNWATTISS28X>-EINRI = 1.
<RNWATTISS28X>-FALNR = 1.
<RNWATTISS28X>-LFDNR = 1.
<RNWATTISS28X>-INTNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RNWATTISS28X-ACTINTNR, sy-vline,
WA_RNWATTISS28X-ERHDT, sy-vline,
WA_RNWATTISS28X-ERHDT_X, sy-vline,
WA_RNWATTISS28X-STANMON, sy-vline,
WA_RNWATTISS28X-STANMON_X, sy-vline,
WA_RNWATTISS28X-LABOR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNWATTISS28X 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_RNWATTISS28X 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_RNWATTISS28X INTO WA_RNWATTISS28X. *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 EINRI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNWATTISS28X-EINRI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNWATTISS28X-EINRI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field FALNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNWATTISS28X-FALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNWATTISS28X-FALNR.
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_RNWATTISS28X_STR,
MANDT TYPE STRING,
EINRI TYPE STRING,
FALNR TYPE STRING,
LFDNR TYPE STRING,
INTNR TYPE STRING,
ACTINTNR TYPE STRING,
ERHDT TYPE STRING,
ERHDT_X TYPE STRING,
STANMON TYPE STRING,
STANMON_X TYPE STRING,
LABOR TYPE STRING,
LABOR_X TYPE STRING,
MEDIKE TYPE STRING,
MEDIKE_X TYPE STRING,
MEDIKM TYPE STRING,
MEDIKM_X TYPE STRING,
VERBANDR TYPE STRING,
VERBANDR_X TYPE STRING,
VERBANDH TYPE STRING,
VERBANDH_X TYPE STRING,
DRAINAG TYPE STRING,
DRAINAG_X TYPE STRING,
ATMUNGM TYPE STRING,
ATMUNGM_X TYPE STRING,
ATMUNGU TYPE STRING,
ATMUNGU_X TYPE STRING,
TUBSTOM TYPE STRING,
TUBSTOM_X TYPE STRING,
ATEMTHER TYPE STRING,
ATEMTHER_X TYPE STRING,
VASOMEDIE TYPE STRING,
VASOMEDIE_X TYPE STRING,
VASOMEDIM TYPE STRING,
VASOMEDIM_X TYPE STRING,
MASFL TYPE STRING,
MASFL_X TYPE STRING,
ARTHKATH TYPE STRING,
ARTHKATH_X TYPE STRING,
PULMONAL TYPE STRING,
PULMONAL_X TYPE STRING,
ZENKATH TYPE STRING,
ZENKATH_X TYPE STRING,
KARDIO TYPE STRING,
KARDIO_X TYPE STRING,
NIERERS TYPE STRING,
NIERERS_X TYPE STRING,
HARNBIL TYPE STRING,
HARNBIL_X TYPE STRING,
AKTDIU TYPE STRING,
AKTDIU_X TYPE STRING,
HIRNDR TYPE STRING,
HIRNDR_X TYPE STRING,
METABENT TYPE STRING,
METABENT_X TYPE STRING,
ERNENT TYPE STRING,
ERNENT_X TYPE STRING,
ERNPAR TYPE STRING,
ERNPAR_X TYPE STRING,
INTEREIN TYPE STRING,
INTEREIN_X TYPE STRING,
INTERME TYPE STRING,
INTERME_X TYPE STRING,
DIAGTHER TYPE STRING,
DIAGTHER_X TYPE STRING,
ERDAT TYPE STRING,
ERDAT_X TYPE STRING,
ERTIM TYPE STRING,
ERTIM_X TYPE STRING,
ERUSR TYPE STRING,
ERUSR_X TYPE STRING,
UPDAT TYPE STRING,
UPDAT_X TYPE STRING,
UPTIM TYPE STRING,
UPTIM_X TYPE STRING,
UPUSR TYPE STRING,
UPUSR_X TYPE STRING,
STORN TYPE STRING,
STORN_X TYPE STRING,
STDAT TYPE STRING,
STDAT_X TYPE STRING,
STUSR TYPE STRING,
STUSR_X TYPE STRING,
MEDIKA TYPE STRING,
MEDIKA_X TYPE STRING,
VERBANDW TYPE STRING,
VERBANDW_X TYPE STRING,
ATMMOD TYPE STRING,
ATMMOD_X TYPE STRING,
ATEMWEG TYPE STRING,
ATEMWEG_X TYPE STRING,
MEDIVASO TYPE STRING,
MEDIVASO_X TYPE STRING,
MONHAEMO TYPE STRING,
MONHAEMO_X TYPE STRING,
INTERVEN TYPE STRING,
INTERVEN_X TYPE STRING,
AGIDELI TYPE STRING,
AGIDELI_X TYPE STRING,
ASSKARDI TYPE STRING,
ASSKARDI_X TYPE STRING,
ASSPULMO TYPE STRING,
ASSPULMO_X TYPE STRING,
HYPOTHERA TYPE STRING,
HYPOTHERA_X TYPE STRING,
LEBERSUP TYPE STRING,
LEBERSUP_X TYPE STRING,
INTRAVTH TYPE STRING,
INTRAVTH_X TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNWATTISS28X_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_RNWATTISS28X_STR-MANDT sy-vline
WA_RNWATTISS28X_STR-EINRI sy-vline
WA_RNWATTISS28X_STR-FALNR sy-vline
WA_RNWATTISS28X_STR-LFDNR sy-vline
WA_RNWATTISS28X_STR-INTNR sy-vline
WA_RNWATTISS28X_STR-ACTINTNR sy-vline
WA_RNWATTISS28X_STR-ERHDT sy-vline
WA_RNWATTISS28X_STR-ERHDT_X sy-vline
WA_RNWATTISS28X_STR-STANMON sy-vline
WA_RNWATTISS28X_STR-STANMON_X sy-vline
WA_RNWATTISS28X_STR-LABOR sy-vline
WA_RNWATTISS28X_STR-LABOR_X sy-vline
WA_RNWATTISS28X_STR-MEDIKE sy-vline
WA_RNWATTISS28X_STR-MEDIKE_X sy-vline
WA_RNWATTISS28X_STR-MEDIKM sy-vline
WA_RNWATTISS28X_STR-MEDIKM_X sy-vline
WA_RNWATTISS28X_STR-VERBANDR sy-vline
WA_RNWATTISS28X_STR-VERBANDR_X sy-vline
WA_RNWATTISS28X_STR-VERBANDH sy-vline
WA_RNWATTISS28X_STR-VERBANDH_X sy-vline
WA_RNWATTISS28X_STR-DRAINAG sy-vline
WA_RNWATTISS28X_STR-DRAINAG_X sy-vline
WA_RNWATTISS28X_STR-ATMUNGM sy-vline
WA_RNWATTISS28X_STR-ATMUNGM_X sy-vline
WA_RNWATTISS28X_STR-ATMUNGU sy-vline
WA_RNWATTISS28X_STR-ATMUNGU_X sy-vline
WA_RNWATTISS28X_STR-TUBSTOM sy-vline
WA_RNWATTISS28X_STR-TUBSTOM_X sy-vline
WA_RNWATTISS28X_STR-ATEMTHER sy-vline
WA_RNWATTISS28X_STR-ATEMTHER_X sy-vline
WA_RNWATTISS28X_STR-VASOMEDIE sy-vline
WA_RNWATTISS28X_STR-VASOMEDIE_X sy-vline
WA_RNWATTISS28X_STR-VASOMEDIM sy-vline
WA_RNWATTISS28X_STR-VASOMEDIM_X sy-vline
WA_RNWATTISS28X_STR-MASFL sy-vline
WA_RNWATTISS28X_STR-MASFL_X sy-vline
WA_RNWATTISS28X_STR-ARTHKATH sy-vline
WA_RNWATTISS28X_STR-ARTHKATH_X sy-vline
WA_RNWATTISS28X_STR-PULMONAL sy-vline
WA_RNWATTISS28X_STR-PULMONAL_X sy-vline
WA_RNWATTISS28X_STR-ZENKATH sy-vline
WA_RNWATTISS28X_STR-ZENKATH_X sy-vline
WA_RNWATTISS28X_STR-KARDIO sy-vline
WA_RNWATTISS28X_STR-KARDIO_X sy-vline
WA_RNWATTISS28X_STR-NIERERS sy-vline
WA_RNWATTISS28X_STR-NIERERS_X sy-vline
WA_RNWATTISS28X_STR-HARNBIL sy-vline
WA_RNWATTISS28X_STR-HARNBIL_X sy-vline
WA_RNWATTISS28X_STR-AKTDIU sy-vline
WA_RNWATTISS28X_STR-AKTDIU_X sy-vline
WA_RNWATTISS28X_STR-HIRNDR sy-vline
WA_RNWATTISS28X_STR-HIRNDR_X sy-vline
WA_RNWATTISS28X_STR-METABENT sy-vline
WA_RNWATTISS28X_STR-METABENT_X sy-vline
WA_RNWATTISS28X_STR-ERNENT sy-vline
WA_RNWATTISS28X_STR-ERNENT_X sy-vline
WA_RNWATTISS28X_STR-ERNPAR sy-vline
WA_RNWATTISS28X_STR-ERNPAR_X sy-vline
WA_RNWATTISS28X_STR-INTEREIN sy-vline
WA_RNWATTISS28X_STR-INTEREIN_X sy-vline
WA_RNWATTISS28X_STR-INTERME sy-vline
WA_RNWATTISS28X_STR-INTERME_X sy-vline
WA_RNWATTISS28X_STR-DIAGTHER sy-vline
WA_RNWATTISS28X_STR-DIAGTHER_X sy-vline
WA_RNWATTISS28X_STR-ERDAT sy-vline
WA_RNWATTISS28X_STR-ERDAT_X sy-vline
WA_RNWATTISS28X_STR-ERTIM sy-vline
WA_RNWATTISS28X_STR-ERTIM_X sy-vline
WA_RNWATTISS28X_STR-ERUSR sy-vline
WA_RNWATTISS28X_STR-ERUSR_X sy-vline
WA_RNWATTISS28X_STR-UPDAT sy-vline
WA_RNWATTISS28X_STR-UPDAT_X sy-vline
WA_RNWATTISS28X_STR-UPTIM sy-vline
WA_RNWATTISS28X_STR-UPTIM_X sy-vline
WA_RNWATTISS28X_STR-UPUSR sy-vline
WA_RNWATTISS28X_STR-UPUSR_X sy-vline
WA_RNWATTISS28X_STR-STORN sy-vline
WA_RNWATTISS28X_STR-STORN_X sy-vline
WA_RNWATTISS28X_STR-STDAT sy-vline
WA_RNWATTISS28X_STR-STDAT_X sy-vline
WA_RNWATTISS28X_STR-STUSR sy-vline
WA_RNWATTISS28X_STR-STUSR_X sy-vline
WA_RNWATTISS28X_STR-MEDIKA sy-vline
WA_RNWATTISS28X_STR-MEDIKA_X sy-vline
WA_RNWATTISS28X_STR-VERBANDW sy-vline
WA_RNWATTISS28X_STR-VERBANDW_X sy-vline
WA_RNWATTISS28X_STR-ATMMOD sy-vline
WA_RNWATTISS28X_STR-ATMMOD_X sy-vline
WA_RNWATTISS28X_STR-ATEMWEG sy-vline
WA_RNWATTISS28X_STR-ATEMWEG_X sy-vline
WA_RNWATTISS28X_STR-MEDIVASO sy-vline
WA_RNWATTISS28X_STR-MEDIVASO_X sy-vline
WA_RNWATTISS28X_STR-MONHAEMO sy-vline
WA_RNWATTISS28X_STR-MONHAEMO_X sy-vline
WA_RNWATTISS28X_STR-INTERVEN sy-vline
WA_RNWATTISS28X_STR-INTERVEN_X sy-vline
WA_RNWATTISS28X_STR-AGIDELI sy-vline
WA_RNWATTISS28X_STR-AGIDELI_X sy-vline
WA_RNWATTISS28X_STR-ASSKARDI sy-vline
WA_RNWATTISS28X_STR-ASSKARDI_X sy-vline
WA_RNWATTISS28X_STR-ASSPULMO sy-vline
WA_RNWATTISS28X_STR-ASSPULMO_X sy-vline
WA_RNWATTISS28X_STR-HYPOTHERA sy-vline
WA_RNWATTISS28X_STR-HYPOTHERA_X sy-vline
WA_RNWATTISS28X_STR-LEBERSUP sy-vline
WA_RNWATTISS28X_STR-LEBERSUP_X sy-vline
WA_RNWATTISS28X_STR-INTRAVTH sy-vline
WA_RNWATTISS28X_STR-INTRAVTH_X sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.