ABAP Select data from SAP table DCTBFDCHKE 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 DCTBFDCHKE 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 DCTBFDCHKE. 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 DCTBFDCHKE 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_DCTBFDCHKE TYPE STANDARD TABLE OF DCTBFDCHKE,
      WA_DCTBFDCHKE TYPE DCTBFDCHKE,
      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: <DCTBFDCHKE> TYPE DCTBFDCHKE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM DCTBFDCHKE
*  INTO TABLE @DATA(IT_DCTBFDCHKE2).
*--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_DCTBFDCHKE INDEX 1 INTO DATA(WA_DCTBFDCHKE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_DCTBFDCHKE ASSIGNING <DCTBFDCHKE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<DCTBFDCHKE>-MODUS = 1.
<DCTBFDCHKE>-TABCLASS = 1.
<DCTBFDCHKE>-AS4LOCAL = 1.
<DCTBFDCHKE>-FIELDEX = 1.
<DCTBFDCHKE>-FLDCNTMAX = 1.
ENDLOOP.

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

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