A DID (Database Interface Definition) is a description of (a part of) a database. ITP uses the abstract concept of Entries for files or tables. Relations between database entities can be expressed through Entry-Subentry relations. Apart from Entries, DIDs can also contain Functions. A DID itself does nothing. It is used to create Models. During Model creation, the information that is needed is copied to the Model. When a Model is run ITP retrieves the data from the database, based on the information that is stored in the Model.
A DID is created from a DID Document (ITP/SDK MultiPlatform) or DID Administration (ITP/SDK for iSeries). Within the document or administration we distinguish two levels: the DID level and the DID Module (ITP/SDK MultiPlatform) or DID Source (ITP/SDK for iSeries) level. The DID level describes the interface to the DID. On the DID Module/Source level you actually define the Entries, Subentries and functions.
On the DID level you can designate some Entries as Main Entries. Only the Main Entries in a DID can be accessed directly. All other Entries have to be accessed through a (series of) Entry-Subentry relation(s). Functions that are defined in DID Sources have to be declared on the DID level before they can be used in a Model.
A DID can contain multiple DID Sources. In the DID Source you define the components i.e., Entries and Functions. On the DID level you declare which of these components are accessible in ITP Models. The DID Sources can contain the complete description of a subset of your database, which can be reused in several DIDs. The DID Sources can be combined differently in different DIDs. This enables you to give different sets of users or Model Developers a different view of your database. These different views can be used to provide a more logical view or to control authorizations.