ABAP Select data from SAP table T608 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 T608 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 T608. 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 T608 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_T608 TYPE STANDARD TABLE OF T608,
      WA_T608 TYPE T608,
      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: <T608> TYPE T608.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM T608
*  INTO TABLE @DATA(IT_T6082).
*--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_T608 INDEX 1 INTO DATA(WA_T6082).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_T608 ASSIGNING <T608>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<T608>-MANDT = 1.
<T608>-SLCHK = 1.
<T608>-SLCNA = 1.
<T608>-SLSON = 1.
<T608>-SLCST = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_T608-SLSOS, sy-vline,
WA_T608-SLCCI, sy-vline,
WA_T608-SLSOI, sy-vline,
WA_T608-SLCCO, sy-vline,
WA_T608-SLSOC, sy-vline,
WA_T608-SLCRE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T608 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_T608 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_T608 INTO WA_T608. *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_T608_STR,
MANDT TYPE STRING,
SLCHK TYPE STRING,
SLCNA TYPE STRING,
SLSON TYPE STRING,
SLCST TYPE STRING,
SLSOS TYPE STRING,
SLCCI TYPE STRING,
SLSOI TYPE STRING,
SLCCO TYPE STRING,
SLSOC TYPE STRING,
SLCRE TYPE STRING,
SLSOR TYPE STRING,
SLCSE TYPE STRING,
SLSOE TYPE STRING,
SLCDL TYPE STRING,
SLCDA TYPE STRING,
SLAUD TYPE STRING,
SLCB1 TYPE STRING,
SLCB2 TYPE STRING,
SLCB3 TYPE STRING,
SLCB4 TYPE STRING,
SLCB5 TYPE STRING,
SLCNR TYPE STRING,
SLKTI TYPE STRING,
SLKN1 TYPE STRING,
SLKN2 TYPE STRING,
SLKN3 TYPE STRING,
SLKN4 TYPE STRING,
SLKNC TYPE STRING,
SLKSP TYPE STRING,
SLKS1 TYPE STRING,
SLKS2 TYPE STRING,
SLKS3 TYPE STRING,
SLKS4 TYPE STRING,
SLKS5 TYPE STRING,
SLKSH TYPE STRING,
SLKSE TYPE STRING,
SLKSG TYPE STRING,
SLKC1 TYPE STRING,
SLKC2 TYPE STRING,
SLKPL TYPE STRING,
SLKP1 TYPE STRING,
SLKP2 TYPE STRING,
SLKP3 TYPE STRING,
SLKL1 TYPE STRING,
SLKR1 TYPE STRING,
SLKL2 TYPE STRING,
SLKR2 TYPE STRING,
SLSMN TYPE STRING,
SLSMS TYPE STRING,
SLSMI TYPE STRING,
SLSMC TYPE STRING,
SLSMR TYPE STRING,
SLSME TYPE STRING,
SLPRN TYPE STRING,
SLPRS TYPE STRING,
SLPRI TYPE STRING,
SLPRC TYPE STRING,
SLPRR TYPE STRING,
SLPRE TYPE STRING,END OF T_EKKO_STR. DATA: WA_T608_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_T608_STR-MANDT sy-vline
WA_T608_STR-SLCHK sy-vline
WA_T608_STR-SLCNA sy-vline
WA_T608_STR-SLSON sy-vline
WA_T608_STR-SLCST sy-vline
WA_T608_STR-SLSOS sy-vline
WA_T608_STR-SLCCI sy-vline
WA_T608_STR-SLSOI sy-vline
WA_T608_STR-SLCCO sy-vline
WA_T608_STR-SLSOC sy-vline
WA_T608_STR-SLCRE sy-vline
WA_T608_STR-SLSOR sy-vline
WA_T608_STR-SLCSE sy-vline
WA_T608_STR-SLSOE sy-vline
WA_T608_STR-SLCDL sy-vline
WA_T608_STR-SLCDA sy-vline
WA_T608_STR-SLAUD sy-vline
WA_T608_STR-SLCB1 sy-vline
WA_T608_STR-SLCB2 sy-vline
WA_T608_STR-SLCB3 sy-vline
WA_T608_STR-SLCB4 sy-vline
WA_T608_STR-SLCB5 sy-vline
WA_T608_STR-SLCNR sy-vline
WA_T608_STR-SLKTI sy-vline
WA_T608_STR-SLKN1 sy-vline
WA_T608_STR-SLKN2 sy-vline
WA_T608_STR-SLKN3 sy-vline
WA_T608_STR-SLKN4 sy-vline
WA_T608_STR-SLKNC sy-vline
WA_T608_STR-SLKSP sy-vline
WA_T608_STR-SLKS1 sy-vline
WA_T608_STR-SLKS2 sy-vline
WA_T608_STR-SLKS3 sy-vline
WA_T608_STR-SLKS4 sy-vline
WA_T608_STR-SLKS5 sy-vline
WA_T608_STR-SLKSH sy-vline
WA_T608_STR-SLKSE sy-vline
WA_T608_STR-SLKSG sy-vline
WA_T608_STR-SLKC1 sy-vline
WA_T608_STR-SLKC2 sy-vline
WA_T608_STR-SLKPL sy-vline
WA_T608_STR-SLKP1 sy-vline
WA_T608_STR-SLKP2 sy-vline
WA_T608_STR-SLKP3 sy-vline
WA_T608_STR-SLKL1 sy-vline
WA_T608_STR-SLKR1 sy-vline
WA_T608_STR-SLKL2 sy-vline
WA_T608_STR-SLKR2 sy-vline
WA_T608_STR-SLSMN sy-vline
WA_T608_STR-SLSMS sy-vline
WA_T608_STR-SLSMI sy-vline
WA_T608_STR-SLSMC sy-vline
WA_T608_STR-SLSMR sy-vline
WA_T608_STR-SLSME sy-vline
WA_T608_STR-SLPRN sy-vline
WA_T608_STR-SLPRS sy-vline
WA_T608_STR-SLPRI sy-vline
WA_T608_STR-SLPRC sy-vline
WA_T608_STR-SLPRR sy-vline
WA_T608_STR-SLPRE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.