[Home] [Help]
PACKAGE BODY: APPS.IGI_CHECK_VERSION
Source
1 PACKAGE BODY IGI_CHECK_VERSION AS
2 -- $Header: igicverb.pls 115.10 2004/05/12 09:36:49 rgopalan ship $
3 /*===========================================================================+
4 | FUNCTION |
5 | IGI_CHECK_VER |
6 | DESCRIPTION |
7 | This will populate the IGI_INST_VERSION table. It will be run during |
8 | the autoupgrade process |
9 | |
10 | SCOPE |
11 | -- Public |
12 | |
13 | PARAMETERS |
14 | NONE |
15 | |
16 +===========================================================================*/
17
18 PROCEDURE IGI_CHECK_VER is
19 -- DECLARE
20 rowCnt number := 0;
21 l_igi_opsfi_inst VARCHAR(1);
22 l_igi_prev_ver VARCHAR(2);
23 l_igi_igi_inst VARCHAR(1);
24
25 -- Added for Bug 3431843
26 l_schema fnd_oracle_userid.oracle_username%TYPE;
27 l_prod_status fnd_product_installations.status%TYPE;
28 l_industry fnd_product_installations.industry%TYPE;
29 l_igo VARCHAR2(3);
30 l_igi VARCHAR2(3);
31
32 BEGIN
33 -- Check IF previous installation of OPSFI
34
35 l_igo := 'IGO';
36
37 SELECT COUNT(1)
38 INTO rowCnt
39 FROM dba_users
40 WHERE username = l_igo;
41
42 IF (rowCnt > 0)
43 THEN
44 l_igi_opsfi_inst := 'Y';
45 -- DBMS_OUTPUT.PUT_LINE ('opsfi has previously been installed');
46 ELSE
47 l_igi_opsfi_inst := 'N';
48 -- DBMS_OUTPUT.PUT_LINE ('opsfi does not exist in this environment');
49 RETURN;
50 END IF;
51
52 -- Check for version (12, 31 or 33) installed
53 -- Bug 3431843 AKataria get ownername from fnd_installation
54 IF NOT fnd_installation.get_app_info (application_short_name => 'IGL',
55 status => l_prod_status,
56 industry => l_industry,
57 oracle_schema => l_schema)
58 THEN
59 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
60 END IF;
61
62 rowCnt := 0;
63
64 SELECT COUNT(1)
65 INTO rowCnt
66 FROM all_objects
67 WHERE object_name = 'JE_UK_GCC_INST_OPTIONS_ALL'
68 AND owner = l_schema; -- Bug 3431843 hkaniven
69
70 -- Bug 3431843 AKataria get ownername from fnd_installation
71 IF NOT fnd_installation.get_app_info (application_short_name => 'IGI',
72 status => l_prod_status,
73 industry => l_industry,
74 oracle_schema => l_schema)
75 THEN
76 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
77 END IF;
78
79 IF (rowCnt > 0)
80 THEN
81 l_igi_prev_ver := NULL;
82 -- 31 or 33 version is now detected in script igi33syn.sql
83 EXECUTE IMMEDIATE 'create synonym '||l_schema||'.opsfV31_33 for '||l_schema||'.igi_inst_version';
84 EXECUTE IMMEDIATE 'create synonym '||l_schema||'.opsfV12_31_33 for '||l_schema||'.igi_inst_version';
85 ELSE
86 l_igi_prev_ver := '12';
87 EXECUTE IMMEDIATE 'create synonym '||l_schema||'.opsfV12 for '||l_schema||'.igi_inst_version';
88 EXECUTE IMMEDIATE 'create synonym '||l_schema||'.opsfV12_31_33 for '||l_schema||'.igi_inst_version';
89 END IF;
90
91 -- DBMS_OUTPUT.PUT_LINE ('version found = '|| l_igi_prev_ver);
92
93 -- Check for the existance of the 11.5 environment
94
95 rowCnt := 0;
96 l_igi := 'IGI';
97
98 SELECT COUNT(1)
99 INTO rowCnt
100 FROM dba_users
101 WHERE username = l_igi;
102
103 IF (rowCnt > 0)
104 THEN
105 l_igi_igi_inst := 'Y';
106 -- DBMS_OUTPUT.PUT_LINE ('IGI exists in this environment');
107 ELSE
108 l_igi_igi_inst := 'N';
109 -- DBMS_OUTPUT.PUT_LINE ('IGI does not exist in this environment');
110 END IF;
111
112 -- Insert version into table
113 insert INTO igi_inst_version
114 (
115 igi_opsfi_inst,
116 igi_prev_ver,
117 igi_igi_inst
118 )
119 values
120 (
121 l_igi_opsfi_inst,
122 l_igi_prev_ver,
123 l_igi_igi_inst
124 );
125
126 commit;
127 exception when others THEN
128 --DBMS_OUTPUT.PUT_LINE ('FAIL '|| SQLERRM);
129 rollback;
130 END IGI_CHECK_VER;
131
132 /*===========================================================================+
133 | FUNCTION |
134 | IGI_CHECK_UPG |
135 | DESCRIPTION |
136 | This will check the IGI_INST_VERSION table. It will RETURN the |
137 | previous OPSF version used |
138 | |
139 | SCOPE |
140 | -- Public |
141 | |
142 | ARGUMENTS : IN: VARCHAR(3) - '107', '110' or 'ALL' |
143 | |
144 | OUT: None |
145 | |
146 | RETURNS : VARCHAR2 - '12', '31', '33' or a combination of these |
147 | |
148 | |
149 +===========================================================================*/
150
151 FUNCTION igi_check_upg(coreVer IN VARCHAR2) RETURN VARCHAR2 is
152 -- DECLARE
153 l_igi_prev_ver VARCHAR2(2);
154 BEGIN
155 SELECT IGI_PREV_VER
156 INTO l_igi_prev_ver
157 FROM IGI_INST_VERSION;
158
159
160 -- DBMS_OUTPUT.PUT_LINE('this is version ' || l_igi_prev_ver);
161 RETURN l_igi_prev_ver;
162
163 /* -- THIS CAN BE USED FOR TESTING!!!
164 IF (coreVer = '107' AND l_igi_prev_ver = '12')
165 THEN
166 RETURN l_igi_prev_ver;
167 ELSIF (coreVer = '110')
168 THEN
169 IF (l_igi_prev_ver = '31' OR l_igi_prev_ver = '33')
170 THEN
171 RETURN l_igi_prev_ver;
172 ELSE
173 -- DBMS_OUTPUT.PUT_LINE('Unknown version in table');
174 RETURN '??';
175 END IF;
176 ELSIF (coreVer = 'ALL')
177 THEN
178 IF (l_igi_prev_ver = '12' OR l_igi_prev_ver = '31' OR l_igi_prev_ver = '33')
179 THEN
180 RETURN l_igi_prev_ver;
181 ELSE
182 -- DBMS_OUTPUT.PUT_LINE('Unknown version in table');
183 RETURN '??';
184 END IF;
185 ELSE
186 -- DBMS_OUTPUT.PUT_LINE('Unknown argument passed!');
187 RETURN '!!';
188 END IF;
189 */
190
191 END igi_check_upg;
192 END;