ABAP Select data from SAP table T5H7O 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 T5H7O 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 T5H7O. 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 T5H7O 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_T5H7O TYPE STANDARD TABLE OF T5H7O,
      WA_T5H7O TYPE T5H7O,
      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: <T5H7O> TYPE T5H7O.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM T5H7O
*  INTO TABLE @DATA(IT_T5H7O2).
*--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_T5H7O INDEX 1 INTO DATA(WA_T5H7O2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_T5H7O ASSIGNING <T5H7O>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<T5H7O>-MANDT = 1.
<T5H7O>-LFNMR = 1.
<T5H7O>-BUKRS = 1.
<T5H7O>-WERKS = 1.
<T5H7O>-BZCOD = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_T5H7O-SJAHR, sy-vline,
WA_T5H7O-MONAT, sy-vline,
WA_T5H7O-ERDAT, sy-vline,
WA_T5H7O-ERSTL, sy-vline,
WA_T5H7O-LISTG, sy-vline,
WA_T5H7O-AEDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T5H7O 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_T5H7O 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_T5H7O INTO WA_T5H7O. *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 SJAHR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_T5H7O-SJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5H7O-SJAHR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field MONAT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_T5H7O-MONAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5H7O-MONAT.
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_T5H7O_STR,
MANDT TYPE STRING,
LFNMR TYPE STRING,
BUKRS TYPE STRING,
WERKS TYPE STRING,
BZCOD TYPE STRING,
SJAHR TYPE STRING,
MONAT TYPE STRING,
ERDAT TYPE STRING,
ERSTL TYPE STRING,
LISTG TYPE STRING,
AEDAT TYPE STRING,
GEADT TYPE STRING,
LISTM TYPE STRING,
AMGSD TYPE STRING,
AVPAR TYPE STRING,
AVPAN TYPE STRING,
AVGAR TYPE STRING,
AVGAN TYPE STRING,
ATPAR TYPE STRING,
ATPAM TYPE STRING,
ATGAR TYPE STRING,
ATGAM TYPE STRING,
APPAR TYPE STRING,
APGAR TYPE STRING,
BVPAR TYPE STRING,
BVPAN TYPE STRING,
BVGAR TYPE STRING,
BVGAN TYPE STRING,
BTPAR TYPE STRING,
BTPAM TYPE STRING,
BTGAR TYPE STRING,
BTGAM TYPE STRING,
BPPAR TYPE STRING,
BPGAR TYPE STRING,
LVPAR TYPE STRING,
EVPAR TYPE STRING,
LVPAN TYPE STRING,
EVPAN TYPE STRING,
LVGAR TYPE STRING,
EVGAR TYPE STRING,
LVGAN TYPE STRING,
EVGAN TYPE STRING,
LTPAR TYPE STRING,
ETPAR TYPE STRING,
LTPAM TYPE STRING,
ETPAM TYPE STRING,
LTGAR TYPE STRING,
ETGAR TYPE STRING,
LTGAM TYPE STRING,
ETGAM TYPE STRING,
LPPAR TYPE STRING,
EPPAR TYPE STRING,
LPGAR TYPE STRING,
EPGAR TYPE STRING,
LAABS TYPE STRING,
EAABS TYPE STRING,
MVPAR TYPE STRING,
KVPAR TYPE STRING,
MVPAN TYPE STRING,
KVPAN TYPE STRING,
MVGAR TYPE STRING,
KVGAR TYPE STRING,
MVGAN TYPE STRING,
KVGAN TYPE STRING,
MTPAR TYPE STRING,
KTPAR TYPE STRING,
MTPAM TYPE STRING,
KTPAM TYPE STRING,
MTGAR TYPE STRING,
KTGAR TYPE STRING,
MTGAM TYPE STRING,
KTGAM TYPE STRING,
MPPAR TYPE STRING,
KPPAR TYPE STRING,
MPGAR TYPE STRING,
KPGAR TYPE STRING,
MAABS TYPE STRING,
KAABS TYPE STRING,
AYPAR TYPE STRING,
AYGAR TYPE STRING,
ATABS TYPE STRING,
AFAMI TYPE STRING,
BYPAR TYPE STRING,
BYGAR TYPE STRING,
BTABS TYPE STRING,
BFAMI TYPE STRING,
LYPAR TYPE STRING,
LYGAR TYPE STRING,
LTABS TYPE STRING,
LPREM TYPE STRING,
MYPAR TYPE STRING,
MYGAR TYPE STRING,
MTABS TYPE STRING,
MPREM TYPE STRING,
EYPAR TYPE STRING,
EYGAR TYPE STRING,
ETABS TYPE STRING,
EPREM TYPE STRING,
KYPAR TYPE STRING,
KYGAR TYPE STRING,
KTABS TYPE STRING,
KPREM TYPE STRING,
AMORA TYPE STRING,
ATFMO TYPE STRING,
ATORA TYPE STRING,
AYORA TYPE STRING,
ARORA TYPE STRING,
ANORA TYPE STRING,
BMORA TYPE STRING,
BTFMO TYPE STRING,
BTORA TYPE STRING,
BYORA TYPE STRING,
BRORA TYPE STRING,
BNORA TYPE STRING,
APPAN TYPE STRING,
APGAN TYPE STRING,
LPPAN TYPE STRING,
LPGAN TYPE STRING,
EPPAN TYPE STRING,
EPGAN TYPE STRING,
BPPAN TYPE STRING,
BPGAN TYPE STRING,
MPPAN TYPE STRING,
MPGAN TYPE STRING,
KPPAN TYPE STRING,
KPGAN TYPE STRING,
ASZMK TYPE STRING,
LSZMK TYPE STRING,
ESZMK TYPE STRING,
BSZMK TYPE STRING,
MSZMK TYPE STRING,
KSZMK TYPE STRING,
AKPAR TYPE STRING,
BKPAR TYPE STRING,
CKPAR TYPE STRING,
AKOLC TYPE STRING,
AKORA TYPE STRING,
EV255 TYPE STRING,
KFTMF TYPE STRING,
KTMFB TYPE STRING,
KTMFE TYPE STRING,
KTMFP TYPE STRING,
KFTSZ TYPE STRING,
KFTSB TYPE STRING,
KFTSE TYPE STRING,
KFTSP TYPE STRING,
KFRFF TYPE STRING,
KFRFB TYPE STRING,
KFRFE TYPE STRING,
KFRFP TYPE STRING,
KFRSZ TYPE STRING,
KFRSB TYPE STRING,
KFRSE TYPE STRING,
KFRSP TYPE STRING,
KF60L TYPE STRING,
KF60B TYPE STRING,
KF60E TYPE STRING,
KF60P TYPE STRING,
KFORA TYPE STRING,END OF T_EKKO_STR. DATA: WA_T5H7O_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_T5H7O_STR-MANDT sy-vline
WA_T5H7O_STR-LFNMR sy-vline
WA_T5H7O_STR-BUKRS sy-vline
WA_T5H7O_STR-WERKS sy-vline
WA_T5H7O_STR-BZCOD sy-vline
WA_T5H7O_STR-SJAHR sy-vline
WA_T5H7O_STR-MONAT sy-vline
WA_T5H7O_STR-ERDAT sy-vline
WA_T5H7O_STR-ERSTL sy-vline
WA_T5H7O_STR-LISTG sy-vline
WA_T5H7O_STR-AEDAT sy-vline
WA_T5H7O_STR-GEADT sy-vline
WA_T5H7O_STR-LISTM sy-vline
WA_T5H7O_STR-AMGSD sy-vline
WA_T5H7O_STR-AVPAR sy-vline
WA_T5H7O_STR-AVPAN sy-vline
WA_T5H7O_STR-AVGAR sy-vline
WA_T5H7O_STR-AVGAN sy-vline
WA_T5H7O_STR-ATPAR sy-vline
WA_T5H7O_STR-ATPAM sy-vline
WA_T5H7O_STR-ATGAR sy-vline
WA_T5H7O_STR-ATGAM sy-vline
WA_T5H7O_STR-APPAR sy-vline
WA_T5H7O_STR-APGAR sy-vline
WA_T5H7O_STR-BVPAR sy-vline
WA_T5H7O_STR-BVPAN sy-vline
WA_T5H7O_STR-BVGAR sy-vline
WA_T5H7O_STR-BVGAN sy-vline
WA_T5H7O_STR-BTPAR sy-vline
WA_T5H7O_STR-BTPAM sy-vline
WA_T5H7O_STR-BTGAR sy-vline
WA_T5H7O_STR-BTGAM sy-vline
WA_T5H7O_STR-BPPAR sy-vline
WA_T5H7O_STR-BPGAR sy-vline
WA_T5H7O_STR-LVPAR sy-vline
WA_T5H7O_STR-EVPAR sy-vline
WA_T5H7O_STR-LVPAN sy-vline
WA_T5H7O_STR-EVPAN sy-vline
WA_T5H7O_STR-LVGAR sy-vline
WA_T5H7O_STR-EVGAR sy-vline
WA_T5H7O_STR-LVGAN sy-vline
WA_T5H7O_STR-EVGAN sy-vline
WA_T5H7O_STR-LTPAR sy-vline
WA_T5H7O_STR-ETPAR sy-vline
WA_T5H7O_STR-LTPAM sy-vline
WA_T5H7O_STR-ETPAM sy-vline
WA_T5H7O_STR-LTGAR sy-vline
WA_T5H7O_STR-ETGAR sy-vline
WA_T5H7O_STR-LTGAM sy-vline
WA_T5H7O_STR-ETGAM sy-vline
WA_T5H7O_STR-LPPAR sy-vline
WA_T5H7O_STR-EPPAR sy-vline
WA_T5H7O_STR-LPGAR sy-vline
WA_T5H7O_STR-EPGAR sy-vline
WA_T5H7O_STR-LAABS sy-vline
WA_T5H7O_STR-EAABS sy-vline
WA_T5H7O_STR-MVPAR sy-vline
WA_T5H7O_STR-KVPAR sy-vline
WA_T5H7O_STR-MVPAN sy-vline
WA_T5H7O_STR-KVPAN sy-vline
WA_T5H7O_STR-MVGAR sy-vline
WA_T5H7O_STR-KVGAR sy-vline
WA_T5H7O_STR-MVGAN sy-vline
WA_T5H7O_STR-KVGAN sy-vline
WA_T5H7O_STR-MTPAR sy-vline
WA_T5H7O_STR-KTPAR sy-vline
WA_T5H7O_STR-MTPAM sy-vline
WA_T5H7O_STR-KTPAM sy-vline
WA_T5H7O_STR-MTGAR sy-vline
WA_T5H7O_STR-KTGAR sy-vline
WA_T5H7O_STR-MTGAM sy-vline
WA_T5H7O_STR-KTGAM sy-vline
WA_T5H7O_STR-MPPAR sy-vline
WA_T5H7O_STR-KPPAR sy-vline
WA_T5H7O_STR-MPGAR sy-vline
WA_T5H7O_STR-KPGAR sy-vline
WA_T5H7O_STR-MAABS sy-vline
WA_T5H7O_STR-KAABS sy-vline
WA_T5H7O_STR-AYPAR sy-vline
WA_T5H7O_STR-AYGAR sy-vline
WA_T5H7O_STR-ATABS sy-vline
WA_T5H7O_STR-AFAMI sy-vline
WA_T5H7O_STR-BYPAR sy-vline
WA_T5H7O_STR-BYGAR sy-vline
WA_T5H7O_STR-BTABS sy-vline
WA_T5H7O_STR-BFAMI sy-vline
WA_T5H7O_STR-LYPAR sy-vline
WA_T5H7O_STR-LYGAR sy-vline
WA_T5H7O_STR-LTABS sy-vline
WA_T5H7O_STR-LPREM sy-vline
WA_T5H7O_STR-MYPAR sy-vline
WA_T5H7O_STR-MYGAR sy-vline
WA_T5H7O_STR-MTABS sy-vline
WA_T5H7O_STR-MPREM sy-vline
WA_T5H7O_STR-EYPAR sy-vline
WA_T5H7O_STR-EYGAR sy-vline
WA_T5H7O_STR-ETABS sy-vline
WA_T5H7O_STR-EPREM sy-vline
WA_T5H7O_STR-KYPAR sy-vline
WA_T5H7O_STR-KYGAR sy-vline
WA_T5H7O_STR-KTABS sy-vline
WA_T5H7O_STR-KPREM sy-vline
WA_T5H7O_STR-AMORA sy-vline
WA_T5H7O_STR-ATFMO sy-vline
WA_T5H7O_STR-ATORA sy-vline
WA_T5H7O_STR-AYORA sy-vline
WA_T5H7O_STR-ARORA sy-vline
WA_T5H7O_STR-ANORA sy-vline
WA_T5H7O_STR-BMORA sy-vline
WA_T5H7O_STR-BTFMO sy-vline
WA_T5H7O_STR-BTORA sy-vline
WA_T5H7O_STR-BYORA sy-vline
WA_T5H7O_STR-BRORA sy-vline
WA_T5H7O_STR-BNORA sy-vline
WA_T5H7O_STR-APPAN sy-vline
WA_T5H7O_STR-APGAN sy-vline
WA_T5H7O_STR-LPPAN sy-vline
WA_T5H7O_STR-LPGAN sy-vline
WA_T5H7O_STR-EPPAN sy-vline
WA_T5H7O_STR-EPGAN sy-vline
WA_T5H7O_STR-BPPAN sy-vline
WA_T5H7O_STR-BPGAN sy-vline
WA_T5H7O_STR-MPPAN sy-vline
WA_T5H7O_STR-MPGAN sy-vline
WA_T5H7O_STR-KPPAN sy-vline
WA_T5H7O_STR-KPGAN sy-vline
WA_T5H7O_STR-ASZMK sy-vline
WA_T5H7O_STR-LSZMK sy-vline
WA_T5H7O_STR-ESZMK sy-vline
WA_T5H7O_STR-BSZMK sy-vline
WA_T5H7O_STR-MSZMK sy-vline
WA_T5H7O_STR-KSZMK sy-vline
WA_T5H7O_STR-AKPAR sy-vline
WA_T5H7O_STR-BKPAR sy-vline
WA_T5H7O_STR-CKPAR sy-vline
WA_T5H7O_STR-AKOLC sy-vline
WA_T5H7O_STR-AKORA sy-vline
WA_T5H7O_STR-EV255 sy-vline
WA_T5H7O_STR-KFTMF sy-vline
WA_T5H7O_STR-KTMFB sy-vline
WA_T5H7O_STR-KTMFE sy-vline
WA_T5H7O_STR-KTMFP sy-vline
WA_T5H7O_STR-KFTSZ sy-vline
WA_T5H7O_STR-KFTSB sy-vline
WA_T5H7O_STR-KFTSE sy-vline
WA_T5H7O_STR-KFTSP sy-vline
WA_T5H7O_STR-KFRFF sy-vline
WA_T5H7O_STR-KFRFB sy-vline
WA_T5H7O_STR-KFRFE sy-vline
WA_T5H7O_STR-KFRFP sy-vline
WA_T5H7O_STR-KFRSZ sy-vline
WA_T5H7O_STR-KFRSB sy-vline
WA_T5H7O_STR-KFRSE sy-vline
WA_T5H7O_STR-KFRSP sy-vline
WA_T5H7O_STR-KF60L sy-vline
WA_T5H7O_STR-KF60B sy-vline
WA_T5H7O_STR-KF60E sy-vline
WA_T5H7O_STR-KF60P sy-vline
WA_T5H7O_STR-KFORA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.