Alex_XMDBTool specification
The XMDBTool Application (stand alone and background process) uses the alex_xmdbtool table to monitor all the tables authorized for the upload and download processes. When data must be filtered based on the defined conditions, the table can also be used to specify the PreSQL statements, InlineSQL statements, and PostSQL statements.
Column | Type | Null | Description |
---|---|---|---|
Xmdbtool_id | Int | NOT NULL | PK |
table_name | Varchar(255) | NOT NULL | Involved in the current transaction. Only available table entries are authorized for an upload or download based on the loadtype value. |
xmtype | Char(1) | NOT NULL | Indicates the Authorization for the table. U indicates authorization for an upload. D indicates authorization for a download. |
module | Varchar | NOT NULL | Defines the module name. Each module can have multiple tables. If the table is not a part of a module, then the attribute value is set to ‘NM’ |
Sequence | Int | NOT NULL | This attribute sets the hierarchical values for the table.
Note: If the tables in the module have the parent –child
relationship defined, then the root node, or the table that has no parent, can
only have ‘1’ as this attribute value.
|
PreQuery | Varchar | NULL | Defines a pre-query, generally a SQL update statement that must be applied to the related table before the start of the standard transaction, initiated by the client process. The SQL statements can use placeholder values instead of the actual hard-coded values. These placeholder values can be replaced by the actual values that are passed from the client side, for example, update alex_application_filter set data_key = ‘07895D’ where data_key = ‘~datakeyvalue~’ where datakeyvalue is the placeholder variable. This variable is replaced by the actual value, for example, ‘07575D’ that is passed from the client side parameter. |
InlineQuery | Varchar | NULL | Defines an Inline Query, which is a standard SQL select statement. This statement can be applied to the related table during the standard transaction, initiated by the client process. The SQL statements can use placeholder values instead of the actual hard-coded values. These placeholder values can be replaced by the actual values that are provided from the client side. For example, select * from alex_application_filter where data_key = ‘~datakeyvalue~’ where datakeyvalue is the placeholder variable. This variable is replaced by the actual value for example ‘07575D’ that is passed as the client side parameter. |
PostQuery | Varchar | NULL | Defines a post query, an update statement that must be applied to the related table after the end of the standard transaction, initiated by the client process. The SQL statements can use placeholder values instead of the actual hard-coded values. These placeholder values can be replaced by the actual values that are passed from the client side. |
Has Child | Int | NOT NULL | Used in cases of parent child relationship. If there is no parent-child relationship, this value must be ‘0’. If this table has corresponding child tables, this value must be 1. |
ParentId | Int | NOT NULL | Used only when parent-child relationship is defined. If there is no parent-child relationship between the tables in the module or if there is no parent to this table, this value must be ‘0’. Else Xmdbtool_id of its parent table is the value. For example, if there are two tables t1 and t2 in a module and t2 is the child of t1, assuming the xmdbtool_id of t1 is 20 and xmdbool_id of t2 is 21, the parent Id of t1 is set to ‘0’ and parent Id value of t2 is 20. |
time_range | String | NULL | Used to set the time limits for a user to initiate a client process. Ideally, this parameter can be set as time–window. The user can initiate an upload or download process only during this time period. |
active_status | smallint | NULL | Used to set the status of the entry to Active, the value must be ‘1’. To set the status to Inactive, the value must be ‘0’. |
change_timestamp | datetime | NULL | Set the date-time stamp value for the load/unload. |