DBA Data[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;