ABAP Select data from SAP table RNAKRS1 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 RNAKRS1 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 RNAKRS1. 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 RNAKRS1 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_RNAKRS1 TYPE STANDARD TABLE OF RNAKRS1, WA_RNAKRS1 TYPE RNAKRS1, 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: <RNAKRS1> TYPE RNAKRS1. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RNAKRS1. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RNAKRS1 INTO TABLE IT_RNAKRS1. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RNAKRS1 * INTO TABLE @DATA(IT_RNAKRS12). *--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_RNAKRS1 INDEX 1 INTO DATA(WA_RNAKRS12). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RNAKRS1 ASSIGNING <RNAKRS1>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNAKRS1>-STATU = 1.
<RNAKRS1>-KHNUM = 1.
<RNAKRS1>-RES01 = 1.
<RNAKRS1>-FALNR = 1.
<RNAKRS1>-GBDAT = 1.
ENDLOOP. LOOP AT IT_RNAKRS1 INTO WA_RNAKRS1. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RNAKRS1-GSCHL, sy-vline,
WA_RNAKRS1-NATIO, sy-vline,
WA_RNAKRS1-LAND, sy-vline,
WA_RNAKRS1-PSTLZ, sy-vline,
WA_RNAKRS1-AUART, sy-vline,
WA_RNAKRS1-V1FCO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNAKRS1 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_RNAKRS1 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_RNAKRS1 INTO WA_RNAKRS1. *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 FALNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNAKRS1-FALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNAKRS1-FALNR.
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_RNAKRS1_STR,
STATU TYPE STRING,
KHNUM TYPE STRING,
RES01 TYPE STRING,
FALNR TYPE STRING,
GBDAT TYPE STRING,
GSCHL TYPE STRING,
NATIO TYPE STRING,
LAND TYPE STRING,
PSTLZ TYPE STRING,
AUART TYPE STRING,
V1FCO TYPE STRING,
V1SCO TYPE STRING,
V1DAT TYPE STRING,
V2FCO TYPE STRING,
V2SCO TYPE STRING,
V2DAT TYPE STRING,
V3FCO TYPE STRING,
V3SCO TYPE STRING,
V3DAT TYPE STRING,
V4FCO TYPE STRING,
V4SCO TYPE STRING,
V4DAT TYPE STRING,
V5FCO TYPE STRING,
V5SCO TYPE STRING,
V5DAT TYPE STRING,
ETART TYPE STRING,
ETDAT TYPE STRING,
HDIAG TYPE STRING,
UDIA1 TYPE STRING,
UDIA2 TYPE STRING,
UDIA3 TYPE STRING,
UDIA4 TYPE STRING,
UDIA5 TYPE STRING,
UDIA6 TYPE STRING,
UDIA7 TYPE STRING,
UDIA8 TYPE STRING,
UDIA9 TYPE STRING,
LEIS1 TYPE STRING,
LMNG1 TYPE STRING,
LEIS2 TYPE STRING,
LMNG2 TYPE STRING,
LEIS3 TYPE STRING,
LMNG3 TYPE STRING,
LEIS4 TYPE STRING,
LMNG4 TYPE STRING,
LEIS5 TYPE STRING,
LMNG5 TYPE STRING,
LEIS6 TYPE STRING,
LMNG6 TYPE STRING,
LEIS7 TYPE STRING,
LMNG7 TYPE STRING,
LEIS8 TYPE STRING,
LMNG8 TYPE STRING,
LEIS9 TYPE STRING,
LMNG9 TYPE STRING,
SVNUM TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNAKRS1_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_RNAKRS1_STR-STATU sy-vline
WA_RNAKRS1_STR-KHNUM sy-vline
WA_RNAKRS1_STR-RES01 sy-vline
WA_RNAKRS1_STR-FALNR sy-vline
WA_RNAKRS1_STR-GBDAT sy-vline
WA_RNAKRS1_STR-GSCHL sy-vline
WA_RNAKRS1_STR-NATIO sy-vline
WA_RNAKRS1_STR-LAND sy-vline
WA_RNAKRS1_STR-PSTLZ sy-vline
WA_RNAKRS1_STR-AUART sy-vline
WA_RNAKRS1_STR-V1FCO sy-vline
WA_RNAKRS1_STR-V1SCO sy-vline
WA_RNAKRS1_STR-V1DAT sy-vline
WA_RNAKRS1_STR-V2FCO sy-vline
WA_RNAKRS1_STR-V2SCO sy-vline
WA_RNAKRS1_STR-V2DAT sy-vline
WA_RNAKRS1_STR-V3FCO sy-vline
WA_RNAKRS1_STR-V3SCO sy-vline
WA_RNAKRS1_STR-V3DAT sy-vline
WA_RNAKRS1_STR-V4FCO sy-vline
WA_RNAKRS1_STR-V4SCO sy-vline
WA_RNAKRS1_STR-V4DAT sy-vline
WA_RNAKRS1_STR-V5FCO sy-vline
WA_RNAKRS1_STR-V5SCO sy-vline
WA_RNAKRS1_STR-V5DAT sy-vline
WA_RNAKRS1_STR-ETART sy-vline
WA_RNAKRS1_STR-ETDAT sy-vline
WA_RNAKRS1_STR-HDIAG sy-vline
WA_RNAKRS1_STR-UDIA1 sy-vline
WA_RNAKRS1_STR-UDIA2 sy-vline
WA_RNAKRS1_STR-UDIA3 sy-vline
WA_RNAKRS1_STR-UDIA4 sy-vline
WA_RNAKRS1_STR-UDIA5 sy-vline
WA_RNAKRS1_STR-UDIA6 sy-vline
WA_RNAKRS1_STR-UDIA7 sy-vline
WA_RNAKRS1_STR-UDIA8 sy-vline
WA_RNAKRS1_STR-UDIA9 sy-vline
WA_RNAKRS1_STR-LEIS1 sy-vline
WA_RNAKRS1_STR-LMNG1 sy-vline
WA_RNAKRS1_STR-LEIS2 sy-vline
WA_RNAKRS1_STR-LMNG2 sy-vline
WA_RNAKRS1_STR-LEIS3 sy-vline
WA_RNAKRS1_STR-LMNG3 sy-vline
WA_RNAKRS1_STR-LEIS4 sy-vline
WA_RNAKRS1_STR-LMNG4 sy-vline
WA_RNAKRS1_STR-LEIS5 sy-vline
WA_RNAKRS1_STR-LMNG5 sy-vline
WA_RNAKRS1_STR-LEIS6 sy-vline
WA_RNAKRS1_STR-LMNG6 sy-vline
WA_RNAKRS1_STR-LEIS7 sy-vline
WA_RNAKRS1_STR-LMNG7 sy-vline
WA_RNAKRS1_STR-LEIS8 sy-vline
WA_RNAKRS1_STR-LMNG8 sy-vline
WA_RNAKRS1_STR-LEIS9 sy-vline
WA_RNAKRS1_STR-LMNG9 sy-vline
WA_RNAKRS1_STR-SVNUM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.