ABAP Select data from SAP table TRILC_DFT_ASSGN 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 TRILC_DFT_ASSGN 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 TRILC_DFT_ASSGN. 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 TRILC_DFT_ASSGN 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_TRILC_DFT_ASSGN TYPE STANDARD TABLE OF TRILC_DFT_ASSGN,
      WA_TRILC_DFT_ASSGN TYPE TRILC_DFT_ASSGN,
      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: <TRILC_DFT_ASSGN> TYPE TRILC_DFT_ASSGN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TRILC_DFT_ASSGN
*  INTO TABLE @DATA(IT_TRILC_DFT_ASSGN2).
*--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_TRILC_DFT_ASSGN INDEX 1 INTO DATA(WA_TRILC_DFT_ASSGN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TRILC_DFT_ASSGN ASSIGNING <TRILC_DFT_ASSGN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TRILC_DFT_ASSGN>-MANDT = 1.
<TRILC_DFT_ASSGN>-POS_MAN_PROC = 1.
<TRILC_DFT_ASSGN>-C001 = 1.
<TRILC_DFT_ASSGN>-C002 = 1.
<TRILC_DFT_ASSGN>-C003 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TRILC_DFT_ASSGN-C004, sy-vline,
WA_TRILC_DFT_ASSGN-C005, sy-vline,
WA_TRILC_DFT_ASSGN-C006, sy-vline,
WA_TRILC_DFT_ASSGN-C007, sy-vline,
WA_TRILC_DFT_ASSGN-C008, sy-vline,
WA_TRILC_DFT_ASSGN-C031, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TRILC_DFT_ASSGN 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_TRILC_DFT_ASSGN 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_TRILC_DFT_ASSGN INTO WA_TRILC_DFT_ASSGN. *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_TRILC_DFT_ASSGN_STR,
MANDT TYPE STRING,
POS_MAN_PROC TYPE STRING,
C001 TYPE STRING,
C002 TYPE STRING,
C003 TYPE STRING,
C004 TYPE STRING,
C005 TYPE STRING,
C006 TYPE STRING,
C007 TYPE STRING,
C008 TYPE STRING,
C031 TYPE STRING,
C032 TYPE STRING,
C033 TYPE STRING,
C034 TYPE STRING,
D001 TYPE STRING,
D002 TYPE STRING,
D003 TYPE STRING,
D004 TYPE STRING,
D005 TYPE STRING,
D006 TYPE STRING,
D007 TYPE STRING,
D008 TYPE STRING,
D011 TYPE STRING,
D012 TYPE STRING,
D031 TYPE STRING,
D032 TYPE STRING,
D033 TYPE STRING,
D034 TYPE STRING,
R001 TYPE STRING,
R002 TYPE STRING,
R003 TYPE STRING,
R004 TYPE STRING,
R011 TYPE STRING,
R012 TYPE STRING,
R013 TYPE STRING,
R014 TYPE STRING,
R021 TYPE STRING,
R022 TYPE STRING,
R023 TYPE STRING,
R024 TYPE STRING,
E001 TYPE STRING,
E002 TYPE STRING,
E003 TYPE STRING,
E004 TYPE STRING,
E005 TYPE STRING,
E006 TYPE STRING,
E007 TYPE STRING,
E008 TYPE STRING,
E011 TYPE STRING,
E012 TYPE STRING,
E031 TYPE STRING,
E032 TYPE STRING,
E033 TYPE STRING,
E034 TYPE STRING,
FLOW_CR_TYPE TYPE STRING,
S001 TYPE STRING,
S002 TYPE STRING,
S003 TYPE STRING,
S004 TYPE STRING,
S011 TYPE STRING,
S012 TYPE STRING,
S013 TYPE STRING,
S014 TYPE STRING,
S021 TYPE STRING,
S022 TYPE STRING,
S023 TYPE STRING,
S024 TYPE STRING,
S031 TYPE STRING,
S032 TYPE STRING,
OPT_TV_CAT TYPE STRING,
FLG_RESOLVE TYPE STRING,
FLG_RESOLVE_PL TYPE STRING,
FLG_ITEMIZE_FREE TYPE STRING,
FLG_EXCL_RECL TYPE STRING,END OF T_EKKO_STR. DATA: WA_TRILC_DFT_ASSGN_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_TRILC_DFT_ASSGN_STR-MANDT sy-vline
WA_TRILC_DFT_ASSGN_STR-POS_MAN_PROC sy-vline
WA_TRILC_DFT_ASSGN_STR-C001 sy-vline
WA_TRILC_DFT_ASSGN_STR-C002 sy-vline
WA_TRILC_DFT_ASSGN_STR-C003 sy-vline
WA_TRILC_DFT_ASSGN_STR-C004 sy-vline
WA_TRILC_DFT_ASSGN_STR-C005 sy-vline
WA_TRILC_DFT_ASSGN_STR-C006 sy-vline
WA_TRILC_DFT_ASSGN_STR-C007 sy-vline
WA_TRILC_DFT_ASSGN_STR-C008 sy-vline
WA_TRILC_DFT_ASSGN_STR-C031 sy-vline
WA_TRILC_DFT_ASSGN_STR-C032 sy-vline
WA_TRILC_DFT_ASSGN_STR-C033 sy-vline
WA_TRILC_DFT_ASSGN_STR-C034 sy-vline
WA_TRILC_DFT_ASSGN_STR-D001 sy-vline
WA_TRILC_DFT_ASSGN_STR-D002 sy-vline
WA_TRILC_DFT_ASSGN_STR-D003 sy-vline
WA_TRILC_DFT_ASSGN_STR-D004 sy-vline
WA_TRILC_DFT_ASSGN_STR-D005 sy-vline
WA_TRILC_DFT_ASSGN_STR-D006 sy-vline
WA_TRILC_DFT_ASSGN_STR-D007 sy-vline
WA_TRILC_DFT_ASSGN_STR-D008 sy-vline
WA_TRILC_DFT_ASSGN_STR-D011 sy-vline
WA_TRILC_DFT_ASSGN_STR-D012 sy-vline
WA_TRILC_DFT_ASSGN_STR-D031 sy-vline
WA_TRILC_DFT_ASSGN_STR-D032 sy-vline
WA_TRILC_DFT_ASSGN_STR-D033 sy-vline
WA_TRILC_DFT_ASSGN_STR-D034 sy-vline
WA_TRILC_DFT_ASSGN_STR-R001 sy-vline
WA_TRILC_DFT_ASSGN_STR-R002 sy-vline
WA_TRILC_DFT_ASSGN_STR-R003 sy-vline
WA_TRILC_DFT_ASSGN_STR-R004 sy-vline
WA_TRILC_DFT_ASSGN_STR-R011 sy-vline
WA_TRILC_DFT_ASSGN_STR-R012 sy-vline
WA_TRILC_DFT_ASSGN_STR-R013 sy-vline
WA_TRILC_DFT_ASSGN_STR-R014 sy-vline
WA_TRILC_DFT_ASSGN_STR-R021 sy-vline
WA_TRILC_DFT_ASSGN_STR-R022 sy-vline
WA_TRILC_DFT_ASSGN_STR-R023 sy-vline
WA_TRILC_DFT_ASSGN_STR-R024 sy-vline
WA_TRILC_DFT_ASSGN_STR-E001 sy-vline
WA_TRILC_DFT_ASSGN_STR-E002 sy-vline
WA_TRILC_DFT_ASSGN_STR-E003 sy-vline
WA_TRILC_DFT_ASSGN_STR-E004 sy-vline
WA_TRILC_DFT_ASSGN_STR-E005 sy-vline
WA_TRILC_DFT_ASSGN_STR-E006 sy-vline
WA_TRILC_DFT_ASSGN_STR-E007 sy-vline
WA_TRILC_DFT_ASSGN_STR-E008 sy-vline
WA_TRILC_DFT_ASSGN_STR-E011 sy-vline
WA_TRILC_DFT_ASSGN_STR-E012 sy-vline
WA_TRILC_DFT_ASSGN_STR-E031 sy-vline
WA_TRILC_DFT_ASSGN_STR-E032 sy-vline
WA_TRILC_DFT_ASSGN_STR-E033 sy-vline
WA_TRILC_DFT_ASSGN_STR-E034 sy-vline
WA_TRILC_DFT_ASSGN_STR-FLOW_CR_TYPE sy-vline
WA_TRILC_DFT_ASSGN_STR-S001 sy-vline
WA_TRILC_DFT_ASSGN_STR-S002 sy-vline
WA_TRILC_DFT_ASSGN_STR-S003 sy-vline
WA_TRILC_DFT_ASSGN_STR-S004 sy-vline
WA_TRILC_DFT_ASSGN_STR-S011 sy-vline
WA_TRILC_DFT_ASSGN_STR-S012 sy-vline
WA_TRILC_DFT_ASSGN_STR-S013 sy-vline
WA_TRILC_DFT_ASSGN_STR-S014 sy-vline
WA_TRILC_DFT_ASSGN_STR-S021 sy-vline
WA_TRILC_DFT_ASSGN_STR-S022 sy-vline
WA_TRILC_DFT_ASSGN_STR-S023 sy-vline
WA_TRILC_DFT_ASSGN_STR-S024 sy-vline
WA_TRILC_DFT_ASSGN_STR-S031 sy-vline
WA_TRILC_DFT_ASSGN_STR-S032 sy-vline
WA_TRILC_DFT_ASSGN_STR-OPT_TV_CAT sy-vline
WA_TRILC_DFT_ASSGN_STR-FLG_RESOLVE sy-vline
WA_TRILC_DFT_ASSGN_STR-FLG_RESOLVE_PL sy-vline
WA_TRILC_DFT_ASSGN_STR-FLG_ITEMIZE_FREE sy-vline
WA_TRILC_DFT_ASSGN_STR-FLG_EXCL_RECL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.