In the DID definition you define:
This attribute sets the name of the DID. The name can have a maximum of 8 characters. The name of the DID should start with an uppercase character and can be followed by lowercase characters, uppercase characters, digits or underscores '_'.
This attribute sets the three letter code that a Model Developer must use in a Model Document when accessing a Main Entry.
You must specify the DID Modules that are used in this DID.
You must specify which Entries a Model Developer can use as a Main Entry in a Model Document.
You must specify which DID Defined Functions a Model Developer can use in a Model Document.
The actual definition of the DID Modules, the Entries and the DID Defined Functions are written somewhere else.
All Entries that can not be reached through an access path starting at a Main Entry and all did defined Functions that are not mentioned in the DID definition can not be used in a Model Document.
The connection type is an attribute of a DID Module. It is therefore possible to create a DID that connects to different Database Management Systems. For the ODBC Connection, and the Oracle Connection, it is also possible to connect to different databases within a single DBMS. This means that from within a single DID you could connect to both an ODBC data source and an AS/400 database, two different ODBC data sources but not to two AS/400's.
Grammar
did-definition ::=
DEFINE_DID
NAME did_name
IDENTIFICATION three-letter-code
DID_MODULE_LIST [ did-module-declaration-sequence ]
MAIN_ENTRY_LIST [ main-entry-sequenceuence ]
DID_DEFINED_FUNCTION_LIST [ did-defined-function-sequence ]
END_DEFINE_DID
did-module-declaration-sequence ::=
did-module-name [ did-module-declaration-sequence ]
main-entry-sequenceuence::=
main-entry [ main-entry-sequenceuence ]
main-entry ::=
entry-name FROM did-module-name
did-defined-function-sequence ::=
did-defined-function [ did-defined-function-sequence ]
did-defined-function ::=
function-name FROM did-module-name
Note
NAME is omitted in a DID that is created and compiled within the ITP/MDK Repository. It that case, the name of the DID is equal to the name of the DID object.Example
DEFINE_DID
NAME Example
IDENTIFICATION EXP
DID_MODULE_LIST
Example_module
MAIN_ENTRY_LIST
Customer FROM Example_module
Order FROM Example_module
DID_DEFINED_FUNCTION_LIST
Open_amount_customer FROM Example_module
END_DEFINE_DID