DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_PMD_OPT_DOC_UTIL

Source


1 PACKAGE BODY BSC_PMD_OPT_DOC_UTIL AS
2 /* $Header: BSCPDGB.pls 120.6 2006/04/18 15:43:12 calaw noship $ */
3 
4   G_BSC_SCHEMA VARCHAR2(100) := BSC_APPS.get_user_schema('BSC');
5   G_APPS_SCHEMA VARCHAR2(100) := BSC_APPS.get_user_schema('APPS');
6 
7   G_REL_DISPLAY_TABLE VARCHAR2(100):= 'BSC_DB_TABLES_RELS_DISPLAY';
8   G_MASTER_DISPLAY_TABLE VARCHAR2(100):= 'BSC_DB_TABLES_DISPLAY';
9   G_T_COLLAPSE_TEMP VARCHAR2(100):= G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP';
10 
11   TYPE table_mv_pair IS record(table_name varchar2(30), mv_name varchar2(30), mv_type varchar2(10));
12   TYPE table_mv_pair_tab IS TABLE OF table_mv_pair INDEX BY PLS_INTEGER;
13   l_tab_mv table_mv_pair_tab;
14 
15   TYPE v_n IS RECORD(tab_index NUMBER);
16   TYPE v_n_v is table OF v_n INDEX BY VARCHAR2(50);
17   tab_mv_index v_n_v;
18 
19   PROCEDURE DEBUG(TEXT VARCHAR2)
20   IS
21   BEGIN
22     --DBMS_OUTPUT.PUT_LINE(TEXT);
23     IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
24     --IF (FND_LOG.TEST(FND_LOG.LEVEL_ERROR, G_BSC_SCHEMA||'.BSC_PMD_OPT_DOC_UTIL')) THEN
25       FND_LOG.STRING(FND_LOG.LEVEL_ERROR, G_BSC_SCHEMA||'.BSC_PMD_OPT_DOC_UTIL',TEXT);
26     END IF;
27   END;
28 
29   Procedure POPULATE_DISPLAY_TYPE
30   IS
31   BEGIN
32     UPDATE bsc_db_tables_display
33     set DISPLAY_TYPE = 'TABLE'
34     where PHYSICAL_TYPE = 'TABLE';
35 
36     UPDATE bsc_db_tables_display
37     set DISPLAY_TYPE = 'ANALYTICAL_WORKSPACES'
38     where PHYSICAL_TYPE = 'VIEW'
39     and TABLE_NAME_DISPLAY LIKE 'BSC\_S%' ESCAPE '\'
40     and exists (SELECT 1
41                 from BSC_KPI_PROPERTIES
42                 where INDICATOR =
43                         TO_NUMBER(
44                           SUBSTR(TABLE_NAME_DISPLAY,
45                                  INSTR(TABLE_NAME_DISPLAY,'_',1,2)+1,
46                                  INSTR(TABLE_NAME_DISPLAY,'_',1,3)-INSTR(TABLE_NAME_DISPLAY,'_',1,2)-1))
47                 and PROPERTY_CODE = 'IMPLEMENTATION_TYPE'
48                 and PROPERTY_VALUE = 2);
49 
50     UPDATE bsc_db_tables_display
51     set DISPLAY_TYPE = 'VIEW'
52     where PHYSICAL_TYPE = 'VIEW'
53     and (TABLE_NAME_DISPLAY NOT LIKE 'BSC\_S%' ESCAPE '\'
54     or not exists (SELECT 1
55                    from BSC_KPI_PROPERTIES
56                    where INDICATOR =
57                            TO_NUMBER(
58                              SUBSTR(TABLE_NAME_DISPLAY,
59                                     INSTR(TABLE_NAME_DISPLAY,'_',1,2)+1,
60                                     INSTR(TABLE_NAME_DISPLAY,'_',1,3)-INSTR(TABLE_NAME_DISPLAY,'_',1,2)-1))
61                    and PROPERTY_CODE = 'IMPLEMENTATION_TYPE'
62                    and PROPERTY_VALUE = 2));
63 
64     UPDATE bsc_db_tables_display
65     set DISPLAY_TYPE = 'MATERIALIZED_VIEW'
66     where PHYSICAL_TYPE = 'MATERIALIZED VIEW';
67     commit;
68   END;
69 
70   Procedure analyze_table( p_table_name  in Varchar2) IS
71     l_bsc_schema          VARCHAR2(30);
72     l_stmt  		VARCHAR2(200);
73     l_status		VARCHAR2(30);
74     l_industry		VARCHAR2(30);
75     errbuf                varchar2(2000):=null;
76     retcode               varchar2(200):=null;
77    BEGIN
78 
79       IF (FND_INSTALLATION.GET_APP_INFO('BSC', l_status, l_industry, l_bsc_schema)) THEN
80          FND_STATS.GATHER_TABLE_STATS(errbuf,retcode, l_bsc_schema, p_table_name ) ;
81       END IF;
82    END;
83 
84 
85   PROCEDURE GEN_MASTER_DISPLAY_SUM_MODE
86   IS
87     l_stmt varchar2(32767):= '
88 select
89   TABLE_NAME TABLE_DISPLAY,
90   TABLE_TYPE,
91   null DISPLAY_TYPE,
92   ''TABLE'' PHYSICAL_TYPE
93 from bsc_db_tables
94 --where TABLE_TYPE <> 2 -- commented by Arun as we need to display D tables also in the new UI
95 
96 union /* for D tables*/  --bug 3918860
97 select
98 	TABLE_NAME TABLE_DISPLAY,
99 	2 TABLE_TYPE,
100 	null DISPLAY_TYPE,
101   	''TABLE'' PHYSICAL_TYPE
102 from
103 	bsc_db_tables_rels
104 where
105 	TABLE_NAME like ''BSC_D_%''
106 ';
107   BEGIN
108     l_stmt:='insert into ' || G_MASTER_DISPLAY_TABLE || l_stmt ;
109     execute immediate l_stmt;
110     debug('executed ' || l_stmt);
111   END;
112 
113 
114   PROCEDURE GEN_TBLREL_DISPLAY_SUM_MODE
115   IS
116     l_stmt varchar2(32767):= '
117 select *
118 from bsc_db_tables_rels
119 ';
120 
121   BEGIN
122     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
123     execute immediate l_stmt;
124     debug('executed ' || l_stmt);
125   END;
126 
127   PROCEDURE GEN_TBLREL_DISPLAY  --bug 3918860
128   IS
129     l_stmt varchar2(32767):= '
130 		select *
131 		from bsc_db_tables_rels
132 		where table_name like ''BSC_D%''
133 		';
134 
135   BEGIN
136     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
137     execute immediate l_stmt;
138     debug('executed ' || l_stmt);
139   END;
140 
141 
142 -- aguwalan : bug fix#4602415 : Modified to get the MV names from the PL/SQL table rather than expensive query
143   FUNCTION GET_MV_BY_STABLE(
144     P_STABLE              IN VARCHAR2
145   ) RETURN VARCHAR2
146   IS
147   l_mv_name   VARCHAR2(30);
148 
149   BEGIN
150     l_mv_name := null;
151     IF ( INSTR(P_STABLE, 'BSC_SB_') > 0  ) THEN
152       return null;
153     ELSIF ( INSTR(P_STABLE, 'BSC_S_') = 0 ) THEN
154       return P_STABLE;
155     END IF;
156 
157     l_mv_name := l_tab_mv(tab_mv_index(P_STABLE||'-MV').tab_index).mv_name;
158 
159     IF (l_mv_name IS NULL) THEN
160       l_mv_name := P_STABLE;
161     END IF;
162 
163     return  l_mv_name;
164   END;
165 
166 -- aguwalan : bug fix#4602415 : Modified to get the ZMV name from the PL/SQL table rather than expensive query
167   FUNCTION GET_ZMV_BY_STABLE(
168     P_STABLE              IN VARCHAR2
169   ) RETURN VARCHAR2
170   IS
171   l_zmv_name  VARCHAR2(30);
172 
173   BEGIN
174     l_zmv_name := null;
175     IF ( INSTR(P_STABLE, 'BSC_SB_') > 0  ) THEN
176       return null;
177     ELSIF ( INSTR(P_STABLE, 'BSC_S_') = 0 ) THEN
178       return P_STABLE;
179     END IF;
180     l_zmv_name := l_tab_mv(tab_mv_index(P_STABLE||'-ZMV').tab_index).mv_name;
181     IF (l_zmv_name IS NULL) THEN
182       l_zmv_name := P_STABLE;
183     END IF;
184     return  l_zmv_name;
185   END;
186 
187   FUNCTION GET_MV_BY_SBTABLE(
188     P_STABLE              IN VARCHAR2
189   ) RETURN VARCHAR2
190   IS
191   BEGIN
192     IF(P_STABLE like 'BSC_SB%') THEN
193       RETURN SUBSTR( P_STABLE, 1, INSTR(P_STABLE, '_', -1)) || 'MV' ;
194     ELSE
195       RETURN NULL;
196     END IF;
197 
198   END;
199 
200 
201 
202   PROCEDURE TRUNC_BSC_TBL(TBL_NAME VARCHAR2)
203   IS
204   BEGIN
205     execute immediate 'truncate table ' || G_BSC_SCHEMA || '.' || TBL_NAME;
206     DEBUG('executed truncate table ' || G_BSC_SCHEMA || '.' || TBL_NAME);
207   END;
208 
209 
210   PROCEDURE CREATE_BSC_TMP_TABLE(p_table varchar2, p_stmt varchar2)
211   IS
212     l_stmt varchar2(32767) := 'create table ' || p_table || ' as ' || p_stmt;
213   BEGIN
214 
215     begin
216       execute immediate 'drop table ' || p_table;
217       debug('drop table '|| p_table );
218     exception when others then
219       debug('encounter error ' || sqlerrm );
220     end;
221 
222     debug('executing: ' || l_stmt);
223     execute immediate l_stmt;
224     debug('executed');
225   END;
226 
227   PROCEDURE CREATE_BSC_T_COLLAPSE_TMP
228   IS
229     l_stmt varchar2(32767):= '
230         select * from bsc_db_tables_rels
231         where (SOURCE_TABLE_NAME like ''BSC_B%''
232         and TABLE_NAME like ''BSC_T%'') OR
233         SOURCE_TABLE_NAME like ''BSC_T%''
234     ';
235   BEGIN
236     CREATE_BSC_TMP_TABLE(G_T_COLLAPSE_TEMP, l_stmt);
237 
238     l_stmt:='create index  '||G_T_COLLAPSE_TEMP||'_U1'||' on '||G_T_COLLAPSE_TEMP||'(SOURCE_TABLE_NAME, TABLE_NAME)';
239     execute immediate l_stmt;
240     debug('executed ' || l_stmt);
241   END;
242 
243 
244   PROCEDURE MAKE_T_COLLAPSE_AND_COPY
245   IS
246     l_stmt varchar2(32767):= '
247 select distinct BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(t1.table_name) table_name_display, k.source_table_name source_table_name_display, t1.relation_type
248 from '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP t1, '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP k
249 where t1.source_table_name in (
250         select t2.table_name
251         from '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP t2
252         start with t2.source_table_name = k.source_table_name
253         connect by prior t2.table_name = t2.source_table_name
254         and t2.table_name like ''BSC_T%''
255 )
256 and t1.TABLE_NAME like ''BSC_S_%''
257 and k.source_table_name like ''BSC_B%''
258 and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(t1.table_name) is not null
259 union
260 select distinct BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(t1.table_name) table_name_display, k.source_table_name source_table_name_display, t1.relation_type
261 from '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP t1, '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP k
262 where t1.source_table_name in (
263         select t2.table_name
264         from '||G_BSC_SCHEMA||'.BSC_T_COLLAPSE_TEMP t2
265         start with t2.source_table_name = k.source_table_name
266         connect by prior t2.table_name = t2.source_table_name
267         and t2.table_name like ''BSC_T%''
268 )
269 and t1.TABLE_NAME like ''BSC_SB_%''
270 and k.source_table_name like ''BSC_B%''
271     ';
272   BEGIN
273     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
274     execute immediate l_stmt;
275     debug('executed ' || l_stmt);
276   END;
277 
278   PROCEDURE COPY_THE_REST
279   IS
280     l_stmt varchar2(32767):= '
281   select TABLE_NAME TABLE_NAME_DISPLAY, SOURCE_TABLE_NAME SOURCE_TABLE_NAME_DISPLAY, relation_type
282   from bsc_db_tables_rels
283   where (SOURCE_TABLE_NAME like ''BSC_I%''
284   or SOURCE_TABLE_NAME like ''BSC_B%'' )
285   and TABLE_NAME not like ''BSC_S%''
286   and TABLE_NAME not like ''BSC_T%''
287   and relation_type = 0
288   union
289   select distinct BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) TABLE_NAME_DISPLAY
290                   , SOURCE_TABLE_NAME SOURCE_TABLE_NAME_DISPLAY, relation_type from bsc_db_tables_rels
291   where
292       SOURCE_TABLE_NAME like ''BSC_B%''
293   and TABLE_NAME like ''BSC_S_%''
294   and TABLE_NAME not like ''BSC_SB_%''
295   and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) is not null
296   and relation_type = 0
297   union
298   select distinct BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(TABLE_NAME) TABLE_NAME_DISPLAY
299                   , SOURCE_TABLE_NAME SOURCE_TABLE_NAME_DISPLAY, relation_type from bsc_db_tables_rels
300   where
301       SOURCE_TABLE_NAME like ''BSC_B%''
302   and TABLE_NAME like ''BSC_SB_%''
303   and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(TABLE_NAME) is not null
304   and relation_type = 0
305   ';
306   BEGIN
307     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
308     execute immediate l_stmt;
309     debug('executed ' || l_stmt);
310   END;
311 
312   PROCEDURE GEN_SB2S_OR_SB2S_DISPLAY
313   IS
314     l_stmt varchar2(32767):= '
315 select distinct
316        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(TABLE_NAME) TABLE_NAME_DISPALY,
317        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(SOURCE_TABLE_NAME) SOURCE_TABLE_NAME_DISPALY,
318        RELATION_TYPE
319 from bsc_db_tables_rels
320 where source_table_name like ''BSC_SB_%''
321 and table_name like ''BSC_SB_%''
322 and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(TABLE_NAME) <>
323     BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(SOURCE_TABLE_NAME)
324 union
325 select distinct
326        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) TABLE_NAME_DISPALY,
327        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(SOURCE_TABLE_NAME) SOURCE_TABLE_NAME_DISPALY,
328        RELATION_TYPE
329 from bsc_db_tables_rels
330 where source_table_name like ''BSC_SB_%''
331 and table_name like ''BSC_S_%''
332 and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) is not null
333 ';
334   BEGIN
335     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
336     execute immediate l_stmt;
337     debug('executed ' || l_stmt);
338   END;
339 
340   PROCEDURE GEN_S2S_DISPLAY
341   IS
342     l_stmt varchar2(32767):= '
343 select distinct BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(table_name) table_name_display,
344        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(source_table_name) source_table_name_display,
345        relation_type
346 from bsc_db_tables_rels
347 where
348     SOURCE_TABLE_NAME like ''BSC_S_%''
349 and TABLE_NAME like ''BSC_S_%''
350 and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(table_name) <>
351     BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(source_table_name)
352 and relation_type = 0
353 ';
354   BEGIN
355     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
356     execute immediate l_stmt;
357     debug('executed ' || l_stmt);
358   END;
359 
360   PROCEDURE GEN_ZMV_DISPLAY
361   IS
362     l_stmt varchar2(32767):= '
363 select distinct BSC_PMD_OPT_DOC_UTIL.GET_ZMV_BY_STABLE(table_name) table_name_display,
364        BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(table_name) source_table_name_display,
365        null relation_type
366 from bsc_db_tables
367 where
368     TABLE_NAME like ''BSC_S_%''
369 and BSC_PMD_OPT_DOC_UTIL.GET_ZMV_BY_STABLE(table_name) is not null
370 ';
371   BEGIN
372     l_stmt:='insert into ' || G_REL_DISPLAY_TABLE || l_stmt ;
373     execute immediate l_stmt;
374     debug('executed ' || l_stmt);
375   END;
376 
377   PROCEDURE GEN_MASTER_DISPLAY
378   IS
379     l_stmt varchar2(32767):= '
380 select /*I and B tables*/
381   TABLE_NAME TABLE_DISPLAY,
382   TABLE_TYPE,
383   null DISPLAY_TYPE,
384   ''TABLE'' PHYSICAL_TYPE
385 from bsc_db_tables
386 where ( TABLE_NAME like ''BSC_I_%'' OR TABLE_NAME like ''BSC_B_%'' OR TABLE_NAME like ''BSC_DI_%'' )
387 union /* for _MV*/
388 select
389   BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) TABLE_DISPLAY,
390   TABLE_TYPE,
391   null DISPLAY_TYPE,
392   o.object_type PHYSICAL_TYPE
393 from bsc_db_tables, all_objects o
394 where o.owner in (:1, :2)
395 and o.object_type in (''VIEW'', ''MATERIALIZED VIEW'')
396 and TABLE_TYPE = 1
397 and TABLE_NAME like ''BSC_S_%''
398 and BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME) is not null
399 and o.object_name = BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME)
400 union /* for _ZMV*/
401 select
402   BSC_PMD_OPT_DOC_UTIL.GET_ZMV_BY_STABLE(TABLE_NAME) TABLE_DISPLAY,
403   TABLE_TYPE,
404   null DISPLAY_TYPE,
405   o.object_type PHYSICAL_TYPE
406 from bsc_db_tables, all_objects o
407 where TABLE_TYPE =1
408 and TABLE_NAME like ''BSC_S_%''
409 and BSC_PMD_OPT_DOC_UTIL.GET_ZMV_BY_STABLE(TABLE_NAME) is not null
410 and o.owner in (:3, :4)
411 and o.object_type in (''VIEW'', ''MATERIALIZED VIEW'')
412 and o.object_name = BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_STABLE(TABLE_NAME)
413 union /* for SB tables*/
414 select
415   BSC_PMD_OPT_DOC_UTIL.GET_MV_BY_SBTABLE(TABLE_NAME) TABLE_DISPLAY,
416   TABLE_TYPE,
417   null DISPLAY_TYPE,
418   ''TABLE'' PHYSICAL_TYPE
419 from bsc_db_tables
420 where TABLE_TYPE = 1
421 and TABLE_NAME like ''BSC_SB_%''
422 union /* for D tables*/  --bug 3918860
423 select
424 	TABLE_NAME TABLE_DISPLAY,
425 	2 TABLE_TYPE,
426 	null DISPLAY_TYPE,
427   	''TABLE'' PHYSICAL_TYPE
428 from
429 	bsc_db_tables_rels
430 where
431 	TABLE_NAME like ''BSC_D_%''
432 ';
433   BEGIN
434     l_stmt:='insert into ' || G_MASTER_DISPLAY_TABLE || l_stmt ;
435     execute immediate l_stmt using G_APPS_SCHEMA, G_BSC_SCHEMA, G_APPS_SCHEMA, G_BSC_SCHEMA;
436     debug('executed ' || l_stmt);
437   END;
438 
439 -- aguwalan : bug fix#4602415 : Added code to build PL/SQL table rather than expensive query
440 PROCEDURE BUILD_STABLE_MV_ZMV_REP
441 IS
442   CURSOR build_table_mv IS
443     SELECT distinct TABLE_NAME,MV_NAME,decode(substr(MV_NAME,-3),'ZMV','ZMV','MV') mv_type FROM BSC_KPI_DATA_TABLES where MV_NAME is not null;
444 BEGIN
445   OPEN build_table_mv;
446   LOOP
447     FETCH build_table_mv BULK COLLECT INTO l_tab_mv;
448     EXIT WHEN build_table_mv%NOTFOUND;
449   END LOOP;
450   CLOSE build_table_mv;
451   FOR i IN 1..l_tab_mv.count LOOP
452     tab_mv_index(l_tab_mv(i).table_name||'-'||l_tab_mv(i).mv_type).tab_index:=i;
453   END LOOP;
454 
455 END;
456 
457   PROCEDURE GEN_TBL_RELS_DISPLAY
458   IS
459   BEGIN
460     TRUNC_BSC_TBL(G_REL_DISPLAY_TABLE);
461     TRUNC_BSC_TBL(G_MASTER_DISPLAY_TABLE);
462     BUILD_STABLE_MV_ZMV_REP;
463     IF (fnd_profile.value('BSC_ADVANCED_SUMMARIZATION_LEVEL') is not null ) THEN
464       CREATE_BSC_T_COLLAPSE_TMP;
465       MAKE_T_COLLAPSE_AND_COPY;
466       COPY_THE_REST;
467       GEN_S2S_DISPLAY;
468       GEN_SB2S_OR_SB2S_DISPLAY;
469       GEN_ZMV_DISPLAY;
470 
471       GEN_MASTER_DISPLAY;
472       GEN_TBLREL_DISPLAY; --bug 3918860
473     ELSE
474       GEN_MASTER_DISPLAY_SUM_MODE;
475       GEN_TBLREL_DISPLAY_SUM_MODE;
476     END IF;
477     commit;
478     POPULATE_DISPLAY_TYPE;
479 
480     analyze_table(G_REL_DISPLAY_TABLE);
481     analyze_table(G_MASTER_DISPLAY_TABLE);
482   END;
483 
484 
485   /*
486    * For bug: 3662676
487    *          Release the restriction on BSC_S_%, per tal with arun, per tal with arun
488    *          it will work for other type of table renaming from now on.
489    */
490   PROCEDURE RENAME_TBL_RELS_DISPLAY(
491     P_OLD              IN VARCHAR2,
492     P_NEW              IN VARCHAR2
493   ) IS
494   BEGIN
495     UPDATE BSC_DB_TABLES_DISPLAY
496     SET TABLE_NAME_DISPLAY = P_NEW
497     WHERE TABLE_NAME_DISPLAY = P_OLD;
498     --AND P_NEW like 'BSC_S_%'
499     --AND P_OLD like 'BSC_S_%';
500 
501     UPDATE BSC_DB_TABLES_RELS_DISPLAY
502     SET SOURCE_TABLE_NAME_DISPLAY = P_NEW
503     WHERE SOURCE_TABLE_NAME_DISPLAY = P_OLD;
504     --AND P_NEW like 'BSC_S_%'
505     --AND P_OLD like 'BSC_S_%';
506 
507     COMMIT;
508   END;
509 
510 END BSC_PMD_OPT_DOC_UTIL;