ABAP Select data from SAP table TCBP 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 TCBP 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 TCBP. 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 TCBP 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_TCBP TYPE STANDARD TABLE OF TCBP,
      WA_TCBP TYPE TCBP,
      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: <TCBP> TYPE TCBP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TCBP
*  INTO TABLE @DATA(IT_TCBP2).
*--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_TCBP INDEX 1 INTO DATA(WA_TCBP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TCBP ASSIGNING <TCBP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TCBP>-MANDT = 1.
<TCBP>-PROFILE = 1.
<TCBP>-PROF_FD = 1.
<TCBP>-WIDTH_P_C = 1.
<TCBP>-TRMNL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TCBP-CMART, sy-vline,
WA_TCBP-CMPOS, sy-vline,
WA_TCBP-VRGEA, sy-vline,
WA_TCBP-RELEA, sy-vline,
WA_TCBP-UPDTS, sy-vline,
WA_TCBP-TRMKS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TCBP 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_TCBP 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_TCBP INTO WA_TCBP. *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 DAUNE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TCBP-DAUNE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCBP-DAUNE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ARBEH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TCBP-ARBEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCBP-ARBEH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VERSN1 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TCBP-VERSN1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCBP-VERSN1.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VERSN2 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TCBP-VERSN2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCBP-VERSN2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field EVA_VERSN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_TCBP-EVA_VERSN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TCBP-EVA_VERSN.
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_TCBP_STR,
MANDT TYPE STRING,
PROFILE TYPE STRING,
PROF_FD TYPE STRING,
WIDTH_P_C TYPE STRING,
TRMNL TYPE STRING,
CMART TYPE STRING,
CMPOS TYPE STRING,
VRGEA TYPE STRING,
RELEA TYPE STRING,
UPDTS TYPE STRING,
TRMKS TYPE STRING,
WAERS TYPE STRING,
DAUNE TYPE STRING,
ARBEH TYPE STRING,
DFARB TYPE STRING,
DFDAU TYPE STRING,
PRF_GRUPPE TYPE STRING,
PRF_NAME TYPE STRING,
TIM_PROF TYPE STRING,
PRT_SCALE TYPE STRING,
TIM_SCALE TYPE STRING,
AENAM TYPE STRING,
PROTECT TYPE STRING,
CUSTOM TYPE STRING,
ANZ_KAL TYPE STRING,
ANZ_TRM TYPE STRING,
ANZ_HGR TYPE STRING,
ANZ_VGR TYPE STRING,
APPLI TYPE STRING,
TMPRI TYPE STRING,
MSANZ TYPE STRING,
MSTEA TYPE STRING,
VERSN1 TYPE STRING,
VERSN2 TYPE STRING,
FRSPT TYPE STRING,
PFFREI TYPE STRING,
ACTYP TYPE STRING,
ELTYP TYPE STRING,
T_LEFT TYPE STRING,
T_MIDDLE TYPE STRING,
T_RIGHT TYPE STRING,
T_UPPER TYPE STRING,
T_DOWN TYPE STRING,
GRID_MODE TYPE STRING,
HORL_MODE TYPE STRING,
ROW_HEIGHT TYPE STRING,
CLMN_INDEN TYPE STRING,
VELEA TYPE STRING,
VGKRT TYPE STRING,
NZANZ TYPE STRING,
RIBB_PROF TYPE STRING,
PROF_FCAP TYPE STRING,
PROF_FMAT TYPE STRING,
PROF_FCOS TYPE STRING,
EVA_VERSN TYPE STRING,
CONSTR TYPE STRING,
SHDOW TYPE STRING,
PROF_ORDER TYPE STRING,
CP_UNAME TYPE STRING,
OBJCP TYPE STRING,
DSHIFT TYPE STRING,
PROF_PRNT TYPE STRING,
SUBEA TYPE STRING,END OF T_EKKO_STR. DATA: WA_TCBP_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_TCBP_STR-MANDT sy-vline
WA_TCBP_STR-PROFILE sy-vline
WA_TCBP_STR-PROF_FD sy-vline
WA_TCBP_STR-WIDTH_P_C sy-vline
WA_TCBP_STR-TRMNL sy-vline
WA_TCBP_STR-CMART sy-vline
WA_TCBP_STR-CMPOS sy-vline
WA_TCBP_STR-VRGEA sy-vline
WA_TCBP_STR-RELEA sy-vline
WA_TCBP_STR-UPDTS sy-vline
WA_TCBP_STR-TRMKS sy-vline
WA_TCBP_STR-WAERS sy-vline
WA_TCBP_STR-DAUNE sy-vline
WA_TCBP_STR-ARBEH sy-vline
WA_TCBP_STR-DFARB sy-vline
WA_TCBP_STR-DFDAU sy-vline
WA_TCBP_STR-PRF_GRUPPE sy-vline
WA_TCBP_STR-PRF_NAME sy-vline
WA_TCBP_STR-TIM_PROF sy-vline
WA_TCBP_STR-PRT_SCALE sy-vline
WA_TCBP_STR-TIM_SCALE sy-vline
WA_TCBP_STR-AENAM sy-vline
WA_TCBP_STR-PROTECT sy-vline
WA_TCBP_STR-CUSTOM sy-vline
WA_TCBP_STR-ANZ_KAL sy-vline
WA_TCBP_STR-ANZ_TRM sy-vline
WA_TCBP_STR-ANZ_HGR sy-vline
WA_TCBP_STR-ANZ_VGR sy-vline
WA_TCBP_STR-APPLI sy-vline
WA_TCBP_STR-TMPRI sy-vline
WA_TCBP_STR-MSANZ sy-vline
WA_TCBP_STR-MSTEA sy-vline
WA_TCBP_STR-VERSN1 sy-vline
WA_TCBP_STR-VERSN2 sy-vline
WA_TCBP_STR-FRSPT sy-vline
WA_TCBP_STR-PFFREI sy-vline
WA_TCBP_STR-ACTYP sy-vline
WA_TCBP_STR-ELTYP sy-vline
WA_TCBP_STR-T_LEFT sy-vline
WA_TCBP_STR-T_MIDDLE sy-vline
WA_TCBP_STR-T_RIGHT sy-vline
WA_TCBP_STR-T_UPPER sy-vline
WA_TCBP_STR-T_DOWN sy-vline
WA_TCBP_STR-GRID_MODE sy-vline
WA_TCBP_STR-HORL_MODE sy-vline
WA_TCBP_STR-ROW_HEIGHT sy-vline
WA_TCBP_STR-CLMN_INDEN sy-vline
WA_TCBP_STR-VELEA sy-vline
WA_TCBP_STR-VGKRT sy-vline
WA_TCBP_STR-NZANZ sy-vline
WA_TCBP_STR-RIBB_PROF sy-vline
WA_TCBP_STR-PROF_FCAP sy-vline
WA_TCBP_STR-PROF_FMAT sy-vline
WA_TCBP_STR-PROF_FCOS sy-vline
WA_TCBP_STR-EVA_VERSN sy-vline
WA_TCBP_STR-CONSTR sy-vline
WA_TCBP_STR-SHDOW sy-vline
WA_TCBP_STR-PROF_ORDER sy-vline
WA_TCBP_STR-CP_UNAME sy-vline
WA_TCBP_STR-OBJCP sy-vline
WA_TCBP_STR-DSHIFT sy-vline
WA_TCBP_STR-PROF_PRNT sy-vline
WA_TCBP_STR-SUBEA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.