ABAP Select data from SAP table MCJHTFK 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 MCJHTFK 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 MCJHTFK. 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 MCJHTFK 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_MCJHTFK TYPE STANDARD TABLE OF MCJHTFK,
      WA_MCJHTFK TYPE MCJHTFK,
      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: <MCJHTFK> TYPE MCJHTFK.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM MCJHTFK
*  INTO TABLE @DATA(IT_MCJHTFK2).
*--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_MCJHTFK INDEX 1 INTO DATA(WA_MCJHTFK2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_MCJHTFK ASSIGNING <MCJHTFK>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<MCJHTFK>-MANDT = 1.
<MCJHTFK>-VBELN = 1.
<MCJHTFK>-ERFUSER = 1.
<MCJHTFK>-ERFDATE = 1.
<MCJHTFK>-ERFTIME = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_MCJHTFK-AENUSER, sy-vline,
WA_MCJHTFK-AENDATE, sy-vline,
WA_MCJHTFK-AENTIME, sy-vline,
WA_MCJHTFK-SFAKN, sy-vline,
WA_MCJHTFK-XEZER, sy-vline,
WA_MCJHTFK-BANKS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_MCJHTFK 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_MCJHTFK 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_MCJHTFK INTO WA_MCJHTFK. *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 ALPHA, internal->external for field VBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCJHTFK-VBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJHTFK-VBELN.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit GJAHR, internal->external for field GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_MCJHTFK-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJHTFK-GJAHR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit EXCRT, internal->external for field KURRF CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_MCJHTFK-KURRF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJHTFK-KURRF.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field SD_VBELN_VF CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_MCJHTFK-SD_VBELN_VF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_MCJHTFK-SD_VBELN_VF.
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_MCJHTFK_STR,
MANDT TYPE STRING,
VBELN TYPE STRING,
ERFUSER TYPE STRING,
ERFDATE TYPE STRING,
ERFTIME TYPE STRING,
AENUSER TYPE STRING,
AENDATE TYPE STRING,
AENTIME TYPE STRING,
SFAKN TYPE STRING,
XEZER TYPE STRING,
BANKS TYPE STRING,
BANKN TYPE STRING,
BANKL TYPE STRING,
BKONT TYPE STRING,
BVTYP TYPE STRING,
FKART TYPE STRING,
FKDAT TYPE STRING,
FKTYP TYPE STRING,
INCO1 TYPE STRING,
INCO2 TYPE STRING,
KNUMV TYPE STRING,
KURST TYPE STRING,
LAND1 TYPE STRING,
REGIO TYPE STRING,
VKORG TYPE STRING,
TAXK1 TYPE STRING,
TAXK2 TYPE STRING,
TAXK3 TYPE STRING,
TAXK4 TYPE STRING,
TAXK5 TYPE STRING,
TAXK6 TYPE STRING,
TAXK7 TYPE STRING,
TAXK8 TYPE STRING,
TAXK9 TYPE STRING,
UEBAR TYPE STRING,
WAERK TYPE STRING,
ZTERM TYPE STRING,
VALTG TYPE STRING,
VALDT TYPE STRING,
ZLSCH TYPE STRING,
MSCHL TYPE STRING,
MANSP TYPE STRING,
NATIO TYPE STRING,
ADRNR TYPE STRING,
CCINS TYPE STRING,
CCNUM TYPE STRING,
DATBI TYPE STRING,
CCNAME TYPE STRING,
CCAUA TYPE STRING,
CCACT TYPE STRING,
AUDAT_CC TYPE STRING,
AUTIM TYPE STRING,
CCALL TYPE STRING,
REACT TYPE STRING,
AUTWR TYPE STRING,
CCWAE TYPE STRING,
AUNUM TYPE STRING,
AUTRA TYPE STRING,
SETTL TYPE STRING,
CGUID TYPE STRING,
ENCTP TYPE STRING,
IBAN TYPE STRING,
MNDID TYPE STRING,
STTYP TYPE STRING,
MRNKZ TYPE STRING,
EXPKZ TYPE STRING,
EXNUM TYPE STRING,
POPER TYPE STRING,
GJAHR TYPE STRING,
MONAT TYPE STRING,
XBLNR TYPE STRING,
ZUONR TYPE STRING,
BELNR TYPE STRING,
UNRFI TYPE STRING,
KURRF TYPE STRING,
CPKUR TYPE STRING,
BRTWK TYPE STRING,
NETWK TYPE STRING,
MWSBK TYPE STRING,
STWAE TYPE STRING,
STAFO TYPE STRING,
RFBSK TYPE STRING,
STAFI TYPE STRING,
MABER TYPE STRING,
VBTYP TYPE STRING,
PERFK TYPE STRING,
BUKRS TYPE STRING,
KTGRD TYPE STRING,
PLTYP TYPE STRING,
KUNRG TYPE STRING,
KUNRE TYPE STRING,
STCEG TYPE STRING,
STCEG_H TYPE STRING,
STCEG_L TYPE STRING,
LANDTX TYPE STRING,
COUNC TYPE STRING,
CITYC TYPE STRING,
TXJCD TYPE STRING,
ZUKRI TYPE STRING,
LOGSYS TYPE STRING,
EKORG TYPE STRING,
KREZE TYPE STRING,
KRERS TYPE STRING,
VNR TYPE STRING,
VTYP TYPE STRING,
KTGRV TYPE STRING,
UEBERLART TYPE STRING,
PERNR TYPE STRING,
VTNR TYPE STRING,
ABRGNR TYPE STRING,
FAB_PROZNT TYPE STRING,
SD_VBELN_VF TYPE STRING,
SD_NEWGL_STA TYPE STRING,
HWAER TYPE STRING,
STGKU TYPE STRING,END OF T_EKKO_STR. DATA: WA_MCJHTFK_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_MCJHTFK_STR-MANDT sy-vline
WA_MCJHTFK_STR-VBELN sy-vline
WA_MCJHTFK_STR-ERFUSER sy-vline
WA_MCJHTFK_STR-ERFDATE sy-vline
WA_MCJHTFK_STR-ERFTIME sy-vline
WA_MCJHTFK_STR-AENUSER sy-vline
WA_MCJHTFK_STR-AENDATE sy-vline
WA_MCJHTFK_STR-AENTIME sy-vline
WA_MCJHTFK_STR-SFAKN sy-vline
WA_MCJHTFK_STR-XEZER sy-vline
WA_MCJHTFK_STR-BANKS sy-vline
WA_MCJHTFK_STR-BANKN sy-vline
WA_MCJHTFK_STR-BANKL sy-vline
WA_MCJHTFK_STR-BKONT sy-vline
WA_MCJHTFK_STR-BVTYP sy-vline
WA_MCJHTFK_STR-FKART sy-vline
WA_MCJHTFK_STR-FKDAT sy-vline
WA_MCJHTFK_STR-FKTYP sy-vline
WA_MCJHTFK_STR-INCO1 sy-vline
WA_MCJHTFK_STR-INCO2 sy-vline
WA_MCJHTFK_STR-KNUMV sy-vline
WA_MCJHTFK_STR-KURST sy-vline
WA_MCJHTFK_STR-LAND1 sy-vline
WA_MCJHTFK_STR-REGIO sy-vline
WA_MCJHTFK_STR-VKORG sy-vline
WA_MCJHTFK_STR-TAXK1 sy-vline
WA_MCJHTFK_STR-TAXK2 sy-vline
WA_MCJHTFK_STR-TAXK3 sy-vline
WA_MCJHTFK_STR-TAXK4 sy-vline
WA_MCJHTFK_STR-TAXK5 sy-vline
WA_MCJHTFK_STR-TAXK6 sy-vline
WA_MCJHTFK_STR-TAXK7 sy-vline
WA_MCJHTFK_STR-TAXK8 sy-vline
WA_MCJHTFK_STR-TAXK9 sy-vline
WA_MCJHTFK_STR-UEBAR sy-vline
WA_MCJHTFK_STR-WAERK sy-vline
WA_MCJHTFK_STR-ZTERM sy-vline
WA_MCJHTFK_STR-VALTG sy-vline
WA_MCJHTFK_STR-VALDT sy-vline
WA_MCJHTFK_STR-ZLSCH sy-vline
WA_MCJHTFK_STR-MSCHL sy-vline
WA_MCJHTFK_STR-MANSP sy-vline
WA_MCJHTFK_STR-NATIO sy-vline
WA_MCJHTFK_STR-ADRNR sy-vline
WA_MCJHTFK_STR-CCINS sy-vline
WA_MCJHTFK_STR-CCNUM sy-vline
WA_MCJHTFK_STR-DATBI sy-vline
WA_MCJHTFK_STR-CCNAME sy-vline
WA_MCJHTFK_STR-CCAUA sy-vline
WA_MCJHTFK_STR-CCACT sy-vline
WA_MCJHTFK_STR-AUDAT_CC sy-vline
WA_MCJHTFK_STR-AUTIM sy-vline
WA_MCJHTFK_STR-CCALL sy-vline
WA_MCJHTFK_STR-REACT sy-vline
WA_MCJHTFK_STR-AUTWR sy-vline
WA_MCJHTFK_STR-CCWAE sy-vline
WA_MCJHTFK_STR-AUNUM sy-vline
WA_MCJHTFK_STR-AUTRA sy-vline
WA_MCJHTFK_STR-SETTL sy-vline
WA_MCJHTFK_STR-CGUID sy-vline
WA_MCJHTFK_STR-ENCTP sy-vline
WA_MCJHTFK_STR-IBAN sy-vline
WA_MCJHTFK_STR-MNDID sy-vline
WA_MCJHTFK_STR-STTYP sy-vline
WA_MCJHTFK_STR-MRNKZ sy-vline
WA_MCJHTFK_STR-EXPKZ sy-vline
WA_MCJHTFK_STR-EXNUM sy-vline
WA_MCJHTFK_STR-POPER sy-vline
WA_MCJHTFK_STR-GJAHR sy-vline
WA_MCJHTFK_STR-MONAT sy-vline
WA_MCJHTFK_STR-XBLNR sy-vline
WA_MCJHTFK_STR-ZUONR sy-vline
WA_MCJHTFK_STR-BELNR sy-vline
WA_MCJHTFK_STR-UNRFI sy-vline
WA_MCJHTFK_STR-KURRF sy-vline
WA_MCJHTFK_STR-CPKUR sy-vline
WA_MCJHTFK_STR-BRTWK sy-vline
WA_MCJHTFK_STR-NETWK sy-vline
WA_MCJHTFK_STR-MWSBK sy-vline
WA_MCJHTFK_STR-STWAE sy-vline
WA_MCJHTFK_STR-STAFO sy-vline
WA_MCJHTFK_STR-RFBSK sy-vline
WA_MCJHTFK_STR-STAFI sy-vline
WA_MCJHTFK_STR-MABER sy-vline
WA_MCJHTFK_STR-VBTYP sy-vline
WA_MCJHTFK_STR-PERFK sy-vline
WA_MCJHTFK_STR-BUKRS sy-vline
WA_MCJHTFK_STR-KTGRD sy-vline
WA_MCJHTFK_STR-PLTYP sy-vline
WA_MCJHTFK_STR-KUNRG sy-vline
WA_MCJHTFK_STR-KUNRE sy-vline
WA_MCJHTFK_STR-STCEG sy-vline
WA_MCJHTFK_STR-STCEG_H sy-vline
WA_MCJHTFK_STR-STCEG_L sy-vline
WA_MCJHTFK_STR-LANDTX sy-vline
WA_MCJHTFK_STR-COUNC sy-vline
WA_MCJHTFK_STR-CITYC sy-vline
WA_MCJHTFK_STR-TXJCD sy-vline
WA_MCJHTFK_STR-ZUKRI sy-vline
WA_MCJHTFK_STR-LOGSYS sy-vline
WA_MCJHTFK_STR-EKORG sy-vline
WA_MCJHTFK_STR-KREZE sy-vline
WA_MCJHTFK_STR-KRERS sy-vline
WA_MCJHTFK_STR-VNR sy-vline
WA_MCJHTFK_STR-VTYP sy-vline
WA_MCJHTFK_STR-KTGRV sy-vline
WA_MCJHTFK_STR-UEBERLART sy-vline
WA_MCJHTFK_STR-PERNR sy-vline
WA_MCJHTFK_STR-VTNR sy-vline
WA_MCJHTFK_STR-ABRGNR sy-vline
WA_MCJHTFK_STR-FAB_PROZNT sy-vline
WA_MCJHTFK_STR-SD_VBELN_VF sy-vline
WA_MCJHTFK_STR-SD_NEWGL_STA sy-vline
WA_MCJHTFK_STR-HWAER sy-vline
WA_MCJHTFK_STR-STGKU sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.