ABAP Select data from SAP table CFTRACE 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 CFTRACE 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 CFTRACE. 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 CFTRACE 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_CFTRACE TYPE STANDARD TABLE OF CFTRACE,
      WA_CFTRACE TYPE CFTRACE,
      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: <CFTRACE> TYPE CFTRACE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CFTRACE
*  INTO TABLE @DATA(IT_CFTRACE2).
*--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_CFTRACE INDEX 1 INTO DATA(WA_CFTRACE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CFTRACE ASSIGNING <CFTRACE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CFTRACE>-CODE = 1.
<CFTRACE>-ACTIVE = 1.
<CFTRACE>-DISPL = 1.
<CFTRACE>-TFLAG = 1.
<CFTRACE>-COBJID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CFTRACE-SELFINV, sy-vline,
WA_CFTRACE-IND_BACK, sy-vline,
WA_CFTRACE-IND_SORT, sy-vline,
WA_CFTRACE-FELD, sy-vline,
WA_CFTRACE-AUSPS, sy-vline,
WA_CFTRACE-L_TFLAG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CFTRACE 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_CFTRACE 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_CFTRACE INTO WA_CFTRACE. *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 CUNIT, internal->external for field TUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CFTRACE-TUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CFTRACE-TUNIT.
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_CFTRACE_STR,
CODE TYPE STRING,
ACTIVE TYPE STRING,
DISPL TYPE STRING,
TFLAG TYPE STRING,
COBJID TYPE STRING,
SELFINV TYPE STRING,
IND_BACK TYPE STRING,
IND_SORT TYPE STRING,
FELD TYPE STRING,
AUSPS TYPE STRING,
L_TFLAG TYPE STRING,
P_ZWERT TYPE STRING,
SPRINT TYPE STRING,
SDIR TYPE STRING,
SKTW TYPE STRING,
BDIR TYPE STRING,
BWRT TYPE STRING,
BPRINT TYPE STRING,
ASCDESC TYPE STRING,
TOPN TYPE STRING,
TOPP TYPE STRING,
BOPE TYPE STRING,
FNAM TYPE STRING,
SOURCE TYPE STRING,
DECIM TYPE STRING,
ROUND TYPE STRING,
CUKYD TYPE STRING,
NUMBR TYPE STRING,
BERNA TYPE STRING,
SCOLS TYPE STRING,
BEG_T1 TYPE STRING,
END_T1 TYPE STRING,
BEG_T2 TYPE STRING,
END_T2 TYPE STRING,
BEG_T3 TYPE STRING,
END_T3 TYPE STRING,
BEG_T4 TYPE STRING,
END_T4 TYPE STRING,
BEG_T5 TYPE STRING,
END_T5 TYPE STRING,
ARBGB TYPE STRING,
MSGNR TYPE STRING,
MSGV1 TYPE STRING,
MSGV2 TYPE STRING,
MSGV3 TYPE STRING,
MSGV4 TYPE STRING,
WTYPE TYPE STRING,
TITL TYPE STRING,
VALT TYPE STRING,
DIM1 TYPE STRING,
DIM2 TYPE STRING,
MAX1 TYPE STRING,
MAX2 TYPE STRING,
ATYPE TYPE STRING,
ZMODE TYPE STRING,
XCTKS TYPE STRING,
TAXIS TYPE STRING,
TUNIT TYPE STRING,
TABL_X TYPE STRING,
TABL_Y TYPE STRING,
FZWERT TYPE STRING,
BTABL_X TYPE STRING,
BTABL_Y TYPE STRING,
BFZWERT TYPE STRING,
XY TYPE STRING,
BKZ TYPE STRING,
OTABL_X TYPE STRING,
OTABL_Y TYPE STRING,
OFZWERT TYPE STRING,
DIMPR TYPE STRING,
OBJFORM TYPE STRING,
FILLCLR TYPE STRING,
TEXTCLR TYPE STRING,
SEGMENT_1 TYPE STRING,
SEGMENT_2 TYPE STRING,
SEGMENT_3 TYPE STRING,
SEGMENT_4 TYPE STRING,
WBNR_GR TYPE STRING,
WBNR_XACHS TYPE STRING,
WBNR_YACHS TYPE STRING,
TREND_X TYPE STRING,
TREND_Y TYPE STRING,
GRID_X TYPE STRING,
GRID_Y TYPE STRING,
WB_POS TYPE STRING,
FIXGROESSE TYPE STRING,
HDAR TYPE STRING,
HDIR TYPE STRING,
BST TYPE STRING,
TYPE TYPE STRING,
TABNM TYPE STRING,
FIENM TYPE STRING,
SLEVEL TYPE STRING,
COLOR TYPE STRING,
SUMME TYPE STRING,
PARTIALSUM TYPE STRING,
HCLASS TYPE STRING,
HIENM TYPE STRING,
IND_OPT_FROM TYPE STRING,
IND_OPT_TO TYPE STRING,
DVORZE TYPE STRING,
UNITLENGTH TYPE STRING,
ON_OFF TYPE STRING,END OF T_EKKO_STR. DATA: WA_CFTRACE_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_CFTRACE_STR-CODE sy-vline
WA_CFTRACE_STR-ACTIVE sy-vline
WA_CFTRACE_STR-DISPL sy-vline
WA_CFTRACE_STR-TFLAG sy-vline
WA_CFTRACE_STR-COBJID sy-vline
WA_CFTRACE_STR-SELFINV sy-vline
WA_CFTRACE_STR-IND_BACK sy-vline
WA_CFTRACE_STR-IND_SORT sy-vline
WA_CFTRACE_STR-FELD sy-vline
WA_CFTRACE_STR-AUSPS sy-vline
WA_CFTRACE_STR-L_TFLAG sy-vline
WA_CFTRACE_STR-P_ZWERT sy-vline
WA_CFTRACE_STR-SPRINT sy-vline
WA_CFTRACE_STR-SDIR sy-vline
WA_CFTRACE_STR-SKTW sy-vline
WA_CFTRACE_STR-BDIR sy-vline
WA_CFTRACE_STR-BWRT sy-vline
WA_CFTRACE_STR-BPRINT sy-vline
WA_CFTRACE_STR-ASCDESC sy-vline
WA_CFTRACE_STR-TOPN sy-vline
WA_CFTRACE_STR-TOPP sy-vline
WA_CFTRACE_STR-BOPE sy-vline
WA_CFTRACE_STR-FNAM sy-vline
WA_CFTRACE_STR-SOURCE sy-vline
WA_CFTRACE_STR-DECIM sy-vline
WA_CFTRACE_STR-ROUND sy-vline
WA_CFTRACE_STR-CUKYD sy-vline
WA_CFTRACE_STR-NUMBR sy-vline
WA_CFTRACE_STR-BERNA sy-vline
WA_CFTRACE_STR-SCOLS sy-vline
WA_CFTRACE_STR-BEG_T1 sy-vline
WA_CFTRACE_STR-END_T1 sy-vline
WA_CFTRACE_STR-BEG_T2 sy-vline
WA_CFTRACE_STR-END_T2 sy-vline
WA_CFTRACE_STR-BEG_T3 sy-vline
WA_CFTRACE_STR-END_T3 sy-vline
WA_CFTRACE_STR-BEG_T4 sy-vline
WA_CFTRACE_STR-END_T4 sy-vline
WA_CFTRACE_STR-BEG_T5 sy-vline
WA_CFTRACE_STR-END_T5 sy-vline
WA_CFTRACE_STR-ARBGB sy-vline
WA_CFTRACE_STR-MSGNR sy-vline
WA_CFTRACE_STR-MSGV1 sy-vline
WA_CFTRACE_STR-MSGV2 sy-vline
WA_CFTRACE_STR-MSGV3 sy-vline
WA_CFTRACE_STR-MSGV4 sy-vline
WA_CFTRACE_STR-WTYPE sy-vline
WA_CFTRACE_STR-TITL sy-vline
WA_CFTRACE_STR-VALT sy-vline
WA_CFTRACE_STR-DIM1 sy-vline
WA_CFTRACE_STR-DIM2 sy-vline
WA_CFTRACE_STR-MAX1 sy-vline
WA_CFTRACE_STR-MAX2 sy-vline
WA_CFTRACE_STR-ATYPE sy-vline
WA_CFTRACE_STR-ZMODE sy-vline
WA_CFTRACE_STR-XCTKS sy-vline
WA_CFTRACE_STR-TAXIS sy-vline
WA_CFTRACE_STR-TUNIT sy-vline
WA_CFTRACE_STR-TABL_X sy-vline
WA_CFTRACE_STR-TABL_Y sy-vline
WA_CFTRACE_STR-FZWERT sy-vline
WA_CFTRACE_STR-BTABL_X sy-vline
WA_CFTRACE_STR-BTABL_Y sy-vline
WA_CFTRACE_STR-BFZWERT sy-vline
WA_CFTRACE_STR-XY sy-vline
WA_CFTRACE_STR-BKZ sy-vline
WA_CFTRACE_STR-OTABL_X sy-vline
WA_CFTRACE_STR-OTABL_Y sy-vline
WA_CFTRACE_STR-OFZWERT sy-vline
WA_CFTRACE_STR-DIMPR sy-vline
WA_CFTRACE_STR-OBJFORM sy-vline
WA_CFTRACE_STR-FILLCLR sy-vline
WA_CFTRACE_STR-TEXTCLR sy-vline
WA_CFTRACE_STR-SEGMENT_1 sy-vline
WA_CFTRACE_STR-SEGMENT_2 sy-vline
WA_CFTRACE_STR-SEGMENT_3 sy-vline
WA_CFTRACE_STR-SEGMENT_4 sy-vline
WA_CFTRACE_STR-WBNR_GR sy-vline
WA_CFTRACE_STR-WBNR_XACHS sy-vline
WA_CFTRACE_STR-WBNR_YACHS sy-vline
WA_CFTRACE_STR-TREND_X sy-vline
WA_CFTRACE_STR-TREND_Y sy-vline
WA_CFTRACE_STR-GRID_X sy-vline
WA_CFTRACE_STR-GRID_Y sy-vline
WA_CFTRACE_STR-WB_POS sy-vline
WA_CFTRACE_STR-FIXGROESSE sy-vline
WA_CFTRACE_STR-HDAR sy-vline
WA_CFTRACE_STR-HDIR sy-vline
WA_CFTRACE_STR-BST sy-vline
WA_CFTRACE_STR-TYPE sy-vline
WA_CFTRACE_STR-TABNM sy-vline
WA_CFTRACE_STR-FIENM sy-vline
WA_CFTRACE_STR-SLEVEL sy-vline
WA_CFTRACE_STR-COLOR sy-vline
WA_CFTRACE_STR-SUMME sy-vline
WA_CFTRACE_STR-PARTIALSUM sy-vline
WA_CFTRACE_STR-HCLASS sy-vline
WA_CFTRACE_STR-HIENM sy-vline
WA_CFTRACE_STR-IND_OPT_FROM sy-vline
WA_CFTRACE_STR-IND_OPT_TO sy-vline
WA_CFTRACE_STR-DVORZE sy-vline
WA_CFTRACE_STR-UNITLENGTH sy-vline
WA_CFTRACE_STR-ON_OFF sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.