NPRao
20th August 2008, 23:09
I noticed many threads asking for more information on this topic.

Application data dictionary vs. run-time data dictionary

The BaanERP directory structure contains information at the operating system level. This information is made up of either system settings, such as a system directory path or user definition, or software components, such as an object, form, menu, or report. These system settings are stored in the Application Data Dictionary (APDD) and Runtime Data Dictionary
(RTDD).
The APDD contains data stored in tables. All software components, new and existing, are stored here in a readable form. The data from the APDD is generated through use of the BaanERP Tools sessions. BaanERP refers to this information to create or modify the RTDD. The RTDD is not an actual place, but rather a conceptual grouping of files that exist in various
places throughout BaanERP, such as in the operating system’s file structure and in some tables. These files contain system settings that are necessary to log onto the BaanERP software. These files are accessed at the time of Bshell startup. The Bshell acts as the logic server that gathers information from the directory structure. To make changes to the RTDD, you must make changes to the component in the APDD and then convert the component to RTDD. For example, if you create a user in BaanERP, the information is stored in the Tools Tables in the APDD. The user is not yet available to the operating system at run time. After you convert that user information to run time, the information is then available to BaanERP as part of the RTDD. Only some of the software components require conversion. These components are described in the following section.
Directly available
This indicates that conversion of the component is not necessary. The component automatically moves to the Runtime Data Dictionary.
Compile
This type of conversion takes information from ASCII files known as scripts, and stores the information in an encrypted format at the OS level.
Convert (to runtime)
This type of conversion takes information out of the APDD, and writes the information to the OS level as the RTDD.
Note
Importantly, the items that require a conversion will require the user to exit and log on again to be able to use the items. This action is required because critical data has been changed at the operating-system level.

Data dictionary - review
The BaanERP data dictionary is a centralized collection of definitions, characteristics and
inter-relationships that describe all of the data stored in the system. The data dictionary
provides an authorized source of data for the following:
* Table definitions.
* Field formats.
* Error messages.
* Data validation rules.
* Documentation and help information.
* Layouts for forms, reports, and menus.
* Session information.
The existence of a common repository helps to ensure the integrity of software components
and data definitions. The common repository also helps you avoid data duplication, which, in
turn, reduces the risk of inconsistent data. Finally, a common repository helps to simplify
software development because the data definitions are already defined.
Types of data dictionaries
The following two types of data dictionaries are available in BaanERP:
* Application data dictionaries.
* Runtime data dictionaries.
The application data dictionary is composed of various software components, such as layouts of forms, menus, reports, error messages, and session data that resides in the company 000. A conversion of the application data dictionary is called the runtime data dictionary. The runtime data resides in various operating system directories, and is used by the Bshell when logging on to the BaanERP software. The development design procedure involves creating most of the data dictionary components, such as domains, table definitions, messages, questions, and so on.

mark_h
21st August 2008, 00:28
Good post...

norwim
21st August 2008, 02:00
Great post NPRao,

if I may be so bold I'll add one of the basic rules that I always try to teach in Baan tech classes:
Baan can use different databases and different program releases (including table/field designs!!) depending on the company that you want to log into.
Therefore it is quite obvious, that these basic informations are accessable for a user BEFORE he actually connects to a specific database. This is what "convert to runtime" is all about - if you would move the tables containing the informations where to find these tables to another database --- how could you ever access Baan again once you made this changes?
Before a bshell can be started, information on these basics are read from files on OS-Level.

regards

Norbert

rwnido
23rd June 2009, 11:01
Great post NPRAO....

I want to know the log file for maintain table definition (if any).

thanx.
Nadeem

zardoz
23rd June 2009, 12:52
Good post, I have only to add (for LN only):

Labels must be converted (in LN labels are also in runtime DD)

Sessions must be compiled

mayankbhushan
7th July 2009, 09:16
Good Post,