Scheme Changes:

Replaced Access_Controls with APEX_AUTHORISATION
Created POSTCODES, ERROR_LOGS and SYSTEM_CONFIGURATION.
Added missing columns to ENQUIRIES, REGULATORS, etc.
Added views V_PROFILE_RT_CODE_FOR_ENRO.vw, V_PARTY_RELATIONSHIPS.vw, V_LATEST_RT_CODE_FOR_ENRO.vw.

Modules:

Added cout_err.pck, cout_system_configuration.pck.

Data:

Added Data/Demo files
Added Data/Seed files for postcodes, regions and DatabaseItemToFunctionalSpecificationReference.csv

Documentation:

Added Documentation/pldoc for plsqldoc-generated files.
Added Documentation/SupportingDocumentation/Regions to hold region definition information.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@2890 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2007-11-27 11:48:13 +00:00
parent 2a490afbbc
commit 2920f4d016
49 changed files with 18360 additions and 97 deletions

View File

@@ -1,12 +1,11 @@
DECLARE
l_hash dbms_obfuscation_toolkit.varchar2_checksum;
l_hash varchar2(240);
BEGIN
FOR l_pwd IN (SELECT id
,upper(username) || '/' || upper(username) AS str
FOR l_pwd IN (SELECT id, username
FROM parties
WHERE username IS NOT NULL) LOOP
l_hash := dbms_obfuscation_toolkit.md5(input_string => l_pwd.str);
l_hash := mip_security.get_hash(p_username=>l_pwd.username, p_password=>'password');
INSERT INTO passwords
(prty_id

View File

@@ -0,0 +1,73 @@
COLUMN_NAME ,Appendix Reference,INSTALL,STD INSTALL,OFMAT,EXCHANGE,STD EXCHANGE,REMOVE,STD REMOVE,ADVERSARIAL,ALTERATION,CAPACITY CHANGE,"ADDONS(EMS,AMR)",OTHER
INSTALL_BUILDING,Address.Building,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1
INSTALL_CITY,Address.City,M,M,M,M,M,M,M,M,M,M,M,M
FIRST_CONTACT_NAME,Address.Contact Name,M,M,M,M,M,M,M,M,M,M,M,M
INSTALL_POSTCODE,Address.Post Code,M,M,M,M,M,M,M,M,M,M,M,M
INSTALL_STREET,Address.Street,M,M,M,M,M,M,M,M,M,M,M,M
INSTALL_SUB_BUILDING,Address.Sub Building,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1
FIRST_ALT_BUILDING,Contact Address.Building,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_ALT_CITY,Contact Address.City,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_CONTACT_EMAIL,Contact Address.Email,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_CONTACT_EMAIL,Contact Address.Email,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_CONTACT_FAX,Contact Address.Fax,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_CONTACT_FAX,Contact Address.Fax,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_ALT_POSTCODE,Contact Address.Post Code,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_CONTACT_NAME,Contact Address.Second Contact Name,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_ALT_STREET,Contact Address.Street,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_ALT_SUB_BUILDING,Contact Address.Sub Building,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_CONTACT_TELEPHONE_1,Contact Address.Telephone1,M,M,M,M,M,M,M,M,M,M,M,M
SECOND_CONTACT_TELEPHONE_1,Contact Address.Telephone1,O,O,O,O,O,O,O,O,O,O,O,O
FIRST_CONTACT_TELEPHONE_2,Contact Address.Telephone2,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_CONTACT_TELEPHONE_2,Contact Address.Telephone2,O,O,O,O,O,O,O,O,O,O,O,O
AMR_REQUIRED,Job Information.Additional Services.AMR,M,M,M,M,M,M,M,M,M,M,M,M
BASE_REQUIRED,Job Information.Additional Services.Base,M,M,M,M,M,M,M,M,M,M,M,M
BYPASS_REQUIRED,Job Information.Additional Services.By-pass,M,M,M,M,M,M,M,M,M,M,M,M
CONVERTOR_REQUIRED,Job Information.Additional Services.Convertor,M,M,M,M,M,M,M,M,M,M,M,M
EMS_REQUIRED,Job Information.Additional Services.EMS,M,M,M,M,M,M,M,M,M,M,M,M
HOUSING_REQUIRED,Job Information.Additional Services.Housing,M,M,M,M,M,M,M,M,M,M,M,M
LOGGER_REQUIRED,Job Information.Additional Services.Logger,M,M,M,M,M,M,M,M,M,M,M,M
TWIN_STREAM_REQUIRED,Job Information.Additional Services.Twin Stream,O,O,O,O,O,O,O,O,O,O,O,O
ANNUAL_QUANTITY,Job Information.Annual Quantity,M,M,M,M,M,M,M,M,M,M,M,M
INDICATIVE_TIME,Job Information.Appointment Preference,O,O,O,O,O,O,O,O,O,O,O,O
DOWNSTREAM_BOOSTER_OR_COMPRESS,Job Information.Booster/Compressor,M,O,M,M,O,M,O,M,M,M,M,M
EXISTING_METER_SERIAL_NO,Job Information.Existing Asset Serial Number,NA,NA,M,M,M,M,M,O,M,O,M,O
EXISTING_MESC_CODE,Job Information.Existing Meter Size,NA,NA,M,M,M,M,M,M,M,M,O,O
METY_CODE,Job Information.Meter Type Existing ,NA,NA,M,M,M,M,M,M,M,M,O,O
EXISTING_SVCP_CODE,Job Information.Existing Pressure Category,NA,NA,M,M,M,M,M,M,M,M,O,O
EXISTING_METER_OWNER,Job Information.Gas Act Owner,O,O,O,M,M,M,M,O,O,O,O,O
INDICATIVE_DATE,Job Information.Indicative Substantial Completion Date,O,O,O,O,O,O,O,O,O,O,O,O
REQUIRED_IP_DETAILS,Job Information.IP Details,M3,NA,O3,O3,NA,O3,NA,O3,M3,M3,O3,O3
REQUIRED_IP_MBAR,Job Information.IP Mbar,O3,NA,O3,O3,NA,O3,NA,O3,O3,O3,O3,O3
JOB_DESCRIPTION,Job Information.Job Description,O,O,O,O,O,O,O,O,O,O,O,O
ENTY_CODE,Job Information.Job Type,M,M,M,M,M,M,M,M,M,M,M,M
LOAD_CONTROL_TYPE,Job Information.Load Control Type,M,M,O,M,M,O,O,O,O,O,O,O
MARKET_SECTOR_CODE,Job Information.Market Sector Code,O,O,O,O,O,O,O,O,O,O,O,O
QMAX,Job Information.Measuring Capacity Qmax,M,M2,M,M,M,M,M,M,M,M,M,M
QMIN,Job Information.Measuring Capacity Qmin,O,O,O,O,O,O,O,O,O,O,O,O
REQUIRED_MESC_CODE,Job Information.Meter Size,NA,OM2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA
EXISTING_METER_MODEL,Job Information.Model Code,NA,NA,O,O,O,O,O,O,O,O,O,O
OTHER_INFORMATION,Job Information.Other Information,O,O,O,O,O,O,O,O,O,O,O,O
OTHER_PROJECT_REFERENCE,Job Information.Other Related Projects,O,O,O,O,O,O,O,O,O,O,O,O
REQUIRED_METERING_PRESSURE,Job Information.Required Meter Pressure,M,M,M,M,M,M,M,M,M,M,M,M
REQUIRED_SVCP_CODE,Job Information.Service Pressure,M3,M,O3,O3,M,O3,M,O3,M3,M3,O3,O3
EXISTING_METER_ASSET_PROVIDER,Job Information.Supplier / Job Information.Consumer,O,O,O,M,M,M,M,O,M,O,O,O
TRANSACTION_REFERENCE,Job Site Details.Transaction Reference,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_ALT_BUILDING,Second Contact Address.Building,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_ALT_CITY,Second Contact Address.City,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_ALT_POSTCODE,Second Contact Address.Post Code,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_ALT_STREET,Second Contact Address.Street,O,O,O,O,O,O,O,O,O,O,O,O
SECOND_ALT_SUB_BUILDING,Second Contact Address.Sub Building,O,O,O,O,O,O,O,O,O,O,O,O
ACCESS_ADDITIONAL,Site Detail.Access Instructions,O,O,O,O,O,O,O,O,O,O,O,O
ACCESS_PASSWORD,Site Detail.Access Password,O,O,O,O,O,O,O,O,O,O,O,O
MPRN_ALT,Site Detail.Additional Information,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4
ALTY_CODE,Site Detail.Asset Location Code,M,M,M,M,M,M,M,M,M,M,M,M
ASSET_LOCATION_NOTES,Site Detail.Asset Location Notes,O,O,O,O,O,O,O,O,O,O,O,O
CACA_CODE,Site Detail.Care Category,O,O,O,O,O,O,O,O,O,O,O,O
MPRN,Site Detail.MPRN,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4,M4
AGENT_COMT_CODE,Supplier Agent.Telephone1/Telephone2/Fax/Email,M,M,M,M,M,M,M,M,M,M,M,M
AGENT_CONTACT_VALUE,Supplier Agent.Telephone1/Telephone2/Fax/Email,M,M,M,M,M,M,M,M,M,M,M,M
ID,Enquiry Reference (not in spec appendix),M,M,M,M,M,M,M,M,M,M,M,M
CREATED_BY,,,,,,,,,,,,,
CREATED_ON,,,,,,,,,,,,,
UPDATED_BY,,,,,,,,,,,,,
UPDATED_ON,,,,,,,,,,,,,
1 COLUMN_NAME Appendix Reference INSTALL STD INSTALL OFMAT EXCHANGE STD EXCHANGE REMOVE STD REMOVE ADVERSARIAL ALTERATION CAPACITY CHANGE ADDONS(EMS,AMR) OTHER
2 INSTALL_BUILDING Address.Building M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M1
3 INSTALL_CITY Address.City M M M M M M M M M M M M
4 FIRST_CONTACT_NAME Address.Contact Name M M M M M M M M M M M M
5 INSTALL_POSTCODE Address.Post Code M M M M M M M M M M M M
6 INSTALL_STREET Address.Street M M M M M M M M M M M M
7 INSTALL_SUB_BUILDING Address.Sub Building M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M1 M1
8 FIRST_ALT_BUILDING Contact Address.Building O O O O O O O O O O O O
9 FIRST_ALT_CITY Contact Address.City O O O O O O O O O O O O
10 FIRST_CONTACT_EMAIL Contact Address.Email O O O O O O O O O O O O
11 SECOND_CONTACT_EMAIL Contact Address.Email O O O O O O O O O O O O
12 FIRST_CONTACT_FAX Contact Address.Fax O O O O O O O O O O O O
13 SECOND_CONTACT_FAX Contact Address.Fax O O O O O O O O O O O O
14 FIRST_ALT_POSTCODE Contact Address.Post Code O O O O O O O O O O O O
15 SECOND_CONTACT_NAME Contact Address.Second Contact Name O O O O O O O O O O O O
16 FIRST_ALT_STREET Contact Address.Street O O O O O O O O O O O O
17 FIRST_ALT_SUB_BUILDING Contact Address.Sub Building O O O O O O O O O O O O
18 FIRST_CONTACT_TELEPHONE_1 Contact Address.Telephone1 M M M M M M M M M M M M
19 SECOND_CONTACT_TELEPHONE_1 Contact Address.Telephone1 O O O O O O O O O O O O
20 FIRST_CONTACT_TELEPHONE_2 Contact Address.Telephone2 O O O O O O O O O O O O
21 SECOND_CONTACT_TELEPHONE_2 Contact Address.Telephone2 O O O O O O O O O O O O
22 AMR_REQUIRED Job Information.Additional Services.AMR M M M M M M M M M M M M
23 BASE_REQUIRED Job Information.Additional Services.Base M M M M M M M M M M M M
24 BYPASS_REQUIRED Job Information.Additional Services.By-pass M M M M M M M M M M M M
25 CONVERTOR_REQUIRED Job Information.Additional Services.Convertor M M M M M M M M M M M M
26 EMS_REQUIRED Job Information.Additional Services.EMS M M M M M M M M M M M M
27 HOUSING_REQUIRED Job Information.Additional Services.Housing M M M M M M M M M M M M
28 LOGGER_REQUIRED Job Information.Additional Services.Logger M M M M M M M M M M M M
29 TWIN_STREAM_REQUIRED Job Information.Additional Services.Twin Stream O O O O O O O O O O O O
30 ANNUAL_QUANTITY Job Information.Annual Quantity M M M M M M M M M M M M
31 INDICATIVE_TIME Job Information.Appointment Preference O O O O O O O O O O O O
32 DOWNSTREAM_BOOSTER_OR_COMPRESS Job Information.Booster/Compressor M O M M O M O M M M M M
33 EXISTING_METER_SERIAL_NO Job Information.Existing Asset Serial Number NA NA M M M M M O M O M O
34 EXISTING_MESC_CODE Job Information.Existing Meter Size NA NA M M M M M M M M O O
35 METY_CODE Job Information.Meter Type Existing NA NA M M M M M M M M O O
36 EXISTING_SVCP_CODE Job Information.Existing Pressure Category NA NA M M M M M M M M O O
37 EXISTING_METER_OWNER Job Information.Gas Act Owner O O O M M M M O O O O O
38 INDICATIVE_DATE Job Information.Indicative Substantial Completion Date O O O O O O O O O O O O
39 REQUIRED_IP_DETAILS Job Information.IP Details M3 NA O3 O3 NA O3 NA O3 M3 M3 O3 O3
40 REQUIRED_IP_MBAR Job Information.IP Mbar O3 NA O3 O3 NA O3 NA O3 O3 O3 O3 O3
41 JOB_DESCRIPTION Job Information.Job Description O O O O O O O O O O O O
42 ENTY_CODE Job Information.Job Type M M M M M M M M M M M M
43 LOAD_CONTROL_TYPE Job Information.Load Control Type M M O M M O O O O O O O
44 MARKET_SECTOR_CODE Job Information.Market Sector Code O O O O O O O O O O O O
45 QMAX Job Information.Measuring Capacity Qmax M M2 M M M M M M M M M M
46 QMIN Job Information.Measuring Capacity Qmin O O O O O O O O O O O O
47 REQUIRED_MESC_CODE Job Information.Meter Size NA OM2 NA NA NA NA NA NA NA NA NA NA
48 EXISTING_METER_MODEL Job Information.Model Code NA NA O O O O O O O O O O
49 OTHER_INFORMATION Job Information.Other Information O O O O O O O O O O O O
50 OTHER_PROJECT_REFERENCE Job Information.Other Related Projects O O O O O O O O O O O O
51 REQUIRED_METERING_PRESSURE Job Information.Required Meter Pressure M M M M M M M M M M M M
52 REQUIRED_SVCP_CODE Job Information.Service Pressure M3 M O3 O3 M O3 M O3 M3 M3 O3 O3
53 EXISTING_METER_ASSET_PROVIDER Job Information.Supplier / Job Information.Consumer O O O M M M M O M O O O
54 TRANSACTION_REFERENCE Job Site Details.Transaction Reference O O O O O O O O O O O O
55 SECOND_ALT_BUILDING Second Contact Address.Building O O O O O O O O O O O O
56 SECOND_ALT_CITY Second Contact Address.City O O O O O O O O O O O O
57 SECOND_ALT_POSTCODE Second Contact Address.Post Code O O O O O O O O O O O O
58 SECOND_ALT_STREET Second Contact Address.Street O O O O O O O O O O O O
59 SECOND_ALT_SUB_BUILDING Second Contact Address.Sub Building O O O O O O O O O O O O
60 ACCESS_ADDITIONAL Site Detail.Access Instructions O O O O O O O O O O O O
61 ACCESS_PASSWORD Site Detail.Access Password O O O O O O O O O O O O
62 MPRN_ALT Site Detail.Additional Information M4 M4 M4 M4 M4 M4 M4 M4 M4 M4 M4 M4
63 ALTY_CODE Site Detail.Asset Location Code M M M M M M M M M M M M
64 ASSET_LOCATION_NOTES Site Detail.Asset Location Notes O O O O O O O O O O O O
65 CACA_CODE Site Detail.Care Category O O O O O O O O O O O O
66 MPRN Site Detail.MPRN M4 M4 M4 M4 M4 M4 M4 M4 M4 M4 M4 M4
67 AGENT_COMT_CODE Supplier Agent.Telephone1/Telephone2/Fax/Email M M M M M M M M M M M M
68 AGENT_CONTACT_VALUE Supplier Agent.Telephone1/Telephone2/Fax/Email M M M M M M M M M M M M
69 ID Enquiry Reference (not in spec appendix) M M M M M M M M M M M M
70 CREATED_BY
71 CREATED_ON
72 UPDATED_BY
73 UPDATED_ON

View File

@@ -60,6 +60,12 @@ sqlldr %1 control=mesc
sqlldr %1 control=byre
sqlldr %1 control=dir_import
sqlldr %1 control=regi
sqlldr %1 control=poco
sqlplus %1 @enable_constraints
goto :done

25
Data/Seed/dir_import.ctl Normal file
View File

@@ -0,0 +1,25 @@
OPTIONS (SKIP=1)
LOAD DATA
INFILE DatabaseItemToFunctionalSpecificationReference.csv
INTO TABLE data_item_roles_import
REPLACE
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
field_name
,table_name CONSTANT 'ENQUIRIES'
,description
,install
,std_install
,ofmat
,exchange
,std_exchange
,remove
,std_remove
,adversarial
,alteration
,change_capacity
,addon
,other
)

View File

@@ -12,4 +12,5 @@ BEGINDATA
ENRT|ENQ CREATE|Created Enquiry
ENRT|ENQ OWN|Owner of Enquiry
ENRT|ENQ AMEND|Amend Enquiry
ENRT|ENQ AMEND|Supplier for Enquiry
ENRT|ENQ RFQ|Submit Request For Quotation

15374
Data/Seed/poco.ctl Normal file

File diff suppressed because it is too large Load Diff

19
Data/Seed/regi.ctl Normal file
View File

@@ -0,0 +1,19 @@
LOAD DATA
INFILE *
INTO TABLE regions
REPLACE
FIELDS TERMINATED BY '|'
(
code
,description
)
BEGINDATA
NETW01|SC001 - Scotland
NETW02|NTH01 - North
NETW03|STH01 - South
NETW04|WWE01 - Wales and West
NETW05|RDN01 - North London
NETW06|RDN01 - West Midlands
NETW07|RDN01 - North West
NETW08|RDN01 - East
RDN01|Retained networks

View File

@@ -0,0 +1,21 @@
@echo off
if "%1"=="" goto :usage
if "%1"=="sys" goto :usage
if "%1"=="system" goto :usage
sqlplus %1 @delete_demo_data
sqlldr %1 control=prty
sqlldr %1 control=parl
sqlldr %1 control=prel
goto :done
:usage
echo usage InstallDemoData user/password@database
:done

38
Data/Test/parl.ctl Normal file
View File

@@ -0,0 +1,38 @@
LOAD DATA
INFILE *
INTO TABLE party_roles
REPLACE
FIELDS TERMINATED BY '|'
(
prty_id
,rt_code
,id
,start_date
,end_date
,description
)
BEGINDATA
200|SUPP|2001|08-NOV-07|||
201|SUPP|2011|08-NOV-07|||
202|SUPP|2021|08-NOV-07|||
203|SUPP|2031|08-NOV-07|||
204|SUPP|2041|08-NOV-07|||
205|SUPP|2051|08-NOV-07|||
206|SUPP|2061|08-NOV-07|||
207|SUPP|2071|08-NOV-07|||
208|SUPP|2081|08-NOV-07|||
400|MIPADMIN|4001|08-NOV-07|||
400|CS|4002|08-NOV-07|||
400|ICU|4003|08-NOV-07|||
401|MIPADMIN|4011|08-NOV-07|||
401|CS|4012|08-NOV-07|||
401|ICU|4013|08-NOV-07|||
402|MIPADMIN|4021|08-NOV-07|||
403|MIPADMIN|4031|08-NOV-07|||
404|AGENT|4041|08-NOV-07|||
404|SUPPADMIN|4042|08-NOV-07|||
405|AGENT|4051|08-NOV-07|||
405|SUPPADMIN|4052|08-NOV-07|||
406|AGENT|4061|08-NOV-07|||
407|AGENT|4071|08-NOV-07|||
408|AGENT|4081|08-NOV-07|||

44
Data/Test/prel.ctl Normal file
View File

@@ -0,0 +1,44 @@
LOAD DATA
INFILE *
INTO TABLE party_relationships
REPLACE
FIELDS TERMINATED BY '|'
(
from_parl_id
,to_parl_id
,from_parl_prty_id
,to_parl_prty_id
,from_parl_rt_code
,to_parl_rt_code
,start_date
,from_prtp_rt_code
,to_prtp_rt_code
)
BEGINDATA
4041|2001|404|200|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4041|2011|404|201|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4041|2021|404|202|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4042|2001|404|200|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4042|2011|404|201|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4042|2021|404|202|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4042|2031|404|203|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4042|2041|404|204|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4042|2051|404|205|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4051|2001|405|200|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4051|2011|405|201|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4051|2021|405|202|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4052|2031|405|203|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4052|2041|405|204|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4052|2051|405|205|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4052|2061|405|206|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4052|2071|405|207|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4052|2081|405|208|SUPPADMIN|SUPP|08-NOV-07|SUPPADMIN|SUPP
4061|2031|406|203|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4061|2041|406|204|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4061|2051|406|205|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4071|2031|407|203|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4071|2041|407|204|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4071|2051|407|205|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4081|2061|408|206|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4081|2071|408|207|AGENT|SUPP|08-NOV-07|AGENT|SUPP
4081|2081|408|208|AGENT|SUPP|08-NOV-07|AGENT|SUPP

60
Data/Test/prty.ctl Normal file
View File

@@ -0,0 +1,60 @@
LOAD DATA
INFILE *
INTO TABLE parties
REPLACE
FIELDS TERMINATED BY '|'
(
manu_ref
,created_by
,shortcode
,name
,description
,created_on
,updated_on
,updated_by
,mktp_ref
,lt_7b_contract_ref
,gt_7b_contract_ref
,adversarial_contract_ref
,username
,password_hash
,status
,first_name
,last_name
,personal_title
,comments
,id
,prty_type
)
BEGINDATA
ACT|hardya||ACTARIS||08-NOV-07|||||||||||||Manufactures meters|100|MANU
DRE|hardya||DRESSER||08-NOV-07|||||||||||||Manufactures meters|101|MANU
QUI|hardya||QUINSHIELD||08-NOV-07|||||||||||||Manufactures meters|102|MANU
|hardya|NS1|Northern Supplies||08-NOV-07|||NSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to the north of the UK|200|MKTP
|hardya|NS2|Extreme Northern Supplies||08-NOV-07|||ENSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to the extreme north of the UK|201|MKTP
|hardya|WS1|Welsh Supplies||08-NOV-07|||WSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to Wales|202|MKTP
|hardya|WS2|Welsh Supplies||08-NOV-07|||W2SUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to Wales|203|MKTP
|hardya|CE1|Central Gas Supplies||08-NOV-07|||CGSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to the Central region|204|MKTP
|hardya|CE2|Centre de Gas Supplies||08-NOV-07|||CDSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to the Central region|205|MKTP
|hardya|LON|London Supplies||08-NOV-07|||LONSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to London|206|MKTP
|hardya|KER|Kernow Supplies||08-NOV-07|||KERSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to Cornwall|207|MKTP
|hardya|BM|Bootiful Gas Supplies||08-NOV-07|||BGSUPP|LT7 Contract|GT7 Contract|Adversarial Contract|||||||Supplier of gas to the East|208|MKTP
|hardya||National Grid||08-NOV-07|||||||||||||Internal organization|300|IO
|hardya||National Grid Metering||08-NOV-07|||||||||||||Internal organization|301|IO
|hardya||Customer Services||08-NOV-07|||||||||||||Internal organization|302|IO
|hardya||Quotations||08-NOV-07|||||||||||||Internal organization|303|IO
|hardya||||08-NOV-07|||||||hardya|password|OPEN|Andrew|Hardy|Mr|User|400|PERS
|hardya||||08-NOV-07|||||||priestj|password|OPEN|Jamie|Priest|Mr|User|401|PERS
|hardya||||08-NOV-07|||||||kanagasabapathy|password|OPEN|Dharshani|Kanagasabapathy||User|402|PERS
|hardya||||08-NOV-07|||||||mullend|password|OPEN|Matt|Mullen||User|403|PERS
|hardya||||08-NOV-07|||||||agent1|password|OPEN|Fred|Smith||User|404|PERS
|hardya||||08-NOV-07|||||||agent2|password|OPEN|Joe|Bloggs||User|405|PERS
|hardya||||08-NOV-07|||||||agent3|password|OPEN|Peter|Piper||User|406|PERS
|hardya||||08-NOV-07|||||||agent4|password|OPEN|Nigel|Normal||User|407|PERS
|hardya||||08-NOV-07|||||||agent5|password|OPEN|Norah|Batty||User|408|PERS
|hardya||||08-NOV-07|||||||cs1|password|OPEN|Henrietta|Helpful||User|409|PERS
|hardya||||08-NOV-07|||||||cs2|password|OPEN|Tommy|Atkins||User|410|PERS
|hardya||||08-NOV-07|||||||cs3|password|OPEN|Tracy|Beaker||User|411|PERS
|hardya||||08-NOV-07|||||||ic1|password|OPEN|Gareth|Thomas||User|412|PERS
|hardya||||08-NOV-07|||||||ic2|password|OPEN|Bhavesh|Singh||User|413|PERS
|hardya||||08-NOV-07|||||||ic3|password|OPEN|Dave|Smith||User|414|PERS

View File

@@ -0,0 +1,153 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>View V_LATEST_RT_CODE_FOR_ENRO</TITLE>
<META name="object" content="VIEW">
<META name="name" content="V_LATEST_RT_CODE_FOR_ENRO">
<META name="description" content="">
<META name="columns" content="PRTY_ID RT_CODE START_DATE END_DATE ENQU_ID">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">View V_LATEST_RT_CODE_FOR_ENRO</P>
</TD></TR></TABLE>
<HR>
<A NAME="Columns"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Columns
</TD></TR></TABLE>
<TABLE CLASS="SIMPLE_TABLE">
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Name
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Type
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Optional
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Default
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Comments
</U>
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
PRTY_ID
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
RT_CODE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
VARCHAR2(80)
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
START_DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
END_DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
ENQU_ID
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
</TABLE>
<HR>
<A NAME="SQL"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
SQL
</TD></TR></TABLE><PRE CLASS="DECL_TEXT">
CREATE OR REPLACE VIEW V_LATEST_RT_CODE_FOR_ENRO AS
SELECT prty_id
,rt_code
,start_date
,end_date
,enqu_id
FROM (SELECT enro.*
,MAX(start_date) over(PARTITION BY rt_code, enqu_id) AS max_date_rt_code
FROM enquiry_roles enro)
WHERE start_date = max_date_rt_code;
</PRE>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,227 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>View V_PARTY_RELATIONSHIPS</TITLE>
<META name="object" content="VIEW">
<META name="name" content="V_PARTY_RELATIONSHIPS">
<META name="description" content="">
<META name="columns" content="FROM_PARL_PRTY_ID FROM_RT_CODE TO_PARL_PRTY_ID TO_RT_CODE DESCRIPTION EFFECTIVE_START EFFECTIVE_END">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">View V_PARTY_RELATIONSHIPS</P>
</TD></TR></TABLE>
<HR>
<A NAME="Columns"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Columns
</TD></TR></TABLE>
<TABLE CLASS="SIMPLE_TABLE">
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Name
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Type
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Optional
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Default
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Comments
</U>
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
FROM_PARL_PRTY_ID
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
FROM_RT_CODE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
VARCHAR2(80)
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
TO_PARL_PRTY_ID
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
TO_RT_CODE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
VARCHAR2(80)
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
DESCRIPTION
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
VARCHAR2(80)
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
EFFECTIVE_START
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
EFFECTIVE_END
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
</TABLE>
<HR>
<A NAME="SQL"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
SQL
</TD></TR></TABLE><PRE CLASS="DECL_TEXT">
CREATE OR REPLACE VIEW V_PARTY_RELATIONSHIPS AS
SELECT from_parl.prty_id AS from_parl_prty_id
,prtp.from_rt_code
,to_parl.prty_id AS to_parl_prty_id
,prtp.to_rt_code
,prtp.description
,greatest(from_parl.start_date
,prel.start_date
,to_parl.start_date) AS effective_start
,least(nvl(from_parl.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))
,nvl(to_parl.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))
,nvl(prel.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))) AS effective_end
FROM (SELECT prty.first_name
,prty.last_name
,prty.username
,parl.prty_id
,parl.rt_code
,parl.id
,parl.start_date
,parl.end_date
FROM parties prty
,party_roles parl
WHERE parl.prty_id = prty.id) from_parl
,(SELECT prty.first_name
,prty.last_name
,prty.username
,parl.prty_id
,parl.rt_code
,parl.id
,parl.start_date
,parl.end_date
FROM parties prty
,party_roles parl
WHERE parl.prty_id = prty.id) to_parl
,party_relationship_types prtp
,party_relationships prel
WHERE prel.from_parl_id = from_parl.id
AND prel.from_parl_prty_id = from_parl.prty_id
AND prel.from_parl_rt_code = from_parl.rt_code
AND prel.to_parl_id = to_parl.id
AND prel.to_parl_prty_id = to_parl.prty_id
AND prel.to_parl_rt_code = to_parl.rt_code
AND prtp.from_rt_code = prel.from_parl_rt_code
AND prtp.to_rt_code = prel.to_parl_rt_code;
</PRE>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,175 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>View V_PROFILE_RT_CODE_FOR_ENRO</TITLE>
<META name="object" content="VIEW">
<META name="name" content="V_PROFILE_RT_CODE_FOR_ENRO">
<META name="description" content="">
<META name="columns" content="PRTY_ID RT_CODE START_DATE END_DATE NEXT_START_DATE ENQU_ID">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">View V_PROFILE_RT_CODE_FOR_ENRO</P>
</TD></TR></TABLE>
<HR>
<A NAME="Columns"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Columns
</TD></TR></TABLE>
<TABLE CLASS="SIMPLE_TABLE">
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Name
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Type
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Optional
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Default
</U>
</TD>
<TD VALIGN="TOP" CLASS="LIST_ITEM"><U>
Comments
</U>
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">PRTY_ID</A>
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">RT_CODE</A>
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
VARCHAR2(80)
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">START_DATE</A>
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">END_DATE</A>
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
NEXT_START_DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
DATE
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
<TR>
<TD VALIGN="TOP" CLASS="LIST_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">ENQU_ID</A>
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
NUMBER
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
Y
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
<TD VALIGN="TOP" CLASS="DESC_TEXT">
&nbsp;
</TD>
</TR>
</TABLE>
<HR>
<A NAME="SQL"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
SQL
</TD></TR></TABLE><PRE CLASS="DECL_TEXT">
CREATE OR REPLACE VIEW V_PROFILE_RT_CODE_FOR_ENRO AS
SELECT <A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">prty_id</A>
,<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">rt_code</A>
,<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">start_date</A>
,<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">end_date</A>
,next_start_date
,<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">enqu_id</A>
FROM (SELECT enro.prty_id
,enro.rt_code
,enro.start_date
,enro.end_date
,<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">enqu_id</A>
,lead(<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">start_date</A>
,1) over(PARTITION BY <A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">rt_code</A>, <A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">enqu_id</A> ORDER BY <A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">start_date</A>) AS next_start_date
FROM enquiry_roles enro);
</PRE>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,12 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<link REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<title>PL/SQL Doc - Index</title>
</HEAD>
<!-- frames -->
<FRAMESET COLS="250px,*" BORDER=1 FRAMEBORDER=2 FRAMESPACING=0>
<FRAME NAME="index" SRC="frame_index.html" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="auto" FRAMEBORDER="0">
<FRAME NAME="body" SRC="frame_home.html" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="auto" FRAMEBORDER="0">
</FRAMESET>
</HTML>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<title>PL/SQL Doc - Index</title>
</head>
<body>
</body>
</html>

View File

@@ -0,0 +1,47 @@
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE" nowrap>&nbsp;Packages</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="mip_regions.html" TITLE="">mip_regions</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="mip_security.html" TITLE="Handle authentication and authorization processes for the MIP project">mip_security</A>
</TD></TR>
</TABLE>
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE" nowrap>&nbsp;Package bodies</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="mip_regions.body.html" TITLE="">mip_regions</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="mip_security.body.html" TITLE="">mip_security</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="mip_table_constraints.body.html" TITLE="Used for a function-based unique index on enquiries.rt_code">mip_table_constraints</A>
</TD></TR>
</TABLE>
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE" nowrap>&nbsp;Views</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html" TITLE="">V_LATEST_RT_CODE_FOR_ENRO</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="V_PARTY_RELATIONSHIPS.html" TITLE="">V_PARTY_RELATIONSHIPS</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM" nowrap>
&nbsp;&nbsp;&nbsp;<A HREF="V_PROFILE_RT_CODE_FOR_ENRO.html" TITLE="">V_PROFILE_RT_CODE_FOR_ENRO</A>
</TD></TR>
</TABLE>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<title>PL/SQL Doc - Index</title>
</head>
<body>
<!--You can create your own header here-->
<!--plsqldoc_start-->
<HR>
<A NAME="PACKAGES"></A>
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE">Packages</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="mip_regions.html">mip_regions</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="mip_security.html">mip_security</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>Handle authentication and authorization processes for the MIP project</TD></TR>
</TABLE>
<HR>
<A NAME="PACKAGE_BODIES"></A>
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE">Package bodies</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="mip_regions.body.html">mip_regions</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="mip_security.body.html">mip_security</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="mip_table_constraints.body.html">mip_table_constraints</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>Used for a function-based unique index on enquiries.rt_code</TD></TR>
</TABLE>
<HR>
<A NAME="VIEWS"></A>
<TABLE CLASS="SUB_TABLE"><TR>
<TD CLASS="SUB_TITLE">Views</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="V_LATEST_RT_CODE_FOR_ENRO.html">V_LATEST_RT_CODE_FOR_ENRO</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="V_PARTY_RELATIONSHIPS.html">V_PARTY_RELATIONSHIPS</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="V_PROFILE_RT_CODE_FOR_ENRO.html">V_PROFILE_RT_CODE_FOR_ENRO</A>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%></TD></TR>
</TABLE>
<!--plsqldoc_end-->
<p>&nbsp;</p>
<p>&nbsp;</p>
</table>
</body>
</html>

View File

@@ -0,0 +1,214 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>Package body mip_regions</TITLE>
<META name="object" content="PACKAGE BODY">
<META name="name" content="mip_regions">
<META name="description" content="">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">Package body mip_regions</P>
<BR>
</TD></TR></TABLE>
<HR>
<A NAME="Program units"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Program units
</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#reformat_postcode_string">reformat_postcode_string</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Attempts to determine whether general the format the given string to match a standard postcode format
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_postcode_format">valid_postcode_format</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Attempts to validate that the format of the given string matches a standard postcode format
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#get_region_for_postcode">get_region_for_postcode</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Find the region with which the given postcode is associated
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="reformat_postcode_string"></A>
<P CLASS="TYPE_TITLE">
reformat_postcode_string
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION reformat_postcode_string(p_string IN VARCHAR2) RETURN VARCHAR2
</PRE>
<P CLASS="DESC_TEXT">
Attempts to determine whether general the format the given string to match a standard postcode format<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_string&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the string whose format is to be checked<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
a known postcode format or NULL if the string did not match a known postcode format<br>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
ANbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. M1 1AA<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
ANNbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. M60 1NW<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
AANbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. CR2 6XH<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
AANNbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. DN55 1PT<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
ANAbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. W1A 1HP<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
AANAbNAA&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
e.g. EC1A 1BB<br>
</TD></TR>
</TABLE>
<BR>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="valid_postcode_format"></A>
<P CLASS="TYPE_TITLE">
valid_postcode_format
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION valid_postcode_format(p_postcode IN VARCHAR2) RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Attempts to validate that the format of the given string matches a standard postcode format<br>
&nbsp;<br>
This includes the general format of the string, plus any restrictions on character values within the overall format.<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_string&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the string whose format is to be checked<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given string matches a known postcode format<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="get_region_for_postcode"></A>
<P CLASS="TYPE_TITLE">
get_region_for_postcode
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION get_region_for_postcode(p_postcode IN VARCHAR2)
RETURN postcodes.regi_code%TYPE
</PRE>
<P CLASS="DESC_TEXT">
Find the region with which the given postcode is associated<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_postcode&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
correctly formatted postcode<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
region code<br>
</TD></TR>
</TABLE>
<BR>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>Package mip_regions</TITLE>
<META name="object" content="PACKAGE">
<META name="name" content="mip_regions">
<META name="description" content="">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">Package mip_regions</P>
<BR>
</TD></TR></TABLE>
<HR>
<A NAME="Program units"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Program units
</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_postcode_format">valid_postcode_format</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Attempts to validate that the format of the given string matches a standard postcode format
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="valid_postcode_format"></A>
<P CLASS="TYPE_TITLE">
valid_postcode_format
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION valid_postcode_format(p_postcode IN VARCHAR2) RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Attempts to validate that the format of the given string matches a standard postcode format<br>
&nbsp;<br>
This includes the general format of the string, plus any restrictions on character values within the overall format.<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_string&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the string whose format is to be checked<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given string matches a known postcode format<br>
</TD></TR>
</TABLE>
<BR>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,539 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>Package body mip_security</TITLE>
<META name="object" content="PACKAGE BODY">
<META name="name" content="mip_security">
<META name="description" content="">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">Package body mip_security</P>
<BR>
</TD></TR></TABLE>
<HR>
<A NAME="Program units"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Program units
</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#get_user_status">get_user_status</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#login">login</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Logs the user into the system and registers with APEX.
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#get_hash">get_hash</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Produce a 'password hash' from the given username and password
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#authenticate_user">authenticate_user</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authenticates the given username and password
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_user2">valid_user2</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authenticates the given p_username and p_password
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_user">valid_user</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authenticates the given username and password
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#authorization">authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Checks for authorization to access the given component
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#page_authorization">page_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Checks for <A HREF=#authorization>authorization</A> to access the given page
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#component_authorization">component_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Checks for <A HREF=#authorization>authorization</A> to access the given component
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#region_authorization">region_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Checks for <A HREF=#authorization>authorization</A> to access the given page
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#user_screen">user_screen</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#admin_screen">admin_screen</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#new_password">new_password</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#redirect_on_expired_account">redirect_on_expired_account</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="get_user_status"></A>
<P CLASS="TYPE_TITLE">
get_user_status
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION get_user_status(p_username IN VARCHAR2) RETURN VARCHAR2
</PRE>
<HR>
<A NAME="login"></A>
<P CLASS="TYPE_TITLE">
login
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE login(p_uname IN VARCHAR2
,p_password IN VARCHAR2
,p_session_id IN VARCHAR2
,p_flow_page IN VARCHAR2)
</PRE>
<P CLASS="DESC_TEXT">
Logs the user into the system and registers with APEX.<br>
&nbsp;<br>
if the user account is 'OPEN', log them in and flow to the requested page if the user account is 'EXPIRED', log them in and flow to the 'Change Password'&nbsp; page if the user account is 'LOCKED', log the user out and flow to the 'Locked' page<br>
<BR>
</P>
<HR>
<A NAME="get_hash"></A>
<P CLASS="TYPE_TITLE">
get_hash
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION get_hash(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN VARCHAR2
</PRE>
<P CLASS="DESC_TEXT">
Produce a 'password hash' from the given username and password<br>
&nbsp;<br>
Uses the dbms_obfuscation_toolkit to produce the hash.<br>
<BR>
</P>
<HR>
<A NAME="authenticate_user"></A>
<P CLASS="TYPE_TITLE">
authenticate_user
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION authenticate_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authenticates the given username and password<br>
<BR>
</P>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE for authenticated username and password combination<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Replaces"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Replaces
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
<A HREF=#valid_user>valid_user</A>, <A HREF=#valid_user2>valid_user2</A>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="valid_user2"></A>
<P CLASS="TYPE_TITLE">
valid_user2
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE valid_user2(p_username IN VARCHAR2
,p_password IN VARCHAR2)
</PRE>
<P CLASS="DESC_TEXT">
Authenticates the given p_username and p_password<br>
&nbsp;<br>
Checks the <A HREF="passwords.html">passwords</A> table for a hash value matching that produced from the given p_username and p_password.<br>
<BR>
</P>
<A NAME="Raises"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Raises
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
-20000&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
when unable to authenticate<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Obsolete"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Obsolete
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Replaced by <A HREF=#authenticate_user>authenticate_user</A>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="valid_user"></A>
<P CLASS="TYPE_TITLE">
valid_user
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION valid_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authenticates the given username and password<br>
<BR>
</P>
<A NAME="Obsolete"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Obsolete
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Replaced by <A HREF=#authenticate_user>authenticate_user</A>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="authorization"></A>
<P CLASS="TYPE_TITLE">
authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION authorization(p_app_user IN VARCHAR2
,p_component_name IN apex_authorization.component_name%TYPE
,p_component_type IN apex_authorization.component_type%TYPE
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Checks for authorization to access the given component<br>
&nbsp;<br>
&nbsp;<br>
Checks the roles assigned to the given p_app_user to see whether they are authorized to access the given component.<br>
&nbsp;<br>
If configuration item APEX_AUTHORIZATION_DEFAULT_MODE = PUBLIC, all components are considered to be accessible to all unless specifically listed in the apex_authorization table. Otherwise, the requested access must be listed in the apex_authorization table.<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
username<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_name&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
name of the component to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_type&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the type of component to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the access privilege being sought<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given p_app_user is authorized<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="page_authorization"></A>
<P CLASS="TYPE_TITLE">
page_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION page_authorization(p_app_user IN VARCHAR2
,p_page_id IN NUMBER
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Checks for <A HREF=#authorization>authorization</A> to access the given page<br>
&nbsp;<br>
Calls the <A HREF=#authorization>authorization</A> function to perform the check<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
username<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_page_id&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
page number to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the access privilege being sought<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given p_app_user is authorized<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="component_authorization"></A>
<P CLASS="TYPE_TITLE">
component_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION component_authorization(p_app_user IN VARCHAR2
,p_component_name IN apex_authorization.component_name%TYPE
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Checks for <A HREF=#authorization>authorization</A> to access the given component<br>
&nbsp;<br>
Calls the <A HREF=#authorization>authorization</A> function to perform the check<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
username<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_name&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
name of the component to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the access privilege being sought<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given p_app_user is authorized<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="region_authorization"></A>
<P CLASS="TYPE_TITLE">
region_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION region_authorization(p_app_user IN VARCHAR2
,p_component_name IN apex_authorization.component_name%TYPE
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Checks for <A HREF=#authorization>authorization</A> to access the given page<br>
&nbsp;<br>
Calls the <A HREF=#authorization>authorization</A> function to perform the check<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
username<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_name&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
name of the region to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the access privilege being sought<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE if the given p_app_user is authorized<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="user_screen"></A>
<P CLASS="TYPE_TITLE">
user_screen
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION user_screen(p_username IN VARCHAR2) RETURN BOOLEAN
</PRE>
<HR>
<A NAME="admin_screen"></A>
<P CLASS="TYPE_TITLE">
admin_screen
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION admin_screen(p_username IN VARCHAR2) RETURN BOOLEAN
</PRE>
<HR>
<A NAME="new_password"></A>
<P CLASS="TYPE_TITLE">
new_password
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE new_password(p_username IN VARCHAR2
,p_password IN VARCHAR2)
</PRE>
<HR>
<A NAME="redirect_on_expired_account"></A>
<P CLASS="TYPE_TITLE">
redirect_on_expired_account
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE redirect_on_expired_account(p_username IN VARCHAR2)
</PRE>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,433 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>Package mip_security</TITLE>
<META name="object" content="PACKAGE">
<META name="name" content="mip_security">
<META name="description" content="Handle authentication and authorization processes for the MIP project">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">Package mip_security</P>
Handle authentication and authorization processes for the MIP project<br>
<BR>
</TD></TR></TABLE>
<HR>
<A NAME="Program units"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Program units
</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#login">login</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Perform user authentication and login An authenticated login for an expired password will result in flow to the 'Change Password' page.
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#get_hash">get_hash</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_user2">valid_user2</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
%obs private function
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#valid_user">valid_user</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
%obs replaced by <A HREF=#authenticate_user>authenticate_user</A>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#authenticate_user">authenticate_user</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authenticates the given username and password
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#user_screen">user_screen</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#admin_screen">admin_screen</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#new_password">new_password</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#page_authorization">page_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authorize access to the given page
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#component_authorization">component_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authorize access to the given component
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#region_authorization">region_authorization</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Authorize access to the given region
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="login"></A>
<P CLASS="TYPE_TITLE">
login
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE login(p_uname IN VARCHAR2
,p_password IN VARCHAR2
,p_session_id IN VARCHAR2
,p_flow_page IN VARCHAR2)
</PRE>
<P CLASS="DESC_TEXT">
Perform user authentication and login An authenticated login for an expired password will result in flow to the 'Change Password' page.<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_uname&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
username<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_password&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
password<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_session_id&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
APEX session number<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_flow_page&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the app:page to which flow should pass on successful authentication<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="get_hash"></A>
<P CLASS="TYPE_TITLE">
get_hash
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION get_hash(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN VARCHAR2
</PRE>
<HR>
<A NAME="valid_user2"></A>
<P CLASS="TYPE_TITLE">
valid_user2
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE valid_user2(p_username IN VARCHAR2
,p_password IN VARCHAR2)
</PRE>
<A NAME="Obsolete"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Obsolete
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
private function<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="valid_user"></A>
<P CLASS="TYPE_TITLE">
valid_user
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION valid_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN
</PRE>
<A NAME="Obsolete"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Obsolete
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
replaced by <A HREF=#authenticate_user>authenticate_user</A>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="authenticate_user"></A>
<P CLASS="TYPE_TITLE">
authenticate_user
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION authenticate_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authenticates the given username and password<br>
<BR>
</P>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
TRUE for authenticated username and password combination<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Replaces"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Replaces
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
<A HREF=#valid_user>valid_user</A>, <A HREF=#valid_user2>valid_user2</A>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="user_screen"></A>
<P CLASS="TYPE_TITLE">
user_screen
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION user_screen(p_username IN VARCHAR2) RETURN BOOLEAN
</PRE>
<HR>
<A NAME="admin_screen"></A>
<P CLASS="TYPE_TITLE">
admin_screen
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION admin_screen(p_username IN VARCHAR2) RETURN BOOLEAN
</PRE>
<HR>
<A NAME="new_password"></A>
<P CLASS="TYPE_TITLE">
new_password
</P>
<PRE CLASS="DECL_TEXT">
PROCEDURE new_password(p_username IN VARCHAR2
,p_password IN VARCHAR2)
</PRE>
<HR>
<A NAME="page_authorization"></A>
<P CLASS="TYPE_TITLE">
page_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION page_authorization(p_app_user IN VARCHAR2
,p_page_id IN NUMBER
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authorize access to the given page<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The name of the application user<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_page_id&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The page to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The access privilege requested<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Boolean value, true for access allowed<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="component_authorization"></A>
<P CLASS="TYPE_TITLE">
component_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION component_authorization(p_app_user IN VARCHAR2
,p_component_name IN apex_authorization.component_name%TYPE
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authorize access to the given component<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The name of the application user<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_name&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The name of the component to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The access privilege requested<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Boolean value, true for access allowed<br>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="region_authorization"></A>
<P CLASS="TYPE_TITLE">
region_authorization
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION region_authorization(p_app_user IN VARCHAR2
,p_component_name IN apex_authorization.component_name%TYPE
,p_privilege IN apex_authorization.privilege%TYPE DEFAULT 'A')
RETURN BOOLEAN
</PRE>
<P CLASS="DESC_TEXT">
Authorize access to the given region<br>
<BR>
</P>
<A NAME="Parameters"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_app_user&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The name of the application user<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_component_name&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The name of the region to be accessed<br>
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_privilege&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
The access privilege requested<br>
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="LIST_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="LIST_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
Boolean value, true for access allowed<br>
</TD></TR>
</TABLE>
<BR>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,90 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="plsqldoc.css">
<TITLE>Package body mip_table_constraints</TITLE>
<META name="object" content="PACKAGE BODY">
<META name="name" content="mip_table_constraints">
<META name="description" content="Used for a function-based unique index on enquiries.rt_code">
</HEAD>
<BODY>
<TABLE WIDTH="100%"><TR>
<TD><P ALIGN="LEFT"><STRONG><SMALL></SMALL></STRONG></TD>
<TD><P ALIGN="RIGHT"><STRONG><SMALL><A HREF="index.html">index</A></SMALL></STRONG></TD>
</TR></TABLE>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="DESC_TEXT">
<P CLASS="MAIN_TITLE">Package body mip_table_constraints</P>
Used for a function-based unique index on enquiries.rt_code<br>
<BR>
<A NAME="Parameters"></A>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="LIST_TITLE">
Parameters
</TD></TR></TABLE>
<TABLE CLASS="MAIN_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
p_rt_code&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
the rt_code from the table row
</TD></TR>
</TABLE>
<BR>
<A NAME="Returns"></A>
<TABLE CLASS="MAIN_TABLE"><TR><TD CLASS="LIST_TITLE">
Returns
</TD></TR></TABLE>
<TABLE CLASS="MAIN_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
<TABLE CLASS="MAIN_TABLE">
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
1&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
for rt_code = 'ENQ OWN'
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
2&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
for rt_code = 'ENQ SUPP'
</TD></TR>
<TR><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
</TD><TD VALIGN="TOP" CLASS="LIST_ITEM" WIDTH=1%>
NULL&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
for al other values of rt_code
</TD></TR>
</TABLE>
<BR>
</TD></TR>
</TABLE>
<BR>
</TD></TR></TABLE>
<HR>
<A NAME="Program units"></A>
<TABLE CLASS="SUB_TABLE"><TR><TD CLASS="SUB_TITLE">
Program units
</TD></TR></TABLE>
<TABLE CLASS="SUB_TABLE">
<TR><TD VALIGN="TOP" CLASS="TYPE_ITEM">
<A HREF="#enq_rt_code">enq_rt_code</A>&nbsp;&nbsp;
</TD><TD CLASS="DESC_TEXT" WIDTH=95%>
</TD></TR>
</TABLE>
<BR>
<HR>
<A NAME="enq_rt_code"></A>
<P CLASS="TYPE_TITLE">
enq_rt_code
</P>
<PRE CLASS="DECL_TEXT">
FUNCTION enq_rt_code(p_rt_code IN enquiry_roles.rt_code%TYPE) RETURN NUMBER
</PRE>
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

View File

@@ -0,0 +1,164 @@
/* PL/SQL Developer, plsqldoc styles */
BODY
{
font-family: Verdana,Arial,Helvetica,sans-serif;
background-color : #ECECEC;
font-size: 12px;
font-weight: normal;
font-style: normal;
margin-left: 15px;
margin-top: 25px;
}
A {color: #333300; text-decoration: underline;}
A:active {color: #2020C0; text-decoration: underline;}
A:hover {color: #4040C0; text-decoration: underline;}
A:visited {color: #101060; text-decoration: underline;}
/* Style for Title of document (Package ...) */
.MAIN_TITLE
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size : medium;
color: #992266;
font-weight: bold;
margin-bottom: 12px;
}
/* Style for smaller Titles (Program Units, Exceptions, ...) */
.SUB_TITLE
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: medium;
color: #992266;
font-weight: normal;
margin-bottom: 12px;
}
/* Type name in description */
.TYPE_TITLE
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: small;
color: #992266;
font-weight: bold;
margin-bottom: 0px;
}
/* Type name in list */
.TYPE_ITEM
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: x-small;
color: #101060;
font-weight: bold;
margin-bottom: 0px;
}
/* 'See Also' list title */
.LIST_TITLE
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: small;
color: #301080;
font-weight: bold;
font-style: normal;
margin-bottom: 0px;
}
/* 'See Also' list item description */
.LIST_ITEM
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: x-small;
color: #101060;
font-weight: bold;
margin-bottom: 0px;
}
/* Description */
.DESC_TEXT
{
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: x-small;
color: #101060;
font-weight: normal;
margin-bottom: 0px;
}
/* Formatted text */
.DECL_TEXT
{
font-family: Courier;
font-size: x-small;
color: #101080;
font-weight: normal;
margin-bottom : 0px;
}
/* Table that holds the Title of the document */
.MAIN_TABLE
{
font-family: Verdana,Arial,Tahoma,Helvetica,sans-serif;
font-size: x-small;
font-weight: normal;
font-style: normal;
background-color: #E0E0E0;
width: 100%;
}
/* Table that holds Program Units list */
.SUB_TABLE
{
font-family: Verdana,Arial,Tahoma,Helvetica,sans-serif;
font-size: x-small;
font-weight: normal;
font-style: normal;
background-color: #E8E8E8;
VALIGN: "TOP";
width: 100%;
}
/* Table that holds the See Also list */
.LIST_TABLE
{
font-family: Verdana,Arial,Tahoma,Helvetica,sans-serif;
font-size: x-small;
font-weight: normal;
font-style: normal;
background-color: #ECECEC;
width: 100%;
}
/* Table that holds the See Also list */
.SIMPLE_TABLE
{
font-family: Verdana,Arial,Tahoma,Helvetica,sans-serif;
font-size: x-small;
font-weight: normal;
font-style: normal;
}

View File

@@ -0,0 +1,21 @@
UseFrames=0
StrictComments=1
IncludeSynopsis=1
Format=1
TabSize=4
LinePrefixes=
CrossReferences=2
FileWithDB=0
FileWithOwner=0
PathWithDB=0
PathWithOwner=0
NameWithDB=0
NameWithOwner=0
AutoGenerate=2
ParamPrefix="%param"
ParamDataType=1
[CustomTags]
spec=Specification
rep=Replaces
obs=Obsolete

View File

@@ -10,5 +10,6 @@ set define off
@@mip_regions.pck
@@cout_assert.pck
@@cout_err.pck
@@cout_system_configuration.pck
exit

View File

@@ -78,8 +78,6 @@ CREATE OR REPLACE PACKAGE BODY cout_err IS
g_file VARCHAR2(2000) := 'err.log';
g_dir VARCHAR2(2000) := '/export/home/mcdonald/INBOX';
g_tapi_exception_number CONSTANT NUMBER := -20999;
PROCEDURE pl(p_msg VARCHAR2) IS
l_start NUMBER := 1;
l_len CONSTANT NUMBER := 255;
@@ -201,26 +199,7 @@ CREATE OR REPLACE PACKAGE BODY cout_err IS
l_err_loc VARCHAR2(240);
BEGIN
IF p_exception_number = g_tapi_exception_number THEN
IF cg$errors.pop_head(msg => l_err_msg
,error => l_err_error
,msg_type => l_err_msg_type
,msgid => l_err_msgid
,loc => l_err_loc) THEN
p_message := l_err_msg;
p_exme_type := substr(l_err_error
,1
,1);
cg$errors.push(msg => l_err_msg
,error => l_err_error
,msg_type => l_err_msg_type
,msgid => l_err_msgid
,loc => l_err_loc);
ELSE
p_message := 'Unable to retrieve TAPI error';
p_exme_type := 'E';
END IF;
ELSE
BEGIN
SELECT to_char(abs(exception_number)) || ': ' || message
,exme_type
@@ -244,8 +223,7 @@ CREATE OR REPLACE PACKAGE BODY cout_err IS
,p_substitution_list(l_index));
l_index := p_substitution_list.NEXT(l_index);
END LOOP;
END IF;
END get_exception_message;
PROCEDURE log(p_exception_number IN PLS_INTEGER := NULL

View File

@@ -0,0 +1,121 @@
CREATE OR REPLACE PACKAGE cout_system_configuration IS
/**
-- Package containing the common utility system configuration routines used by the Access Manager application
-- #version $Revision: $
-- #author Andy Hardy
*/
/*
$Header: $ Logfile, Revision, Date, Author
$Modtime: $ Date and time of last modification
$History: $
*/
/** Default date format for stored configuration items*/
g_date_format CONSTANT VARCHAR2(80) := 'DD/MM/YYYY HH24:MI:SS';
/** Add a date configuration item
#param p_parameter The name of the configuration item
#param p_value The value to be given to the configuration item
#param p_description The description of the configuration item
*/
PROCEDURE add_configuration_item_date(p_parameter IN system_configuration.parameter%TYPE
,p_value IN DATE
,p_description IN system_configuration.description%TYPE := NULL);
/** Add a non-date configuration item
#param p_parameter The name of the configuration item
#param p_value The value to be given to the configuration item
#param p_description The description of the configuration item
*/
PROCEDURE add_configuration_item(p_parameter IN system_configuration.parameter%TYPE
,p_value IN system_configuration.VALUE%TYPE DEFAULT NULL
,p_description IN system_configuration.description%TYPE := NULL);
/** Get a date configuration item
#param p_parameter The name of the configuration item to be retrieved
#return Value of the configuration item as a date
*/
FUNCTION get_configuration_item_date(p_parameter IN system_configuration.parameter%TYPE)
RETURN DATE;
/** Get a configuration item
#param p_parameter The name of the configuration item to be retrieved
#return Value of the configuration item
*/
FUNCTION get_configuration_item(p_parameter IN system_configuration.parameter%TYPE)
RETURN system_configuration.VALUE%TYPE;
END cout_system_configuration;
/
CREATE OR REPLACE PACKAGE BODY cout_system_configuration IS
-- Author : HARDYA
-- Created : 25/08/2004 14:22:59
-- Purpose : Enter default system configuration details into the SYSTEM_CONFIGURATION table
/*
$Header: $ Logfile, Revision, Date, Author
25/08/2004: $ Date and time of last checkin
$Modtime: $ Date and time of last modification
$History: $
*/
PROCEDURE add_configuration_item(p_parameter IN system_configuration.parameter%TYPE
,p_value IN system_configuration.VALUE%TYPE DEFAULT NULL
,p_description IN system_configuration.description%TYPE := NULL) IS
BEGIN
INSERT INTO system_configuration
(parameter
,VALUE
,description)
VALUES
(upper(p_parameter)
,p_value
,p_description);
EXCEPTION
WHEN dup_val_on_index THEN
UPDATE system_configuration
SET VALUE = p_value
WHERE parameter = p_parameter;
END add_configuration_item;
PROCEDURE add_configuration_item_date(p_parameter IN system_configuration.parameter%TYPE
,p_value IN DATE
,p_description IN system_configuration.description%TYPE := NULL) IS
BEGIN
add_configuration_item(p_parameter => p_parameter
,p_value => to_char(p_value
,g_date_format)
,p_description => p_description);
END add_configuration_item_date;
FUNCTION get_configuration_item(p_parameter IN system_configuration.parameter%TYPE)
RETURN system_configuration.VALUE%TYPE IS
l_value system_configuration.VALUE%TYPE;
BEGIN
SELECT VALUE
INTO l_value
FROM system_configuration
WHERE parameter = upper(p_parameter);
RETURN l_value;
EXCEPTION
WHEN no_data_found THEN
RETURN NULL;
END get_configuration_item;
FUNCTION get_configuration_item_date(p_parameter IN system_configuration.parameter%TYPE)
RETURN DATE IS
l_value system_configuration.VALUE%TYPE;
BEGIN
l_value := get_configuration_item(p_parameter);
RETURN to_date(l_value
,g_date_format);
END get_configuration_item_date;
END cout_system_configuration;
/

View File

@@ -16,12 +16,23 @@ CREATE OR REPLACE PACKAGE mip_security AS
,p_session_id IN VARCHAR2
,p_flow_page IN VARCHAR2);
/** Generate a hash from the given username and password
The system does not record users passwords 'in the plain', instead we
recordThe resultant hash is recorded as the username 'password hash'
*/
FUNCTION get_hash(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN VARCHAR2;
/**
%obs private function
*/
PROCEDURE valid_user2(p_username IN VARCHAR2
,p_password IN VARCHAR2);
/**
%obs replaced by authenticate_user
*/
FUNCTION valid_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN;
@@ -209,6 +220,7 @@ CREATE OR REPLACE PACKAGE BODY mip_security AS
FUNCTION valid_user(p_username IN VARCHAR2
,p_password IN VARCHAR2) RETURN BOOLEAN AS
BEGIN
htp.bold('YOU SENT ME :' || p_username || ':' || p_password);
valid_user2(p_username
,p_password);
RETURN TRUE;

View File

@@ -7,5 +7,6 @@ grant connect, resource to &3 identified by &4;
connect &3/&4@&5
@@mip
@@mipViews
exit

View File

@@ -0,0 +1,13 @@
CREATE OR REPLACE VIEW V_LATEST_RT_CODE_FOR_ENRO AS
/** Show rows from enquiry_roles where they represent the latest instance of an rt_code
associated with an an enquiry.
*/
SELECT prty_id
,rt_code
,start_date
,end_date
,enqu_id
FROM (SELECT enro.*
,MAX(start_date) over(PARTITION BY rt_code, enqu_id) AS max_date_rt_code
FROM enquiry_roles enro)
WHERE start_date = max_date_rt_code;

View File

@@ -0,0 +1,52 @@
CREATE OR REPLACE VIEW V_PARTY_RELATIONSHIPS AS
/** Show parties involved in the party_relationships through party_roles to parties
*/
SELECT from_parl.prty_id AS from_parl_prty_id
,prtp.from_rt_code
,to_parl.prty_id AS to_parl_prty_id
,prtp.to_rt_code
,prtp.description
,greatest(from_parl.start_date
,prel.start_date
,to_parl.start_date) AS effective_start
,least(nvl(from_parl.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))
,nvl(to_parl.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))
,nvl(prel.end_date
,to_date('31-dec-2099'
,'dd-mon-yyyy'))) AS effective_end
FROM (SELECT prty.first_name
,prty.last_name
,prty.username
,parl.prty_id
,parl.rt_code
,parl.id
,parl.start_date
,parl.end_date
FROM parties prty
,party_roles parl
WHERE parl.prty_id = prty.id) from_parl
,(SELECT prty.first_name
,prty.last_name
,prty.username
,parl.prty_id
,parl.rt_code
,parl.id
,parl.start_date
,parl.end_date
FROM parties prty
,party_roles parl
WHERE parl.prty_id = prty.id) to_parl
,party_relationship_types prtp
,party_relationships prel
WHERE prel.from_parl_id = from_parl.id
AND prel.from_parl_prty_id = from_parl.prty_id
AND prel.from_parl_rt_code = from_parl.rt_code
AND prel.to_parl_id = to_parl.id
AND prel.to_parl_prty_id = to_parl.prty_id
AND prel.to_parl_rt_code = to_parl.rt_code
AND prtp.from_rt_code = prel.from_parl_rt_code
AND prtp.to_rt_code = prel.to_parl_rt_code;

View File

@@ -0,0 +1,18 @@
CREATE OR REPLACE VIEW V_PROFILE_RT_CODE_FOR_ENRO AS
/** Show rows from enquiry_roles along with start_date of the next instance of the same rt_code
and enquiry.
*/
SELECT prty_id
,rt_code
,start_date
,end_date
,next_start_date
,enqu_id
FROM (SELECT enro.prty_id
,enro.rt_code
,enro.start_date
,enro.end_date
,enqu_id
,lead(start_date
,1) over(PARTITION BY rt_code, enqu_id ORDER BY start_date) AS next_start_date
FROM enquiry_roles enro);

View File

@@ -1,7 +1,13 @@
-- C:\Andy\svn\WEBMIP\Schema\mip.con
--
-- Generated for Oracle 10g on Thu Nov 15 16:13:29 2007 by Server Generator 10.1.2.6.18
-- Generated for Oracle 10g on Mon Nov 26 14:57:47 2007 by Server Generator 10.1.2.6.18
PROMPT Creating Primary Key on 'SYSTEM_CONFIGURATION'
ALTER TABLE SYSTEM_CONFIGURATION
ADD (CONSTRAINT SYCO_PK PRIMARY KEY
(PARAMETER))
/
PROMPT Creating Primary Key on 'REGULATORS'
ALTER TABLE REGULATORS
ADD (CONSTRAINT REGU_PK PRIMARY KEY
@@ -112,7 +118,8 @@ ALTER TABLE QUOTE_ROLES
ADD (CONSTRAINT QURO_PK PRIMARY KEY
(PRTY_ID
,QUTE_ID
,RT_CODE))
,RT_CODE
,START_DATE))
/
PROMPT Creating Primary Key on 'PARTY_RELATIONSHIPS'
@@ -173,6 +180,12 @@ ALTER TABLE ENQUIRY_TYPES
(CODE))
/
PROMPT Creating Primary Key on 'POSTCODES'
ALTER TABLE POSTCODES
ADD (CONSTRAINT POCO_PK PRIMARY KEY
(ID))
/
PROMPT Creating Primary Key on 'DATA_ITEMS'
ALTER TABLE DATA_ITEMS
ADD (CONSTRAINT DI_PK PRIMARY KEY
@@ -217,6 +230,12 @@ ALTER TABLE CONNECTION_TYPES
(CODE))
/
PROMPT Creating Primary Key on 'ERROR_LOGS'
ALTER TABLE ERROR_LOGS
ADD (CONSTRAINT ERLO_PK PRIMARY KEY
(ERLO_ID))
/
PROMPT Creating Primary Key on 'ENQUIRY_STATUS_TYPES'
ALTER TABLE ENQUIRY_STATUS_TYPES
ADD (CONSTRAINT ENST_PK PRIMARY KEY
@@ -240,13 +259,8 @@ ALTER TABLE ENQUIRY_ROLES
ADD (CONSTRAINT ENRO_PK PRIMARY KEY
(PRTY_ID
,ENQU_ID
,RT_CODE))
/
PROMPT Creating Primary Key on 'ACCESS_CONTROLS'
ALTER TABLE ACCESS_CONTROLS
ADD (CONSTRAINT ACCL_PK PRIMARY KEY
(ID))
,RT_CODE
,START_DATE))
/
PROMPT Creating Primary Key on 'ENQUIRIES'
@@ -286,6 +300,15 @@ ALTER TABLE METER_TYPES
(CODE))
/
PROMPT Creating Primary Key on 'APEX_AUTHORIZATION'
ALTER TABLE APEX_AUTHORIZATION
ADD (CONSTRAINT AUTH_PK PRIMARY KEY
(PRIVILEGE
,COMPONENT_TYPE
,COMPONENT_NAME
,RT_CODE))
/
PROMPT Creating Primary Key on 'MODULES'
ALTER TABLE MODULES
ADD (CONSTRAINT MODU_PK PRIMARY KEY
@@ -343,20 +366,27 @@ ALTER TABLE COSTS
(AICO_CODE))
/
PROMPT Creating Unique Key on 'POSTCODES'
ALTER TABLE POSTCODES
ADD (CONSTRAINT POCO_POCO_UK UNIQUE
(OUTCODE
,INCODE))
/
PROMPT Creating Check Constraint on 'METER_SIZE_CODES'
ALTER TABLE METER_SIZE_CODES
ADD (CONSTRAINT AVCON_1195143208_VALID_000 CHECK (VALID_FOR_EXISTING_METER IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_VALID_000 CHECK (VALID_FOR_EXISTING_METER IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'METER_SIZE_CODES'
ALTER TABLE METER_SIZE_CODES
ADD (CONSTRAINT AVCON_1195143208_VALID_001 CHECK (VALID_FOR_NEW_METER IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_VALID_001 CHECK (VALID_FOR_NEW_METER IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'COSTS'
ALTER TABLE COSTS
ADD (CONSTRAINT AVCON_1195143208_COST__000 CHECK (COST_TYPE IN ('HOCO', 'BACO', 'COST', 'AICO', 'MOCO', 'MECO')))
ADD (CONSTRAINT AVCON_1196089066_COST__000 CHECK (COST_TYPE IN ('HOCO', 'BACO', 'MECO', 'COST', 'AICO', 'LACO')))
/
PROMPT Creating Check Constraint on 'PARTY_RELATIONSHIPS'
@@ -368,86 +398,86 @@ to_parl_rt_code = to_prtp_rt_code))
PROMPT Creating Check Constraint on 'QUOTES'
ALTER TABLE QUOTES
ADD (CONSTRAINT AVCON_1195143208_QUTE__000 CHECK (QUTE_TYPE IN ('QUTE', 'AQ', 'SQ', 'MQ')))
ADD (CONSTRAINT AVCON_1196089066_QUTE__000 CHECK (QUTE_TYPE IN ('QUTE', 'AQ', 'SQ', 'MQ')))
/
PROMPT Creating Check Constraint on 'PARTIES'
ALTER TABLE PARTIES
ADD (CONSTRAINT AVCON_1195143208_STATU_000 CHECK (STATUS IN ('OPEN', 'EXPIRED', 'LOCKED')))
ADD (CONSTRAINT AVCON_1196089066_STATU_000 CHECK (STATUS IN ('OPEN', 'EXPIRED', 'LOCKED')))
/
PROMPT Creating Check Constraint on 'PARTIES'
ALTER TABLE PARTIES
ADD (CONSTRAINT AVCON_1195143208_PRTY__000 CHECK (PRTY_TYPE
ADD (CONSTRAINT AVCON_1196089066_PRTY__000 CHECK (PRTY_TYPE
IN ('PRTY', 'IO', 'EO', 'MKTP', 'PERS', 'MANU', 'NEMP', 'EMP', 'ORG'
)))
/
PROMPT Creating Check Constraint on 'ROLE_TYPES'
ALTER TABLE ROLE_TYPES
ADD (CONSTRAINT AVCON_1195143208_RT_TY_000 CHECK (RT_TYPE IN ('ENRT', 'QURT', 'PRT', 'PCMRT', 'PART', 'RT')))
ADD (CONSTRAINT AVCON_1196089066_RT_TY_000 CHECK (RT_TYPE IN ('ENRT', 'QURT', 'PRT', 'PCMRT', 'PART', 'RT')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_HOUSI_000 CHECK (HOUSING_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_HOUSI_000 CHECK (HOUSING_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_BASE__000 CHECK (BASE_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_BASE__000 CHECK (BASE_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_TWIN__000 CHECK (TWIN_STREAM_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_TWIN__000 CHECK (TWIN_STREAM_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_INDIC_000 CHECK (INDICATIVE_TIME IN ('DY', 'AM', 'PM')))
ADD (CONSTRAINT AVCON_1196089066_INDIC_000 CHECK (INDICATIVE_TIME IN ('DY', 'AM', 'PM')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_CONVE_000 CHECK (CONVERTOR_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_CONVE_000 CHECK (CONVERTOR_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_AMR_R_000 CHECK (AMR_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_AMR_R_000 CHECK (AMR_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_EMS_R_000 CHECK (EMS_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_EMS_R_000 CHECK (EMS_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_LOGGE_000 CHECK (LOGGER_REQUIRED IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_LOGGE_000 CHECK (LOGGER_REQUIRED IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_LOAD__000 CHECK (LOAD_CONTROL_TYPE IN ('Constant', 'On/Off', 'Modulating')))
ADD (CONSTRAINT AVCON_1196089066_LOAD__000 CHECK (LOAD_CONTROL_TYPE IN ('Constant', 'On/Off', 'Modulating')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_MARKE_000 CHECK (MARKET_SECTOR_CODE IN ('I', 'D')))
ADD (CONSTRAINT AVCON_1196089066_MARKE_000 CHECK (MARKET_SECTOR_CODE IN ('I', 'D')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_DOWNS_000 CHECK (DOWNSTREAM_BOOSTER_OR_COMPRESS IN ('YES', 'NO')))
ADD (CONSTRAINT AVCON_1196089066_DOWNS_000 CHECK (DOWNSTREAM_BOOSTER_OR_COMPRESS IN ('YES', 'NO')))
/
PROMPT Creating Check Constraint on 'ENQUIRIES'
ALTER TABLE ENQUIRIES
ADD (CONSTRAINT AVCON_1195143208_EXIST_000 CHECK (EXISTING_METER_OWNER IN ('S', 'T', 'C')))
ADD (CONSTRAINT AVCON_1196089066_EXIST_000 CHECK (EXISTING_METER_OWNER IN ('S', 'T', 'C')))
/
PROMPT Creating Foreign Key on 'REGULATORS'
ALTER TABLE REGULATORS ADD (CONSTRAINT
@@ -522,6 +552,13 @@ ALTER TABLE PARTY_ADDRESS_ROLES ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_ENTY_FK FOREIGN KEY
(ENTY_CODE) REFERENCES ENQUIRY_TYPES
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_HOU_FK FOREIGN KEY
@@ -536,6 +573,13 @@ ALTER TABLE COSTS ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_MESC_FK FOREIGN KEY
(MESC_CODE) REFERENCES METER_SIZE_CODES
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_MODU_FK FOREIGN KEY
@@ -550,6 +594,13 @@ ALTER TABLE COSTS ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_METY_FK FOREIGN KEY
(METY_CODE) REFERENCES METER_TYPES
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_BAS_FK FOREIGN KEY
@@ -557,6 +608,13 @@ ALTER TABLE COSTS ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'COSTS'
ALTER TABLE COSTS ADD (CONSTRAINT
COST_SVCPT_FK FOREIGN KEY
(SVCPT_CODE) REFERENCES SERVICE_PRESSURE_TYPES
(CODE))
/
PROMPT Creating Foreign Key on 'PARTY_CONTACT_MECHANISM_ROLES'
ALTER TABLE PARTY_CONTACT_MECHANISM_ROLES ADD (CONSTRAINT
PCMR_RT_FK FOREIGN KEY
@@ -690,6 +748,13 @@ ALTER TABLE ENQUIRY_EVENTS ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'POSTCODES'
ALTER TABLE POSTCODES ADD (CONSTRAINT
POCO_REGI_FK FOREIGN KEY
(REGI_CODE) REFERENCES REGIONS
(CODE))
/
PROMPT Creating Foreign Key on 'QUOTE_ITEMS'
ALTER TABLE QUOTE_ITEMS ADD (CONSTRAINT
QUIT_BAS_FK FOREIGN KEY
@@ -781,13 +846,6 @@ ALTER TABLE ENQUIRY_ROLES ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'ACCESS_CONTROLS'
ALTER TABLE ACCESS_CONTROLS ADD (CONSTRAINT
ACCL_RT_FK FOREIGN KEY
(RT_CODE) REFERENCES ROLE_TYPES
(CODE))
/
PROMPT Creating Foreign Key on 'ENQUIRIES'
ALTER TABLE ENQUIRIES ADD (CONSTRAINT
ENQU_ALTY_FK FOREIGN KEY
@@ -872,6 +930,13 @@ ALTER TABLE PARTY_RELATIONSHIP_TYPES ADD (CONSTRAINT
(CODE))
/
PROMPT Creating Foreign Key on 'APEX_AUTHORIZATION'
ALTER TABLE APEX_AUTHORIZATION ADD (CONSTRAINT
AUTH_RT_FK FOREIGN KEY
(RT_CODE) REFERENCES ROLE_TYPES
(CODE))
/
PROMPT Creating Foreign Key on 'MODULES'
ALTER TABLE MODULES ADD (CONSTRAINT
MODU_SLVA_FK FOREIGN KEY

View File

@@ -1,6 +1,6 @@
-- C:\Andy\svn\WEBMIP\Schema\mip.ind
--
-- Generated for Oracle 10g on Thu Nov 15 16:13:28 2007 by Server Generator 10.1.2.6.18
-- Generated for Oracle 10g on Mon Nov 26 14:57:47 2007 by Server Generator 10.1.2.6.18
PROMPT Creating Index 'REGU_RETY_FK_I'
@@ -53,6 +53,26 @@ CREATE INDEX PAR_RT_FK_I ON PARTY_ADDRESS_ROLES
(RT_CODE)
/
PROMPT Creating Index 'COST_METY_FK_I'
CREATE INDEX COST_METY_FK_I ON COSTS
(METY_CODE)
/
PROMPT Creating Index 'COST_SVCPT_FK_I'
CREATE INDEX COST_SVCPT_FK_I ON COSTS
(SVCPT_CODE)
/
PROMPT Creating Index 'COST_MESC_FK_I'
CREATE INDEX COST_MESC_FK_I ON COSTS
(MESC_CODE)
/
PROMPT Creating Index 'COST_ENTY_FK_I'
CREATE INDEX COST_ENTY_FK_I ON COSTS
(ENTY_CODE)
/
PROMPT Creating Index 'COST_BAS_FK_I'
CREATE INDEX COST_BAS_FK_I ON COSTS
(BAS_CODE)
@@ -170,6 +190,22 @@ CREATE INDEX ENEV_ENQU_FK_I ON ENQUIRY_EVENTS
(ENQU_ID)
/
PROMPT Creating Index 'POCO_POSTCODE_I'
CREATE INDEX POCO_POSTCODE_I ON POSTCODES
(outcode||' '||incode)
/
PROMPT Creating Index 'POCO_REGI_FK_I'
CREATE INDEX POCO_REGI_FK_I ON POSTCODES
(REGI_CODE)
/
PROMPT Creating Index 'POCO_POCO_I'
CREATE INDEX POCO_POCO_I ON POSTCODES
(OUTCODE
,INCODE)
/
PROMPT Creating Index 'QUIT_QUTE_FK_I'
CREATE INDEX QUIT_QUTE_FK_I ON QUOTE_ITEMS
(QUTE_ID)
@@ -235,9 +271,9 @@ CREATE INDEX ENRO_ENQU_FK_I ON ENQUIRY_ROLES
(ENQU_ID)
/
PROMPT Creating Index 'ACCL_RT_FK_I'
CREATE INDEX ACCL_RT_FK_I ON ACCESS_CONTROLS
(RT_CODE)
PROMPT Creating Index 'ENRO_ENQ_OWN_ROLE_I'
CREATE UNIQUE INDEX ENRO_ENQ_OWN_ROLE_I ON ENQUIRY_ROLES
(mip_table_constraints.enq_rt_code(rt_code))
/
PROMPT Creating Index 'ENQU_METY_FK_I'
@@ -300,6 +336,11 @@ CREATE INDEX PRTP_RT_FROM_FK_I ON PARTY_RELATIONSHIP_TYPES
(FROM_RT_CODE)
/
PROMPT Creating Index 'AUTH_RT_FK_I'
CREATE INDEX AUTH_RT_FK_I ON APEX_AUTHORIZATION
(RT_CODE)
/
PROMPT Creating Index 'MODU_CNOR_OUTLET_FK_I'
CREATE INDEX MODU_CNOR_OUTLET_FK_I ON MODULES
(OUTLET_CNOR_CODE)

View File

@@ -1,6 +1,6 @@
-- C:\Andy\svn\WEBMIP\Schema\mip.sql
--
-- Generated for Oracle 10g on Thu Nov 15 16:13:29 2007 by Server Generator 10.1.2.6.18
-- Generated for Oracle 10g on Mon Nov 26 14:57:48 2007 by Server Generator 10.1.2.6.18
SPOOL mip.lst

View File

@@ -1,6 +1,6 @@
-- C:\Andy\svn\WEBMIP\Schema\mip.sqs
--
-- Generated for Oracle 10g on Thu Nov 15 16:13:29 2007 by Server Generator 10.1.2.6.18
-- Generated for Oracle 10g on Mon Nov 26 14:57:47 2007 by Server Generator 10.1.2.6.18
PROMPT Creating Sequence 'ENQU_SEQ'
CREATE SEQUENCE ENQU_SEQ
@@ -23,15 +23,15 @@ CREATE SEQUENCE PRTY_SEQ
NOCYCLE
/
PROMPT Creating Sequence 'ACCL_SEQ'
CREATE SEQUENCE ACCL_SEQ
PROMPT Creating Sequence 'QUTE_SEQ'
CREATE SEQUENCE QUTE_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE
/
PROMPT Creating Sequence 'QUTE_SEQ'
CREATE SEQUENCE QUTE_SEQ
PROMPT Creating Sequence 'POCO_SEQ'
CREATE SEQUENCE POCO_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE

View File

@@ -1,9 +1,17 @@
-- C:\Andy\svn\WEBMIP\Schema\mip.tab
--
-- Generated for Oracle 10g on Thu Nov 15 16:13:28 2007 by Server Generator 10.1.2.6.18
-- Generated for Oracle 10g on Mon Nov 26 14:57:47 2007 by Server Generator 10.1.2.6.18
PROMPT Creating Table 'SYSTEM_CONFIGURATION'
CREATE TABLE SYSTEM_CONFIGURATION
(PARAMETER VARCHAR2(240) NOT NULL
,VALUE VARCHAR2(240)
,DESCRIPTION VARCHAR2(240)
)
/
PROMPT Creating Table 'REGULATORS'
CREATE TABLE REGULATORS
(CODE VARCHAR2(80) NOT NULL
@@ -107,8 +115,12 @@ CREATE TABLE COSTS
,DELIVERY_COST NUMBER(*,2)
,VALID_TO DATE
,HOU_CODE VARCHAR2(80)
,METR_CODE VARCHAR2(80)
,ENTY_CODE VARCHAR2(80)
,MESC_CODE VARCHAR2(80)
,METY_CODE VARCHAR2(80)
,MODU_CODE VARCHAR2(80)
,SVCPT_CODE VARCHAR2(80)
,METR_CODE VARCHAR2(80)
,ID NUMBER(*,0) NOT NULL
,COST_TYPE VARCHAR2(10) NOT NULL
)
@@ -159,7 +171,7 @@ CREATE TABLE QUOTE_ROLES
(PRTY_ID NUMBER(*,0) NOT NULL
,QUTE_ID NUMBER(*,0) NOT NULL
,RT_CODE VARCHAR2(80) NOT NULL
,START_DATE DATE
,START_DATE DATE DEFAULT SYSDATE NOT NULL
,END_DATE DATE
,DESCRIPTION VARCHAR2(80)
)
@@ -261,6 +273,15 @@ CREATE TABLE ENQUIRY_TYPES
)
/
PROMPT Creating Table 'POSTCODES'
CREATE TABLE POSTCODES
(REGI_CODE VARCHAR2(80) NOT NULL
,OUTCODE VARCHAR2(4) NOT NULL
,INCODE VARCHAR2(3)
,ID NUMBER(*,0) NOT NULL
)
/
PROMPT Creating Table 'DATA_ITEMS'
CREATE TABLE DATA_ITEMS
(FIELD_NAME VARCHAR2(240) NOT NULL
@@ -331,6 +352,50 @@ CREATE TABLE CONNECTION_TYPES
)
/
PROMPT Creating Table 'ERROR_LOGS'
CREATE TABLE ERROR_LOGS
(ERLO_ID NUMBER NOT NULL
,ERROR_TYPE VARCHAR2(25) NOT NULL
,SOURCE VARCHAR2(240) NOT NULL
,SEVERITY VARCHAR2(1) NOT NULL
,ERROR_CODE VARCHAR2(240) NOT NULL
,ERROR_MESSAGE VARCHAR2(2000) NOT NULL
,ERROR_DATE DATE NOT NULL
,ERROR_STATUS VARCHAR2(1)
,CREATED_BY NUMBER DEFAULT 0 NOT NULL
,CREATED_ON DATE NOT NULL
,UPDATED_BY NUMBER
,UPDATED_ON DATE NOT NULL
)
/
COMMENT ON COLUMN ERROR_LOGS.ERROR_TYPE IS 'The type of error.'
/
COMMENT ON COLUMN ERROR_LOGS.SOURCE IS 'The source of the error.'
/
COMMENT ON COLUMN ERROR_LOGS.SEVERITY IS 'The severity of the error.'
/
COMMENT ON COLUMN ERROR_LOGS.ERROR_CODE IS 'The code for the error'
/
COMMENT ON COLUMN ERROR_LOGS.ERROR_MESSAGE IS 'The message from the error'
/
COMMENT ON COLUMN ERROR_LOGS.ERROR_DATE IS 'The date and time the error was logged.'
/
COMMENT ON COLUMN ERROR_LOGS.ERROR_STATUS IS 'The status of the error'
/
COMMENT ON COLUMN ERROR_LOGS.CREATED_BY IS 'The unique indentifier for a user of the system'
/
COMMENT ON COLUMN ERROR_LOGS.UPDATED_BY IS 'The unique indentifier for a user of the system'
/
PROMPT Creating Table 'ENQUIRY_STATUS_TYPES'
CREATE TABLE ENQUIRY_STATUS_TYPES
(CODE VARCHAR2(80) NOT NULL
@@ -361,21 +426,12 @@ CREATE TABLE ENQUIRY_ROLES
(ENQU_ID NUMBER NOT NULL
,PRTY_ID NUMBER(*,0) NOT NULL
,RT_CODE VARCHAR2(80) NOT NULL
,START_DATE DATE
,START_DATE DATE DEFAULT SYSDATE NOT NULL
,END_DATE DATE
,DESCRIPTION VARCHAR2(80)
)
/
PROMPT Creating Table 'ACCESS_CONTROLS'
CREATE TABLE ACCESS_CONTROLS
(PAGE_NUMBER NUMBER NOT NULL
,RT_CODE VARCHAR2(80)
,ITEM VARCHAR2(80)
,ID NUMBER(*,0) NOT NULL
)
/
PROMPT Creating Table 'ENQUIRIES'
CREATE TABLE ENQUIRIES
(ID NUMBER NOT NULL
@@ -385,12 +441,12 @@ CREATE TABLE ENQUIRIES
,SECOND_CONTACT_FAX VARCHAR2(15)
,INSTALL_BUILDING VARCHAR2(40)
,INSTALL_CITY VARCHAR2(40)
,INSTALL_POSTCODE VARCHAR2(7)
,INSTALL_POSTCODE VARCHAR2(8)
,SECOND_ALT_SUB_BUILDING VARCHAR2(40)
,FIRST_ALT_BUILDING VARCHAR2(40)
,SECOND_ALT_STREET VARCHAR2(60)
,SECOND_ALT_CITY VARCHAR2(40)
,SECOND_ALT_POSTCODE VARCHAR2(7)
,SECOND_ALT_POSTCODE VARCHAR2(8)
,ASSET_LOCATION_NOTES VARCHAR2(100)
,MPRN NUMBER(30,0)
,REQUIRED_METERING_PRESSURE NUMBER
@@ -402,7 +458,6 @@ CREATE TABLE ENQUIRIES
,QMAX NUMBER
,EXISTING_METER_MODEL VARCHAR2(10)
,OTHER_INFORMATION VARCHAR2(250)
,CREATED_ON DATE NOT NULL
,ALTY_CODE VARCHAR2(80)
,CACA_CODE VARCHAR2(80)
,ENTY_CODE VARCHAR2(80)
@@ -421,7 +476,7 @@ CREATE TABLE ENQUIRIES
,SECOND_CONTACT_NAME VARCHAR2(80)
,FIRST_ALT_STREET VARCHAR2(60)
,FIRST_ALT_CITY VARCHAR2(40)
,FIRST_ALT_POSTCODE VARCHAR2(7)
,FIRST_ALT_POSTCODE VARCHAR2(8)
,SECOND_ALT_BUILDING VARCHAR2(40)
,ACCESS_PASSWORD VARCHAR2(30)
,ACCESS_ADDITIONAL VARCHAR2(210)
@@ -432,12 +487,12 @@ CREATE TABLE ENQUIRIES
,AMR_REQUIRED VARCHAR2(3)
,EMS_REQUIRED VARCHAR2(3)
,BYPASS_REQUIRED VARCHAR2(40)
,BYPASS_OTHER VARCHAR2(40)
,LOGGER_REQUIRED VARCHAR2(3)
,LOAD_CONTROL_TYPE VARCHAR2(10)
,EXISTING_METER_ASSET_PROVIDER VARCHAR2(210)
,MARKET_SECTOR_CODE VARCHAR2(1) DEFAULT 'I'
,JOB_DESCRIPTION VARCHAR2(500)
,CREATED_BY NUMBER NOT NULL
,AGENT_COMT_CODE VARCHAR2(80)
,FIRST_CONTACT_TELEPHONE_1 VARCHAR2(15)
,FIRST_CONTACT_TELEPHONE_2 VARCHAR2(15)
@@ -448,8 +503,6 @@ CREATE TABLE ENQUIRIES
,QMIN NUMBER
,EXISTING_METER_SERIAL_NO VARCHAR2(14)
,EXISTING_METER_OWNER VARCHAR2(1)
,UPDATED_BY NUMBER
,UPDATED_ON DATE
)
/
@@ -499,6 +552,15 @@ CREATE TABLE METER_TYPES
)
/
PROMPT Creating Table 'APEX_AUTHORIZATION'
CREATE TABLE APEX_AUTHORIZATION
(RT_CODE VARCHAR2(80) NOT NULL
,COMPONENT_NAME VARCHAR2(80) NOT NULL
,COMPONENT_TYPE VARCHAR2(1) DEFAULT 'P' NOT NULL
,PRIVILEGE VARCHAR2(1) DEFAULT 'A' NOT NULL
)
/
PROMPT Creating Table 'MODULES'
CREATE TABLE MODULES
(CODE VARCHAR2(80) NOT NULL
@@ -586,7 +648,7 @@ CREATE TABLE ADDRESSES
,BUILDING VARCHAR2(40) NOT NULL
,STREET VARCHAR2(60) NOT NULL
,CITY VARCHAR2(40) NOT NULL
,POSTCODE VARCHAR2(7) NOT NULL
,POSTCODE VARCHAR2(8) NOT NULL
)
/

3
Schema/mipViews.sql Normal file
View File

@@ -0,0 +1,3 @@
@@V_LATEST_RT_CODE_FOR_ENRO.vw
@@V_PROFILE_RT_CODE_FOR_ENRO.vw
@@V_PARTY_RELATIONSHIPS.vw