ABAP Select data from SAP table RNWPVIEW008 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 RNWPVIEW008 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 RNWPVIEW008. 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 RNWPVIEW008 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_RNWPVIEW008 TYPE STANDARD TABLE OF RNWPVIEW008,
      WA_RNWPVIEW008 TYPE RNWPVIEW008,
      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: <RNWPVIEW008> TYPE RNWPVIEW008.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RNWPVIEW008
*  INTO TABLE @DATA(IT_RNWPVIEW0082).
*--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_RNWPVIEW008 INDEX 1 INTO DATA(WA_RNWPVIEW0082).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RNWPVIEW008 ASSIGNING <RNWPVIEW008>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNWPVIEW008>-CASEDE = 1.
<RNWPVIEW008>-DISCOU = 1.
<RNWPVIEW008>-CASEHC = 1.
<RNWPVIEW008>-ISHD1 = 1.
<RNWPVIEW008>-ISHD2 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RNWPVIEW008-ISHD3, sy-vline,
WA_RNWPVIEW008-FSOPEN, sy-vline,
WA_RNWPVIEW008-FSOUOP, sy-vline,
WA_RNWPVIEW008-UNDIA, sy-vline,
WA_RNWPVIEW008-NOKEY, sy-vline,
WA_RNWPVIEW008-NO_DRGHD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNWPVIEW008 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_RNWPVIEW008 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_RNWPVIEW008 INTO WA_RNWPVIEW008. *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 DRG_CAT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNWPVIEW008-DRG_CAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNWPVIEW008-DRG_CAT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field TALST CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNWPVIEW008-TALST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNWPVIEW008-TALST.
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_RNWPVIEW008_STR,
CASEDE TYPE STRING,
DISCOU TYPE STRING,
CASEHC TYPE STRING,
ISHD1 TYPE STRING,
ISHD2 TYPE STRING,
ISHD3 TYPE STRING,
FSOPEN TYPE STRING,
FSOUOP TYPE STRING,
UNDIA TYPE STRING,
NOKEY TYPE STRING,
NO_DRGHD TYPE STRING,
ANZD TYPE STRING,
DIAA TYPE STRING,
DOUREL TYPE STRING,
NO_OPDIA TYPE STRING,
NO_OPDRG TYPE STRING,
NO_ICPM TYPE STRING,
NO_O5PKZ TYPE STRING,
ICPMY TYPE STRING,
NO_DRGHP TYPE STRING,
NO_ICPHC TYPE STRING,
ANZSOI TYPE STRING,
CWLE TYPE STRING,
CWVWD TYPE STRING,
DRGERR TYPE STRING,
DRGUPG TYPE STRING,
NOLOS TYPE STRING,
LOSVGL TYPE STRING,
LOSDAUER TYPE STRING,
OUCHG TYPE STRING,
NODRG TYPE STRING,
REGRP TYPE STRING,
DRG_CAT TYPE STRING,
DRG_CODE TYPE STRING,
UGVD TYPE STRING,
OGVD TYPE STRING,
MGVD TYPE STRING,
NOICPRESPI TYPE STRING,
NORESPI TYPE STRING,
NOPATGEW TYPE STRING,
NOGBGEW TYPE STRING,
PATHWAY_STATE TYPE STRING,
PROF_GROUP TYPE STRING,
/ISHFR/RSS_STAT TYPE STRING,
/ISHFR/RSS_STATTXT TYPE STRING,
TALST TYPE STRING,
MILIM_RETPER_DAYS TYPE STRING,
MILIM_RETPER_DATE TYPE STRING,
LOLIM_RETPER_DAYS TYPE STRING,
LOLIM_RETPER_DATE TYPE STRING,
UPLIM_RETPER_DAYS TYPE STRING,
UPLIM_RETPER_DATE TYPE STRING,
MCO_DISC_FACT TYPE STRING,
GHS_DISC_FACT TYPE STRING,
RETPER_DAYS TYPE STRING,
ADDPAY_DAYS TYPE STRING,
SRV_PRICE TYPE STRING,
SRV_CURR TYPE STRING,
EXH_PRICE TYPE STRING,
EXH_CURR TYPE STRING,
SUM_PRICE TYPE STRING,
SUM_CURR TYPE STRING,
TOT_PRICE TYPE STRING,
TOT_CURR TYPE STRING,
EXB_TYPE TYPE STRING,
EXB_PRICE TYPE STRING,
EXB_CURR TYPE STRING,
READM TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNWPVIEW008_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_RNWPVIEW008_STR-CASEDE sy-vline
WA_RNWPVIEW008_STR-DISCOU sy-vline
WA_RNWPVIEW008_STR-CASEHC sy-vline
WA_RNWPVIEW008_STR-ISHD1 sy-vline
WA_RNWPVIEW008_STR-ISHD2 sy-vline
WA_RNWPVIEW008_STR-ISHD3 sy-vline
WA_RNWPVIEW008_STR-FSOPEN sy-vline
WA_RNWPVIEW008_STR-FSOUOP sy-vline
WA_RNWPVIEW008_STR-UNDIA sy-vline
WA_RNWPVIEW008_STR-NOKEY sy-vline
WA_RNWPVIEW008_STR-NO_DRGHD sy-vline
WA_RNWPVIEW008_STR-ANZD sy-vline
WA_RNWPVIEW008_STR-DIAA sy-vline
WA_RNWPVIEW008_STR-DOUREL sy-vline
WA_RNWPVIEW008_STR-NO_OPDIA sy-vline
WA_RNWPVIEW008_STR-NO_OPDRG sy-vline
WA_RNWPVIEW008_STR-NO_ICPM sy-vline
WA_RNWPVIEW008_STR-NO_O5PKZ sy-vline
WA_RNWPVIEW008_STR-ICPMY sy-vline
WA_RNWPVIEW008_STR-NO_DRGHP sy-vline
WA_RNWPVIEW008_STR-NO_ICPHC sy-vline
WA_RNWPVIEW008_STR-ANZSOI sy-vline
WA_RNWPVIEW008_STR-CWLE sy-vline
WA_RNWPVIEW008_STR-CWVWD sy-vline
WA_RNWPVIEW008_STR-DRGERR sy-vline
WA_RNWPVIEW008_STR-DRGUPG sy-vline
WA_RNWPVIEW008_STR-NOLOS sy-vline
WA_RNWPVIEW008_STR-LOSVGL sy-vline
WA_RNWPVIEW008_STR-LOSDAUER sy-vline
WA_RNWPVIEW008_STR-OUCHG sy-vline
WA_RNWPVIEW008_STR-NODRG sy-vline
WA_RNWPVIEW008_STR-REGRP sy-vline
WA_RNWPVIEW008_STR-DRG_CAT sy-vline
WA_RNWPVIEW008_STR-DRG_CODE sy-vline
WA_RNWPVIEW008_STR-UGVD sy-vline
WA_RNWPVIEW008_STR-OGVD sy-vline
WA_RNWPVIEW008_STR-MGVD sy-vline
WA_RNWPVIEW008_STR-NOICPRESPI sy-vline
WA_RNWPVIEW008_STR-NORESPI sy-vline
WA_RNWPVIEW008_STR-NOPATGEW sy-vline
WA_RNWPVIEW008_STR-NOGBGEW sy-vline
WA_RNWPVIEW008_STR-PATHWAY_STATE sy-vline
WA_RNWPVIEW008_STR-PROF_GROUP sy-vline
WA_RNWPVIEW008_STR-/ISHFR/RSS_STAT sy-vline
WA_RNWPVIEW008_STR-/ISHFR/RSS_STATTXT sy-vline
WA_RNWPVIEW008_STR-TALST sy-vline
WA_RNWPVIEW008_STR-MILIM_RETPER_DAYS sy-vline
WA_RNWPVIEW008_STR-MILIM_RETPER_DATE sy-vline
WA_RNWPVIEW008_STR-LOLIM_RETPER_DAYS sy-vline
WA_RNWPVIEW008_STR-LOLIM_RETPER_DATE sy-vline
WA_RNWPVIEW008_STR-UPLIM_RETPER_DAYS sy-vline
WA_RNWPVIEW008_STR-UPLIM_RETPER_DATE sy-vline
WA_RNWPVIEW008_STR-MCO_DISC_FACT sy-vline
WA_RNWPVIEW008_STR-GHS_DISC_FACT sy-vline
WA_RNWPVIEW008_STR-RETPER_DAYS sy-vline
WA_RNWPVIEW008_STR-ADDPAY_DAYS sy-vline
WA_RNWPVIEW008_STR-SRV_PRICE sy-vline
WA_RNWPVIEW008_STR-SRV_CURR sy-vline
WA_RNWPVIEW008_STR-EXH_PRICE sy-vline
WA_RNWPVIEW008_STR-EXH_CURR sy-vline
WA_RNWPVIEW008_STR-SUM_PRICE sy-vline
WA_RNWPVIEW008_STR-SUM_CURR sy-vline
WA_RNWPVIEW008_STR-TOT_PRICE sy-vline
WA_RNWPVIEW008_STR-TOT_CURR sy-vline
WA_RNWPVIEW008_STR-EXB_TYPE sy-vline
WA_RNWPVIEW008_STR-EXB_PRICE sy-vline
WA_RNWPVIEW008_STR-EXB_CURR sy-vline
WA_RNWPVIEW008_STR-READM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.