ABAP Select data from SAP table THMEXS_RO_TRANSFER 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 THMEXS_RO_TRANSFER 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 THMEXS_RO_TRANSFER. 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 THMEXS_RO_TRANSFER 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_THMEXS_RO_TRANSFER TYPE STANDARD TABLE OF THMEXS_RO_TRANSFER, WA_THMEXS_RO_TRANSFER TYPE THMEXS_RO_TRANSFER, 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: <THMEXS_RO_TRANSFER> TYPE THMEXS_RO_TRANSFER. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_THMEXS_RO_TRANSFER. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM THMEXS_RO_TRANSFER INTO TABLE IT_THMEXS_RO_TRANSFER. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM THMEXS_RO_TRANSFER * INTO TABLE @DATA(IT_THMEXS_RO_TRANSFER2). *--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_THMEXS_RO_TRANSFER INDEX 1 INTO DATA(WA_THMEXS_RO_TRANSFER2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_THMEXS_RO_TRANSFER ASSIGNING <THMEXS_RO_TRANSFER>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<THMEXS_RO_TRANSFER>-AKTYP = 1.
<THMEXS_RO_TRANSFER>-RIDEXT = 1.
<THMEXS_RO_TRANSFER>-DGUELTAB = 1.
<THMEXS_RO_TRANSFER>-CHIND_40 = 1.
<THMEXS_RO_TRANSFER>-XTEXT = 1.
ENDLOOP. LOOP AT IT_THMEXS_RO_TRANSFER INTO WA_THMEXS_RO_TRANSFER. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_THMEXS_RO_TRANSFER-SSTAT, sy-vline,
WA_THMEXS_RO_TRANSFER-BUKRS, sy-vline,
WA_THMEXS_RO_TRANSFER-SVERS, sy-vline,
WA_THMEXS_RO_TRANSFER-RPORTB, sy-vline,
WA_THMEXS_RO_TRANSFER-RDEALER, sy-vline,
WA_THMEXS_RO_TRANSFER-PARTNR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_THMEXS_RO_TRANSFER 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_THMEXS_RO_TRANSFER 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_THMEXS_RO_TRANSFER INTO WA_THMEXS_RO_TRANSFER. *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 PARTNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_THMEXS_RO_TRANSFER-PARTNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_THMEXS_RO_TRANSFER-PARTNR.
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_THMEXS_RO_TRANSFER_STR,
AKTYP TYPE STRING,
RIDEXT TYPE STRING,
DGUELTAB TYPE STRING,
CHIND_40 TYPE STRING,
XTEXT TYPE STRING,
SSTAT TYPE STRING,
BUKRS TYPE STRING,
SVERS TYPE STRING,
RPORTB TYPE STRING,
RDEALER TYPE STRING,
PARTNR TYPE STRING,
WAEHRUNG TYPE STRING,
ARR TYPE STRING,
CHIND_41 TYPE STRING,
RLDEPO TYPE STRING,
CHIND_42 TYPE STRING,
NGIDNR TYPE STRING,
NBRANCH TYPE STRING,
AGGREGRULE TYPE STRING,
RMBEWREG TYPE STRING,
GFORM TYPE STRING,
GDETAIL TYPE STRING,
AGGRKZ TYPE STRING,
DBLFZ TYPE STRING,
DELFZ TYPE STRING,
RIDEXTRTEXT TYPE STRING,
LEAD_FGET TYPE STRING,
P_REXTNR TYPE STRING,
CHIND_43 TYPE STRING,
OPTI_NGIDNR TYPE STRING,
CHIND_44 TYPE STRING,
BEWEG_NGIDNR TYPE STRING,
NCFNR TYPE STRING,
CFART TYPE STRING,
SCWHR TYPE STRING,
BCWHR TYPE STRING,
DFAELL TYPE STRING,END OF T_EKKO_STR. DATA: WA_THMEXS_RO_TRANSFER_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_THMEXS_RO_TRANSFER_STR-AKTYP sy-vline
WA_THMEXS_RO_TRANSFER_STR-RIDEXT sy-vline
WA_THMEXS_RO_TRANSFER_STR-DGUELTAB sy-vline
WA_THMEXS_RO_TRANSFER_STR-CHIND_40 sy-vline
WA_THMEXS_RO_TRANSFER_STR-XTEXT sy-vline
WA_THMEXS_RO_TRANSFER_STR-SSTAT sy-vline
WA_THMEXS_RO_TRANSFER_STR-BUKRS sy-vline
WA_THMEXS_RO_TRANSFER_STR-SVERS sy-vline
WA_THMEXS_RO_TRANSFER_STR-RPORTB sy-vline
WA_THMEXS_RO_TRANSFER_STR-RDEALER sy-vline
WA_THMEXS_RO_TRANSFER_STR-PARTNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-WAEHRUNG sy-vline
WA_THMEXS_RO_TRANSFER_STR-ARR sy-vline
WA_THMEXS_RO_TRANSFER_STR-CHIND_41 sy-vline
WA_THMEXS_RO_TRANSFER_STR-RLDEPO sy-vline
WA_THMEXS_RO_TRANSFER_STR-CHIND_42 sy-vline
WA_THMEXS_RO_TRANSFER_STR-NGIDNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-NBRANCH sy-vline
WA_THMEXS_RO_TRANSFER_STR-AGGREGRULE sy-vline
WA_THMEXS_RO_TRANSFER_STR-RMBEWREG sy-vline
WA_THMEXS_RO_TRANSFER_STR-GFORM sy-vline
WA_THMEXS_RO_TRANSFER_STR-GDETAIL sy-vline
WA_THMEXS_RO_TRANSFER_STR-AGGRKZ sy-vline
WA_THMEXS_RO_TRANSFER_STR-DBLFZ sy-vline
WA_THMEXS_RO_TRANSFER_STR-DELFZ sy-vline
WA_THMEXS_RO_TRANSFER_STR-RIDEXTRTEXT sy-vline
WA_THMEXS_RO_TRANSFER_STR-LEAD_FGET sy-vline
WA_THMEXS_RO_TRANSFER_STR-P_REXTNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-CHIND_43 sy-vline
WA_THMEXS_RO_TRANSFER_STR-OPTI_NGIDNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-CHIND_44 sy-vline
WA_THMEXS_RO_TRANSFER_STR-BEWEG_NGIDNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-NCFNR sy-vline
WA_THMEXS_RO_TRANSFER_STR-CFART sy-vline
WA_THMEXS_RO_TRANSFER_STR-SCWHR sy-vline
WA_THMEXS_RO_TRANSFER_STR-BCWHR sy-vline
WA_THMEXS_RO_TRANSFER_STR-DFAELL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.