ERP/2.50/Developers Guide/Database Model/org.openbravo.model.ad.module/AD Module Dependency
AD_Module_Dependency
This table defines the dependencies among modules, in case the module is a template the dependencies defined in this table will be used to calculate the modules included in the template.
- Name:ModuleDependency
- Classname:ModuleDependency
This table contains the following columns:
Name | Nullable | Data Type | Description |
AD_Module_Dependency_ID | N | VARCHAR2(32) | Defines dependencies ammong modules |
AD_Client_ID | N | VARCHAR2(32) | Client for this installation. |
AD_Org_ID | N | VARCHAR2(32) | Organizational entity within client |
IsActive | N | CHAR(1) | A flag indicating whether this record is available for use or de-activated. |
Created | N | DATE | The date that this record is completed. |
CreatedBy | N | VARCHAR2(32) | User who created this records |
Updated | N | DATE | x not implemented |
Updatedby | N | VARCHAR2(32) | User who updated this records |
AD_Module_ID | N | VARCHAR2(32) | Module |
AD_Dependent_Module_ID | N | VARCHAR2(32) | Included Module |
StartVersion | N | VARCHAR2(10) | First compatible version |
EndVersion | Y | VARCHAR2(10) | Last compatible version |
IsIncluded | N | CHAR(1) | Defines whether it is included or just dependant |
Dependant_Module_Name | Y | VARCHAR2(60) | Name of the dependent module |
Dependency_Enforcement | N | VARCHAR2(60) | Dependency enforcement defines which are the versions of the dependent module that are compatible with the parent one. |
User_Editable_Enforcement | N | CHAR(1) | Defines whether the enforcement can be overwritten by user |
Instance_Enforcement | Y | VARCHAR2(60) | Instance specific dependency enforcement |
Other Info
Check constraints
These are the check constraints for this table:
- AD_MODULE_DEPENDENCY_ISACT_CHK: ISACTIVE IN ('Y', 'N')
- AD_MODULE_ISINCLUDED_CHK: ISINCLUDED IN ('Y', 'N')
Indexes
These are the indexes for this table (for each index there is a list of all the columns included within it):
Unique
- AD_MODULE_DEPENDENCY_PK
Columns
Module Dependency
Defines dependencies ammong modules
- Physical column name: AD_Module_Dependency_ID
- Property Name: id
- Reference: ID
Client
- Physical column name: AD_Client_ID
- Property Name: client
- Reference: TableDir
- Default value: @AD_CLIENT_ID@
Foreign key column to AD_Client table, (column: AD_Client_ID)
Validation Rule AD_Client Security validation: Clients with user access rights. With the following code:
AD_Client.AD_Client_ID IN (@#User_Client@)
Organization
- Physical column name: AD_Org_ID
- Property Name: organization
- Reference: TableDir
- Default value: @AD_ORG_ID@
Foreign key column to AD_Org table, (column: AD_Org_ID)
Validation Rule AD_Org Security validation: Organizations of the Client with user acces rights. With the following code:
(@AD_Client_ID@='0' AND AD_Org.AD_Org_ID='0') OR (@AD_Client_ID@!='0' AND ((AD_Org.AD_Client_ID IN (@#User_Client@) AND AD_Org.AD_Org_ID IN (@#User_Org@)) OR AD_Org.AD_Org_ID='0' AND AD_Org.IsSummary='N'))
Active
There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records:
(1) The system requires the record for auditing purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions.
- Physical column name: IsActive
- Property Name: active
- Reference: YesNo
- Default value: Y
Creation Date
The Created field indicates the date that this record was created.
- Physical column name: Created
- Property Name: creationDate
- Reference: DateTime
- Default value: SYSDATE
Created By
- Physical column name: CreatedBy
- Property Name: createdBy
- Reference: Table
Foreign key column to AD_User table, (column: AD_User_ID)
Reference Table AD_User
Updated
The Updated field indicates the date that this record was updated.
- Physical column name: Updated
- Property Name: updated
- Reference: DateTime
- Default value: SYSDATE
Updated By
- Physical column name: Updatedby
- Property Name: updatedBy
- Reference: Table
Foreign key column to AD_User table, (column: AD_User_ID)
Reference Table AD_User
Module
- Physical column name: AD_Module_ID
- Property Name: module
- Reference: TableDir
- This column is part of the table's identifier
- This column is a child for a buisiness object (is Parent)
Foreign key column to AD_Module table, (column: AD_Module_ID)
Included Module
It is the module included in the current inclusion list of modules.
- Physical column name: AD_Dependent_Module_ID
- Property Name: dependentModule
- Reference: Table
- This column is part of the table's identifier
Foreign key column to AD_Module table, (column: AD_Module_ID)
Reference Table Modules : Modules.
Validation Rule AD_Module_Dependecy_ID Avoid dependency to itsef: AD_Module_Dependecy_ID Avoid dependency to itsef. With the following code:
AD_Module_ID<>@AD_Module_ID@
Callout: SL_Module_Minor_Version
This element is linked to a callout.
Class to compute the minor version of the dependency relation
It is implemented by org.openbravo.erpCommon.ad_callouts.SL_Module_Minor_Version Java class.
Version
It is the first compatible version for the dependency, in case last version is blank is will be the only one.
- Physical column name: StartVersion
- Property Name: firstVersion
- Reference: String
- This column is part of the table's identifier
Last Version
It is the last compatible version to define the dependency.
- Physical column name: EndVersion
- Property Name: lastVersion
- Reference: String
Is Included
A dependency can include other modules in case it is a dependency for packages.
- Physical column name: IsIncluded
- Property Name: isIncluded
- Reference: YesNo
- Default value: @IncludeModule@
Dependant Module Name
The name of the dependent module is stored here because the dependent module can have been removed. In that case it is still relevant to show the module name to detect a broken dependency.
- Physical column name: Dependant_Module_Name
- Property Name: dependantModuleName
- Reference: String
Dependency Enforcement
Dependency enforcement defines which are the versions of the dependent module that are compatible with the parent one.
The values it can contain are:
- Major Version (default). The compatible versions are all the minor version within the same major version. If "Last Version" is defined being a different major version than "From Version", "Last Version" defines the highest compatible minor version; if "Last Version" is in the same major version than "From Version" this value is not taken into account. It is the default value.
- Minor Version. Defines a strict dependency to the exact minor version. In case no "Last Version" is set, "From Version" is the only compatible version. Other case the compatible versions are all between "From" and "Last Version" values.
- None. "From Version" is the only field taken into account, there is no restriction on different major versions.
- Physical column name: Dependency_Enforcement
- Property Name: dependencyEnforcement
- Reference: List
- Default value: MAJOR
List values: Dependency Enforcement
The allowed values for this list are:
- MAJOR (Major Version): The compatible versions are all the minor version within the same major version. If "Last Version" is defined being a different major version than "From Version", "Last Version" defines the highest compatible minor version; if "Last Version" is in the sam
- MINOR (Minor Version): Defines a strict dependency to the exact minor version. In case no "Last Version" is set, "From Version" is the only compatible version. Other case the compatible versions are all between "From" and "Last Version" values.
- NONE (None): "From Version" is the only field taken into account, there is no restriction on different major versions.
User Editable Enforcement
When a dependency/inclusion is "User Editable Enforcement", the enforcement defined for that dependency can be overwritten at instance level.
- Physical column name: User_Editable_Enforcement
- Property Name: userEditableEnforcement
- Reference: YesNo
- Default value: N
Instance Enforcement
In case the dependency is set as "User Editable", this value overwrites the Instance Enforcement one.
- Physical column name: Instance_Enforcement
- Property Name: instanceEnforcement
- Reference: List
List values: Dependency Enforcement
The allowed values for this list are:
- MAJOR (Major Version): The compatible versions are all the minor version within the same major version. If "Last Version" is defined being a different major version than "From Version", "Last Version" defines the highest compatible minor version; if "Last Version" is in the sam
- MINOR (Minor Version): Defines a strict dependency to the exact minor version. In case no "Last Version" is set, "From Version" is the only compatible version. Other case the compatible versions are all between "From" and "Last Version" values.
- NONE (None): "From Version" is the only field taken into account, there is no restriction on different major versions.