[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