ABAP - Keyword Documentation →  ABAP - Reference →  Declarations →  Declaration Statements →  Data Types and Data Objects →  Declaring Data Types →  TYPES →  TYPES - BEGIN OF struct_type → 

INCLUDE - TYPE, STRUCTURE

Quick Reference



Syntax

INCLUDE { {TYPE struc_type} | {STRUCTURE struc} }
        [AS name [RENAMING WITH SUFFIX suffix]].


Additions

1. ... AS name

2. ... RENAMING WITH SUFFIX suffix

Effect

This statement can only be declared within a structure definition with the additions BEGIN OF and END OF of the statements TYPES, DATA, CLASS-DATA, and STATICS. It copies all the components of the structured type struc_type or the structure struc at the specified location to the current structure definition. The INCLUDE statement does not create a substructure, which means the components are inserted as if they are included individually in place of the statement INCLUDE.

struc_type can be a local structured type, a visible structured type of a global class or global interface, or a structure from ABAP Dictionary. struc must be a structure of the same program or a visible attribute of a global class or global interface.

Notes

Where possible, real substructures should be created rather than using the statement INCLUDE. The addition RENAMING WITH SUFFIX, however, should be used to prevent naming conflicts. This recommendation also applies to includes of structures in ABAP Dictionary, where the structures of database tables in particular cannot contain any real substructures.

Addition 1

... AS name

Effect

By specifying the name name after the addition AS, either all components of the included structure struc_type or struc can be addressed together using the name name, or individual components can be addressed using the structure component selector (-). The name name must be unique within the structure in which the components are included. This means that there can be no other component with this name and it cannot be specified in a different INCLUDE statement after AS.

Notes

Addition 2

... RENAMING WITH SUFFIX suffix

Effect

With the addition RENAMING WITH SUFFIX, each individual component is renamed by adding the extension suffix, which prevents naming conflicts between components of the same name. suffix must be specified directly.

Note

The addition RENAMING WITH SUFFIX can be used to include an individual structure multiple times.

Example

In this example, the structure week is defined by repeatedly using the components of the structured type t_day. The components of week are all at the same level and can be addressed as follows: week-work_mon, week-free_mon, week-work_tue, and so on. Alternatively, they can also be addressed as follows: week-monday-work, week-monday-free, week-tuesday-work, and so on.

TYPES: BEGIN OF t_day,
         work TYPE c LENGTH 8,
         free TYPE c LENGTH 16,
       END OF t_day.

DATA BEGIN OF week.
  INCLUDE TYPE t_day AS monday    RENAMING WITH SUFFIX _mon.
  INCLUDE TYPE t_day AS tuesday   RENAMING WITH SUFFIX _tue.
  INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed.
  ...
DATA END OF week.