ABAP Select data from SAP table AC400RKATKL_TRF 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 AC400RKATKL_TRF 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 AC400RKATKL_TRF. 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 AC400RKATKL_TRF 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_AC400RKATKL_TRF TYPE STANDARD TABLE OF AC400RKATKL_TRF, WA_AC400RKATKL_TRF TYPE AC400RKATKL_TRF, 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: <AC400RKATKL_TRF> TYPE AC400RKATKL_TRF. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_AC400RKATKL_TRF. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM AC400RKATKL_TRF INTO TABLE IT_AC400RKATKL_TRF. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM AC400RKATKL_TRF * INTO TABLE @DATA(IT_AC400RKATKL_TRF2). *--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_AC400RKATKL_TRF INDEX 1 INTO DATA(WA_AC400RKATKL_TRF2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_AC400RKATKL_TRF ASSIGNING <AC400RKATKL_TRF>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<AC400RKATKL_TRF>-LEVEL4 = 1.
<AC400RKATKL_TRF>-LEVEL3 = 1.
<AC400RKATKL_TRF>-LEVEL2 = 1.
<AC400RKATKL_TRF>-LEVEL1 = 1.
<AC400RKATKL_TRF>-LSTAR = 1.
ENDLOOP. LOOP AT IT_AC400RKATKL_TRF INTO WA_AC400RKATKL_TRF. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_AC400RKATKL_TRF-KSTAR, sy-vline,
WA_AC400RKATKL_TRF-PARON, sy-vline,
WA_AC400RKATKL_TRF-PLSTR, sy-vline,
WA_AC400RKATKL_TRF-TEXTBLOCK, sy-vline,
WA_AC400RKATKL_TRF-WKG, sy-vline,
WA_AC400RKATKL_TRF-WKF, sy-vline.
ENDLOOP. *Add any further fields from structure WA_AC400RKATKL_TRF 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_AC400RKATKL_TRF 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_AC400RKATKL_TRF INTO WA_AC400RKATKL_TRF. *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 KSTAR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-KSTAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-KSTAR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WKG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WKG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WKG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WKF CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WKF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WKF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WKV CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WKV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WKV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WOG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WOG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WOG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WOF CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WOF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WOF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WOV CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WOV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WOV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WTG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WTG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WTG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WTF CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WTF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WTF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WTV CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WTV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WTV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WZG CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WZG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WZG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WZF CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WZF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WZF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC172, internal->external for field WZV CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WZV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WZV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field TARKZ CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TARKZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TARKZ.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field WRTTP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-WRTTP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-WRTTP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TKGMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TKGMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TKGMEAN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TKVMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TKVMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TKVMEAN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TKFMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TKFMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TKFMEAN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TOGMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TOGMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TOGMEAN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TOVMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TOVMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TOVMEAN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AC112, internal->external for field TOFMEAN CALL FUNCTION 'CONVERSION_EXIT_AC112_OUTPUT' EXPORTING input = WA_AC400RKATKL_TRF-TOFMEAN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AC400RKATKL_TRF-TOFMEAN.
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_AC400RKATKL_TRF_STR,
LEVEL4 TYPE STRING,
LEVEL3 TYPE STRING,
LEVEL2 TYPE STRING,
LEVEL1 TYPE STRING,
LSTAR TYPE STRING,
KSTAR TYPE STRING,
PARON TYPE STRING,
PLSTR TYPE STRING,
TEXTBLOCK TYPE STRING,
WKG TYPE STRING,
WKF TYPE STRING,
WKV TYPE STRING,
WOG TYPE STRING,
WOF TYPE STRING,
WOV TYPE STRING,
WTG TYPE STRING,
WTF TYPE STRING,
WTV TYPE STRING,
WZG TYPE STRING,
WZF TYPE STRING,
WZV TYPE STRING,
MEG TYPE STRING,
MEF TYPE STRING,
MEV TYPE STRING,
LST TYPE STRING,
KAP TYPE STRING,
AUS TYPE STRING,
DIS TYPE STRING,
AEQ TYPE STRING,
AUSEH_EXT TYPE STRING,
LTEXT TYPE STRING,
STAGR TYPE STRING,
BEZEI TYPE STRING,
SME TYPE STRING,
SMA TYPE STRING,
OTYPE TYPE STRING,
MEINH_EXT TYPE STRING,
KSKTXT TYPE STRING,
LAKTXT TYPE STRING,
TARKZ TYPE STRING,
WRTTP TYPE STRING,
TARVKZ TYPE STRING,
KWAER TYPE STRING,
TKEMIN TYPE STRING,
TKGMEAN TYPE STRING,
TKVMEAN TYPE STRING,
TKFMEAN TYPE STRING,
OWAER TYPE STRING,
TOEMIN TYPE STRING,
TOGMEAN TYPE STRING,
TOVMEAN TYPE STRING,
TOFMEAN TYPE STRING,END OF T_EKKO_STR. DATA: WA_AC400RKATKL_TRF_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_AC400RKATKL_TRF_STR-LEVEL4 sy-vline
WA_AC400RKATKL_TRF_STR-LEVEL3 sy-vline
WA_AC400RKATKL_TRF_STR-LEVEL2 sy-vline
WA_AC400RKATKL_TRF_STR-LEVEL1 sy-vline
WA_AC400RKATKL_TRF_STR-LSTAR sy-vline
WA_AC400RKATKL_TRF_STR-KSTAR sy-vline
WA_AC400RKATKL_TRF_STR-PARON sy-vline
WA_AC400RKATKL_TRF_STR-PLSTR sy-vline
WA_AC400RKATKL_TRF_STR-TEXTBLOCK sy-vline
WA_AC400RKATKL_TRF_STR-WKG sy-vline
WA_AC400RKATKL_TRF_STR-WKF sy-vline
WA_AC400RKATKL_TRF_STR-WKV sy-vline
WA_AC400RKATKL_TRF_STR-WOG sy-vline
WA_AC400RKATKL_TRF_STR-WOF sy-vline
WA_AC400RKATKL_TRF_STR-WOV sy-vline
WA_AC400RKATKL_TRF_STR-WTG sy-vline
WA_AC400RKATKL_TRF_STR-WTF sy-vline
WA_AC400RKATKL_TRF_STR-WTV sy-vline
WA_AC400RKATKL_TRF_STR-WZG sy-vline
WA_AC400RKATKL_TRF_STR-WZF sy-vline
WA_AC400RKATKL_TRF_STR-WZV sy-vline
WA_AC400RKATKL_TRF_STR-MEG sy-vline
WA_AC400RKATKL_TRF_STR-MEF sy-vline
WA_AC400RKATKL_TRF_STR-MEV sy-vline
WA_AC400RKATKL_TRF_STR-LST sy-vline
WA_AC400RKATKL_TRF_STR-KAP sy-vline
WA_AC400RKATKL_TRF_STR-AUS sy-vline
WA_AC400RKATKL_TRF_STR-DIS sy-vline
WA_AC400RKATKL_TRF_STR-AEQ sy-vline
WA_AC400RKATKL_TRF_STR-AUSEH_EXT sy-vline
WA_AC400RKATKL_TRF_STR-LTEXT sy-vline
WA_AC400RKATKL_TRF_STR-STAGR sy-vline
WA_AC400RKATKL_TRF_STR-BEZEI sy-vline
WA_AC400RKATKL_TRF_STR-SME sy-vline
WA_AC400RKATKL_TRF_STR-SMA sy-vline
WA_AC400RKATKL_TRF_STR-OTYPE sy-vline
WA_AC400RKATKL_TRF_STR-MEINH_EXT sy-vline
WA_AC400RKATKL_TRF_STR-KSKTXT sy-vline
WA_AC400RKATKL_TRF_STR-LAKTXT sy-vline
WA_AC400RKATKL_TRF_STR-TARKZ sy-vline
WA_AC400RKATKL_TRF_STR-WRTTP sy-vline
WA_AC400RKATKL_TRF_STR-TARVKZ sy-vline
WA_AC400RKATKL_TRF_STR-KWAER sy-vline
WA_AC400RKATKL_TRF_STR-TKEMIN sy-vline
WA_AC400RKATKL_TRF_STR-TKGMEAN sy-vline
WA_AC400RKATKL_TRF_STR-TKVMEAN sy-vline
WA_AC400RKATKL_TRF_STR-TKFMEAN sy-vline
WA_AC400RKATKL_TRF_STR-OWAER sy-vline
WA_AC400RKATKL_TRF_STR-TOEMIN sy-vline
WA_AC400RKATKL_TRF_STR-TOGMEAN sy-vline
WA_AC400RKATKL_TRF_STR-TOVMEAN sy-vline
WA_AC400RKATKL_TRF_STR-TOFMEAN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.