ABAP Select data from SAP table V_TDCAPTR_TEMPL 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 V_TDCAPTR_TEMPL 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 V_TDCAPTR_TEMPL. 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 V_TDCAPTR_TEMPL 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_V_TDCAPTR_TEMPL TYPE STANDARD TABLE OF V_TDCAPTR_TEMPL,
      WA_V_TDCAPTR_TEMPL TYPE V_TDCAPTR_TEMPL,
      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: <V_TDCAPTR_TEMPL> TYPE V_TDCAPTR_TEMPL.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM V_TDCAPTR_TEMPL
  INTO TABLE IT_V_TDCAPTR_TEMPL.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM V_TDCAPTR_TEMPL
*  INTO TABLE @DATA(IT_V_TDCAPTR_TEMPL2).
*--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_V_TDCAPTR_TEMPL INDEX 1 INTO DATA(WA_V_TDCAPTR_TEMPL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_V_TDCAPTR_TEMPL ASSIGNING <V_TDCAPTR_TEMPL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<V_TDCAPTR_TEMPL>-MANDT = 1.
<V_TDCAPTR_TEMPL>-BUKRS = 1.
<V_TDCAPTR_TEMPL>-GSART = 1.
<V_TDCAPTR_TEMPL>-MTEMPLNO = 1.
<V_TDCAPTR_TEMPL>-XTEXT = 1.
ENDLOOP.

LOOP AT IT_V_TDCAPTR_TEMPL INTO WA_V_TDCAPTR_TEMPL.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_V_TDCAPTR_TEMPL-XTEXT_SHORT, sy-vline,
WA_V_TDCAPTR_TEMPL-I_TEMPL_ACTIVE, sy-vline,
WA_V_TDCAPTR_TEMPL-INEWCONTRREQ, sy-vline,
WA_V_TDCAPTR_TEMPL-IBORCHREQ, sy-vline,
WA_V_TDCAPTR_TEMPL-RECAPCONTROL, sy-vline,
WA_V_TDCAPTR_TEMPL-COMCAPCONTROL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V_TDCAPTR_TEMPL 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_V_TDCAPTR_TEMPL 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_V_TDCAPTR_TEMPL INTO WA_V_TDCAPTR_TEMPL. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_V_TDCAPTR_TEMPL_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
GSART TYPE STRING,
MTEMPLNO TYPE STRING,
XTEXT TYPE STRING,
XTEXT_SHORT TYPE STRING,
I_TEMPL_ACTIVE TYPE STRING,
INEWCONTRREQ TYPE STRING,
IBORCHREQ TYPE STRING,
RECAPCONTROL TYPE STRING,
COMCAPCONTROL TYPE STRING,
DIOBCONTROL TYPE STRING,
REDISCONTROL TYPE STRING,
PREDISCONTROL TYPE STRING,
SCHEDREPCONTROL TYPE STRING,
UNSCHEDREPCONTR TYPE STRING,
NSEREPCONTROL TYPE STRING,
INEUVALTF TYPE STRING,
IINCLDVALUT_S TYPE STRING,
IINCLDVALUT_T TYPE STRING,
MZLSCH_T TYPE STRING,
PRATETF TYPE STRING,
MSBOTERM TYPE STRING,
MTFMETHOD TYPE STRING,
MRCAPTR_REASON TYPE STRING,
MPOSTTYPE TYPE STRING,
IMANPOPROC TYPE STRING,
TXTXBO_LFDNR TYPE STRING,
CPROFILE TYPE STRING,
ISAVTERMEND_S TYPE STRING,
ISAVTERMEND_T TYPE STRING,
FTRECAOF_S TYPE STRING,
FTRECAIF_T TYPE STRING,
FTVALCAOF_S TYPE STRING,
FTVALCAIF_T TYPE STRING,
FTREDISOF_S TYPE STRING,
FTREDISIF_T TYPE STRING,
FTPREDISOF_S TYPE STRING,
FTPREDISIF_T TYPE STRING,
FTAGIOOF_S TYPE STRING,
FTAGIOIF_T TYPE STRING,
FTPREAGIOOF_S TYPE STRING,
FTPREAGIOIF_T TYPE STRING,
FTSCHEDREPOF_S TYPE STRING,
FTSCHRIF_T TYPE STRING,
FTUNSCHEDROF_S TYPE STRING,
FTUNSCHRIF_T TYPE STRING,
CTCAINC_T TYPE STRING,
CTCOMOF_S TYPE STRING,
CTCANCCONTR TYPE STRING,
CTDIOBOF_S TYPE STRING,
CTREPSE_AN TYPE STRING,
CTREPSE_IN TYPE STRING,
CTNSETREPCF_AN TYPE STRING,
CTNSETREPCF_IN TYPE STRING,END OF T_EKKO_STR. DATA: WA_V_TDCAPTR_TEMPL_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_V_TDCAPTR_TEMPL_STR-MANDT sy-vline
WA_V_TDCAPTR_TEMPL_STR-BUKRS sy-vline
WA_V_TDCAPTR_TEMPL_STR-GSART sy-vline
WA_V_TDCAPTR_TEMPL_STR-MTEMPLNO sy-vline
WA_V_TDCAPTR_TEMPL_STR-XTEXT sy-vline
WA_V_TDCAPTR_TEMPL_STR-XTEXT_SHORT sy-vline
WA_V_TDCAPTR_TEMPL_STR-I_TEMPL_ACTIVE sy-vline
WA_V_TDCAPTR_TEMPL_STR-INEWCONTRREQ sy-vline
WA_V_TDCAPTR_TEMPL_STR-IBORCHREQ sy-vline
WA_V_TDCAPTR_TEMPL_STR-RECAPCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-COMCAPCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-DIOBCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-REDISCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-PREDISCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-SCHEDREPCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-UNSCHEDREPCONTR sy-vline
WA_V_TDCAPTR_TEMPL_STR-NSEREPCONTROL sy-vline
WA_V_TDCAPTR_TEMPL_STR-INEUVALTF sy-vline
WA_V_TDCAPTR_TEMPL_STR-IINCLDVALUT_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-IINCLDVALUT_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-MZLSCH_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-PRATETF sy-vline
WA_V_TDCAPTR_TEMPL_STR-MSBOTERM sy-vline
WA_V_TDCAPTR_TEMPL_STR-MTFMETHOD sy-vline
WA_V_TDCAPTR_TEMPL_STR-MRCAPTR_REASON sy-vline
WA_V_TDCAPTR_TEMPL_STR-MPOSTTYPE sy-vline
WA_V_TDCAPTR_TEMPL_STR-IMANPOPROC sy-vline
WA_V_TDCAPTR_TEMPL_STR-TXTXBO_LFDNR sy-vline
WA_V_TDCAPTR_TEMPL_STR-CPROFILE sy-vline
WA_V_TDCAPTR_TEMPL_STR-ISAVTERMEND_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-ISAVTERMEND_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTRECAOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTRECAIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTVALCAOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTVALCAIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTREDISOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTREDISIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTPREDISOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTPREDISIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTAGIOOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTAGIOIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTPREAGIOOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTPREAGIOIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTSCHEDREPOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTSCHRIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTUNSCHEDROF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-FTUNSCHRIF_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTCAINC_T sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTCOMOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTCANCCONTR sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTDIOBOF_S sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTREPSE_AN sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTREPSE_IN sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTNSETREPCF_AN sy-vline
WA_V_TDCAPTR_TEMPL_STR-CTNSETREPCF_IN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.