DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_CC_OPSFI_INTEGRATION

Source


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;