ABAP Select data from SAP table DCTBFDCHK 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 DCTBFDCHK 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 DCTBFDCHK. 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 DCTBFDCHK 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_DCTBFDCHK TYPE STANDARD TABLE OF DCTBFDCHK,
      WA_DCTBFDCHK TYPE DCTBFDCHK,
      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: <DCTBFDCHK> TYPE DCTBFDCHK.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DCTBFDCHK
*  INTO TABLE @DATA(IT_DCTBFDCHK2).
*--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_DCTBFDCHK INDEX 1 INTO DATA(WA_DCTBFDCHK2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DCTBFDCHK ASSIGNING <DCTBFDCHK>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DCTBFDCHK>-FIELDEX = 1.
<DCTBFDCHK>-FLDCNTMAX = 1.
<DCTBFDCHK>-FLDRES = 1.
<DCTBFDCHK>-SAA_SPACE = 1.
<DCTBFDCHK>-SAA_LENGTH = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_DCTBFDCHK-SAA_CSPACE, sy-vline,
WA_DCTBFDCHK-SAA_HYPHEN, sy-vline,
WA_DCTBFDCHK-SAA_1CHBAZ, sy-vline,
WA_DCTBFDCHK-SAA_1CHUYZ, sy-vline,
WA_DCTBFDCHK-SAA_ALPHAN, sy-vline,
WA_DCTBFDCHK-SAA_2O3PC_, sy-vline.
ENDLOOP. *Add any further fields from structure WA_DCTBFDCHK 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_DCTBFDCHK 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_DCTBFDCHK INTO WA_DCTBFDCHK. *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_DCTBFDCHK_STR,
FIELDEX TYPE STRING,
FLDCNTMAX TYPE STRING,
FLDRES TYPE STRING,
SAA_SPACE TYPE STRING,
SAA_LENGTH TYPE STRING,
SAA_CSPACE TYPE STRING,
SAA_HYPHEN TYPE STRING,
SAA_1CHBAZ TYPE STRING,
SAA_1CHUYZ TYPE STRING,
SAA_ALPHAN TYPE STRING,
SAA_2O3PC_ TYPE STRING,
SAA_TRESE TYPE STRING,
SAA_QCM TYPE STRING,
SAA_POINT TYPE STRING,
SAA_LPOS_ TYPE STRING,
SAA_LANSI TYPE STRING,
SAA_PREFIX TYPE STRING,
SAA_CASESENS TYPE STRING,
NOCUSTFLD TYPE STRING,
NOBRANCHN TYPE STRING,
NOSAPFLD TYPE STRING,
KEY_EXIST TYPE STRING,
KEY_NUMB TYPE STRING,
KEY_CON TYPE STRING,
KEY_BEGIN TYPE STRING,
KEY_LEN TYPE STRING,
KEY_TRANS TYPE STRING,
KEY_TTYP TYPE STRING,
KEY_CLIRF TYPE STRING,
KEY_STRING TYPE STRING,
KEY_TYPES TYPE STRING,
KEY_DECFLOAT TYPE STRING,
KEY_INVHASH TYPE STRING,
KEYCHK_CTRL TYPE STRING,
DUPFIELD TYPE STRING,
EXISTDODE TYPE STRING,
TYPECHECK TYPE STRING,
MANDANT TYPE STRING,
DATATYPE TYPE STRING,
KEYCHANGE TYPE STRING,
EXISTVARC TYPE STRING,
TYPE_VARC TYPE STRING,
TYPE_LCHR TYPE STRING,
TYPE_LRAW TYPE STRING,
LONGTYPENR TYPE STRING,
TABLENGTH TYPE STRING,
TABLENGTH_CHK_CTRL TYPE STRING,
STRUCTURELENGTH TYPE STRING,
DOMALENGTH TYPE STRING,
CURRLENGTH TYPE STRING,
EXISTREF TYPE STRING,
INTREF TYPE STRING,
OUTREF TYPE STRING,
OUTPUTSTYLE TYPE STRING,
CHECKREF TYPE STRING,
CHECKAGGR TYPE STRING,
CHECKLOBEX TYPE STRING,
KEYFLAG TYPE STRING,
MANDATORY TYPE STRING,
ADMINFIELD TYPE STRING,
NOTNULLFLG TYPE STRING,
LANGUFLAG TYPE STRING,
KEYTYPE TYPE STRING,
KEYLENGTH TYPE STRING,
DATALENGTH TYPE STRING,
MAXPLENG TYPE STRING,
FLDTYPE TYPE STRING,
DECFLOATEX TYPE STRING,
CLUSTERCHK TYPE STRING,
FNOT_NULL TYPE STRING,
NNLONGFLD TYPE STRING,
SAA_TRESEM TYPE STRING,
IDBACHK TYPE STRING,
NDEFTYPES TYPE STRING,
DDPREFIX TYPE STRING,
CIRCLE TYPE STRING,
TYPECORR TYPE STRING,
TYPEACT TYPE STRING,
TYPEACTCI TYPE STRING,
DEEPFLDLG TYPE STRING,
INCLKIND TYPE STRING,
FDSLASH TYPE STRING,
TTYPGEN TYPE STRING,
FLATSTRUC TYPE STRING,
ADDSTRUC TYPE STRING,
DATATYCHG TYPE STRING,
REFRES TYPE STRING,
TYPEUSAGE TYPE STRING,
GROUPDUPL TYPE STRING,
GREQUALFLD TYPE STRING,
MAXSTRGNR TYPE STRING,
PROXYTYPE TYPE STRING,
ABAP_LANG_VERS_FIELDS_CHECK TYPE STRING,
LANGFLCHK TYPE STRING,
SPSTRUCHG TYPE STRING,
DECFLOATSCALE TYPE STRING,
STREAMORLOC TYPE STRING,
LOBBASETAB_CHG TYPE STRING,
VIEWREF_USAGE TYPE STRING,
SRS_ID_VALID TYPE STRING,
EXTENSIBILITY_INCLUDES TYPE STRING,END OF T_EKKO_STR. DATA: WA_DCTBFDCHK_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_DCTBFDCHK_STR-FIELDEX sy-vline
WA_DCTBFDCHK_STR-FLDCNTMAX sy-vline
WA_DCTBFDCHK_STR-FLDRES sy-vline
WA_DCTBFDCHK_STR-SAA_SPACE sy-vline
WA_DCTBFDCHK_STR-SAA_LENGTH sy-vline
WA_DCTBFDCHK_STR-SAA_CSPACE sy-vline
WA_DCTBFDCHK_STR-SAA_HYPHEN sy-vline
WA_DCTBFDCHK_STR-SAA_1CHBAZ sy-vline
WA_DCTBFDCHK_STR-SAA_1CHUYZ sy-vline
WA_DCTBFDCHK_STR-SAA_ALPHAN sy-vline
WA_DCTBFDCHK_STR-SAA_2O3PC_ sy-vline
WA_DCTBFDCHK_STR-SAA_TRESE sy-vline
WA_DCTBFDCHK_STR-SAA_QCM sy-vline
WA_DCTBFDCHK_STR-SAA_POINT sy-vline
WA_DCTBFDCHK_STR-SAA_LPOS_ sy-vline
WA_DCTBFDCHK_STR-SAA_LANSI sy-vline
WA_DCTBFDCHK_STR-SAA_PREFIX sy-vline
WA_DCTBFDCHK_STR-SAA_CASESENS sy-vline
WA_DCTBFDCHK_STR-NOCUSTFLD sy-vline
WA_DCTBFDCHK_STR-NOBRANCHN sy-vline
WA_DCTBFDCHK_STR-NOSAPFLD sy-vline
WA_DCTBFDCHK_STR-KEY_EXIST sy-vline
WA_DCTBFDCHK_STR-KEY_NUMB sy-vline
WA_DCTBFDCHK_STR-KEY_CON sy-vline
WA_DCTBFDCHK_STR-KEY_BEGIN sy-vline
WA_DCTBFDCHK_STR-KEY_LEN sy-vline
WA_DCTBFDCHK_STR-KEY_TRANS sy-vline
WA_DCTBFDCHK_STR-KEY_TTYP sy-vline
WA_DCTBFDCHK_STR-KEY_CLIRF sy-vline
WA_DCTBFDCHK_STR-KEY_STRING sy-vline
WA_DCTBFDCHK_STR-KEY_TYPES sy-vline
WA_DCTBFDCHK_STR-KEY_DECFLOAT sy-vline
WA_DCTBFDCHK_STR-KEY_INVHASH sy-vline
WA_DCTBFDCHK_STR-KEYCHK_CTRL sy-vline
WA_DCTBFDCHK_STR-DUPFIELD sy-vline
WA_DCTBFDCHK_STR-EXISTDODE sy-vline
WA_DCTBFDCHK_STR-TYPECHECK sy-vline
WA_DCTBFDCHK_STR-MANDANT sy-vline
WA_DCTBFDCHK_STR-DATATYPE sy-vline
WA_DCTBFDCHK_STR-KEYCHANGE sy-vline
WA_DCTBFDCHK_STR-EXISTVARC sy-vline
WA_DCTBFDCHK_STR-TYPE_VARC sy-vline
WA_DCTBFDCHK_STR-TYPE_LCHR sy-vline
WA_DCTBFDCHK_STR-TYPE_LRAW sy-vline
WA_DCTBFDCHK_STR-LONGTYPENR sy-vline
WA_DCTBFDCHK_STR-TABLENGTH sy-vline
WA_DCTBFDCHK_STR-TABLENGTH_CHK_CTRL sy-vline
WA_DCTBFDCHK_STR-STRUCTURELENGTH sy-vline
WA_DCTBFDCHK_STR-DOMALENGTH sy-vline
WA_DCTBFDCHK_STR-CURRLENGTH sy-vline
WA_DCTBFDCHK_STR-EXISTREF sy-vline
WA_DCTBFDCHK_STR-INTREF sy-vline
WA_DCTBFDCHK_STR-OUTREF sy-vline
WA_DCTBFDCHK_STR-OUTPUTSTYLE sy-vline
WA_DCTBFDCHK_STR-CHECKREF sy-vline
WA_DCTBFDCHK_STR-CHECKAGGR sy-vline
WA_DCTBFDCHK_STR-CHECKLOBEX sy-vline
WA_DCTBFDCHK_STR-KEYFLAG sy-vline
WA_DCTBFDCHK_STR-MANDATORY sy-vline
WA_DCTBFDCHK_STR-ADMINFIELD sy-vline
WA_DCTBFDCHK_STR-NOTNULLFLG sy-vline
WA_DCTBFDCHK_STR-LANGUFLAG sy-vline
WA_DCTBFDCHK_STR-KEYTYPE sy-vline
WA_DCTBFDCHK_STR-KEYLENGTH sy-vline
WA_DCTBFDCHK_STR-DATALENGTH sy-vline
WA_DCTBFDCHK_STR-MAXPLENG sy-vline
WA_DCTBFDCHK_STR-FLDTYPE sy-vline
WA_DCTBFDCHK_STR-DECFLOATEX sy-vline
WA_DCTBFDCHK_STR-CLUSTERCHK sy-vline
WA_DCTBFDCHK_STR-FNOT_NULL sy-vline
WA_DCTBFDCHK_STR-NNLONGFLD sy-vline
WA_DCTBFDCHK_STR-SAA_TRESEM sy-vline
WA_DCTBFDCHK_STR-IDBACHK sy-vline
WA_DCTBFDCHK_STR-NDEFTYPES sy-vline
WA_DCTBFDCHK_STR-DDPREFIX sy-vline
WA_DCTBFDCHK_STR-CIRCLE sy-vline
WA_DCTBFDCHK_STR-TYPECORR sy-vline
WA_DCTBFDCHK_STR-TYPEACT sy-vline
WA_DCTBFDCHK_STR-TYPEACTCI sy-vline
WA_DCTBFDCHK_STR-DEEPFLDLG sy-vline
WA_DCTBFDCHK_STR-INCLKIND sy-vline
WA_DCTBFDCHK_STR-FDSLASH sy-vline
WA_DCTBFDCHK_STR-TTYPGEN sy-vline
WA_DCTBFDCHK_STR-FLATSTRUC sy-vline
WA_DCTBFDCHK_STR-ADDSTRUC sy-vline
WA_DCTBFDCHK_STR-DATATYCHG sy-vline
WA_DCTBFDCHK_STR-REFRES sy-vline
WA_DCTBFDCHK_STR-TYPEUSAGE sy-vline
WA_DCTBFDCHK_STR-GROUPDUPL sy-vline
WA_DCTBFDCHK_STR-GREQUALFLD sy-vline
WA_DCTBFDCHK_STR-MAXSTRGNR sy-vline
WA_DCTBFDCHK_STR-PROXYTYPE sy-vline
WA_DCTBFDCHK_STR-ABAP_LANG_VERS_FIELDS_CHECK sy-vline
WA_DCTBFDCHK_STR-LANGFLCHK sy-vline
WA_DCTBFDCHK_STR-SPSTRUCHG sy-vline
WA_DCTBFDCHK_STR-DECFLOATSCALE sy-vline
WA_DCTBFDCHK_STR-STREAMORLOC sy-vline
WA_DCTBFDCHK_STR-LOBBASETAB_CHG sy-vline
WA_DCTBFDCHK_STR-VIEWREF_USAGE sy-vline
WA_DCTBFDCHK_STR-SRS_ID_VALID sy-vline
WA_DCTBFDCHK_STR-EXTENSIBILITY_INCLUDES sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.