ABAP Select data from SAP table RCYPP_GEN 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 RCYPP_GEN 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 RCYPP_GEN. 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 RCYPP_GEN 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_RCYPP_GEN TYPE STANDARD TABLE OF RCYPP_GEN,
      WA_RCYPP_GEN TYPE RCYPP_GEN,
      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: <RCYPP_GEN> TYPE RCYPP_GEN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RCYPP_GEN
*  INTO TABLE @DATA(IT_RCYPP_GEN2).
*--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_RCYPP_GEN INDEX 1 INTO DATA(WA_RCYPP_GEN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RCYPP_GEN ASSIGNING <RCYPP_GEN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RCYPP_GEN>-BOX1 = 1.
<RCYPP_GEN>-BOX2 = 1.
<RCYPP_GEN>-BOX3 = 1.
<RCYPP_GEN>-BOX4 = 1.
<RCYPP_GEN>-BOX5 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RCYPP_GEN-BOX6, sy-vline,
WA_RCYPP_GEN-BOX7, sy-vline,
WA_RCYPP_GEN-BOX8, sy-vline,
WA_RCYPP_GEN-BOX9, sy-vline,
WA_RCYPP_GEN-COL_TITLE, sy-vline,
WA_RCYPP_GEN-COL_TITLE2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RCYPP_GEN 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_RCYPP_GEN 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_RCYPP_GEN INTO WA_RCYPP_GEN. *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 ISOLA, internal->external for field SPRAS CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_RCYPP_GEN-SPRAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCYPP_GEN-SPRAS.
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_RCYPP_GEN_STR,
BOX1 TYPE STRING,
BOX2 TYPE STRING,
BOX3 TYPE STRING,
BOX4 TYPE STRING,
BOX5 TYPE STRING,
BOX6 TYPE STRING,
BOX7 TYPE STRING,
BOX8 TYPE STRING,
BOX9 TYPE STRING,
COL_TITLE TYPE STRING,
COL_TITLE2 TYPE STRING,
COL_TITLER TYPE STRING,
SAMPLE TYPE STRING,
SAMPLE2 TYPE STRING,
COL_SEP TYPE STRING,
SEP_CHAR TYPE STRING,
PROP_FONT TYPE STRING,
ENTRY_NO TYPE STRING,
ENTRIES TYPE STRING,
PERIOD1 TYPE STRING,
PERIOD2 TYPE STRING,
PERIOD3 TYPE STRING,
PERIOD4 TYPE STRING,
PERIOD5 TYPE STRING,
PERIOD6 TYPE STRING,
PERIOD7 TYPE STRING,
PERIOD8 TYPE STRING,
PERIOD9 TYPE STRING,
AVAIL1 TYPE STRING,
AVAIL2 TYPE STRING,
AVAIL3 TYPE STRING,
AVAIL4 TYPE STRING,
AVAIL5 TYPE STRING,
AVAIL6 TYPE STRING,
AVAIL7 TYPE STRING,
AVAIL8 TYPE STRING,
AVAIL9 TYPE STRING,
SCHED1 TYPE STRING,
SCHED2 TYPE STRING,
SCHED3 TYPE STRING,
SCHED4 TYPE STRING,
SCHED5 TYPE STRING,
SCHED6 TYPE STRING,
SCHED7 TYPE STRING,
SCHED8 TYPE STRING,
SCHED9 TYPE STRING,
UNSCHED1 TYPE STRING,
UNSCHED2 TYPE STRING,
UNSCHED3 TYPE STRING,
UNSCHED4 TYPE STRING,
UNSCHED5 TYPE STRING,
UNSCHED6 TYPE STRING,
UNSCHED7 TYPE STRING,
UNSCHED8 TYPE STRING,
UNSCHED9 TYPE STRING,
SCH_LOAD1 TYPE STRING,
SCH_LOAD2 TYPE STRING,
SCH_LOAD3 TYPE STRING,
SCH_LOAD4 TYPE STRING,
SCH_LOAD5 TYPE STRING,
SCH_LOAD6 TYPE STRING,
SCH_LOAD7 TYPE STRING,
SCH_LOAD8 TYPE STRING,
SCH_LOAD9 TYPE STRING,
UNSCHLOAD1 TYPE STRING,
UNSCHLOAD2 TYPE STRING,
UNSCHLOAD3 TYPE STRING,
UNSCHLOAD4 TYPE STRING,
UNSCHLOAD5 TYPE STRING,
UNSCHLOAD6 TYPE STRING,
UNSCHLOAD7 TYPE STRING,
UNSCHLOAD8 TYPE STRING,
UNSCHLOAD9 TYPE STRING,
FREE_CAP1 TYPE STRING,
FREE_CAP2 TYPE STRING,
FREE_CAP3 TYPE STRING,
FREE_CAP4 TYPE STRING,
FREE_CAP5 TYPE STRING,
FREE_CAP6 TYPE STRING,
FREE_CAP7 TYPE STRING,
FREE_CAP8 TYPE STRING,
FREE_CAP9 TYPE STRING,
FREE_LOAD1 TYPE STRING,
FREE_LOAD2 TYPE STRING,
FREE_LOAD3 TYPE STRING,
FREE_LOAD4 TYPE STRING,
FREE_LOAD5 TYPE STRING,
FREE_LOAD6 TYPE STRING,
FREE_LOAD7 TYPE STRING,
FREE_LOAD8 TYPE STRING,
FREE_LOAD9 TYPE STRING,
RES_TITLE TYPE STRING,
QCONT_TEXT TYPE STRING,
SPRAS TYPE STRING,
TAB_SEARCH TYPE STRING,END OF T_EKKO_STR. DATA: WA_RCYPP_GEN_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_RCYPP_GEN_STR-BOX1 sy-vline
WA_RCYPP_GEN_STR-BOX2 sy-vline
WA_RCYPP_GEN_STR-BOX3 sy-vline
WA_RCYPP_GEN_STR-BOX4 sy-vline
WA_RCYPP_GEN_STR-BOX5 sy-vline
WA_RCYPP_GEN_STR-BOX6 sy-vline
WA_RCYPP_GEN_STR-BOX7 sy-vline
WA_RCYPP_GEN_STR-BOX8 sy-vline
WA_RCYPP_GEN_STR-BOX9 sy-vline
WA_RCYPP_GEN_STR-COL_TITLE sy-vline
WA_RCYPP_GEN_STR-COL_TITLE2 sy-vline
WA_RCYPP_GEN_STR-COL_TITLER sy-vline
WA_RCYPP_GEN_STR-SAMPLE sy-vline
WA_RCYPP_GEN_STR-SAMPLE2 sy-vline
WA_RCYPP_GEN_STR-COL_SEP sy-vline
WA_RCYPP_GEN_STR-SEP_CHAR sy-vline
WA_RCYPP_GEN_STR-PROP_FONT sy-vline
WA_RCYPP_GEN_STR-ENTRY_NO sy-vline
WA_RCYPP_GEN_STR-ENTRIES sy-vline
WA_RCYPP_GEN_STR-PERIOD1 sy-vline
WA_RCYPP_GEN_STR-PERIOD2 sy-vline
WA_RCYPP_GEN_STR-PERIOD3 sy-vline
WA_RCYPP_GEN_STR-PERIOD4 sy-vline
WA_RCYPP_GEN_STR-PERIOD5 sy-vline
WA_RCYPP_GEN_STR-PERIOD6 sy-vline
WA_RCYPP_GEN_STR-PERIOD7 sy-vline
WA_RCYPP_GEN_STR-PERIOD8 sy-vline
WA_RCYPP_GEN_STR-PERIOD9 sy-vline
WA_RCYPP_GEN_STR-AVAIL1 sy-vline
WA_RCYPP_GEN_STR-AVAIL2 sy-vline
WA_RCYPP_GEN_STR-AVAIL3 sy-vline
WA_RCYPP_GEN_STR-AVAIL4 sy-vline
WA_RCYPP_GEN_STR-AVAIL5 sy-vline
WA_RCYPP_GEN_STR-AVAIL6 sy-vline
WA_RCYPP_GEN_STR-AVAIL7 sy-vline
WA_RCYPP_GEN_STR-AVAIL8 sy-vline
WA_RCYPP_GEN_STR-AVAIL9 sy-vline
WA_RCYPP_GEN_STR-SCHED1 sy-vline
WA_RCYPP_GEN_STR-SCHED2 sy-vline
WA_RCYPP_GEN_STR-SCHED3 sy-vline
WA_RCYPP_GEN_STR-SCHED4 sy-vline
WA_RCYPP_GEN_STR-SCHED5 sy-vline
WA_RCYPP_GEN_STR-SCHED6 sy-vline
WA_RCYPP_GEN_STR-SCHED7 sy-vline
WA_RCYPP_GEN_STR-SCHED8 sy-vline
WA_RCYPP_GEN_STR-SCHED9 sy-vline
WA_RCYPP_GEN_STR-UNSCHED1 sy-vline
WA_RCYPP_GEN_STR-UNSCHED2 sy-vline
WA_RCYPP_GEN_STR-UNSCHED3 sy-vline
WA_RCYPP_GEN_STR-UNSCHED4 sy-vline
WA_RCYPP_GEN_STR-UNSCHED5 sy-vline
WA_RCYPP_GEN_STR-UNSCHED6 sy-vline
WA_RCYPP_GEN_STR-UNSCHED7 sy-vline
WA_RCYPP_GEN_STR-UNSCHED8 sy-vline
WA_RCYPP_GEN_STR-UNSCHED9 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD1 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD2 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD3 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD4 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD5 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD6 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD7 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD8 sy-vline
WA_RCYPP_GEN_STR-SCH_LOAD9 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD1 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD2 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD3 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD4 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD5 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD6 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD7 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD8 sy-vline
WA_RCYPP_GEN_STR-UNSCHLOAD9 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP1 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP2 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP3 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP4 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP5 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP6 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP7 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP8 sy-vline
WA_RCYPP_GEN_STR-FREE_CAP9 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD1 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD2 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD3 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD4 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD5 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD6 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD7 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD8 sy-vline
WA_RCYPP_GEN_STR-FREE_LOAD9 sy-vline
WA_RCYPP_GEN_STR-RES_TITLE sy-vline
WA_RCYPP_GEN_STR-QCONT_TEXT sy-vline
WA_RCYPP_GEN_STR-SPRAS sy-vline
WA_RCYPP_GEN_STR-TAB_SEARCH sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.