DBA Data[Home] [Help]

PACKAGE BODY: APPS.EDW_TRUNCATE_MD

Source


1 PACKAGE BODY EDW_TRUNCATE_MD AS
2 /* $Header: EDWUPMDB.pls 115.3 2002/12/06 22:33:32 sbuenits noship $  */
3    version   CONSTANT VARCHAR (80)
4             := '$Header: EDWUPMDB.pls 115.3 2002/12/06 22:33:32 sbuenits noship $';
5    g_flag             BOOLEAN      := TRUE;
6 
7    FUNCTION get_syn_info (syn_name IN VARCHAR2)
8       RETURN VARCHAR2
9    IS
10       CURSOR c_get_tbl_owner (syn_name IN VARCHAR2)
11       IS
12          SELECT table_owner
13            FROM user_synonyms
14           WHERE synonym_name = syn_name;
15 
16       l_tbl_owner   c_get_tbl_owner%ROWTYPE;
17    BEGIN
18       OPEN c_get_tbl_owner (syn_name);
19       FETCH c_get_tbl_owner INTO l_tbl_owner;
20 
21       IF c_get_tbl_owner%NOTFOUND
22       THEN
23          RAISE g_getsyn;
24       END IF;
25 
26       CLOSE c_get_tbl_owner;
27       RETURN l_tbl_owner.table_owner;
28    END get_syn_info;
29 
30    PROCEDURE clean_up (tbl_name IN VARCHAR2)
31    IS
32       l_str   VARCHAR2 (200);
33    BEGIN
34       l_str :=    'truncate table '
35                || get_syn_info (tbl_name)
36                || '.'
37                || tbl_name;
38 
39       IF g_flag
40       THEN
41          EXECUTE IMMEDIATE l_str;
42       g_flag := FALSE;
43       END IF;
44    END clean_up;
45 END edw_truncate_md;
46