ABAP Select data from SAP table FSH_ITA_DDCONF 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 FSH_ITA_DDCONF 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 FSH_ITA_DDCONF. 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 FSH_ITA_DDCONF 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_FSH_ITA_DDCONF TYPE STANDARD TABLE OF FSH_ITA_DDCONF,
      WA_FSH_ITA_DDCONF TYPE FSH_ITA_DDCONF,
      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: <FSH_ITA_DDCONF> TYPE FSH_ITA_DDCONF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FSH_ITA_DDCONF
*  INTO TABLE @DATA(IT_FSH_ITA_DDCONF2).
*--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_FSH_ITA_DDCONF INDEX 1 INTO DATA(WA_FSH_ITA_DDCONF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FSH_ITA_DDCONF ASSIGNING <FSH_ITA_DDCONF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FSH_ITA_DDCONF>-MANDT = 1.
<FSH_ITA_DDCONF>-HNAME = 1.
<FSH_ITA_DDCONF>-L11 = 1.
<FSH_ITA_DDCONF>-L12 = 1.
<FSH_ITA_DDCONF>-L13 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FSH_ITA_DDCONF-L14, sy-vline,
WA_FSH_ITA_DDCONF-L21, sy-vline,
WA_FSH_ITA_DDCONF-L22, sy-vline,
WA_FSH_ITA_DDCONF-L23, sy-vline,
WA_FSH_ITA_DDCONF-L24, sy-vline,
WA_FSH_ITA_DDCONF-L31, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FSH_ITA_DDCONF 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_FSH_ITA_DDCONF 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_FSH_ITA_DDCONF INTO WA_FSH_ITA_DDCONF. *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_FSH_ITA_DDCONF_STR,
MANDT TYPE STRING,
HNAME TYPE STRING,
L11 TYPE STRING,
L12 TYPE STRING,
L13 TYPE STRING,
L14 TYPE STRING,
L21 TYPE STRING,
L22 TYPE STRING,
L23 TYPE STRING,
L24 TYPE STRING,
L31 TYPE STRING,
L32 TYPE STRING,
L33 TYPE STRING,
L34 TYPE STRING,
L41 TYPE STRING,
L42 TYPE STRING,
L43 TYPE STRING,
L51 TYPE STRING,
L52 TYPE STRING,
L53 TYPE STRING,
L54 TYPE STRING,
L44 TYPE STRING,
L61 TYPE STRING,
L62 TYPE STRING,
L63 TYPE STRING,
L64 TYPE STRING,
SL1 TYPE STRING,
SL2 TYPE STRING,
SL3 TYPE STRING,
SL4 TYPE STRING,
SL5 TYPE STRING,
SL6 TYPE STRING,END OF T_EKKO_STR. DATA: WA_FSH_ITA_DDCONF_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_FSH_ITA_DDCONF_STR-MANDT sy-vline
WA_FSH_ITA_DDCONF_STR-HNAME sy-vline
WA_FSH_ITA_DDCONF_STR-L11 sy-vline
WA_FSH_ITA_DDCONF_STR-L12 sy-vline
WA_FSH_ITA_DDCONF_STR-L13 sy-vline
WA_FSH_ITA_DDCONF_STR-L14 sy-vline
WA_FSH_ITA_DDCONF_STR-L21 sy-vline
WA_FSH_ITA_DDCONF_STR-L22 sy-vline
WA_FSH_ITA_DDCONF_STR-L23 sy-vline
WA_FSH_ITA_DDCONF_STR-L24 sy-vline
WA_FSH_ITA_DDCONF_STR-L31 sy-vline
WA_FSH_ITA_DDCONF_STR-L32 sy-vline
WA_FSH_ITA_DDCONF_STR-L33 sy-vline
WA_FSH_ITA_DDCONF_STR-L34 sy-vline
WA_FSH_ITA_DDCONF_STR-L41 sy-vline
WA_FSH_ITA_DDCONF_STR-L42 sy-vline
WA_FSH_ITA_DDCONF_STR-L43 sy-vline
WA_FSH_ITA_DDCONF_STR-L51 sy-vline
WA_FSH_ITA_DDCONF_STR-L52 sy-vline
WA_FSH_ITA_DDCONF_STR-L53 sy-vline
WA_FSH_ITA_DDCONF_STR-L54 sy-vline
WA_FSH_ITA_DDCONF_STR-L44 sy-vline
WA_FSH_ITA_DDCONF_STR-L61 sy-vline
WA_FSH_ITA_DDCONF_STR-L62 sy-vline
WA_FSH_ITA_DDCONF_STR-L63 sy-vline
WA_FSH_ITA_DDCONF_STR-L64 sy-vline
WA_FSH_ITA_DDCONF_STR-SL1 sy-vline
WA_FSH_ITA_DDCONF_STR-SL2 sy-vline
WA_FSH_ITA_DDCONF_STR-SL3 sy-vline
WA_FSH_ITA_DDCONF_STR-SL4 sy-vline
WA_FSH_ITA_DDCONF_STR-SL5 sy-vline
WA_FSH_ITA_DDCONF_STR-SL6 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.