Upload
eregulations
View
221
Download
0
Embed Size (px)
Citation preview
7/28/2019 eRegulations Technical Specifications
1/60
Subject: eRegulations
DocType: TechnicalSpecifications
Managedby: eRegulationsteam
Createdon: 01April2013
7/28/2019 eRegulations Technical Specifications
2/60
UNCTAD-eRegulationsteam Page2
CONTENTS
1.SHORTPRESENTATIONOFMAINFUNCTIONALPARTS................................................................3
2.ADMINWEBAPPLICATION.........................................................................................................4
2.1.APPLICATIONARCHITECTURE 5
2.2.DATA-CONCEPTSANDSTATES 6
2.3.DOMAINMODEL 8
2.3.1STEPCONTEXTDIAGRAM...........................................................................................................8
2.3.2.E-REGULATIONSDATASTRUCTURE..............................................................................................9
2.4.CODEEXECUTIONFLOW 28
2.4.1REQUESTINGANEWPAGE.........................................................................................................28
2.4.2.TRIGGERANACTIONONTHEPAGE (UPDATE)...............................................................................30
2.5.PROCEDURESNAPSHOTS 32
2.6.HISTORYTRACKINGOFEREGULATIONSCONTENTMODIFICATIONS 44
2.7.LABELTRANSLATION 46
3.TRANSLATORWEBAPPLICATION...............................................................................................47
3.1.APPLICATIONARCHITECTURE 48
3.2.PRESENTERLOGIC-CODEFLOW 49
3.3.DATASTRUCTURE 50
4.PUBLICWEBAPPLICATION........................................................................................................52
4.1.APPLICATIONARCHITECTURE 53
4.2.CONSISTENCYREVIEW -DATASTRUCTURE 54
5.DATAAPISERVER......................................................................................................................56
6.CRALERTSCLI ............................................................................................................................57
6.1.APPLICATIONARCHITECTURE 57
6.2.CONFIGFILE 58
7.STATISTICSCLI...........................................................................................................................59
7.1.APPLICATIONARCHITECTURE 59
7.2.CONFIGFILE 60
7.3.DATASTRUCTURE 60
7/28/2019 eRegulations Technical Specifications
3/60
UNCTAD-eRegulationsteam Page3
1.SHORTPRESENTATIONOFMAINFUNCTIONALPARTS
TheeRegulationssystemisbasedonseveralinterconnectedapplicationsbeingresponsibleforassuringdata
entryactivities,pre-processingtheinformationandpresentingittotheinternetuser.
ThemaineRegulationsapplications/componentsarelistedbelow:
AdminWebApp-webapplicationallowingdataentrybyauthorizeduser
TranslatorWebApp-webapplicationallowingthetranslationofeRegulationscontentbyanauthorizeduser
PublicWebApp-webapplicationdisplayingthedatainHTMLformat
DataAPIServer-webapplicationforhandlingtheRESTfulwebservicesinJSONformat
CRAlertsCLI-programexecutableinconsolelineinterfacethrougharegularjobthatsendsemailalertsforrespondingonconsistencyreviewsticketsorstatuschanges
StatisticsCLI-programexecutableinconsolelineinterfacethrougharegularjobthatcomputesstatisticaldataandsavesintothedatabase
7/28/2019 eRegulations Technical Specifications
4/60
UNCTAD-eRegulationsteam Page4
2.ADMINWEBAPPLICATION
TheeRegulationsAdminWebAppallowsauserwiththecorrectcredentialstoenterthebackofficespaceof
thesystemandtoupdatetheeRegulationscontent.
Themanagementofinformationisbuiltonthreemainpillarsthattargetthemainareasoftheapplication
1.eRegulationContent
Herebelowtheprincipalrepositories:
procedures,blocksofsteps,stepsandrecourses contacts(entities,unitsandpersonsincharge) requirements laws medialibrary
2.PublicInterface(publicwebpages)
Theadminapplicationisalsoresponsiblefortheinformationdisplayedonthepublicwebsiteofe-regulations.Weidentifiedthefollowingeditableelements
layouthomepage theproceduremenusthatassuresnotonlydirectlinkingwiththeproceduresintheeRegulations
contentbutsupplementaryvisualinformationtobedisplayedinthepublicpages
aboutuspage
3.Countryparameters(systemutility-belt)
Inthisarethesystemgroupsseveralutilitymodulesthathelpstheadministratormanageauxiliaryinformation
presentwithinthesystem
usermanagement feedbackslisting countrysettings(costvariablescatalogue,foreigncurrenciesusedinthepublicsystem,thirdparties
catalogue)
labeltranslationfortheadmin/publicwebpages historytrackingofeRegulationscontentmodifications filesmaintenance(possibilityoffilenamechangingintomorewebfriendlynamesforuploaded
documentsorimages)
7/28/2019 eRegulations Technical Specifications
5/60
UNCTAD-eRegulationsteam Page5
2.1.APPLICATIONARCHITECTURE
ThearchitectureoftheAdminWebApplicationfollowsa3-tiersdesign:Data,Business,Presentation.
WeimplementedtheInterfaceSegregationPrinciplefordecouplingtheDataAccessLayerimplementation
fromthecontractdefinitionallowinginthefutureforeasyupdateincaseofmorepowerfultechnologies.Also
theDataAccessLayerwasdesignedtoimplementtheRepositorypatternandUnitofWorkpatterntoassurethetransactionalactionofpersistingthedata.
AlsoforthewebapplicationweimplementedtheModelViewPresenterpatternanddefinetheviewsas
interfacesgaininginflexibilityofimplementingtheviewinterfacesasASPXpagesorascustomizedviewsfor
Ajaxrequests.
ThedomainmodelingrespectstheDomainDesignDrivenprinciplesbydefiningseveralRootAggregateModel
responsibleforthepersistenceofalltheircollectionsofcompositemodels.
Weillustrateinthefollowingdiagramthelayeredarchitectureofthesolution
7/28/2019 eRegulations Technical Specifications
6/60
UNCTAD-eRegulationsteam Page6
2.2.DATA-CONCEPTSANDSTATES
Thesystemisbuiltaroundthefollowingmainconcepts:
-Objectiveaconcreteinvestmentoperationpresentedasaorderedlistofblocks
-BlockOfStepsaorderedlistofstepswithahighlevelofcohesion
-Stepanyinteractionnecessarytoachievetheobjective
TheObjectivesareorganizedinatree-way,inthesensethatfirsttherecanbedefinedalistofmainobjectives,
furtherpermittingadetailedfiltrationoftheminsub-objectives.
ABlockofstepscanbequalifiedasoptionalthereforeallthecontainedstepswillbetreatedasoptionalwithin
theobjective.Alsoablockisresponsibleforsettingtheorderofstepsandalsotherelationofeachstepwith
thepreviousone(eitherparallel,alternativeorsequential)
AStepisdescribedwithseveralcategoriesofinfo:
-generalinfo
-resultsofsteps-contact
-requirements
-costs
-timeframe
-legalframe
-additionalinfo
-recourse
Thesystemisalsothemanagerofseveralrepositoriesthatarehighlylinkedtothedescriptionofonestep.
Theyareself-manageablerepositories
-Entitiesincharge
-Unitsincharge-Personsincharge
-Generalrequirements(downloadableforms,sampleforms,onlineformlinks,documents,etc)
-Laws(articles,fulllaws-either weblinksforonlinebookmarkingoruploadeddocuments)
-Medialibrary(allthedocumentsuploadedarestoredinmedialibraryinlogicalobjectsthatdecouplesthe
mediafilefromthedatabasereferenceforeasymaintenance)
AlltheeRegulationscontentfollowstheprincipleofinternationalizationbyprovidingthedatainoneprincipal
language,usuallythecountryofficiallanguageandinasecondarylanguage,usuallyaninternationallanguage.
Allthedata-entryformwillassurethepersistenceofdataintheprincipallanguageleavingtospecialgraphical
interfacesfortranslationofcontent.Thereisalsoaspecial"externaladmininterface"calledthe Translator
AdminWebAppthatwillallowanauthorizedtranslatortoenteraspecializedbackofficeandupdate/requestforpublicationoftranslationofcontent.
7/28/2019 eRegulations Technical Specifications
7/60
UNCTAD-eRegulationsteam Page7
ManagingtheStateofaData
Procedure,BlockOfStepsandSteparestatefulobjectsinthesensethatatanytimeanyofitcanhaveonlyone
state.
Thepossiblestatesare:
-MODIFIED
-PUBLISHED
ThefollowingdiagramdescribethelifecycleofaStep,andtheactionswhichwillchangeitspresentstate
Whenpublishedthedataisstoredinadifferentformatthatislessnormalized,stillhighlyoptimizedfordata-
consumptionsystems.
Thesystemiscapableofstoringacompletesnapshotofaprocedureataspecifiedmomentintime.A
procedurecanhaveseveralsnapshotsthatwillallowustoreconstructthefullversionofthatprocedureat
thatparticulartime.Whentakingthissnapshotthesystemcrawlsthroughthefullgraphofdomainmodelin
ordertoretrievetheinformationforrootobjectsaswellasforallthedependencies.
Thesnapshotsarepersistedinspecialtablesinthedatabase,tablesthatareprefixedwith"snapshot_".
Thesnapshotstableshavebeendesignedforfastretrievalandqueryoperationsandarealess-normalized
replicaoftheeRegulationscontent.Aspecialrecordofthesnapshotsdataisthecurrentsnapshotwhich
respondstotheneedoffrequentpublishactionsofthecurrenteRegulationsdata.
Eachtimewepublishastatefulobjectthecorrespondentsnapshotdataisreconstructed.
MODIFIED
/ create
PUBLISH
/ publish / Update
7/28/2019 eRegulations Technical Specifications
8/60
UNCTAD-eRegulationsteam Page8
2.3.DOMAINMODEL
2.3.1STEPCONTEXTDIAGRAMThediagrambelowwillillustrateasexamplethedomainmodelingoftheStepastheRootAggregateClassand
allthecollectionofboundclasses.
TheentiremodeloftheeRegulationssystemhasbeenimplementedfollowingaDomainDrivenDesign
approach.
7/28/2019 eRegulations Technical Specifications
9/60
UNCTAD-eRegulationsteam Page9
2.3.2.E-REGULATIONSDATASTRUCTURE
Tablefields
TableName Model Column Type DbType Null
able
Admin_Block Block Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Block Block Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Block Block Description String NText TRUE
Admin_Block Block IsOptional Bool BitNOT
NULL
FALSE
Admin_Block Block PhysicalPresence Int32 IntNOT
NULL
FALSE
Admin_Block Block RepresentationThirdParty Int32 Int TRUE
Admin_Block Block CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Block Block CreatedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Block Block ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Block Block ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Block Block IsInRecycleBin Bool BitNOT
NULL
FALSE
Admin_Block Block Deleted Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
Step_Id Int32 IntNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsExpectedResultsVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsEntityInChargeVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsUnitInChargeVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsPersonInChargeVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsRequirementsVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsCostsVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsCostsCommentsVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsTimeframeVisible Bool BitNOT
NULL
FALSE
7/28/2019 eRegulations Technical Specifications
10/60
UNCTAD-eRegulationsteam Page10
Admin_StepSection
Visibility
StepSectionVi
sibility
IsTimeframeWaintingTimeI
nLineVisible
Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsTimeframeTimeSpentAtT
heCounterVisible
Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsTimeframeWaitingTimeU
ntilNextStepVisible
Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsTimeframeCommentsVisi
ble
Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsLegalJustificationVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsLegalJustificationComme
ntsVisible
Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsAdditionalInfoVisible Bool BitNOT
NULL
FALSE
Admin_StepSection
Visibility
StepSectionVi
sibility
IsRecoursesVisible Bool BitNOT
NULL
FALSE
Admin_StepSectionVisibility
StepSectionVisibility
IsCertificationVisible Bool BitNOTNULL
FALSE
Admin_Block_i18n Block_i18n Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Block_i18n Block_i18n Block_Id Int32 IntNOT
NULL
FALSE
Admin_Block_i18n Block_i18n Lang String Char(2)NOT
NULL
FALSE
Admin_Block_i18n Block_i18n Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Block_i18n Block_i18n Description String NText TRUEAdmin_Block_Step Block_Step Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Block_Step Block_Step Block_Id Int32 IntNOT
NULL
FALSE
Admin_Block_Step Block_Step Step_Id Int32 IntNOT
NULL
FALSE
Admin_Block_Step Block_Step [Order] Int32 IntNOT
NULL
FALSE
Admin_Block_Step Block_Step IsParallele Bool BitNOT
NULL
FALSE
Admin_Block_Step Block_Step IsAlternative Bool BitNOT
NULL
FALSE
Admin_Menu Menu Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Menu Menu Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Menu Menu MappingType String VarChar(20)
NOTNULL
FALSE
Admin_Menu Menu Objective_ID Int32 Int TRUE
Admin_Menu Menu Block_ID Int32 Int TRUE
7/28/2019 eRegulations Technical Specifications
11/60
UNCTAD-eRegulationsteam Page11
Admin_Menu Menu ExplanatoryText String NText TRUE
Admin_Menu Menu WebPageKeywords String NVarChar(25
0)NOTNULL
FALSE
Admin_Menu Menu WebPageDescription String NVarChar(25
0)NOTNULL
FALSE
Admin_Menu Menu CreatedDate DateTime
DateTimeNOTNULL
FALSE
Admin_Menu Menu CreatedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Menu Menu ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Menu Menu ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Menu Menu IsInRecycleBin Bool BitNOT
NULL
FALSE
Admin_Menu Menu Deleted Bool BitNOT
NULL
FALSE
Admin_Menu Menu IsVisibleInPublicMenu Bool Bit FALSE
Admin_Menu Menu IsVisibleToGuest Bool Bit FALSE
Admin_Menu Menu Image1 String NVarChar(25
5)
TRUE
Admin_Menu Menu Image2 String NVarChar(25
5)
TRUE
Admin_Menu Menu Image3 String NVarChar(25
5)
TRUE
Admin_Menu Menu IconURL String NVarChar(25
5)
TRUE
Admin_Menu Menu IconActiveURL String NVarChar(255)
TRUE
Admin_Menu Menu PublicLayoutNbCols Int32 Int TRUE
Admin_Menu_i18n Menu_i18n Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Menu_i18n Menu_i18n Menu_Id Int32 IntNOT
NULL
FALSE
Admin_Menu_i18n Menu_i18n Lang String Char(2)NOT
NULL
FALSE
Admin_Menu_i18n Menu_i18n Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Menu_i18n Menu_i18n ExplanatoryText String NText TRUE
Admin_Menu_i18n Menu_i18n WebPageKeywords String NVarChar(25
0)
TRUE
Admin_Menu_i18n Menu_i18n WebPageDescription String NVarChar(25
0)
TRUE
Admin_MenuHierar
chicalData
MenuHierarc
hicalData
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_MenuHierar
chicalData
MenuHierarc
hicalData
Parent_Id Int32 Int TRUE
Admin_MenuHierar MenuHierarc Child_Id Int32 IntNOT FALSE
7/28/2019 eRegulations Technical Specifications
12/60
UNCTAD-eRegulationsteam Page12
chicalData hicalData NULL
Admin_MenuHierar
chicalData
MenuHierarc
hicalData
[Order] Int32 IntNOT
NULL
FALSE
Admin_MenuPerLa
ngVisibility
MenuPerLang
Visibility
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_MenuPerLa
ngVisibility
MenuPerLang
Visibility
Menu_Id Int32 IntNOT
NULL
FALSE
Admin_MenuPerLa
ngVisibility
MenuPerLang
Visibility
Lang String Char(2)NOT
NULL
FALSE
Admin_MenuPerLa
ngVisibility
MenuPerLang
Visibility
Visible Bool BitNOT
NULL
FALSE
Admin_Object_Me
dia
Object_Medi
a
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Object_Me
dia
Object_Medi
a
Object_Id Int32 IntNOT
NULL
FALSE
Admin_Object_Me
dia
Object_Medi
a
Type String VarChar(100)
NOTNULL
FALSE
Admin_Object_Me
dia
Object_Medi
a
Media_Id Int32 IntNOT
NULL
FALSE
Admin_Object_Me
dia
Object_Medi
a
[Order] Int32 IntNOT
NULL
FALSE
Admin_Objective Objective Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Objective Objective Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Objective Objective CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Objective Objective CreatedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Objective Objective ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Objective Objective ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Objective Objective IsInRecycleBin Bool BitNOT
NULL
FALSE
Admin_Objective Objective Deleted Bool BitNOTNULL
FALSE
Admin_Objective Objective AdditionalInfo String NVarChar(10
00)
TRUE
Admin_Objective_B
lock
Objective_Blo
ck
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Objective_B
lock
Objective_Blo
ck
Objective_Id Int32 IntNOT
NULL
FALSE
Admin_Objective_B
lock
Objective_Blo
ck
Block_Id Int32 IntNOT
NULL
FALSE
Admin_Objective_Block Objective_Block [Order] Int32 IntNOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
13/60
UNCTAD-eRegulationsteam Page13
Admin_Objective_i
18n
Objective_i18
n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Objective_i
18n
Objective_i18
n
Objective_Id Int32 IntNOT
NULL
FALSE
Admin_Objective_i18n
Objective_i18n
Lang String Char(2)NOTNULL
FALSE
Admin_Objective_i
18n
Objective_i18
n
Name String NVarChar(10
0)NOTNULL
FALSE
Admin_Objective_i
18n
Objective_i18
n
AdditionalInfo String NVarChar(10
00)
TRUE
Admin_ObjectiveHi
erarchicalData
ObjectiveHier
archicalData
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_ObjectiveHi
erarchicalData
ObjectiveHier
archicalData
Parent_Id Int32 Int TRUE
Admin_ObjectiveHierarchicalData
ObjectiveHierarchicalData
Child_Id Int32 IntNOTNULL
FALSE
Admin_ObjectiveHi
erarchicalData
ObjectiveHier
archicalData
[Order] Int32 IntNOT
NULL
FALSE
Admin_Step Step Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Step Step PublishedStatus Bool BitNOT
NULL
FALSE
Admin_Step Step IsRecourse Bool BitNOT
NULL
FALSE
Admin_Step Step Certified Bool BitNOTNULL
FALSE
Admin_Step Step CertificationDate DateTi
me
DateTime TRUE
Admin_Step Step CertificationUser String NVarChar(50
)
TRUE
Admin_Step Step CertificationEntityInCharge
_Id
Int32 Int TRUE
Admin_Step Step Name String NVarChar(30
0)NOTNULL
FALSE
Admin_Step Step PhysicalPresence Int32 IntNOT
NULL
FALSE
Admin_Step Step RepresentationThirdParty Int32 Int TRUE
Admin_Step Step IsOnline Bool BitNOT
NULL
FALSE
Admin_Step Step OnlineStepURL String NVarChar(20
0)
TRUE
Admin_Step Step IsOptional Bool BitNOT
NULL
FALSE
Admin_Step Step EntityInCharge_Id Int32 Int TRUE
Admin_Step Step UnitInCharge_Id Int32 Int TRUE
Admin_Step Step PersonInCharge_Id Int32 Int TRUE
Admin_Step Step Contact_Law_Id Int32 Int TRUE
7/28/2019 eRegulations Technical Specifications
14/60
UNCTAD-eRegulationsteam Page14
Admin_Step Step Contact_Articles String NVarChar(40
0)
TRUE
Admin_Step Step RequirementsPhysicalPrese
nce
String VarChar(75) TRUE
Admin_Step Step HasCosts Bool BitNOT
NULL
FALSE
Admin_Step Step NoCostsReason String VarChar(75) TRUE
Admin_Step Step IsPayMethodCash Bool BitNOT
NULL
FALSE
Admin_Step Step IsPayMethodCheck Bool BitNOT
NULL
FALSE
Admin_Step Step IsPayMethodCard Bool BitNOT
NULL
FALSE
Admin_Step Step IsPayMethodOther Bool BitNOT
NULL
FALSE
Admin_Step Step PayMethodOtherText String NVarChar(20
0)
TRUE
Admin_Step Step CostsComments String NText TRUE
Admin_Step Step WaintingTimeInLineMin Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step WaintingTimeInLineMax Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step TimeSpentAtTheCounterMi
n
Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step TimeSpentAtTheCounterM
ax
Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step WaitingTimeUntilNextStep
Min
Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step WaitingTimeUntilNextStep
Max
Decim
al
Decimal(18,6
)NOTNULL
FALSE
Admin_Step Step TimeframeComments String NText TRUE
Admin_Step Step Timeframe_Law_Id Int32 Int TRUE
Admin_Step Step Timeframe_Articles String NVarChar(40
0)
TRUE
Admin_Step Step LawsComments String NText TRUE
Admin_Step Step AdditionalInfo String NText TRUE
Admin_Step Step CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Step Step CreatedUser String NVarChar(50)NOTNULL
FALSE
Admin_Step Step ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Admin_Step Step ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Admin_Step Step IsInRecycleBin Bool BitNOT
NULL
FALSE
Admin_Step Step Deleted Bool BitNOT
NULL
FALSE
Admin_Step_i18n Step_i18n Id Int32 IntNOT
NULL
FALSE
7/28/2019 eRegulations Technical Specifications
15/60
UNCTAD-eRegulationsteam Page15
IDENTITY
Admin_Step_i18n Step_i18n Step_Id Int32 IntNOT
NULL
FALSE
Admin_Step_i18n Step_i18n Lang String Char(2)NOT
NULL
FALSE
Admin_Step_i18n Step_i18n Name String NVarChar(300)NOTNULL
FALSE
Admin_Step_i18n Step_i18n PayMethodOtherText String NVarChar(20
0)
TRUE
Admin_Step_i18n Step_i18n CostsComments String NText TRUE
Admin_Step_i18n Step_i18n TimeframeComments String NText TRUE
Admin_Step_i18n Step_i18n LawsComments String NText TRUE
Admin_Step_i18n Step_i18n AdditionalInfo String NText TRUE
Admin_Step_i18n Step_i18n Contact_Articles String NVarChar(40
0)
TRUE
Admin_Step_i18n Step_i18n Timeframe_Articles String NVarChar(40
0)
TRUE
Admin_Step_Recou
rse
Step_Recours
e
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_Step_Recou
rse
Step_Recours
e
Step_Id Int32 IntNOT
NULL
FALSE
Admin_Step_Recou
rse
Step_Recours
e
Recourse_Id Int32 IntNOT
NULL
FALSE
Admin_Step_Recou
rse
Step_Recours
e
[Order] Int32 IntNOT
NULL
FALSE
Admin_StepCost StepCost Id Int32 IntNOT
NULLIDENTITY
FALSE
Admin_StepCost StepCost Step_Id Int32 IntNOT
NULL
FALSE
Admin_StepCost StepCost [Order] Int32 IntNOT
NULL
FALSE
Admin_StepCost StepCost AggregateOperator String NVarChar(2)
NOTNULL
FALSE
Admin_StepCost StepCost IsSeparator Bool BitNOT
NULL
FALSE
Admin_StepCost StepCost Value Decim
al
Decimal(19,4
)NOTNULL
FALSE
Admin_StepCost StepCost Unit String NVarChar(10
)
TRUE
Admin_StepCost StepCost Operator String NVarChar(20
)NOTNULL
FALSE
Admin_StepCost StepCost Parameter String NVarChar(10
0)
TRUE
Admin_StepCost StepCost Type String NVarChar(50
)NOTNULL
FALSE
Admin_StepCost StepCost AverageValue Decim
al
Decimal(19,4
)
TRUE
Admin_StepCost StepCost Comments String NVarChar(40 TRUE
7/28/2019 eRegulations Technical Specifications
16/60
UNCTAD-eRegulationsteam Page16
0)
Admin_StepCost StepCost AverageValueComments String NVarChar(10
00)
TRUE
Admin_StepCost StepCost FilterGlobalOption Int32 Int TRUE
Admin_StepCost StepCost Law_Id Int32 Int TRUE
Admin_StepCost StepCost Articles String NVarChar(400)
TRUE
Admin_StepCost_i1
8n
StepCost_i18
n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepCost_i1
8n
StepCost_i18
n
StepCost_Id Int32 IntNOT
NULL
FALSE
Admin_StepCost_i1
8n
StepCost_i18
n
Lang String Char(2)NOT
NULL
FALSE
Admin_StepCost_i1
8n
StepCost_i18
n
Comments String NVarChar(40
0)
TRUE
Admin_StepCost_i18n
StepCost_i18n
AverageValueComments String NVarChar(1000)
TRUE
Admin_StepCost_i1
8n
StepCost_i18
n
Articles String NVarChar(40
0)
TRUE
Admin_StepLaw StepLaw Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepLaw StepLaw Step_Id Int32 IntNOT
NULL
FALSE
Admin_StepLaw StepLaw [Order] Int32 IntNOT
NULL
FALSE
Admin_StepLaw StepLaw AggregateOperator String NVarChar(2)NOTNULL
FALSE
Admin_StepLaw StepLaw Law_Id Int32 IntNOT
NULL
FALSE
Admin_StepLaw StepLaw Articles String NVarChar(40
0)
TRUE
Admin_StepLaw StepLaw Comments String NVarChar(40
0)
TRUE
Admin_StepLaw_i1
8n
StepLaw_i18
n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepLaw_i18n
StepLaw_i18n
StepLaw_Id Int32 IntNOTNULL
FALSE
Admin_StepLaw_i1
8n
StepLaw_i18
n
Lang String Char(2)NOT
NULL
FALSE
Admin_StepLaw_i1
8n
StepLaw_i18
n
Articles String NVarChar(40
0)
TRUE
Admin_StepLaw_i1
8n
StepLaw_i18
n
Comments String NVarChar(40
0)
TRUE
Admin_StepRequir
ement
StepRequire
ment
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepRequirement
StepRequirement
Step_Id Int32 IntNOTNULL
FALSE
7/28/2019 eRegulations Technical Specifications
17/60
UNCTAD-eRegulationsteam Page17
Admin_StepRequir
ement
StepRequire
ment
[Order] Int32 IntNOT
NULL
FALSE
Admin_StepRequir
ement
StepRequire
ment
AggregateOperator String NVarChar(2)
NOTNULL
FALSE
Admin_StepRequir
ement
StepRequire
ment
Type Int32 IntNOT
NULL
FALSE
Admin_StepRequir
ement
StepRequire
ment
GenericRequirement_Id Int32 Int TRUE
Admin_StepRequir
ement
StepRequire
ment
StepResult_Id Int32 Int TRUE
Admin_StepRequir
ement
StepRequire
ment
NbOriginal Int32 IntNOT
NULL
FALSE
Admin_StepRequir
ement
StepRequire
ment
NbCopy Int32 IntNOT
NULL
FALSE
Admin_StepRequir
ement
StepRequire
ment
NbAuthenticated Int32 IntNOT
NULL
FALSE
Admin_StepRequirement
StepRequirement
Comments String NText TRUE
Admin_StepRequir
ement
StepRequire
ment
FilterGlobalOption Int32 Int TRUE
Admin_StepRequir
ement
StepRequire
ment
Law_Id Int32 Int TRUE
Admin_StepRequir
ement
StepRequire
ment
Articles String NVarChar(40
0)
TRUE
Admin_StepRequir
ement_i18n
StepRequire
ment_i18n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepRequirement_i18n
StepRequirement_i18n
StepRequirement_Id Int32 IntNOTNULL
FALSE
Admin_StepRequir
ement_i18n
StepRequire
ment_i18n
Lang String Char(2)NOT
NULL
FALSE
Admin_StepRequir
ement_i18n
StepRequire
ment_i18n
Comments String NText TRUE
Admin_StepRequir
ement_i18n
StepRequire
ment_i18n
Articles String NVarChar(40
0)
TRUE
Admin_StepResult StepResult Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepResult StepResult Step_Id Int32 IntNOTNULL FALSE
Admin_StepResult StepResult [Order] Int32 IntNOT
NULL
FALSE
Admin_StepResult StepResult Name String NVarChar(10
0)NOTNULL
FALSE
Admin_StepResult StepResult NbOriginal Int32 IntNOT
NULL
FALSE
Admin_StepResult StepResult NbCopy Int32 IntNOT
NULL
FALSE
Admin_StepResult StepResult NbAuthenticated Int32 IntNOT
NULL
FALSE
Admin_StepResult StepResult Type String NVarChar(50 FALSE
7/28/2019 eRegulations Technical Specifications
18/60
UNCTAD-eRegulationsteam Page18
)NOTNULL
Admin_StepResult StepResult Law_Id Int32 Int TRUE
Admin_StepResult StepResult Articles String NVarChar(40
0)
TRUE
Admin_StepResult StepResult IsDocumentPresent Bool BitNOT
NULL
FALSE
Admin_StepResult_
i18n
StepResult_i1
8n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
Admin_StepResult_
i18n
StepResult_i1
8n
StepResult_Id Int32 IntNOT
NULL
FALSE
Admin_StepResult_
i18n
StepResult_i1
8n
Lang String Char(2)NOT
NULL
FALSE
Admin_StepResult_
i18n
StepResult_i1
8n
Name String NVarChar(10
0)NOTNULL
FALSE
Admin_StepResult_
i18n
StepResult_i1
8n
Articles String NVarChar(40
0)
TRUE
EntityInCharge EntityInCharg
e
Id Int32 IntNOT
NULL
IDENTITY
FALSE
EntityInCharge EntityInCharg
e
Name String NVarChar(10
0)NOTNULL
FALSE
EntityInCharge EntityInCharg
e
Address String NVarChar(25
0)
TRUE
EntityInCharge EntityInCharg
e
City String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
PostalCode String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
CountryCode String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
Phone1 String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
Phone2 String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
Fax1 String NVarChar(50
)
TRUE
EntityInCharge EntityInCharg
e
Fax2 String NVarChar(50
)
TRUE
EntityInCharge EntityInCharge
Email1 String NVarChar(100)
TRUE
EntityInCharge EntityInCharg
e
Email2 String NVarChar(10
0)
TRUE
EntityInCharge EntityInCharg
e
Website1 String NVarChar(25
0)
TRUE
EntityInCharge EntityInCharg
e
Website2 String NVarChar(25
0)
TRUE
EntityInCharge EntityInCharg
e
Image String NVarChar(25
5)
TRUE
EntityInCharge EntityInCharg
e
ScheduleDay1MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg ScheduleDay1MorningEnd String NVarChar(5) FALSE
7/28/2019 eRegulations Technical Specifications
19/60
UNCTAD-eRegulationsteam Page19
e NOTNULL
EntityInCharge EntityInCharg
e
ScheduleDay1EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay1EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharge
ScheduleDay1IsClosed Bool BitNOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay1IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay2IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay3MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay3MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay3EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharge
ScheduleDay3EveningEnd String NVarChar(5)NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay3IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay3IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay4IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay5MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay5MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharge ScheduleDay5EveningStart String NVarChar(5)NOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
20/60
UNCTAD-eRegulationsteam Page20
EntityInCharge EntityInCharg
e
ScheduleDay5EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay5IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay5IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay6MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay6MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay6EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay6EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay6IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharge
ScheduleDay6IsNotAvailable
Bool BitNOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7MorningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7MorningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7EveningStart String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7EveningEnd String NVarChar(5)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7IsClosed Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleDay7IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
ScheduleComments String NVarChar(50
0)
TRUE
EntityInCharge EntityInCharg
e
CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
CreatedUser String NVarChar(50
)NOTNULL
FALSE
EntityInCharge EntityInCharg
e
ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
EntityInCharge EntityInCharge ModifiedUser String NVarChar(50)NOTNULL FALSE
EntityInCharge EntityInCharg
e
OwnershipStatus String VarChar(50)
NOTNULL
FALSE
EntityInCharge EntityInCharg
e
Deleted Bool BitNOT
NULL
FALSE
EntityInCharge EntityInCharg
e
IsVisibleInPublicDirectory Bool Bit FALSE
EntityInCharge EntityInCharg
e
GoogleMapsURL String NVarChar(80
0)
TRUE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
7/28/2019 eRegulations Technical Specifications
21/60
UNCTAD-eRegulationsteam Page21
EntityInCharge_i18
n
EntityInCharg
e_i18n
EntityInCharge_Id Int32 IntNOT
NULL
FALSE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Lang String Char(2)NOT
NULL
FALSE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Name String NVarChar(10
0)NOTNULL
FALSE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Address String NVarChar(25
0)
TRUE
EntityInCharge_i18
n
EntityInCharg
e_i18n
City String NVarChar(50
)
TRUE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Website1 String NVarChar(25
0)
TRUE
EntityInCharge_i18
n
EntityInCharg
e_i18n
Website2 String NVarChar(25
0)
TRUE
EntityInCharge_i18
n
EntityInCharg
e_i18n
ScheduleComments String NVarChar(50
0)
TRUE
GenericRequirement
GenericRequirement
Id Int32 IntNOTNULL
IDENTITY
FALSE
GenericRequiremen
t
GenericRequi
rement
Name String NVarChar(10
0)NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
Description String NText TRUE
GenericRequiremen
t
GenericRequi
rement
Type String NVarChar(50
)NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
GenericRequirement
GenericRequirement
CreatedUser String NVarChar(50)NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
ModifiedUser String NVarChar(50
)NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
OwnershipStatus String VarChar(50)
NOTNULL
FALSE
GenericRequiremen
t
GenericRequi
rement
Deleted Bool BitNOT
NULL
FALSE
GenericRequiremen
t
GenericRequi
rement
IsDocumentPresent Bool BitNOT
NULL
FALSE
GenericRequiremen
t
GenericRequi
rement
IsVisibleInPublicDirectory Bool Bit FALSE
GenericRequiremen
t_i18n
GenericRequi
rement_i18n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
GenericRequiremen
t_i18n
GenericRequi
rement_i18n
GenericRequirement_Id Int32 IntNOT
NULL
FALSE
GenericRequiremen
t_i18n
GenericRequi
rement_i18n
Lang String Char(2)NOT
NULL
FALSE
GenericRequiremen
t_i18n
GenericRequi
rement_i18n
Name String NVarChar(10
0)NOTNULL
FALSE
GenericRequiremen GenericRequi Description String NText TRUE
7/28/2019 eRegulations Technical Specifications
22/60
UNCTAD-eRegulationsteam Page22
t_i18n rement_i18n
Law Law Id Int32 IntNOT
NULL
IDENTITY
FALSE
Law Law Name String NVarChar(30
0)NOTNULL
FALSE
Law Law Description String NText TRUE
Law Law CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
Law Law CreatedUser String NVarChar(50
)NOTNULL
FALSE
Law Law ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Law Law ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Law Law OwnershipStatus String VarChar(50)
NOTNULL
FALSE
Law Law Deleted Bool BitNOT
NULL
FALSE
Law Law IsDocumentPresent Bool BitNOT
NULL
FALSE
Law Law IsVisibleInPublicDirectory Bool Bit FALSE
Law_i18n Law_i18n Id Int32 IntNOT
NULL
IDENTITY
FALSE
Law_i18n Law_i18n Law_Id Int32 IntNOT
NULL
FALSE
Law_i18n Law_i18n Lang String Char(2)NOTNULL
FALSE
Law_i18n Law_i18n Name String NVarChar(30
0)NOTNULL
FALSE
Law_i18n Law_i18n Description String NText TRUE
Media Media Id Int32 IntNOT
NULL
IDENTITY
FALSE
Media Media Name String NVarChar(30
0)NOTNULL
FALSE
Media Media FileName String NVarChar(50
0)
TRUE
Media Media Extention String NVarChar(15
)
TRUE
Media Media Description String NText TRUE
Media Media Length Decim
al
Decimal(18,0
)
TRUE
Media Media PreviewImageName String NVarChar(10
0)
TRUE
Media Media CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
Media Media CreatedUser String NVarChar(50
)NOTNULL
FALSE
7/28/2019 eRegulations Technical Specifications
23/60
UNCTAD-eRegulationsteam Page23
Media Media ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
Media Media ModifiedUser String NVarChar(50
)NOTNULL
FALSE
Media Media Deleted Bool BitNOT
NULL
FALSE
Media Media IsDocumentPresent Bool BitNOT
NULL
FALSE
Media_i18n Media_i18n Id Int32 IntNOT
NULL
IDENTITY
FALSE
Media_i18n Media_i18n Media_Id Int32 IntNOT
NULL
FALSE
Media_i18n Media_i18n Lang String Char(2)NOT
NULL
FALSE
Media_i18n Media_i18n Name String NVarChar(30
0)NOTNULL
FALSE
PersonInCharge PersonInChar
ge
Id Int32 IntNOT
NULL
IDENTITY
FALSE
PersonInCharge PersonInChar
ge
UnitInCharge_Id Int32 Int TRUE
PersonInCharge PersonInChar
ge
Name String NVarChar(10
0)NOTNULL
FALSE
PersonInCharge PersonInChar
ge
Profession String NVarChar(30
0)
TRUE
PersonInCharge PersonInChar
ge
Phone1 String NVarChar(50
)
TRUE
PersonInCharge PersonInChar
ge
Phone2 String NVarChar(50
)
TRUE
PersonInCharge PersonInChar
ge
Email1 String NVarChar(10
0)
TRUE
PersonInCharge PersonInChar
ge
Email2 String NVarChar(10
0)
TRUE
PersonInCharge PersonInChar
ge
Image String NVarChar(25
5)
TRUE
PersonInCharge PersonInChar
ge
CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
PersonInCharge PersonInCharge CreatedUser String NVarChar(50)NOTNULL FALSE
PersonInCharge PersonInChar
ge
ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
PersonInCharge PersonInChar
ge
ModifiedUser String NVarChar(50
)NOTNULL
FALSE
PersonInCharge PersonInChar
ge
OwnershipStatus String VarChar(50)
NOTNULL
FALSE
PersonInCharge PersonInChar
ge
Deleted Bool BitNOT
NULL
FALSE
PersonInCharge PersonInChar
ge
IsVisibleInPublicDirectory Bool Bit FALSE
PersonInCharge_i1 PersonInChar Id Int32 IntNOT FALSE
7/28/2019 eRegulations Technical Specifications
24/60
UNCTAD-eRegulationsteam Page24
8n ge_i18n NULL
IDENTITY
PersonInCharge_i1
8n
PersonInChar
ge_i18n
PersonInCharge_Id Int32 IntNOT
NULL
FALSE
PersonInCharge_i1
8n
PersonInChar
ge_i18n
Lang String Char(2)NOT
NULL
FALSE
PersonInCharge_i1
8n
PersonInChar
ge_i18n
Name String NVarChar(10
0)NOTNULL
FALSE
PersonInCharge_i1
8n
PersonInChar
ge_i18n
Profession String NVarChar(30
0)
TRUE
UnitInCharge UnitInCharge Id Int32 IntNOT
NULL
IDENTITY
FALSE
UnitInCharge UnitInCharge EntityInCharge_Id Int32 Int TRUE
UnitInCharge UnitInCharge Name String NVarChar(10
0)NOTNULL
FALSE
UnitInCharge UnitInCharge Image String NVarChar(255)
TRUE
UnitInCharge UnitInCharge ScheduleIsInherited Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1EveningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay1IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2EveningEnd String NVarChar(5)NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay2IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay3MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay3MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay3EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay3EveningEnd String NVarChar(5) FALSE
7/28/2019 eRegulations Technical Specifications
25/60
UNCTAD-eRegulationsteam Page25
NOTNULL
UnitInCharge UnitInCharge ScheduleDay3IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay3IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4MorningStart String NVarChar(5)NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4EveningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay4IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5EveningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay5IsNotAvailable
Bool BitNOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6EveningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6IsClosed Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay6IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleDay7MorningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay7MorningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay7EveningStart String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay7EveningEnd String NVarChar(5)
NOTNULL
FALSE
UnitInCharge UnitInCharge ScheduleDay7IsClosed Bool BitNOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
26/60
UNCTAD-eRegulationsteam Page26
UnitInCharge UnitInCharge ScheduleDay7IsNotAvailabl
e
Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge ScheduleComments String NVarChar(50
0)
TRUE
UnitInCharge UnitInCharge CreatedDate DateTi
me
DateTime
NOTNULL
FALSE
UnitInCharge UnitInCharge CreatedUser String NVarChar(50
)NOTNULL
FALSE
UnitInCharge UnitInCharge ModifiedDate DateTi
me
DateTime
NOTNULL
FALSE
UnitInCharge UnitInCharge ModifiedUser String NVarChar(50
)NOTNULL
FALSE
UnitInCharge UnitInCharge OwnershipStatus String VarChar(50)
NOTNULL
FALSE
UnitInCharge UnitInCharge Deleted Bool BitNOT
NULL
FALSE
UnitInCharge UnitInCharge IsVisibleInPublicDirectory Bool Bit FALSEUnitInCharge_i18n UnitInCharge
_i18n
Id Int32 IntNOT
NULL
IDENTITY
FALSE
UnitInCharge_i18n UnitInCharge
_i18n
UnitInCharge_Id Int32 IntNOT
NULL
FALSE
UnitInCharge_i18n UnitInCharge
_i18n
Lang String Char(2)NOT
NULL
FALSE
UnitInCharge_i18n UnitInCharge
_i18n
Name String NVarChar(10
0)NOTNULL
FALSE
UnitInCharge_i18n UnitInCharge
_i18n
ScheduleComments String NVarChar(50
0)
TRUE
SystemLanguage SystemLangu
age
Code String VarChar(2)
NOTNULL
FALSE
SystemLanguage SystemLangu
age
Name String NVarChar(20
)NOTNULL
FALSE
SystemLanguage SystemLangu
age
IsActive Bool BitNOT
NULL
FALSE
SystemLanguage SystemLangu
age
IsPrincipal Bool BitNOT
NULL
FALSE
RelationshipsTable ThisKey OtherKey Reference
Admin_StepSectionVisibility Step_Id Id Admin_Step
Admin_Block_i18n Block_Id Id Admin_Block
Admin_Block_Step Block_Id Id Admin_Block
Admin_Block_Step Step_Id Id Admin_Step
Admin_Menu Block_ID Id Admin_Block
Admin_Menu Objective_ID Id Admin_Objective
Admin_Menu_i18n Menu_Id Id Admin_Menu
Admin_MenuHierarchicalData Child_Id Id Admin_Menu
Admin_MenuHierarchicalData Parent_Id Id Admin_Menu
7/28/2019 eRegulations Technical Specifications
27/60
UNCTAD-eRegulationsteam Page27
Admin_MenuPerLangVisibility Menu_Id Id Admin_Menu
Admin_Object_Media Media_Id Id Media
Admin_Object_Media Object_Id Id GenericRequireme
nt
Admin_Object_Media Object_Id Id Law
Admin_Object_Media Object_Id Id Admin_MenuAdmin_Object_Media Object_Id Id Admin_StepResult
Admin_Object_Media Object_Id Id Admin_Step
Admin_Objective_Block Block_Id Id Admin_Block
Admin_Objective_Block Objective_Id Id Admin_Objective
Admin_Objective_i18n Objective_Id Id Admin_Objective
Admin_ObjectiveHierarchicalData Parent_Id Id Admin_Objective
Admin_ObjectiveHierarchicalData Child_Id Id Admin_Objective
Admin_Step CertificationEntityInCharg
e_Id
Id EntityInCharge
Admin_Step EntityInCharge_Id Id EntityInCharge
Admin_Step UnitInCharge_Id Id UnitInCharge
Admin_Step PersonInCharge_Id Id PersonInCharge
Admin_Step Contact_Law_Id Id Law
Admin_Step Timeframe_Law_Id Id Law
Admin_Step_i18n Step_Id Id Admin_Step
Admin_Step_Recourse Recourse_Id Id Admin_Step
Admin_Step_Recourse Step_Id Id Admin_Step
Admin_StepCost Step_Id Id Admin_Step
Admin_StepCost Law_Id Id Law
Admin_StepCost_i18n StepCost_Id Id Admin_StepCost
Admin_StepLaw Step_Id Id Admin_Step
Admin_StepLaw Law_Id Id Law
Admin_StepLaw_i18n StepLaw_Id Id Admin_StepLaw
Admin_StepRequirement Step_Id Id Step
Admin_StepRequirement StepResult_Id Id Admin_StepResult
Admin_StepRequirement GenericRequirement_Id Id GenericRequireme
nt
Admin_StepRequirement Law_Id Id Law
Admin_StepRequirement_i18n StepRequirement_Id Id Admin_StepRequir
ement
Admin_StepResult Step_Id Id Admin_StepAdmin_StepResult Law_Id Id Law
Admin_StepResult_i18n StepResult_Id Id Admin_StepResult
EntityInCharge_i18n EntityInCharge_Id Id EntityInCharge
GenericRequirement_i18n GenericRequirement_Id Id GenericRequireme
nt
Law_i18n Law_Id Id Law
Media_i18n Media_Id Id Media
PersonInCharge UnitInCharge_Id Id UnitInCharge
PersonInCharge_i18n PersonInCharge_Id Id PersonInCharge
UnitInCharge EntityInCharge_Id Id EntityInCharge
UnitInCharge_i18n UnitInCharge_Id Id UnitInCharge
7/28/2019 eRegulations Technical Specifications
28/60
UNCTAD-eRegulationsteam Page28
2.4.CODEEXECUTIONFLOW
Wewillillustrateinthissectionthecodeexecutionflowfortwopossiblecasesofuserinteractionwiththe
adminwebapplication.
-requestinganewpage
-triggeringanactiononthepage(updateinformation,publish,changetheorderofelements,etc)
2.4.1REQUESTINGANEWPAGE
RequestinganewpagewillinvolvethecreationofanewinstanceofSystem.Web.UI.Page.Dependingonthe
pagerequestedtheAsp.NetPagemustimplementthecorrespondentIViewinterface.
Wewillexemplifyforviewingthedetailspageofonestep:
1.Usermakesarequestinthebrowserbyclickingonahyperlink.Therequestwillsendasaqueryparameter
theIDoftherequestedstep.
Herethesequenceofcode:
1.IISidentifiestherequestedresourceas"StepGeneral.aspx"insidetheadminapplication,soitforwardsthe
requesttoourapplication
7/28/2019 eRegulations Technical Specifications
29/60
UNCTAD-eRegulationsteam Page29
2.Asp.Netcreatesanewinstanceoftheobject"Views_Regulation_StepGeneral"
3.Asp.Nettriggertheevent"Page_Load"
4.Insidethe"Page_Load"wecreateanewinstanceofthepresentersendingintheconstructorthecurrent
instanceofViews_Regulation_StepGeneralasthisclassimplementstheinterfaceIStepViewandthe
AppContextwhichisanapplicationcontextthattravelsthroughallthelayers.TheAppContextiscreatedeach
timearequestisinterceptedbyourapplication.Itiscachedthroughthedurationoftherequestinthe
HttpContext
5.thenewlycreatedpresenterwillcallthemethodInitViewsendthestepIdasparameter
6.thepresenterholdsallthepresentationlogic.Ithasareferenceofthe"IView"interfacewhichwillusefor
displayingtheinformation.Stillisnotawareofhowthisinterfaceisimplemented(inourcaseisthe
System.Web.UI.Page)
7.thepresenterwillcreateanewinstanceoftheBusinessObjectAPIrelatedtoourneed(inourcaseStepBO)
8.theBusinessObjectAPIholdsareferencetotheRootAggregateClass(inourcaseStep).thepresenter
createsanewinstanceofthemodel,itsetstheIdofthemodelanditattachesittotheBusinessObjectAPI.
9.thepresenterdemandtheBusinessObjectAPItoloadthemodel
10.theBusinessObjectAPIwillcalltheRepositoryFactoryinordertoretrieveaninstanceofIRepositorythat
willusefortalkingtotheDataLayer(itwillreturnaninstanceofLiqRepository)
11.theBusinessObjectAPIusestheIRepositoryinstanceandloadthemodelfromthedata(therepositorywill
callaSQLquerythatwillbeexecutedagainsttheSQLServerDBandtheloadthemodelwiththedbdata)
12.theBusinessObjectAPIholdsacollectionoferrorsincaseanyoperationperformedraisedanerror
13.thepresenterverifiesiftheloadofmodelwasendedsuccessfullyandifsoittellstheIView(inourcasethe
Regulation)todisplaythedetailsofthemodel.Iftheprocessofloadingthedatafailed,thepresentercallsthe
"ShowErrors"methodoftheIViewtodisplaytheerrors
14.insidetheSystem.Web.UI.Pagemethods/propertiesoftheIViewimplementationwesetthedatatohtml
elements
15.theSystem.Web.UI.Pagefinishesthecycleanddisplaythehtmloutput
7/28/2019 eRegulations Technical Specifications
30/60
UNCTAD-eRegulationsteam Page30
2.4.2.TRIGGERANACTIONONTHEPAGE(UPDATE)
Sendingapostrequesttotheserveris99%madethroughanAjaxcall(withaXMLHttpRequest).Theendpoint
isastaticmethodintheaspxpagehavingtheattribute[WebMethod].
InsidethisstaticmethodwecreateaninstanceofthecustomviewthatimplementsourIViewinterface(IStepView).Wewillusethesamepresenter(StepPresenter)togetherwithourcustomviewinorderto
achieveourupdatingpurpose.Thedifferenceisthetransportofallthedatathatthebrowserwillexchange
withtheserver.InthecaseoftheAjaxcallweencapsulatethedatainDataTransferObjects(DTO)whichare
lightobjectsholdingonlypropertyfields.InthecaseofclassicHttppostrequestthetransportwouldhave
beentheforminputcollectionsendeitherencodedintheurlasquerystringorsendaspayloadinsidethe
bodyofthehttprequestmessage.
AllthecustomviewsareextendedfromabaseclasscalledBaseWebViewthatholdsallutilitiesneededbyall
thecustomviews.
TheAppContextisalsocreatedeachtimearequestishandled.ItisalsocachedinthecurrentHtppContext
managedbytheAsp.Netframework.
7/28/2019 eRegulations Technical Specifications
31/60
UNCTAD-eRegulationsteam Page31
Wewillexemplifyforupdatingthedetailspageofonestep:
1.Userclicksonthe"SAVE"buttoninsidethesteppage.Theclientsidecodewillwrapallthedatafromthe
editablefieldsinaJSONobjectandthesendsanewXMLHttpRequesttotheendpoind"
StepGeneral.aspx/Update"withthepayloadthenewlyJSONobjectthatwilldeserializeintoaDTOC#Object
andaIDparameterwiththevalueequaltotheStepID.
Herethesequenceofcode:
1.IISidentifiestherequestedresourceas"StepGeneral.aspx/Update"insidetheadminapplication,soit
forwardstherequesttoourapplication
2.Asp.Netsearchesforthestaticmethod"Update"havingthe[WebMethod]attributeinsidetheclassbehind
the"StepGeneral.aspx"pageandcallsthismethod
3.weretrievetheAppContext
4.createanewinstanceofourcustomviewthatimplementstheinterfaceIStepView(inourcase
UpdateView).SendintheconstructortheDTOreceived
5.createanewinstanceofthepresentersendingtheinstanceofourcustomviewandtheAppContext
6.thenewlycreatedpresenterwillcallthemethodUpdatesendthestepIdasparameter
7.thepresenterholdsallthepresentationlogic.Ithasareferenceofthe"IView"interfacewhichwillusefor
retrievalofallthenecessaryinformationtoupdatethemodel.Stillisnotawareofhowthisinterfaceis
implemented(inourcaseistheinstanceofCustomView)
8.thepresenterwillcreateanewinstanceoftheBusinessObjectAPIrelatedtoourneed(inourcaseStepBO)
9.theBusinessObjectAPIholdsareferencetotheRootAggregateClass(inourcaseStep).thepresenter
createsanewinstanceofthemodel,itsetstheIdofthemodelanditattachesittotheBusinessObjectAPI.
10.thepresenterdemandtheBusinessObjectAPItoloadthemodel
11.theBusinessObjectAPIwillcalltheRepositoryFactoryinordertoretrieveaninstanceofIRepositorythat
willusefortalkingtotheDataLayer(itwillreturnaninstanceofLiqRepository)
12.theBusinessObjectAPIusestheIRepositoryinstanceandloadthemodelfromthedata(therepositorywill
callaSQLquerythatwillbeexecutedagainsttheSQLServerDBandtheloadthemodelwiththedbdata)
13.ifnoerrorsencounteredthepresenterwillasktheviewtoupdatethemodel.Asourcustomviewreceived
throughtheconstructortheDTOsentbytheuseritwilluseittoupdatethemodel.
14.thenthepresenterwillasktheIRepositoryinstancetopersistthemodifications
15.theBusinessObjectAPIholdsacollectionoferrorsincaseanyoperationperformedraisedanerror
16.thepresenterverifiesiftheupdateofmodelwasendedsuccessfullyandifsoitraisesaneventcalled
SavedSuccessfully.(normallyinthecustomviewyouwillwriteanSavedSuccessfullyHandlerwhereyouwill
haveaflagholdingtheoperationresponse.Iftheprocessofloadingthedatafailed,thepresentercallsthe
"ShowErrors"methodoftheIViewtodisplaytheerrors(thecustomviewwillholdtheerrorsinsidea
collectionoferrors)
17.thewebMethodthenverifiesifthesuccessflagofthecustomviewistrueandsendsaokmessagetothe
browser.Ifcustomviewhaserrorsinsideitscollection,thewebMethodwillthrowanApplicationException
withthemessageholdingtheserializedversionofalltheviewerrors.
7/28/2019 eRegulations Technical Specifications
32/60
UNCTAD-eRegulationsteam Page32
2.5.PROCEDURESNAPSHOTS
Asalreadymentionthesystemallowsyoutoregisterafullsnapshotreplicaofoneprocedure.Thesnapshotis
savedinspecializedtablesthatarelessnormalizedandholdsthedatainboththeprincipalandsecondary
languages.
Eachtimeauserclickson"Savesnapshot"buttonintheadmininterfacethesystemmakesadeepcopyofthe
dataforoneprocedure.
Thedatasavedforoneprocedureis:
-objectivefulldata
-blocksofstepsfulldata
-stepsfulldata(andforeachelementusedformtheRepositoriesitcopiesthecurrentfulldata:fulldatafor
GenericRequirement,Law,EntityInCharge,UnitInCharge,PersonInCharge)
Thelastundatedsnapshot,calledalsothe"currentsnapshot"isusedforkeepingthecurrentpublisheddataof
eRegulationsprocedurescontent.AlsotheeRegulationsDataAPIPublisherretrievestheinformationforoneprocedurefromthecurrent
snapshotandsendittotheeRegulationsDataAPIServer.
Thereconstructionofthecurrentsnapshotofoneprocedureistriggeredbyeachofthefollowingevents:
-publishanobjective
-publishablock
-publishastep
-publisharecourse
-updateaniteminGenericRequirementrepositoryforalltheprocedureswherethatGenericRequirementis
used
-updateaniteminLawrepositoryrepositoryforalltheprocedureswherethatLawisused
-updateaniteminEntityInChargerepositoryrepositoryforalltheprocedureswherethatEntityInChargeis
used
-updateaniteminUnitInChargerepositoryrepositoryforalltheprocedureswherethatUnitInChargeisused
-updateaniteminPersonInChargerepositoryrepositoryforalltheprocedureswherethatPersonInChargeis
used
Note:
Thetablesdonothaveastronglinkbetweenthem,therearenoforeignkeysthatenforcetherestrictionforthedata,asthedataisautomaticallygeneratedthroughtheexecutionofspecialstoredprocedureseasily
identiedastheyallholderthe"snapshot"wordintheirnames:
-sp_snapshot_get...
-sp_take_snapshot...
7/28/2019 eRegulations Technical Specifications
33/60
UNCTAD-eRegulationsteam Page33
Tablename Columnname DbType Null
able
SnapshotRegistry Id IntNOTNULL
IDENTITY
FALSE
SnapshotRegistry Objective_id IntNOTNULL FALSE
SnapshotRegistry SnapshotVersion IntNOTNULL FALSESnapshotRegistry SnapshotDate DateTimeNOTNULL FALSE
SnapshotRegistry IsCurrent BitNOTNULL FALSE
SnapshotStep Registry_Id IntNOTNULL FALSE
SnapshotStep Objective_Id IntNOTNULL FALSE
SnapshotStep Block_Id IntNOTNULL FALSE
SnapshotStep IsRecourse BitNOTNULL FALSE
SnapshotStep Step_Id Int TRUE
SnapshotStep [Order] IntNOTNULL FALSE
SnapshotStep IsParallele BitNOTNULL FALSE
SnapshotStep IsAlternative BitNOTNULL FALSESnapshotStep Certified BitNOTNULL FALSE
SnapshotStep CertificationDate DateTime TRUE
SnapshotStep CertificationUser NVarChar(50) TRUE
SnapshotStep Id IntNOTNULL FALSE
SnapshotStep Lang VarChar(2)NOTNULL FALSE
SnapshotStep Name NVarChar(100)NOT
NULL
FALSE
SnapshotStep PhysicalPresence IntNOTNULL FALSE
SnapshotStep RepresentationThirdParty Int TRUE
SnapshotStep IsOnline BitNOTNULL FALSE
SnapshotStep OnlineStepURL NVarChar(200) TRUE
SnapshotStep IsOptional BitNOTNULL FALSE
SnapshotStep Contact_Law_Id Int TRUE
SnapshotStep Contact_Law_Name NVarChar(300) TRUE
SnapshotStep Contact_Law_Description NVarChar(400) TRUE
SnapshotStep Contact_Articles NVarChar(400) TRUE
SnapshotStep RequirementsPhysicalPresence VarChar(75) TRUE
SnapshotStep HasCosts BitNOTNULL FALSE
SnapshotStep NoCostsReason VarChar(75) TRUE
SnapshotStep IsPayMethodCash BitNOTNULL FALSE
SnapshotStep IsPayMethodCheck BitNOTNULL FALSESnapshotStep IsPayMethodCard BitNOTNULL FALSE
SnapshotStep IsPayMethodOther BitNOTNULL FALSE
SnapshotStep PayMethodOtherText NVarChar(200) TRUE
SnapshotStep CostsComments NText TRUE
SnapshotStep WaintingTimeInLineMin Decimal(18,6)NOT
NULL
FALSE
SnapshotStep WaintingTimeInLineMax Decimal(18,6)NOT
NULL
FALSE
SnapshotStep TimeSpentAtTheCounterMin Decimal(18,6)NOT
NULL
FALSE
SnapshotStep TimeSpentAtTheCounterMax Decimal(18,6)NOT FALSE
7/28/2019 eRegulations Technical Specifications
34/60
UNCTAD-eRegulationsteam Page34
NULL
SnapshotStep WaitingTimeUntilNextStepMin Decimal(18,6)NOT
NULL
FALSE
SnapshotStep WaitingTimeUntilNextStepMax Decimal(18,6)NOT
NULL
FALSE
SnapshotStep TimeframeComments NText TRUESnapshotStep Timeframe_Law_Id Int TRUE
SnapshotStep Timeframe_Law_Name NVarChar(300) TRUE
SnapshotStep Timeframe_Law_Description NVarChar(400) TRUE
SnapshotStep Timeframe_Articles NVarChar(400) TRUE
SnapshotStep LawsComments NText TRUE
SnapshotStep AdditionalInfo NText TRUE
SnapshotStep CertificationEntityInCharge_Id Int TRUE
SnapshotStep CertificationEntityInCharge_Name NVarChar(100) TRUE
SnapshotStep Status Int TRUE
SnapshotStep Version Int TRUE
SnapshotStep StatusDate DateTime TRUE
SnapshotStepCost Registry_Id IntNOTNULL FALSE
SnapshotStepCost Objective_Id IntNOTNULL FALSE
SnapshotStepCost Block_Id IntNOTNULL FALSE
SnapshotStepCost Step_Id IntNOTNULL FALSE
SnapshotStepCost [Order] IntNOTNULL FALSE
SnapshotStepCost Id IntNOTNULL FALSE
SnapshotStepCost Lang VarChar(2)NOTNULL FALSE
SnapshotStepCost AggregateOperator NVarChar(2)NOT
NULL
FALSE
SnapshotStepCost IsSeparator BitNOTNULL FALSESnapshotStepCost Value Decimal(19,4)NOT
NULL
FALSE
SnapshotStepCost Unit NVarChar(10) TRUE
SnapshotStepCost Operator NVarChar(20)NOT
NULL
FALSE
SnapshotStepCost Parameter NVarChar(100) TRUE
SnapshotStepCost Type NVarChar(50)NOT
NULL
FALSE
SnapshotStepCost AverageValue Decimal(19,4) TRUE
SnapshotStepCost Comments NVarChar(400) TRUE
SnapshotStepCost AverageValueComments NVarChar(1000) TRUE
SnapshotStepCost FilterGlobalOption Int TRUE
SnapshotStepCost Law_Id Int TRUE
SnapshotStepCost Law_Name NVarChar(300) TRUE
SnapshotStepCost Law_Description NVarChar(400) TRUE
SnapshotStepCost Articles NVarChar(400) TRUE
SnapshotStepCost CalculatedValue Decimal(19,4) TRUE
SnapshotStepEntityInCh
arge
Registry_Id IntNOTNULL FALSE
SnapshotStepEntityInCh
arge
Objective_Id IntNOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
35/60
UNCTAD-eRegulationsteam Page35
SnapshotStepEntityInCh
arge
Block_Id IntNOTNULL FALSE
SnapshotStepEntityInCh
arge
Step_Id IntNOTNULL FALSE
SnapshotStepEntityInCh
arge
Id IntNOTNULL FALSE
SnapshotStepEntityInCh
arge
Lang VarChar(2)NOTNULL FALSE
SnapshotStepEntityInCh
arge
Name NVarChar(100)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
Address NVarChar(250) TRUE
SnapshotStepEntityInCh
arge
City NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
PostalCode NVarChar(50) TRUE
SnapshotStepEntityInCharge
CountryCode NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
Phone1 NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
Phone2 NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
Fax1 NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
Fax2 NVarChar(50) TRUE
SnapshotStepEntityInCh
arge
Email1 NVarChar(100) TRUE
SnapshotStepEntityInCh
arge
Email2 NVarChar(100) TRUE
SnapshotStepEntityInCh
arge
Website1 NVarChar(250) TRUE
SnapshotStepEntityInCh
arge
Website2 NVarChar(250) TRUE
SnapshotStepEntityInCh
arge
Image NVarChar(255) TRUE
SnapshotStepEntityInCh
arge
ScheduleDay1MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCharge ScheduleDay1MorningEnd NVarChar(5)NOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay1EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay1EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay1IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay1IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay2MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh ScheduleDay2MorningEnd NVarChar(5)NOT FALSE
7/28/2019 eRegulations Technical Specifications
36/60
UNCTAD-eRegulationsteam Page36
arge NULL
SnapshotStepEntityInCh
arge
ScheduleDay2EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay2EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCharge
ScheduleDay2IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay2IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay3IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay4MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay4MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay4EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCharge
ScheduleDay4EveningEnd NVarChar(5)NOTNULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay4IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay4IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay5IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay6MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay6MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCharge ScheduleDay6EveningStart NVarChar(5)NOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
37/60
UNCTAD-eRegulationsteam Page37
SnapshotStepEntityInCh
arge
ScheduleDay6EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay6IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay6IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleDay7MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay7MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay7EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay7EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepEntityInCh
arge
ScheduleDay7IsClosed BitNOTNULL FALSE
SnapshotStepEntityInCharge
ScheduleDay7IsNotAvailable BitNOTNULL FALSE
SnapshotStepEntityInCh
arge
ScheduleComments NVarChar(500) TRUE
SnapshotStepLaw Registry_Id IntNOTNULL FALSE
SnapshotStepLaw Objective_Id IntNOTNULL FALSE
SnapshotStepLaw Block_Id IntNOTNULL FALSE
SnapshotStepLaw Step_Id IntNOTNULL FALSE
SnapshotStepLaw [Order] IntNOTNULL FALSE
SnapshotStepLaw Id IntNOTNULL FALSE
SnapshotStepLaw Lang VarChar(2)NOTNULL FALSE
SnapshotStepLaw AggregateOperator NVarChar(2)NOTNULL
FALSE
SnapshotStepLaw Law_Id IntNOTNULL FALSE
SnapshotStepLaw Law_Name NVarChar(300)NOT
NULL
FALSE
SnapshotStepLaw Law_Description NText TRUE
SnapshotStepLaw Articles NVarChar(400) TRUE
SnapshotStepLaw Comments NVarChar(400) TRUE
SnapshotStepLaw Law_IsDocumentPresent BitNOTNULL FALSE
SnapshotStepPersonInC
harge
Registry_Id IntNOTNULL FALSE
SnapshotStepPersonInC
harge
Objective_Id IntNOTNULL FALSE
SnapshotStepPersonInC
harge
Block_Id IntNOTNULL FALSE
SnapshotStepPersonInC
harge
Step_Id IntNOTNULL FALSE
SnapshotStepPersonInC
harge
Id IntNOTNULL FALSE
SnapshotStepPersonInC
harge
Lang VarChar(2)NOTNULL FALSE
SnapshotStepPersonInC
harge
Name NVarChar(100)NOT
NULL
FALSE
7/28/2019 eRegulations Technical Specifications
38/60
UNCTAD-eRegulationsteam Page38
SnapshotStepPersonInC
harge
Profession NVarChar(300) TRUE
SnapshotStepPersonInC
harge
Phone1 NVarChar(50) TRUE
SnapshotStepPersonInC
harge
Phone2 NVarChar(50) TRUE
SnapshotStepPersonInC
harge
Email1 NVarChar(100) TRUE
SnapshotStepPersonInC
harge
Email2 NVarChar(100) TRUE
SnapshotStepPersonInC
harge
Image NVarChar(255) TRUE
SnapshotStepRequireme
nt
Registry_Id IntNOTNULL FALSE
SnapshotStepRequireme
nt
Objective_Id IntNOTNULL FALSE
SnapshotStepRequirement
Block_Id IntNOTNULL FALSE
SnapshotStepRequireme
nt
Step_Id IntNOTNULL FALSE
SnapshotStepRequireme
nt
[Order] IntNOTNULL FALSE
SnapshotStepRequireme
nt
Id IntNOTNULL FALSE
SnapshotStepRequireme
nt
Lang VarChar(2)NOTNULL FALSE
SnapshotStepRequireme
nt
AggregateOperator NVarChar(2)NOT
NULL
FALSE
SnapshotStepRequireme
nt
Type IntNOTNULL FALSE
SnapshotStepRequireme
nt
GenericRequirement_Id Int TRUE
SnapshotStepRequireme
nt
GenericRequirement_Name NVarChar(100) TRUE
SnapshotStepRequireme
nt
GenericRequirement_Description NText TRUE
SnapshotStepRequireme
nt
GenericRequirement_Type NVarChar(50) TRUE
SnapshotStepRequirement StepResult_Id Int TRUE
SnapshotStepRequireme
nt
StepResult_Step_Id Int TRUE
SnapshotStepRequireme
nt
NbOriginal IntNOTNULL FALSE
SnapshotStepRequireme
nt
NbCopy IntNOTNULL FALSE
SnapshotStepRequireme
nt
NbAuthenticated IntNOTNULL FALSE
SnapshotStepRequireme
nt
Comments NText TRUE
SnapshotStepRequireme FilterGlobalOption Int TRUE
7/28/2019 eRegulations Technical Specifications
39/60
UNCTAD-eRegulationsteam Page39
nt
SnapshotStepRequireme
nt
Law_Id Int TRUE
SnapshotStepRequireme
nt
Law_Name NVarChar(300) TRUE
SnapshotStepRequirement
Law_Description NVarChar(400) TRUE
SnapshotStepRequireme
nt
Articles NVarChar(400) TRUE
SnapshotStepRequireme
nt
GenericRequirement_IsDocumentPres
ent
Bit TRUE
SnapshotStepResult Registry_Id IntNOTNULL FALSE
SnapshotStepResult Objective_Id IntNOTNULL FALSE
SnapshotStepResult Block_Id IntNOTNULL FALSE
SnapshotStepResult Step_Id IntNOTNULL FALSE
SnapshotStepResult [Order] IntNOTNULL FALSE
SnapshotStepResult Id IntNOTNULL FALSE
SnapshotStepResult Lang VarChar(2)NOTNULL FALSE
SnapshotStepResult Name NVarChar(100)NOT
NULL
FALSE
SnapshotStepResult NbOriginal IntNOTNULL FALSE
SnapshotStepResult NbCopy IntNOTNULL FALSE
SnapshotStepResult NbAuthenticated IntNOTNULL FALSE
SnapshotStepResult Type NVarChar(50)NOT
NULL
FALSE
SnapshotStepResult Law_Id Int TRUE
SnapshotStepResult Law_Name NVarChar(300) TRUE
SnapshotStepResult Law_Description NVarChar(400) TRUE
SnapshotStepResult Articles NVarChar(400) TRUE
SnapshotStepResult IsDocumentPresent BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
Registry_Id IntNOTNULL FALSE
SnapshotStepSectionVisi
bility
Objective_Id IntNOTNULL FALSE
SnapshotStepSectionVisi
bility
Block_Id IntNOTNULL FALSE
SnapshotStepSectionVisi
bility
Step_Id IntNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsExpectedResultsVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsEntityInChargeVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsUnitInChargeVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsPersonInChargeVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsRequirementsVisible BitNOTNULL FALSE
SnapshotStepSectionVisibility
IsCostsVisible BitNOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
40/60
UNCTAD-eRegulationsteam Page40
SnapshotStepSectionVisi
bility
IsCostsCommentsVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsTimeframeVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsTimeframeWaintingTimeInLineVisibl
e
BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsTimeframeTimeSpentAtTheCounter
Visible
BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsTimeframeWaitingTimeUntilNextSte
pVisible
BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsTimeframeCommentsVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsLegalJustificationVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsLegalJustificationCommentsVisible BitNOTNULL FALSE
SnapshotStepSectionVisibility
IsAdditionalInfoVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsRecoursesVisible BitNOTNULL FALSE
SnapshotStepSectionVisi
bility
IsCertificationVisible BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
Registry_Id IntNOTNULL FALSE
SnapshotStepUnitInChar
ge
Objective_Id IntNOTNULL FALSE
SnapshotStepUnitInChar
ge
Block_Id IntNOTNULL FALSE
SnapshotStepUnitInChar
ge
Step_Id IntNOTNULL FALSE
SnapshotStepUnitInChar
ge
Id IntNOTNULL FALSE
SnapshotStepUnitInChar
ge
Lang VarChar(2)NOTNULL FALSE
SnapshotStepUnitInChar
ge
Name NVarChar(100)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
Image NVarChar(255) TRUE
SnapshotStepUnitInCharge ScheduleIsInherited BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay1MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay1MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay1EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay1EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay1IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar ScheduleDay1IsNotAvailable BitNOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
41/60
UNCTAD-eRegulationsteam Page41
ge
SnapshotStepUnitInChar
ge
ScheduleDay2MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay2MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInCharge
ScheduleDay2EveningStart NVarChar(5)NOTNULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay2EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay2IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay2IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay3IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay4MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInCharge
ScheduleDay4MorningEnd NVarChar(5)NOTNULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay4EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay4EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay4IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay4IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay5IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInCharge ScheduleDay6MorningStart NVarChar(5)NOTNULL FALSE
7/28/2019 eRegulations Technical Specifications
42/60
UNCTAD-eRegulationsteam Page42
SnapshotStepUnitInChar
ge
ScheduleDay6MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay6EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay6EveningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay6IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay6IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay7MorningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay7MorningEnd NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay7EveningStart NVarChar(5)NOT
NULL
FALSE
SnapshotStepUnitInCharge
ScheduleDay7EveningEnd NVarChar(5)NOTNULL
FALSE
SnapshotStepUnitInChar
ge
ScheduleDay7IsClosed BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleDay7IsNotAvailable BitNOTNULL FALSE
SnapshotStepUnitInChar
ge
ScheduleComments NVarChar(500) TRUE
SnapshotObjective Registry_Id IntNOTNULL FALSE
SnapshotObjective Id IntNOTNULL FALSE
SnapshotObjective Lang VarChar(2)NOTNULL FALSE
SnapshotObjective Name NVarChar(100)NOTNULL
FALSE
SnapshotObjective AdditionalInfo NVarChar(1000) TRUE
SnapshotObject_Media Registry_Id IntNOTNULL FALSE
SnapshotObject_Media Objective_Id IntNOTNULL FALSE
SnapshotObject_Media Block_Id IntNOTNULL FALSE
SnapshotObject_Media Step_Id IntNOTNULL FALSE
SnapshotObject_Media Lang VarChar(2)NOTNULL FALSE
SnapshotObject_Media Object_Id IntNOTNULL FALSE
SnapshotObject_Media Type VarChar(100)NOT
NULL
FALSE
SnapshotObject_Media [Order] IntNOTNULL FALSE