ABAP Select data from SAP table RMF69 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 RMF69 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 RMF69. 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 RMF69 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_RMF69 TYPE STANDARD TABLE OF RMF69,
      WA_RMF69 TYPE RMF69,
      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: <RMF69> TYPE RMF69.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RMF69
*  INTO TABLE @DATA(IT_RMF692).
*--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_RMF69 INDEX 1 INTO DATA(WA_RMF692).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RMF69 ASSIGNING <RMF69>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RMF69>-AUSWAHL = 1.
<RMF69>-ENTRAKT = 1.
<RMF69>-ENTRGES = 1.
<RMF69>-XBEZ6 = 1.
<RMF69>-XBEZ10 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RMF69-XKBEZ1, sy-vline,
WA_RMF69-XKBEZ2, sy-vline,
WA_RMF69-XKBEZ3, sy-vline,
WA_RMF69-XKBEZ4, sy-vline,
WA_RMF69-XKBEZ5, sy-vline,
WA_RMF69-XKBEZ6, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RMF69 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_RMF69 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_RMF69 INTO WA_RMF69. *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_RMF69_STR,
AUSWAHL TYPE STRING,
ENTRAKT TYPE STRING,
ENTRGES TYPE STRING,
XBEZ6 TYPE STRING,
XBEZ10 TYPE STRING,
XKBEZ1 TYPE STRING,
XKBEZ2 TYPE STRING,
XKBEZ3 TYPE STRING,
XKBEZ4 TYPE STRING,
XKBEZ5 TYPE STRING,
XKBEZ6 TYPE STRING,
XKBEZ7 TYPE STRING,
XKBEZ8 TYPE STRING,
XKBEZ9 TYPE STRING,
XMBEZ1 TYPE STRING,
XMBEZ2 TYPE STRING,
SNOTIZ TYPE STRING,
XNOTIZ TYPE STRING,
TNOTIZ TYPE STRING,
ENTRACT TYPE STRING,
ENTRSUM TYPE STRING,
SWHR TYPE STRING,
ATAGE TYPE STRING,
PAGEACT TYPE STRING,
PAGESUM TYPE STRING,
DAUFSETZ TYPE STRING,
SAENBUC TYPE STRING,
DAUSG TYPE STRING,
XDAUSG TYPE STRING,
BAUSG1 TYPE STRING,
XBAUSG1 TYPE STRING,
BAUSG2 TYPE STRING,
XBAUSG2 TYPE STRING,
JMUSSEING TYPE STRING,
JKANNEING TYPE STRING,
JANZEIGE TYPE STRING,
JAUSBLEND TYPE STRING,
XEINTRAG TYPE STRING,
XREFBEW TYPE STRING,
DABGRENZ TYPE STRING,
SABGRVERF TYPE STRING,
BBUCHWERT TYPE STRING,
JEDIT TYPE STRING,
SOPTION TYPE STRING,
BITER TYPE STRING,
XEXCLVON TYPE STRING,
XINCLBIS TYPE STRING,
SUDEC TYPE STRING,
SSKZB TYPE STRING,
SDVNR TYPE STRING,
SUABNDV TYPE STRING,
DBEGDAT TYPE STRING,
DENDDAT TYPE STRING,
TABIX TYPE STRING,
BUKRS TYPE STRING,
KZBAVF TYPE STRING,
XULTVON TYPE STRING,
XULTBIS TYPE STRING,
UEDIT TYPE STRING,
SSKZF TYPE STRING,
SLISTE TYPE STRING,
XBST TYPE STRING,
XTLG TYPE STRING,
XZUAB TYPE STRING,
XBAV TYPE STRING,
XFAMT TYPE STRING,
FELDBEZ10 TYPE STRING,
FELDBEZ15 TYPE STRING,
XMBEZ3 TYPE STRING,
XMBEZ4 TYPE STRING,
XTEXT50 TYPE STRING,
XMBEZ5 TYPE STRING,
XMBEZ6 TYPE STRING,
XMBEZ7 TYPE STRING,
KZBF TYPE STRING,
SORTTYP TYPE STRING,
SLTYP TYPE STRING,
GSSORT TYPE STRING,
XTEXT100 TYPE STRING,
SDV TYPE STRING,
SUABT TYPE STRING,
JANEIN TYPE STRING,
XPROT TYPE STRING,
XDUEVA TYPE STRING,
XPFAD TYPE STRING,
JSINCL TYPE STRING,
JSFINCL TYPE STRING,
RQUARTAL TYPE STRING,
BUKRSLOW TYPE STRING,
XTREU1 TYPE STRING,
HALFYEAR TYPE STRING,
TEST1 TYPE STRING,
XLBEZ1 TYPE STRING,
XLBEZ2 TYPE STRING,
XLBEZ3 TYPE STRING,
WAERS TYPE STRING,END OF T_EKKO_STR. DATA: WA_RMF69_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_RMF69_STR-AUSWAHL sy-vline
WA_RMF69_STR-ENTRAKT sy-vline
WA_RMF69_STR-ENTRGES sy-vline
WA_RMF69_STR-XBEZ6 sy-vline
WA_RMF69_STR-XBEZ10 sy-vline
WA_RMF69_STR-XKBEZ1 sy-vline
WA_RMF69_STR-XKBEZ2 sy-vline
WA_RMF69_STR-XKBEZ3 sy-vline
WA_RMF69_STR-XKBEZ4 sy-vline
WA_RMF69_STR-XKBEZ5 sy-vline
WA_RMF69_STR-XKBEZ6 sy-vline
WA_RMF69_STR-XKBEZ7 sy-vline
WA_RMF69_STR-XKBEZ8 sy-vline
WA_RMF69_STR-XKBEZ9 sy-vline
WA_RMF69_STR-XMBEZ1 sy-vline
WA_RMF69_STR-XMBEZ2 sy-vline
WA_RMF69_STR-SNOTIZ sy-vline
WA_RMF69_STR-XNOTIZ sy-vline
WA_RMF69_STR-TNOTIZ sy-vline
WA_RMF69_STR-ENTRACT sy-vline
WA_RMF69_STR-ENTRSUM sy-vline
WA_RMF69_STR-SWHR sy-vline
WA_RMF69_STR-ATAGE sy-vline
WA_RMF69_STR-PAGEACT sy-vline
WA_RMF69_STR-PAGESUM sy-vline
WA_RMF69_STR-DAUFSETZ sy-vline
WA_RMF69_STR-SAENBUC sy-vline
WA_RMF69_STR-DAUSG sy-vline
WA_RMF69_STR-XDAUSG sy-vline
WA_RMF69_STR-BAUSG1 sy-vline
WA_RMF69_STR-XBAUSG1 sy-vline
WA_RMF69_STR-BAUSG2 sy-vline
WA_RMF69_STR-XBAUSG2 sy-vline
WA_RMF69_STR-JMUSSEING sy-vline
WA_RMF69_STR-JKANNEING sy-vline
WA_RMF69_STR-JANZEIGE sy-vline
WA_RMF69_STR-JAUSBLEND sy-vline
WA_RMF69_STR-XEINTRAG sy-vline
WA_RMF69_STR-XREFBEW sy-vline
WA_RMF69_STR-DABGRENZ sy-vline
WA_RMF69_STR-SABGRVERF sy-vline
WA_RMF69_STR-BBUCHWERT sy-vline
WA_RMF69_STR-JEDIT sy-vline
WA_RMF69_STR-SOPTION sy-vline
WA_RMF69_STR-BITER sy-vline
WA_RMF69_STR-XEXCLVON sy-vline
WA_RMF69_STR-XINCLBIS sy-vline
WA_RMF69_STR-SUDEC sy-vline
WA_RMF69_STR-SSKZB sy-vline
WA_RMF69_STR-SDVNR sy-vline
WA_RMF69_STR-SUABNDV sy-vline
WA_RMF69_STR-DBEGDAT sy-vline
WA_RMF69_STR-DENDDAT sy-vline
WA_RMF69_STR-TABIX sy-vline
WA_RMF69_STR-BUKRS sy-vline
WA_RMF69_STR-KZBAVF sy-vline
WA_RMF69_STR-XULTVON sy-vline
WA_RMF69_STR-XULTBIS sy-vline
WA_RMF69_STR-UEDIT sy-vline
WA_RMF69_STR-SSKZF sy-vline
WA_RMF69_STR-SLISTE sy-vline
WA_RMF69_STR-XBST sy-vline
WA_RMF69_STR-XTLG sy-vline
WA_RMF69_STR-XZUAB sy-vline
WA_RMF69_STR-XBAV sy-vline
WA_RMF69_STR-XFAMT sy-vline
WA_RMF69_STR-FELDBEZ10 sy-vline
WA_RMF69_STR-FELDBEZ15 sy-vline
WA_RMF69_STR-XMBEZ3 sy-vline
WA_RMF69_STR-XMBEZ4 sy-vline
WA_RMF69_STR-XTEXT50 sy-vline
WA_RMF69_STR-XMBEZ5 sy-vline
WA_RMF69_STR-XMBEZ6 sy-vline
WA_RMF69_STR-XMBEZ7 sy-vline
WA_RMF69_STR-KZBF sy-vline
WA_RMF69_STR-SORTTYP sy-vline
WA_RMF69_STR-SLTYP sy-vline
WA_RMF69_STR-GSSORT sy-vline
WA_RMF69_STR-XTEXT100 sy-vline
WA_RMF69_STR-SDV sy-vline
WA_RMF69_STR-SUABT sy-vline
WA_RMF69_STR-JANEIN sy-vline
WA_RMF69_STR-XPROT sy-vline
WA_RMF69_STR-XDUEVA sy-vline
WA_RMF69_STR-XPFAD sy-vline
WA_RMF69_STR-JSINCL sy-vline
WA_RMF69_STR-JSFINCL sy-vline
WA_RMF69_STR-RQUARTAL sy-vline
WA_RMF69_STR-BUKRSLOW sy-vline
WA_RMF69_STR-XTREU1 sy-vline
WA_RMF69_STR-HALFYEAR sy-vline
WA_RMF69_STR-TEST1 sy-vline
WA_RMF69_STR-XLBEZ1 sy-vline
WA_RMF69_STR-XLBEZ2 sy-vline
WA_RMF69_STR-XLBEZ3 sy-vline
WA_RMF69_STR-WAERS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.