ABAP Select data from SAP table RN1PWTL 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 RN1PWTL 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 RN1PWTL. 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 RN1PWTL 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_RN1PWTL TYPE STANDARD TABLE OF RN1PWTL, WA_RN1PWTL TYPE RN1PWTL, 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: <RN1PWTL> TYPE RN1PWTL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RN1PWTL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RN1PWTL INTO TABLE IT_RN1PWTL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RN1PWTL * INTO TABLE @DATA(IT_RN1PWTL2). *--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_RN1PWTL INDEX 1 INTO DATA(WA_RN1PWTL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RN1PWTL ASSIGNING <RN1PWTL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RN1PWTL>-MANDT = 1.
<RN1PWTL>-EINRI = 1.
<RN1PWTL>-FALNR = 1.
<RN1PWTL>-LFDNR = 1.
<RN1PWTL>-LNRAPP = 1.
ENDLOOP. LOOP AT IT_RN1PWTL INTO WA_RN1PWTL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RN1PWTL-NNAME, sy-vline,
WA_RN1PWTL-VNAME, sy-vline,
WA_RN1PWTL-GBDAT, sy-vline,
WA_RN1PWTL-GSCHL, sy-vline,
WA_RN1PWTL-GSCHLE, sy-vline,
WA_RN1PWTL-PATNR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RN1PWTL 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_RN1PWTL 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_RN1PWTL INTO WA_RN1PWTL. *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 EINRI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-EINRI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-EINRI.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field FALNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-FALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-FALNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field LNRAPP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-LNRAPP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-LNRAPP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field PATNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-PATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-PATNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field PATALTER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-PATALTER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-PATALTER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field VONOE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-VONOE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-VONOE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field UNFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-UNFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-UNFNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ORGFA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-ORGFA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-ORGFA.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ORGPF CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-ORGPF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-ORGPF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AKT_AMB_OE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-AKT_AMB_OE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-AKT_AMB_OE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field BEH_ARZT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-BEH_ARZT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-BEH_ARZT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field UNFALL_NR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-UNFALL_NR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-UNFALL_NR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ZIMMR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PWTL-ZIMMR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PWTL-ZIMMR.
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_RN1PWTL_STR,
MANDT TYPE STRING,
EINRI TYPE STRING,
FALNR TYPE STRING,
LFDNR TYPE STRING,
LNRAPP TYPE STRING,
NNAME TYPE STRING,
VNAME TYPE STRING,
GBDAT TYPE STRING,
GSCHL TYPE STRING,
GSCHLE TYPE STRING,
PATNR TYPE STRING,
PATNAME TYPE STRING,
PATALTER TYPE STRING,
RISIKO TYPE STRING,
PRIVAT TYPE STRING,
LEISTUNG TYPE STRING,
DOKUMENT TYPE STRING,
KR_AKTE TYPE STRING,
LEIST_TERM TYPE STRING,
MEDTX TYPE STRING,
BWATX TYPE STRING,
AMBU_FALL TYPE STRING,
STAT_FALL TYPE STRING,
STATU TYPE STRING,
STATEX TYPE STRING,
STATU_SORT TYPE STRING,
EWFLAG TYPE STRING,
KRZAN TYPE STRING,
NOTAN TYPE STRING,
BWPRIO TYPE STRING,
BWPRIOE TYPE STRING,
AUFRF TYPE STRING,
WTAGE TYPE STRING,
WZEIT TYPE STRING,
RWZEIT TYPE STRING,
GWTAGE TYPE STRING,
GWZEIT TYPE STRING,
KZTXT TYPE STRING,
VONOE TYPE STRING,
UNFNR TYPE STRING,
CBEWPREV TYPE STRING,
ORGFA TYPE STRING,
ORGPF TYPE STRING,
AKT_AMB_OE TYPE STRING,
BEH_ARZT TYPE STRING,
ICON_DOC TYPE STRING,
MARKFIELD TYPE STRING,
BWIDT TYPE STRING,
BWIZT TYPE STRING,
UNFALL_NR TYPE STRING,
UNFALL_TX TYPE STRING,
E_FIELD_1 TYPE STRING,
E_FIELD_2 TYPE STRING,
E_FIELD_3 TYPE STRING,
E_TYP_1 TYPE STRING,
E_TYP_2 TYPE STRING,
E_TYP_3 TYPE STRING,
ZIMMR TYPE STRING,
DTEXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_RN1PWTL_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_RN1PWTL_STR-MANDT sy-vline
WA_RN1PWTL_STR-EINRI sy-vline
WA_RN1PWTL_STR-FALNR sy-vline
WA_RN1PWTL_STR-LFDNR sy-vline
WA_RN1PWTL_STR-LNRAPP sy-vline
WA_RN1PWTL_STR-NNAME sy-vline
WA_RN1PWTL_STR-VNAME sy-vline
WA_RN1PWTL_STR-GBDAT sy-vline
WA_RN1PWTL_STR-GSCHL sy-vline
WA_RN1PWTL_STR-GSCHLE sy-vline
WA_RN1PWTL_STR-PATNR sy-vline
WA_RN1PWTL_STR-PATNAME sy-vline
WA_RN1PWTL_STR-PATALTER sy-vline
WA_RN1PWTL_STR-RISIKO sy-vline
WA_RN1PWTL_STR-PRIVAT sy-vline
WA_RN1PWTL_STR-LEISTUNG sy-vline
WA_RN1PWTL_STR-DOKUMENT sy-vline
WA_RN1PWTL_STR-KR_AKTE sy-vline
WA_RN1PWTL_STR-LEIST_TERM sy-vline
WA_RN1PWTL_STR-MEDTX sy-vline
WA_RN1PWTL_STR-BWATX sy-vline
WA_RN1PWTL_STR-AMBU_FALL sy-vline
WA_RN1PWTL_STR-STAT_FALL sy-vline
WA_RN1PWTL_STR-STATU sy-vline
WA_RN1PWTL_STR-STATEX sy-vline
WA_RN1PWTL_STR-STATU_SORT sy-vline
WA_RN1PWTL_STR-EWFLAG sy-vline
WA_RN1PWTL_STR-KRZAN sy-vline
WA_RN1PWTL_STR-NOTAN sy-vline
WA_RN1PWTL_STR-BWPRIO sy-vline
WA_RN1PWTL_STR-BWPRIOE sy-vline
WA_RN1PWTL_STR-AUFRF sy-vline
WA_RN1PWTL_STR-WTAGE sy-vline
WA_RN1PWTL_STR-WZEIT sy-vline
WA_RN1PWTL_STR-RWZEIT sy-vline
WA_RN1PWTL_STR-GWTAGE sy-vline
WA_RN1PWTL_STR-GWZEIT sy-vline
WA_RN1PWTL_STR-KZTXT sy-vline
WA_RN1PWTL_STR-VONOE sy-vline
WA_RN1PWTL_STR-UNFNR sy-vline
WA_RN1PWTL_STR-CBEWPREV sy-vline
WA_RN1PWTL_STR-ORGFA sy-vline
WA_RN1PWTL_STR-ORGPF sy-vline
WA_RN1PWTL_STR-AKT_AMB_OE sy-vline
WA_RN1PWTL_STR-BEH_ARZT sy-vline
WA_RN1PWTL_STR-ICON_DOC sy-vline
WA_RN1PWTL_STR-MARKFIELD sy-vline
WA_RN1PWTL_STR-BWIDT sy-vline
WA_RN1PWTL_STR-BWIZT sy-vline
WA_RN1PWTL_STR-UNFALL_NR sy-vline
WA_RN1PWTL_STR-UNFALL_TX sy-vline
WA_RN1PWTL_STR-E_FIELD_1 sy-vline
WA_RN1PWTL_STR-E_FIELD_2 sy-vline
WA_RN1PWTL_STR-E_FIELD_3 sy-vline
WA_RN1PWTL_STR-E_TYP_1 sy-vline
WA_RN1PWTL_STR-E_TYP_2 sy-vline
WA_RN1PWTL_STR-E_TYP_3 sy-vline
WA_RN1PWTL_STR-ZIMMR sy-vline
WA_RN1PWTL_STR-DTEXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.