DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSF_SPATIAL_DATALOAD_PUB

Source


1 PACKAGE BODY CSF_SPATIAL_DATALOAD_PUB AS
2 /* $Header: CSFPSDLB.pls 120.4 2009/10/28 06:03:24 vpalle noship $ */
3 
4 PROCEDURE PRE_INSTALLATION_STEPS (
5       errbuf         OUT NOCOPY      VARCHAR2,
6       retcode        OUT NOCOPY      VARCHAR2,
7       p_dataset_name IN              VARCHAR2,
8       p_WOM_flag     IN              VARCHAR2)
9 IS
10       -- predefined error codes for concurrent programs
11       l_rc_succ       CONSTANT NUMBER             := 0;
12       l_rc_warn       CONSTANT NUMBER             := 1;
13       l_rc_err        CONSTANT NUMBER             := 2;
14       -- predefined error buffer output strings (replaced by translated messages)
15       l_msg_succ               VARCHAR2 (80);
16       l_msg_warn               VARCHAR2 (80);
17       l_msg_err                VARCHAR2 (80);
18       l_data_set_name          VARCHAR2(40);
19 BEGIN
20       -- Initialize message list
21       fnd_msg_pub.initialize;
22       -- get termination messages
23       fnd_message.set_name ('CSF', 'CSF_GST_DONE_SUCC');
24       l_msg_succ := fnd_message.get;
25       fnd_message.set_name ('CSF', 'CSF_GST_DONE_WARN');
26       l_msg_warn := fnd_message.get;
27       fnd_message.set_name ('CSF', 'CSF_GST_DONE_ERR');
28       l_msg_err := fnd_message.get;
29       -- Initialize API return status to success
30       retcode := l_rc_succ;
31       errbuf := l_msg_succ;
32       -- Get the Spatial Data set profile value
33       l_data_set_name := p_dataset_name;
34       -- It was decided to use a CP parameter instead of profile for dataset name.
35       --fnd_profile.value('CSF_SPATIAL_DATASET_NAME');
36 
37       IF (l_data_set_name IS NULL OR l_data_set_name = 'NONE' ) THEN
38       -- Don't append suffix to the table names if the dataset name in none.
39         l_data_set_name := '';
40       ELSE
41         l_data_set_name := '_' || l_data_set_name;
42       END IF;
43 
44       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Data set name : ' || l_data_set_name) ;
45       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
46 
47       -- Drop Map Display related indexes.
48       CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name, 'MD', errbuf, retcode);
49       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Dropped the MD indexes successfully') ;
50       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
51       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Dropped the MD indexes successfully') ;
52 
53       -- Drop Location Finder related indexes.
54       CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name, 'LF', errbuf, retcode);
55       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, 'Dropped the LF indexes successfully') ;
56       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
57       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Dropped the LF indexes successfully') ;
58 
59       -- Drop Time Distance Server  related indexes.
60       CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name, 'TDS', errbuf, retcode);
61       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Dropped the TDS indexes successfully') ;
62       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
63       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Dropped the TDS indexes successfully') ;
64 
65       -- Drop World Overview Map  related indexes.
66       IF ( p_WOM_flag IS NOT NULL AND p_WOM_flag = 'Y' ) THEN
67         CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name, 'WOM', errbuf, retcode);
68         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Dropped the WOM indexes successfully') ;
69         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
70         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Dropped the WOM indexes successfully') ;
71       END IF;
72 
73       -- Drop Materialized view based indexes.
74       CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name, 'MAT', errbuf, retcode);
75       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Dropped the MAT View indexes successfully') ;
76       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'') ;
77       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Dropped the MAT indexes successfully') ;
78 
79       IF retcode = l_rc_succ THEN
80         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Pre installations steps completed successfully') ;
81         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Pre installations steps completed successfully') ;
82       END IF;
83 
84 EXCEPTION
85     WHEN FND_API.G_EXC_ERROR THEN
86         retcode := l_rc_err;
87         errbuf := l_msg_err;
88         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.PRE_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLCODE||'-'|| SQLERRM);
89         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.PRE_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLCODE||'-'|| SQLERRM);
90 
91     WHEN OTHERS THEN
92         retcode := l_rc_err;
93         errbuf := l_msg_err;
94         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.PRE_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLCODE||'-'|| SQLERRM);
95         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.PRE_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLCODE||'-'|| SQLERRM);
96 
97 END PRE_INSTALLATION_STEPS;
98 
99 -- Navteq Spatial Dataset - Post Installation Steps
100 -- after installation of the spatial data.
101 PROCEDURE POST_INSTALLATION_STEPS (
102       errbuf         OUT NOCOPY      VARCHAR2,
103       retcode        OUT NOCOPY      VARCHAR2,
104       p_dataset_name IN              VARCHAR2,
105       p_table_space  IN              VARCHAR2,
106       p_WOM_flag     IN              VARCHAR2)
107 IS
108       -- predefined error codes for concurrent programs
109       l_rc_succ       CONSTANT NUMBER             := 0;
110       l_rc_warn       CONSTANT NUMBER             := 1;
111       l_rc_err        CONSTANT NUMBER             := 2;
112       -- predefined error buffer output strings (replaced by translated messages)
113       l_msg_succ               VARCHAR2 (80);
114       l_msg_warn               VARCHAR2 (80);
115       l_msg_err                VARCHAR2 (80);
116       l_table_space            VARCHAR2 (100);
117       l_status                 NUMBER := 1;
118       l_data_set_name          VARCHAR2(40);
119 BEGIN
120       -- Initialize message list
121       fnd_msg_pub.initialize;
122       -- get termination messages
123       fnd_message.set_name ('CSF', 'CSF_GST_DONE_SUCC');
124       l_msg_succ := fnd_message.get;
125       fnd_message.set_name ('CSF', 'CSF_GST_DONE_WARN');
126       l_msg_warn := fnd_message.get;
127       fnd_message.set_name ('CSF', 'CSF_GST_DONE_ERR');
128       l_msg_err := fnd_message.get;
129       -- Initialize API return status to success
130       retcode := l_rc_succ;
131       errbuf := l_msg_succ;
132 
133       l_table_space  := p_table_space;
134 
135       BEGIN
136         EXECUTE IMMEDIATE 'SELECT 1
137                            FROM SYS.DBA_DATA_FILES
138                            WHERE tablespace_name = :1'
139                   USING    l_table_space;
140         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Table space ''' || l_table_space ||''' exists.') ;
141 
142         EXCEPTION
143           WHEN NO_DATA_FOUND THEN
144             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Table space ''' || l_table_space ||''' does not exist.') ;
145             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Table space ''' || l_table_space ||''' does not exist.') ;
146             RAISE FND_API.G_EXC_ERROR;
147 
148           WHEN OTHERS  THEN
149             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'SELECT FROM SYS.DBA_DATA_FILES is failed : '||SQLCODE||'-'|| SQLERRM) ;
150             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'SELECT FROM SYS.DBA_DATA_FILES is failed : '||SQLCODE||'-'|| SQLERRM) ;
151             RAISE FND_API.G_EXC_ERROR;
152       END;
153 
154       -- Get the Spatial Data set profile value
155       l_data_set_name := p_dataset_name;
156       -- It was decided to use a CP parameter instead of profile for dataset name.
157       --fnd_profile.value('CSF_SPATIAL_DATASET_NAME');
158 
159       IF (l_data_set_name IS NULL OR l_data_set_name = 'NONE' ) THEN
160       -- Don't append suffix to the table names if the dataset name in none.
161         l_data_set_name := '';
162       ELSE
163         l_data_set_name := '_' || l_data_set_name;
164       END IF;
165 
166       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Data set name : ' || l_data_set_name) ;
167       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,' ');
168 
169       --l_enable_spatial_cps := fnd_profile.vlaue('CSF_ENABLE_SPATIAL_CPS');
170 
171       /* Step 1: Updating HZ_LOCATIONS table
172       Scheduler uses geometry details stored on hz_locations to calculate travel distance
173       and time. Incorrect geometry details may lead to in-correct results. To avoid this,
174       the geometry column on HZ_LOCATIONS table should be cleared to populate the new geometry
175       calculated by Location Finder leveraging this newly installed Navteq dataset.
176       */
177       BEGIN
178 
179         IF (l_data_set_name IS NULL OR l_data_set_name = '' ) THEN
180           EXECUTE IMMEDIATE 'UPDATE hz_locations SET geometry = NULL';
181           COMMIT;
182         ELSE
183            EXECUTE IMMEDIATE 'UPDATE hz_locations l SET geometry = NULL
184                               WHERE EXISTS   ( SELECT 1
185                                                  FROM CSF_SPATIAL_CTRY_MAPPINGS sp
186                                                 WHERE l.country      = sp.hr_country_code
187                                                   AND sp.spatial_dataset = :1 )'  USING l_data_set_name;
188           COMMIT;
189         END IF;
190         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'UPDATE hz_locations is successfull') ;
191 
192       EXCEPTION
193           WHEN OTHERS  THEN
194           CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'UPDATE hz_locations is failed : ' || SQLERRM) ;
195           CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'UPDATE hz_locations is failed: ' || SQLERRM) ;
196           RAISE FND_API.G_EXC_ERROR;
197       END;
198 
199       -- Truncate CSF_TDS_ROUTE_CACHE TABLE. Bug : 9019583
200       CSF_SPATIAL_DATALOAD_PVT.TRUNC_ROUTE_CAHCE_TABLE(l_data_set_name,errbuf, retcode);
201 
202       -- Validate spatial tables row count
203       CSF_SPATIAL_DATALOAD_PVT.CHECK_TABLE_ROW_COUNT(l_data_set_name,errbuf, retcode);
204 
205       --BLOB size validation
206       CSF_SPATIAL_DATALOAD_PVT.VALIDATE_BLOB_SIZE(l_data_set_name,errbuf, retcode);
207 
208       -- Step 2: Create Spatial Indexes
209       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, '  ' );
210       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, 'Creating the INDEXES' );
211       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, '================================================ ' );
212 
213       CSF_SPATIAL_DATALOAD_PVT.CREATE_INDEXES(l_data_set_name,l_table_space, 'MD', errbuf, retcode);
214       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'========== Created the MD indexes successfully ==========') ;
215 
216       -- Create LF indexes
217       CSF_SPATIAL_DATALOAD_PVT.CREATE_INDEXES(l_data_set_name,l_table_space, 'LF', errbuf, retcode);
218       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'========== Created the LF indexes successfully ==========') ;
219       -- Create TDS indexes
220       CSF_SPATIAL_DATALOAD_PVT.CREATE_INDEXES(l_data_set_name,l_table_space, 'TDS', errbuf, retcode);
221       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'========== Created the TDS indexes successfully ==========') ;
222 
223       -- Create WOM indexes
224       IF ( p_WOM_flag IS NOT NULL AND p_WOM_flag = 'Y' ) THEN
225         CSF_SPATIAL_DATALOAD_PVT.CREATE_INDEXES(l_data_set_name,l_table_space, 'WOM', errbuf, retcode);
226         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'========== Created the WOM indexes successfully ==========') ;
227       END IF;
228 
229       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, ' Index Creation is successfull ' );
230       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output, ' Index Creation is successfull ' );
231       -- check the index status. Recreate if any index is invalid
232       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, '  ' );
233       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, 'checking the index status' );
234       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, '================================================ ' );
235 
236       CSF_SPATIAL_DATALOAD_PVT.CHECK_INDEX_VALIDITY(l_data_set_name,'MD',l_status, errbuf, retcode);
237       IF (l_status <> 0) THEN
238         CSF_SPATIAL_DATALOAD_PVT.RECREATE_INVALID_INDEXES(l_data_set_name,l_table_space,'MD', errbuf, retcode);
239       END IF;
240 
241       CSF_SPATIAL_DATALOAD_PVT.CHECK_INDEX_VALIDITY(l_data_set_name,'LF',l_status, errbuf, retcode);
242       IF (l_status <> 0) THEN
243        CSF_SPATIAL_DATALOAD_PVT.RECREATE_INVALID_INDEXES(l_data_set_name,l_table_space,'LF', errbuf, retcode);
244       END IF;
245 
246       CSF_SPATIAL_DATALOAD_PVT.CHECK_INDEX_VALIDITY(l_data_set_name,'TDS', l_status, errbuf, retcode);
247       IF (l_status <> 0) THEN
248         CSF_SPATIAL_DATALOAD_PVT.RECREATE_INVALID_INDEXES(l_data_set_name,l_table_space,'TDS', errbuf, retcode);
249       END IF;
250 
251       IF ( p_WOM_flag IS NOT NULL AND p_WOM_flag = 'Y' ) THEN
252         CSF_SPATIAL_DATALOAD_PVT.CHECK_INDEX_VALIDITY(l_data_set_name,'WOM',l_status, errbuf, retcode);
253         IF (l_status <> 0) THEN
254           CSF_SPATIAL_DATALOAD_PVT.RECREATE_INVALID_INDEXES(l_data_set_name,l_table_space,'WOM', errbuf, retcode);
255         END IF;
256       END IF;
257 
258     CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log, '========== checking the index status is successful ==========' );
259 
260     CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Post installtaion steps is successfull');
261     CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Post installtaion steps is successfull');
262           -- Step 3:  Re-compute Statistics on the Spatial Tables
263       --          Refresh Materialized views
264       --          Loading Map Configuration data
265       --          This step is included in the procedure POST_INST_REFRESH_MVS.
266 EXCEPTION
267     WHEN FND_API.G_EXC_ERROR THEN
268         retcode := l_rc_err;
269         errbuf := l_msg_err;
270         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.POST_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLERRM);
271         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.POST_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLERRM);
272     WHEN OTHERS THEN
273         retcode := l_rc_err;
274         errbuf := l_msg_err;
275         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.POST_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLERRM);
276         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.POST_INSTALLATION_STEPS PROCEDURE HAS FAILED '|| SQLERRM);
277 END POST_INSTALLATION_STEPS;
278 
279 -- Navteq Spatial Dataset - Post Installation Steps
280 -- Step 3:  Re-compute Statistics on the Spatial Tables
281 --          Refresh Materialized views
282 --          Loading Map Configuration data
283 PROCEDURE POST_INST_REFRESH_MVS (
284       errbuf         OUT NOCOPY      VARCHAR2,
285       retcode        OUT NOCOPY      VARCHAR2,
286       p_dataset_name IN              VARCHAR2,
287       p_table_space  IN              VARCHAR2,
288       p_referesh_mvs_flag IN         VARCHAR2,
289       p_compute_statistics_flag IN   VARCHAR2)
290 IS
291       -- predefined error codes for concurrent programs
292       l_rc_succ       CONSTANT NUMBER             := 0;
293       l_rc_warn       CONSTANT NUMBER             := 1;
294       l_rc_err        CONSTANT NUMBER             := 2;
295       -- predefined error buffer output strings (replaced by translated messages)
296       l_msg_succ               VARCHAR2 (80);
297       l_msg_warn               VARCHAR2 (80);
298       l_msg_err                VARCHAR2 (80);
299       l_table_space            VARCHAR2 (100);
300       l_status                 NUMBER  := 1;
301       l_data_set_name          VARCHAR2(40);
302 BEGIN
303       -- Initialize message list
304       fnd_msg_pub.initialize;
305       -- get termination messages
306       fnd_message.set_name ('CSF', 'CSF_GST_DONE_SUCC');
310       fnd_message.set_name ('CSF', 'CSF_GST_DONE_ERR');
307       l_msg_succ := fnd_message.get;
308       fnd_message.set_name ('CSF', 'CSF_GST_DONE_WARN');
309       l_msg_warn := fnd_message.get;
311       l_msg_err := fnd_message.get;
312       -- Initialize API return status to success
313       retcode := l_rc_succ;
314       errbuf := l_msg_succ;
315       l_table_space := p_table_space;
316 
317       -- Validate the table space name
318       BEGIN
319         EXECUTE IMMEDIATE 'SELECT 1
320                            FROM SYS.DBA_DATA_FILES
321                            WHERE tablespace_name = :1'
322                   USING    l_table_space;
323         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Table space ''' || l_table_space ||''' exists.') ;
324 
325         EXCEPTION
326           WHEN NO_DATA_FOUND THEN
327             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Table space ''' || l_table_space ||''' does not exist.') ;
328             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Table space ''' || l_table_space ||''' does not exist.') ;
329             RAISE FND_API.G_EXC_ERROR;
330 
331           WHEN OTHERS  THEN
332             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'SELECT FROM SYS.DBA_DATA_FILES is failed : '||SQLCODE||'-'|| SQLERRM) ;
333             CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'SELECT FROM SYS.DBA_DATA_FILES is failed : '||SQLCODE||'-'|| SQLERRM) ;
334             RAISE FND_API.G_EXC_ERROR;
335       END;
336 
337       -- Get the Spatial Data set profile value
338       l_data_set_name := p_dataset_name;
339       -- It was decided to use a CP parameter instead of profile for dataset name.
340       --fnd_profile.value('CSF_SPATIAL_DATASET_NAME');
341 
342       IF (l_data_set_name IS NULL OR l_data_set_name = 'NONE' ) THEN
343       -- Don't append suffix to the table names if the dataset name in none.
344         l_data_set_name := '';
345       ELSE
346         l_data_set_name := '_' || l_data_set_name;
347       END IF;
348 
349       CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Data set : ' || l_data_set_name) ;
350 
351       -- Drop all the materialized view indexes before refreshing the MVs.
352       IF p_referesh_mvs_flag = 'Y' THEN
353         CSF_SPATIAL_DATALOAD_PVT.DROP_INDEXES(l_data_set_name,'MAT',  errbuf, retcode);
354         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Dropped the MAT indexes successfully') ;
355       END IF;
356 
357       -- Compute the statistics on Spatial tables.
358       IF p_compute_statistics_flag = 'Y' THEN
359         CSF_SPATIAL_DATALOAD_PVT.COMPUTE_STATISTICS(l_data_set_name,errbuf, retcode);
360       END IF;
361 
362       IF p_referesh_mvs_flag = 'Y' THEN
363         --  Refresh Materialized views
364         CSF_SPATIAL_DATALOAD_PVT.REFRESH_MAT_VIEWS(l_data_set_name,errbuf, retcode);
365 
366         -- Create MAT indexes
367         CSF_SPATIAL_DATALOAD_PVT.CREATE_INDEXES(l_data_set_name,l_table_space, 'MAT', errbuf, retcode);
368         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'Created the MAT View indexes successfully') ;
369         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'Created the MAT View indexes successfully') ;
370 
371         -- check the index status of Materialized view indexes. Raise an error if any index is invalid
372         CSF_SPATIAL_DATALOAD_PVT.CHECK_INDEX_VALIDITY(l_data_set_name,'MAT', l_status, errbuf, retcode);
373 
374         IF (l_status <> 0) THEN
375          CSF_SPATIAL_DATALOAD_PVT.RECREATE_INVALID_INDEXES(l_data_set_name,l_table_space,'MAT', errbuf, retcode);
376         END IF;
377        END IF;
378 
379 EXCEPTION
380       WHEN FND_API.G_EXC_ERROR THEN
381         retcode := l_rc_err;
382         errbuf := l_msg_err;
383         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.POST_INST_REFRESH_MVS PROCEDURE HAS FAILED '|| SQLERRM);
384         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.POST_INST_REFRESH_MVS PROCEDURE HAS FAILED '|| SQLERRM);
385 
386       WHEN OTHERS THEN
387         retcode := l_rc_err;
388         errbuf := l_msg_err;
389         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_log,'CSF_SPATIAL_DATALOAD_PUB.POST_INST_REFRESH_MVS PROCEDURE HAS FAILED '|| SQLERRM);
390         CSF_SPATIAL_DATALOAD_PVT.put_stream(g_output,'CSF_SPATIAL_DATALOAD_PUB.POST_INST_REFRESH_MVS PROCEDURE HAS FAILED '|| SQLERRM);
391 
392 END POST_INST_REFRESH_MVS;
393 
394 
395 End CSF_SPATIAL_DATALOAD_PUB;
396