The below are the different modes of UID generation of different numbers in DMS 5
and the UID columns involved.
<add key="LockTableMode" value="0" />
(Or when above key is missing)
This is normal old mode in which all the different UIDs are generated using one lock
table OAEFILE_LOCKTABLES and counter tables. The counter table for User level
numbers like INDOCNO / OUTDOCNO is OAEFILE_CABINET and the counter table
for System level numbers is OAEFILE_UID_MAIN.
User Level numbers
INDONO
OUTDOCNO
OAEFILE_LOCKTABLES
System Level numbers
DOCNO
Counter Tables
DMSDOCID OAEFILE_UID_MAIN
PERSON_ID OAEFILE_CABINET
PERSON_RECORD_ID
<add key="LockTableMode" value="1" />
This mode is same as before but instead of using one lock table
OAEFILE_LOCKTABLES like before it uses different lock tables for each cabinet as
given in OAEFILE_CABINET. The counter tables are same and the counter table for
User level numbers is OAEFILE_CABINET and the counter table for System level
numbers is OAEFILE_UID_MAIN.
User Level numbers
INDONO
OUTDOCNO GENERAL_LOCKTABLE
SECRET_LOCKTABLE
INTERNAL_LOCKTABLE
System Level numbers XXXXX_LOCKTABLE
DOCNO YYYYY_LOCKTABLE
DMSDOCID ZZZZZZ_LOCKTABLE
PERSON_ID Counter Tables
PERSON_RECORD_ID OAEFILE_UID_MAIN
OAEFILE_CABINET
<add key="LockTableMode" value="2" />
In this mode the DB Sequences are used for generating System level numbers. The
User level numbers INDOCNO / OUTDOCNO is same as before but again instead of
using one lock table OAEFILE_LOCKTABLES like in mode 0 it uses different lock
tables for each cabinet as given in OAEFILE_CABINET. The counter table is same for
User level numbers OAEFILE_CABINET. For the System number Currently this is
implemented in MOI and GID
GENERAL_LOCKTABLE
User Level numbers
SECRET_LOCKTABLE
INDONO INTERNAL_LOCKTABLE
OUTDOCNO XXXXX_LOCKTABLE
YYYYY_LOCKTABLE
ZZZZZZ_LOCKTABLE
Counter table of User
level numbers
OAEFILE_CABINET
System Level numbers
DOCNO
DMSDOCID
Uses DB Sequences
PERSON_ID
PERSON_RECORD_ID
The below keys are needed in Web.config of DMS 5, DMS Web services, Applications
using DMS Assemblies and UIDGEN for using mode 1 and 2
<add key="LockTableMode" value="2" />
<add key="SqlVersion" value="12" />
<add key="DMMGR_CONNECTSTRINGEx" value="Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=MOI_DMS;Data Source=QASQL1" />
Note: - The DB Sequences are not implemented for User level numbers INDOCNO /
OUTDOCNO for a reason that DB Sequences cannot be controlled by DB Transaction
and is immune to it. Hence the possibility of holes in these numbers INDOCNO /
OUTDOCNO will became likely and which is an issue as generally there should not be
holes in these numbers. Whereas the System numbers can be any unique number and
do not have to be in sequences hence it was possible to use DB Sequences for them.
Below are the sites where different DMS 5 System and User level numbers are
generated. As mentioned the INDOCNO and OUTDOCNO are generated in DMS site
by existing UID process of table locking and counter table (OAEFILE_CABINET) and
does not uses DB Sequences for possibility of holes in these numbers.
Generated by DMS Site or DMS web Generated by UIDGEN
g
services or DMS Assemblies used by site
other application like NAMA DMSDOCID
DOCNO (Attachment#)
INDOCNO
OUTDOCNO
PERSON_ID
PERSON_RECORD_ID
Note: - When the below web.config key is set to 0 then all the numbers are generated
from UIDGEN site and not from DMS site or others. This is implemented in MOI only for
a good reason. Hence do not set this to 0 on other sites.
<add key="IsMaster" value="0" />