ABAP Select data from SAP table /CEERE/RIZENIFU 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 /CEERE/RIZENIFU 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 /CEERE/RIZENIFU. 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 /CEERE/RIZENIFU 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_/CEERE/RIZENIFU TYPE STANDARD TABLE OF /CEERE/RIZENIFU,
      WA_/CEERE/RIZENIFU TYPE /CEERE/RIZENIFU,
      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: </CEERE/RIZENIFU> TYPE /CEERE/RIZENIFU.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /CEERE/RIZENIFU
  INTO TABLE IT_/CEERE/RIZENIFU.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /CEERE/RIZENIFU
*  INTO TABLE @DATA(IT_/CEERE/RIZENIFU2).
*--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_/CEERE/RIZENIFU INDEX 1 INTO DATA(WA_/CEERE/RIZENIFU2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/CEERE/RIZENIFU ASSIGNING </CEERE/RIZENIFU>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</CEERE/RIZENIFU>-MANDT = 1.
</CEERE/RIZENIFU>-BUKRS = 1.
</CEERE/RIZENIFU>-KODFU = 1.
</CEERE/RIZENIFU>-GJAHR = 1.
</CEERE/RIZENIFU>-XACTGJAHR = 1.
ENDLOOP.

LOOP AT IT_/CEERE/RIZENIFU INTO WA_/CEERE/RIZENIFU.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/CEERE/RIZENIFU-WAERS, sy-vline,
WA_/CEERE/RIZENIFU-X54_O, sy-vline,
WA_/CEERE/RIZENIFU-X54, sy-vline,
WA_/CEERE/RIZENIFU-X54_B, sy-vline,
WA_/CEERE/RIZENIFU-X55_O, sy-vline,
WA_/CEERE/RIZENIFU-X55, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/CEERE/RIZENIFU 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_/CEERE/RIZENIFU 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_/CEERE/RIZENIFU INTO WA_/CEERE/RIZENIFU. *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 KODFU CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/CEERE/RIZENIFU-KODFU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEERE/RIZENIFU-KODFU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_/CEERE/RIZENIFU-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/CEERE/RIZENIFU-GJAHR.
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_/CEERE/RIZENIFU_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
KODFU TYPE STRING,
GJAHR TYPE STRING,
XACTGJAHR TYPE STRING,
WAERS TYPE STRING,
X54_O TYPE STRING,
X54 TYPE STRING,
X54_B TYPE STRING,
X55_O TYPE STRING,
X55 TYPE STRING,
X55_B TYPE STRING,
X56_O TYPE STRING,
X56 TYPE STRING,
X56_B TYPE STRING,
XKO12 TYPE STRING,
X58_1 TYPE STRING,
X58_2 TYPE STRING,
X59_1 TYPE STRING,
X59_2 TYPE STRING,
X59_3 TYPE STRING,
X59_4 TYPE STRING,
DATVYPOCTU TYPE STRING,
CASVYPOCTU TYPE STRING,
STAVYPOCTU TYPE STRING,
STAVVYPOCTU_OP TYPE STRING,
STAVVYPOCTU_DO TYPE STRING,
USERVYPOCTU TYPE STRING,
LOG_HNDL TYPE STRING,
BLOCKVYPOCTU TYPE STRING,
ZMENAKMEN TYPE STRING,
DATZMENYKMEN TYPE STRING,
CASZMENYKMEN TYPE STRING,
USERZMENYKMEN TYPE STRING,
PRIZNANI TYPE STRING,
DATPRIZNANI TYPE STRING,
CASPRIZNANI TYPE STRING,
USERPRIZNANI TYPE STRING,
ZJIST_TEXT TYPE STRING,
ZJIST_DATE TYPE STRING,
OPR_PRIJMENI TYPE STRING,
OPR_JMENO TYPE STRING,
OPR_TITUL TYPE STRING,
OPR_TELEF TYPE STRING,
OPR_EMAIL TYPE STRING,
OPR_TYP TYPE STRING,
OPR_SET TYPE STRING,
OPR_POSTAVENI TYPE STRING,
MBUKR TYPE STRING,
SEST_PRIJMENI TYPE STRING,
SEST_JMENO TYPE STRING,
SEST_TITUL TYPE STRING,
SEST_TELEF TYPE STRING,
SEST_EMAIL TYPE STRING,
SEST_UMRTI TYPE STRING,
ZAST_DAT_NAR TYPE STRING,
ZAST_EV_CISLO TYPE STRING,
ZAST_JMENO TYPE STRING,
ZAST_PRIJMENI TYPE STRING,
ZAST_IC TYPE STRING,
ZAST_TYP TYPE STRING,
STAVVYPOCTU_EO TYPE STRING,END OF T_EKKO_STR. DATA: WA_/CEERE/RIZENIFU_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_/CEERE/RIZENIFU_STR-MANDT sy-vline
WA_/CEERE/RIZENIFU_STR-BUKRS sy-vline
WA_/CEERE/RIZENIFU_STR-KODFU sy-vline
WA_/CEERE/RIZENIFU_STR-GJAHR sy-vline
WA_/CEERE/RIZENIFU_STR-XACTGJAHR sy-vline
WA_/CEERE/RIZENIFU_STR-WAERS sy-vline
WA_/CEERE/RIZENIFU_STR-X54_O sy-vline
WA_/CEERE/RIZENIFU_STR-X54 sy-vline
WA_/CEERE/RIZENIFU_STR-X54_B sy-vline
WA_/CEERE/RIZENIFU_STR-X55_O sy-vline
WA_/CEERE/RIZENIFU_STR-X55 sy-vline
WA_/CEERE/RIZENIFU_STR-X55_B sy-vline
WA_/CEERE/RIZENIFU_STR-X56_O sy-vline
WA_/CEERE/RIZENIFU_STR-X56 sy-vline
WA_/CEERE/RIZENIFU_STR-X56_B sy-vline
WA_/CEERE/RIZENIFU_STR-XKO12 sy-vline
WA_/CEERE/RIZENIFU_STR-X58_1 sy-vline
WA_/CEERE/RIZENIFU_STR-X58_2 sy-vline
WA_/CEERE/RIZENIFU_STR-X59_1 sy-vline
WA_/CEERE/RIZENIFU_STR-X59_2 sy-vline
WA_/CEERE/RIZENIFU_STR-X59_3 sy-vline
WA_/CEERE/RIZENIFU_STR-X59_4 sy-vline
WA_/CEERE/RIZENIFU_STR-DATVYPOCTU sy-vline
WA_/CEERE/RIZENIFU_STR-CASVYPOCTU sy-vline
WA_/CEERE/RIZENIFU_STR-STAVYPOCTU sy-vline
WA_/CEERE/RIZENIFU_STR-STAVVYPOCTU_OP sy-vline
WA_/CEERE/RIZENIFU_STR-STAVVYPOCTU_DO sy-vline
WA_/CEERE/RIZENIFU_STR-USERVYPOCTU sy-vline
WA_/CEERE/RIZENIFU_STR-LOG_HNDL sy-vline
WA_/CEERE/RIZENIFU_STR-BLOCKVYPOCTU sy-vline
WA_/CEERE/RIZENIFU_STR-ZMENAKMEN sy-vline
WA_/CEERE/RIZENIFU_STR-DATZMENYKMEN sy-vline
WA_/CEERE/RIZENIFU_STR-CASZMENYKMEN sy-vline
WA_/CEERE/RIZENIFU_STR-USERZMENYKMEN sy-vline
WA_/CEERE/RIZENIFU_STR-PRIZNANI sy-vline
WA_/CEERE/RIZENIFU_STR-DATPRIZNANI sy-vline
WA_/CEERE/RIZENIFU_STR-CASPRIZNANI sy-vline
WA_/CEERE/RIZENIFU_STR-USERPRIZNANI sy-vline
WA_/CEERE/RIZENIFU_STR-ZJIST_TEXT sy-vline
WA_/CEERE/RIZENIFU_STR-ZJIST_DATE sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_PRIJMENI sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_JMENO sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_TITUL sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_TELEF sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_EMAIL sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_TYP sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_SET sy-vline
WA_/CEERE/RIZENIFU_STR-OPR_POSTAVENI sy-vline
WA_/CEERE/RIZENIFU_STR-MBUKR sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_PRIJMENI sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_JMENO sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_TITUL sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_TELEF sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_EMAIL sy-vline
WA_/CEERE/RIZENIFU_STR-SEST_UMRTI sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_DAT_NAR sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_EV_CISLO sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_JMENO sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_PRIJMENI sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_IC sy-vline
WA_/CEERE/RIZENIFU_STR-ZAST_TYP sy-vline
WA_/CEERE/RIZENIFU_STR-STAVVYPOCTU_EO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.