1 PACKAGE BODY IGI_CC_OPSFI_INTEGRATION AS
2 /* $Header: igiaolab.pls 120.3.12000000.1 2007/07/02 08:27:49 smannava ship $ */
3
4 PROCEDURE Switch_Options IS
5 BEGIN
6 NULL;
7 END Switch_Options;
8
9 FUNCTION Is_CC_On (p_org_id igi_gcc_inst_options_all.org_id%TYPE)
10 RETURN BOOLEAN IS
11
12 l_record_count NUMBER := 0;
13 l_sql_stmt VARCHAR2(2000);
14
15 e_table_does_not_exist EXCEPTION ;
16 PRAGMA EXCEPTION_INIT(e_table_does_not_exist, -942);
17
18 BEGIN
19
20 -- Dynamic SQL used because if CC is not installed , the following
21 -- table will not exist. Which would mean the package would be
22 -- invalid.
23 l_sql_stmt := ' SELECT COUNT(*) ' ||
24 ' FROM igc_cc_routing_ctrls'||
25 ' WHERE NVL(ORG_ID,NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV(''CLIENT_INFO''),1,1), '' '', NULL, SUBSTRB(USERENV(''CLIENT_INFO''),1,10))),-99)) '||
26 ' = NVL(TO_NUMBER(DECODE(SUBSTRB(USERENV(''CLIENT_INFO''),1,1), '' '', NULL,SUBSTRB(USERENV(''CLIENT_INFO''),1,10))),-99)';
27
28 /*
29 P Org Id not used anymore for performance issues.
30 Bug 2376220
31
32 IF p_org_id IS NOT NULL
33 THEN
34 l_sql_stmt := l_sql_stmt || ' WHERE org_id = ' ||p_org_id;
35 END IF;
36 */
37
38
39 EXECUTE IMMEDIATE l_sql_stmt INTO l_record_count;
40
41 IF l_record_count > 0
42 THEN
43 RETURN TRUE;
44 ELSE
45 RETURN FALSE;
46 END IF;
47
48 EXCEPTION
49 WHEN e_table_does_not_exist
50 THEN
51 RETURN FALSE;
52
53 WHEN OTHERS
54 THEN
55 RETURN FALSE;
56
57 END Is_CC_On;
58
59 FUNCTION Is_CBC_On_For_CC_PO RETURN BOOLEAN
60 IS
61 l_record_count NUMBER := 0;
62 l_sql_stmt VARCHAR2(2000);
63
64 e_table_does_not_exist EXCEPTION ;
65 PRAGMA EXCEPTION_INIT(e_table_does_not_exist, -942);
66
67 BEGIN
68
69 -- Dynamic SQL used because if CC is not installed , the following
70 -- table will not exist. Which would mean the package would be
71 -- invalid.
72 -- Check if CBC is enabled for CC or PO for any SOB.
73 l_sql_stmt := ' SELECT COUNT(*) ' ||
74 ' FROM igc_cc_bc_enable ' ||
75 ' WHERE (NVL(cc_bc_enable_flag,''N'') = ''Y''' ||
76 ' OR NVL(cbc_po_enable, ''N'') = ''Y'')';
77
78 EXECUTE IMMEDIATE l_sql_stmt INTO l_record_count;
79
80 IF l_record_count > 0
81 THEN
82 RETURN TRUE;
83 ELSE
84 RETURN FALSE;
85 END IF;
86
87 EXCEPTION
88 WHEN e_table_does_not_exist
89 THEN
90 RETURN FALSE;
91
92 WHEN OTHERS
93 THEN
94 RETURN FALSE;
95
96 END Is_CBC_On_For_CC_PO ;
97
98 END IGI_CC_OPSFI_INTEGRATION;