ABAP Select data from SAP table RCTMS 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 RCTMS 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 RCTMS. 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 RCTMS 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_RCTMS TYPE STANDARD TABLE OF RCTMS,
      WA_RCTMS TYPE RCTMS,
      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: <RCTMS> TYPE RCTMS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RCTMS
*  INTO TABLE @DATA(IT_RCTMS2).
*--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_RCTMS INDEX 1 INTO DATA(WA_RCTMS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RCTMS ASSIGNING <RCTMS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RCTMS>-MNAME = 1.
<RCTMS>-MWERT = 1.
<RCTMS>-MWERT1 = 1.
<RCTMS>-TX206 = 1.
<RCTMS>-MULTI = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RCTMS-SPRAS, sy-vline,
WA_RCTMS-NEUTR, sy-vline,
WA_RCTMS-A_SPRAS, sy-vline,
WA_RCTMS-EMERK, sy-vline,
WA_RCTMS-EWERT, sy-vline,
WA_RCTMS-VGART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RCTMS 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_RCTMS 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_RCTMS INTO WA_RCTMS. *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_RCTMS-SPRAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCTMS-SPRAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field A_SPRAS CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_RCTMS-A_SPRAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCTMS-A_SPRAS.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit MATN1, internal->external for field TYPNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_RCTMS-TYPNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCTMS-TYPNR.
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_RCTMS_STR,
MNAME TYPE STRING,
MWERT TYPE STRING,
MWERT1 TYPE STRING,
TX206 TYPE STRING,
MULTI TYPE STRING,
SPRAS TYPE STRING,
NEUTR TYPE STRING,
A_SPRAS TYPE STRING,
EMERK TYPE STRING,
EWERT TYPE STRING,
VGART TYPE STRING,
STUFE TYPE STRING,
CLASS TYPE STRING,
KSCHL TYPE STRING,
MERBE TYPE STRING,
STEXT TYPE STRING,
EINHT TYPE STRING,
EXCLS TYPE STRING,
INCLS TYPE STRING,
CPS TYPE STRING,
MMERB TYPE STRING,
KLASS TYPE STRING,
KLTXT TYPE STRING,
UATBEZ TYPE STRING,
UATWRT TYPE STRING,
EACTU TYPE STRING,
EMAXI TYPE STRING,
MEMUS TYPE STRING,
MEOPT TYPE STRING,
MEMIT TYPE STRING,
MEOHN TYPE STRING,
MEMMV TYPE STRING,
MEZUM TYPE STRING,
MEMAS TYPE STRING,
DOBJD TYPE STRING,
DMRKM TYPE STRING,
DMWRT TYPE STRING,
DPAGE TYPE STRING,
DMABW TYPE STRING,
SEL01 TYPE STRING,
SEL02 TYPE STRING,
STATU TYPE STRING,
STTXT TYPE STRING,
TX200 TYPE STRING,
TX201 TYPE STRING,
TX202 TYPE STRING,
TX203 TYPE STRING,
TX204 TYPE STRING,
TX205 TYPE STRING,
OMSEL TYPE STRING,
OMNAM TYPE STRING,
MINFO TYPE STRING,
AINFO TYPE STRING,
UDINKB TYPE STRING,
FDINKB TYPE STRING,
MKENN TYPE STRING,
UOBLIG TYPE STRING,
FOBLIG TYPE STRING,
ATERF TYPE STRING,
MBEZW TYPE STRING,
WBEZW TYPE STRING,
NLANG TYPE STRING,
ABLTX TYPE STRING,
DVUEB TYPE STRING,
DVBST TYPE STRING,
DVRST TYPE STRING,
DVSET TYPE STRING,
DVMAR TYPE STRING,
PBG01 TYPE STRING,
PBG02 TYPE STRING,
PBG03 TYPE STRING,
PBG04 TYPE STRING,
PBG05 TYPE STRING,
PBG06 TYPE STRING,
PBG07 TYPE STRING,
PBG08 TYPE STRING,
PBG09 TYPE STRING,
PBG10 TYPE STRING,
PBG11 TYPE STRING,
PBG12 TYPE STRING,
PBG13 TYPE STRING,
PBG14 TYPE STRING,
PBG15 TYPE STRING,
LCHAR TYPE STRING,
LVALU TYPE STRING,
LCHVA TYPE STRING,
PBH01 TYPE STRING,
PBH02 TYPE STRING,
PBH03 TYPE STRING,
PBH04 TYPE STRING,
VFMTA TYPE STRING,
VFMTN TYPE STRING,
VFMTO TYPE STRING,
TYPAN TYPE STRING,
TYPPE TYPE STRING,
TYPST TYPE STRING,
TYPSK TYPE STRING,
TYPUM TYPE STRING,
PRSAN TYPE STRING,
PRSPE TYPE STRING,
CONFA TYPE STRING,
CONFI TYPE STRING,
CONFS TYPE STRING,
ATWRT TYPE STRING,
ATWTB TYPE STRING,
KZVOR TYPE STRING,
KZBEZ TYPE STRING,
KZDOK TYPE STRING,
KZTXT TYPE STRING,
KZINK TYPE STRING,
KZWHY TYPE STRING,
COLMN_FREE TYPE STRING,
KZTXT_C TYPE STRING,
KZDOK_C TYPE STRING,
KZBEZ_C TYPE STRING,
KZINK_C TYPE STRING,
DATUV TYPE STRING,
AENNR TYPE STRING,
VKOND TYPE STRING,
PRICE TYPE STRING,
CE_FLBOOL TYPE STRING,
TYPNR TYPE STRING,
TYPTX TYPE STRING,END OF T_EKKO_STR. DATA: WA_RCTMS_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_RCTMS_STR-MNAME sy-vline
WA_RCTMS_STR-MWERT sy-vline
WA_RCTMS_STR-MWERT1 sy-vline
WA_RCTMS_STR-TX206 sy-vline
WA_RCTMS_STR-MULTI sy-vline
WA_RCTMS_STR-SPRAS sy-vline
WA_RCTMS_STR-NEUTR sy-vline
WA_RCTMS_STR-A_SPRAS sy-vline
WA_RCTMS_STR-EMERK sy-vline
WA_RCTMS_STR-EWERT sy-vline
WA_RCTMS_STR-VGART sy-vline
WA_RCTMS_STR-STUFE sy-vline
WA_RCTMS_STR-CLASS sy-vline
WA_RCTMS_STR-KSCHL sy-vline
WA_RCTMS_STR-MERBE sy-vline
WA_RCTMS_STR-STEXT sy-vline
WA_RCTMS_STR-EINHT sy-vline
WA_RCTMS_STR-EXCLS sy-vline
WA_RCTMS_STR-INCLS sy-vline
WA_RCTMS_STR-CPS sy-vline
WA_RCTMS_STR-MMERB sy-vline
WA_RCTMS_STR-KLASS sy-vline
WA_RCTMS_STR-KLTXT sy-vline
WA_RCTMS_STR-UATBEZ sy-vline
WA_RCTMS_STR-UATWRT sy-vline
WA_RCTMS_STR-EACTU sy-vline
WA_RCTMS_STR-EMAXI sy-vline
WA_RCTMS_STR-MEMUS sy-vline
WA_RCTMS_STR-MEOPT sy-vline
WA_RCTMS_STR-MEMIT sy-vline
WA_RCTMS_STR-MEOHN sy-vline
WA_RCTMS_STR-MEMMV sy-vline
WA_RCTMS_STR-MEZUM sy-vline
WA_RCTMS_STR-MEMAS sy-vline
WA_RCTMS_STR-DOBJD sy-vline
WA_RCTMS_STR-DMRKM sy-vline
WA_RCTMS_STR-DMWRT sy-vline
WA_RCTMS_STR-DPAGE sy-vline
WA_RCTMS_STR-DMABW sy-vline
WA_RCTMS_STR-SEL01 sy-vline
WA_RCTMS_STR-SEL02 sy-vline
WA_RCTMS_STR-STATU sy-vline
WA_RCTMS_STR-STTXT sy-vline
WA_RCTMS_STR-TX200 sy-vline
WA_RCTMS_STR-TX201 sy-vline
WA_RCTMS_STR-TX202 sy-vline
WA_RCTMS_STR-TX203 sy-vline
WA_RCTMS_STR-TX204 sy-vline
WA_RCTMS_STR-TX205 sy-vline
WA_RCTMS_STR-OMSEL sy-vline
WA_RCTMS_STR-OMNAM sy-vline
WA_RCTMS_STR-MINFO sy-vline
WA_RCTMS_STR-AINFO sy-vline
WA_RCTMS_STR-UDINKB sy-vline
WA_RCTMS_STR-FDINKB sy-vline
WA_RCTMS_STR-MKENN sy-vline
WA_RCTMS_STR-UOBLIG sy-vline
WA_RCTMS_STR-FOBLIG sy-vline
WA_RCTMS_STR-ATERF sy-vline
WA_RCTMS_STR-MBEZW sy-vline
WA_RCTMS_STR-WBEZW sy-vline
WA_RCTMS_STR-NLANG sy-vline
WA_RCTMS_STR-ABLTX sy-vline
WA_RCTMS_STR-DVUEB sy-vline
WA_RCTMS_STR-DVBST sy-vline
WA_RCTMS_STR-DVRST sy-vline
WA_RCTMS_STR-DVSET sy-vline
WA_RCTMS_STR-DVMAR sy-vline
WA_RCTMS_STR-PBG01 sy-vline
WA_RCTMS_STR-PBG02 sy-vline
WA_RCTMS_STR-PBG03 sy-vline
WA_RCTMS_STR-PBG04 sy-vline
WA_RCTMS_STR-PBG05 sy-vline
WA_RCTMS_STR-PBG06 sy-vline
WA_RCTMS_STR-PBG07 sy-vline
WA_RCTMS_STR-PBG08 sy-vline
WA_RCTMS_STR-PBG09 sy-vline
WA_RCTMS_STR-PBG10 sy-vline
WA_RCTMS_STR-PBG11 sy-vline
WA_RCTMS_STR-PBG12 sy-vline
WA_RCTMS_STR-PBG13 sy-vline
WA_RCTMS_STR-PBG14 sy-vline
WA_RCTMS_STR-PBG15 sy-vline
WA_RCTMS_STR-LCHAR sy-vline
WA_RCTMS_STR-LVALU sy-vline
WA_RCTMS_STR-LCHVA sy-vline
WA_RCTMS_STR-PBH01 sy-vline
WA_RCTMS_STR-PBH02 sy-vline
WA_RCTMS_STR-PBH03 sy-vline
WA_RCTMS_STR-PBH04 sy-vline
WA_RCTMS_STR-VFMTA sy-vline
WA_RCTMS_STR-VFMTN sy-vline
WA_RCTMS_STR-VFMTO sy-vline
WA_RCTMS_STR-TYPAN sy-vline
WA_RCTMS_STR-TYPPE sy-vline
WA_RCTMS_STR-TYPST sy-vline
WA_RCTMS_STR-TYPSK sy-vline
WA_RCTMS_STR-TYPUM sy-vline
WA_RCTMS_STR-PRSAN sy-vline
WA_RCTMS_STR-PRSPE sy-vline
WA_RCTMS_STR-CONFA sy-vline
WA_RCTMS_STR-CONFI sy-vline
WA_RCTMS_STR-CONFS sy-vline
WA_RCTMS_STR-ATWRT sy-vline
WA_RCTMS_STR-ATWTB sy-vline
WA_RCTMS_STR-KZVOR sy-vline
WA_RCTMS_STR-KZBEZ sy-vline
WA_RCTMS_STR-KZDOK sy-vline
WA_RCTMS_STR-KZTXT sy-vline
WA_RCTMS_STR-KZINK sy-vline
WA_RCTMS_STR-KZWHY sy-vline
WA_RCTMS_STR-COLMN_FREE sy-vline
WA_RCTMS_STR-KZTXT_C sy-vline
WA_RCTMS_STR-KZDOK_C sy-vline
WA_RCTMS_STR-KZBEZ_C sy-vline
WA_RCTMS_STR-KZINK_C sy-vline
WA_RCTMS_STR-DATUV sy-vline
WA_RCTMS_STR-AENNR sy-vline
WA_RCTMS_STR-VKOND sy-vline
WA_RCTMS_STR-PRICE sy-vline
WA_RCTMS_STR-CE_FLBOOL sy-vline
WA_RCTMS_STR-TYPNR sy-vline
WA_RCTMS_STR-TYPTX sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.