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.
  • If all the tables in the module are on the same level and if there is no parent –child relationship between the tables, the attribute must be set to ‘0’.
  • If parent – child relationship is defined, the header table or the root table in the given module must have this attribute set to ‘1’.
  • For all other child tables, this attribute value must be set to ‘2’.
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.