ABAP Select data from SAP table T496D 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 T496D 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 T496D. 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 T496D 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_T496D TYPE STANDARD TABLE OF T496D,
      WA_T496D TYPE T496D,
      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: <T496D> TYPE T496D.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM T496D
*  INTO TABLE @DATA(IT_T496D2).
*--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_T496D INDEX 1 INTO DATA(WA_T496D2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_T496D ASSIGNING <T496D>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<T496D>-MANDT = 1.
<T496D>-AUTYP = 1.
<T496D>-PUSER = 1.
<T496D>-WERKS = 1.
<T496D>-LG01X = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_T496D-LG01D, sy-vline,
WA_T496D-LG01K, sy-vline,
WA_T496D-LG01T, sy-vline,
WA_T496D-LG01S, sy-vline,
WA_T496D-LG01W, sy-vline,
WA_T496D-LG02X, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T496D 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_T496D 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_T496D INTO WA_T496D. *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 SPDEV, internal->external for field LG01D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LG01D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LG01D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LG02D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LG02D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LG02D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LG03D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LG03D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LG03D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LG04D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LG04D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LG04D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LV01D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LV01D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LV01D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LV02D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LV02D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LV02D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LV03D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LV03D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LV03D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LV04D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LV04D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LV04D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LK01D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LK01D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LK01D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LK02D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LK02D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LK02D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LK03D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LK03D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LK03D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LK04D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LK04D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LK04D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LF01D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LF01D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LF01D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LF02D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LF02D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LF02D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LF03D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LF03D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LF03D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LF04D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LF04D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LF04D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LP01D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LP01D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LP01D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LP02D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LP02D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LP02D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LP03D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LP03D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LP03D.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field LP04D CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_T496D-LP04D IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T496D-LP04D.
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_T496D_STR,
MANDT TYPE STRING,
AUTYP TYPE STRING,
PUSER TYPE STRING,
WERKS TYPE STRING,
LG01X TYPE STRING,
LG01D TYPE STRING,
LG01K TYPE STRING,
LG01T TYPE STRING,
LG01S TYPE STRING,
LG01W TYPE STRING,
LG02X TYPE STRING,
LG02D TYPE STRING,
LG02K TYPE STRING,
LG02T TYPE STRING,
LG02S TYPE STRING,
LG02W TYPE STRING,
LG03X TYPE STRING,
LG03D TYPE STRING,
LG03K TYPE STRING,
LG03T TYPE STRING,
LG03S TYPE STRING,
LG03W TYPE STRING,
LG04X TYPE STRING,
LG04D TYPE STRING,
LG04K TYPE STRING,
LG04T TYPE STRING,
LG04S TYPE STRING,
LG04W TYPE STRING,
LV01X TYPE STRING,
LV01D TYPE STRING,
LV01K TYPE STRING,
LV01T TYPE STRING,
LV01S TYPE STRING,
LV01W TYPE STRING,
LV02X TYPE STRING,
LV02D TYPE STRING,
LV02K TYPE STRING,
LV02T TYPE STRING,
LV02S TYPE STRING,
LV02W TYPE STRING,
LV03X TYPE STRING,
LV03D TYPE STRING,
LV03K TYPE STRING,
LV03T TYPE STRING,
LV03S TYPE STRING,
LV03W TYPE STRING,
LV04X TYPE STRING,
LV04D TYPE STRING,
LV04K TYPE STRING,
LV04T TYPE STRING,
LV04S TYPE STRING,
LV04W TYPE STRING,
LK01X TYPE STRING,
LK01D TYPE STRING,
LK01K TYPE STRING,
LK01T TYPE STRING,
LK01S TYPE STRING,
LK01W TYPE STRING,
LK02X TYPE STRING,
LK02D TYPE STRING,
LK02K TYPE STRING,
LK02T TYPE STRING,
LK02S TYPE STRING,
LK02W TYPE STRING,
LK03X TYPE STRING,
LK03D TYPE STRING,
LK03K TYPE STRING,
LK03T TYPE STRING,
LK03S TYPE STRING,
LK03W TYPE STRING,
LK04X TYPE STRING,
LK04D TYPE STRING,
LK04K TYPE STRING,
LK04T TYPE STRING,
LK04S TYPE STRING,
LK04W TYPE STRING,
LF01X TYPE STRING,
LF01D TYPE STRING,
LF01K TYPE STRING,
LF01T TYPE STRING,
LF01S TYPE STRING,
LF01W TYPE STRING,
LF02X TYPE STRING,
LF02D TYPE STRING,
LF02K TYPE STRING,
LF02T TYPE STRING,
LF02S TYPE STRING,
LF02W TYPE STRING,
LF03X TYPE STRING,
LF03D TYPE STRING,
LF03K TYPE STRING,
LF03T TYPE STRING,
LF03S TYPE STRING,
LF03W TYPE STRING,
LF04X TYPE STRING,
LF04D TYPE STRING,
LF04K TYPE STRING,
LF04T TYPE STRING,
LF04S TYPE STRING,
LF04W TYPE STRING,
LP01X TYPE STRING,
LP01D TYPE STRING,
LP01K TYPE STRING,
LP01T TYPE STRING,
LP01S TYPE STRING,
LP01W TYPE STRING,
LP02X TYPE STRING,
LP02D TYPE STRING,
LP02K TYPE STRING,
LP02T TYPE STRING,
LP02S TYPE STRING,
LP02W TYPE STRING,
LP03X TYPE STRING,
LP03D TYPE STRING,
LP03K TYPE STRING,
LP03T TYPE STRING,
LP03S TYPE STRING,
LP03W TYPE STRING,
LP04X TYPE STRING,
LP04D TYPE STRING,
LP04K TYPE STRING,
LP04T TYPE STRING,
LP04S TYPE STRING,
LP04W TYPE STRING,END OF T_EKKO_STR. DATA: WA_T496D_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_T496D_STR-MANDT sy-vline
WA_T496D_STR-AUTYP sy-vline
WA_T496D_STR-PUSER sy-vline
WA_T496D_STR-WERKS sy-vline
WA_T496D_STR-LG01X sy-vline
WA_T496D_STR-LG01D sy-vline
WA_T496D_STR-LG01K sy-vline
WA_T496D_STR-LG01T sy-vline
WA_T496D_STR-LG01S sy-vline
WA_T496D_STR-LG01W sy-vline
WA_T496D_STR-LG02X sy-vline
WA_T496D_STR-LG02D sy-vline
WA_T496D_STR-LG02K sy-vline
WA_T496D_STR-LG02T sy-vline
WA_T496D_STR-LG02S sy-vline
WA_T496D_STR-LG02W sy-vline
WA_T496D_STR-LG03X sy-vline
WA_T496D_STR-LG03D sy-vline
WA_T496D_STR-LG03K sy-vline
WA_T496D_STR-LG03T sy-vline
WA_T496D_STR-LG03S sy-vline
WA_T496D_STR-LG03W sy-vline
WA_T496D_STR-LG04X sy-vline
WA_T496D_STR-LG04D sy-vline
WA_T496D_STR-LG04K sy-vline
WA_T496D_STR-LG04T sy-vline
WA_T496D_STR-LG04S sy-vline
WA_T496D_STR-LG04W sy-vline
WA_T496D_STR-LV01X sy-vline
WA_T496D_STR-LV01D sy-vline
WA_T496D_STR-LV01K sy-vline
WA_T496D_STR-LV01T sy-vline
WA_T496D_STR-LV01S sy-vline
WA_T496D_STR-LV01W sy-vline
WA_T496D_STR-LV02X sy-vline
WA_T496D_STR-LV02D sy-vline
WA_T496D_STR-LV02K sy-vline
WA_T496D_STR-LV02T sy-vline
WA_T496D_STR-LV02S sy-vline
WA_T496D_STR-LV02W sy-vline
WA_T496D_STR-LV03X sy-vline
WA_T496D_STR-LV03D sy-vline
WA_T496D_STR-LV03K sy-vline
WA_T496D_STR-LV03T sy-vline
WA_T496D_STR-LV03S sy-vline
WA_T496D_STR-LV03W sy-vline
WA_T496D_STR-LV04X sy-vline
WA_T496D_STR-LV04D sy-vline
WA_T496D_STR-LV04K sy-vline
WA_T496D_STR-LV04T sy-vline
WA_T496D_STR-LV04S sy-vline
WA_T496D_STR-LV04W sy-vline
WA_T496D_STR-LK01X sy-vline
WA_T496D_STR-LK01D sy-vline
WA_T496D_STR-LK01K sy-vline
WA_T496D_STR-LK01T sy-vline
WA_T496D_STR-LK01S sy-vline
WA_T496D_STR-LK01W sy-vline
WA_T496D_STR-LK02X sy-vline
WA_T496D_STR-LK02D sy-vline
WA_T496D_STR-LK02K sy-vline
WA_T496D_STR-LK02T sy-vline
WA_T496D_STR-LK02S sy-vline
WA_T496D_STR-LK02W sy-vline
WA_T496D_STR-LK03X sy-vline
WA_T496D_STR-LK03D sy-vline
WA_T496D_STR-LK03K sy-vline
WA_T496D_STR-LK03T sy-vline
WA_T496D_STR-LK03S sy-vline
WA_T496D_STR-LK03W sy-vline
WA_T496D_STR-LK04X sy-vline
WA_T496D_STR-LK04D sy-vline
WA_T496D_STR-LK04K sy-vline
WA_T496D_STR-LK04T sy-vline
WA_T496D_STR-LK04S sy-vline
WA_T496D_STR-LK04W sy-vline
WA_T496D_STR-LF01X sy-vline
WA_T496D_STR-LF01D sy-vline
WA_T496D_STR-LF01K sy-vline
WA_T496D_STR-LF01T sy-vline
WA_T496D_STR-LF01S sy-vline
WA_T496D_STR-LF01W sy-vline
WA_T496D_STR-LF02X sy-vline
WA_T496D_STR-LF02D sy-vline
WA_T496D_STR-LF02K sy-vline
WA_T496D_STR-LF02T sy-vline
WA_T496D_STR-LF02S sy-vline
WA_T496D_STR-LF02W sy-vline
WA_T496D_STR-LF03X sy-vline
WA_T496D_STR-LF03D sy-vline
WA_T496D_STR-LF03K sy-vline
WA_T496D_STR-LF03T sy-vline
WA_T496D_STR-LF03S sy-vline
WA_T496D_STR-LF03W sy-vline
WA_T496D_STR-LF04X sy-vline
WA_T496D_STR-LF04D sy-vline
WA_T496D_STR-LF04K sy-vline
WA_T496D_STR-LF04T sy-vline
WA_T496D_STR-LF04S sy-vline
WA_T496D_STR-LF04W sy-vline
WA_T496D_STR-LP01X sy-vline
WA_T496D_STR-LP01D sy-vline
WA_T496D_STR-LP01K sy-vline
WA_T496D_STR-LP01T sy-vline
WA_T496D_STR-LP01S sy-vline
WA_T496D_STR-LP01W sy-vline
WA_T496D_STR-LP02X sy-vline
WA_T496D_STR-LP02D sy-vline
WA_T496D_STR-LP02K sy-vline
WA_T496D_STR-LP02T sy-vline
WA_T496D_STR-LP02S sy-vline
WA_T496D_STR-LP02W sy-vline
WA_T496D_STR-LP03X sy-vline
WA_T496D_STR-LP03D sy-vline
WA_T496D_STR-LP03K sy-vline
WA_T496D_STR-LP03T sy-vline
WA_T496D_STR-LP03S sy-vline
WA_T496D_STR-LP03W sy-vline
WA_T496D_STR-LP04X sy-vline
WA_T496D_STR-LP04D sy-vline
WA_T496D_STR-LP04K sy-vline
WA_T496D_STR-LP04T sy-vline
WA_T496D_STR-LP04S sy-vline
WA_T496D_STR-LP04W sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.