DBA Data[Home] [Help]

PACKAGE BODY: APPS.OWA_INIT

Source


1 package body OWA_INIT as
2 /* $Header: AFOAUTHB.pls 115.4 99/07/16 23:25:31 porting  $ */
3 
4 --
5 -- Authorize
6 --   Global DCD Authorization callback function
7 --   It is used when DCD's authorization scheme is set to GLOBAL.
8 --
9 function authorize return boolean is
10   curproc varchar2(100);
11   x_package varchar2(100);
12   dot_location number;
13   dummy number;
14   found boolean := FALSE;
15 
16   cursor proc_curs(v_procedure varchar2) is
17     SELECT 1
18     FROM   FND_ENABLED_PLSQL
19     WHERE  PLSQL_TYPE = 'PROCEDURE'
20     AND    PLSQL_NAME = v_procedure
21     AND    ENABLED = 'Y';
22 
23   cursor pack_curs(v_pack varchar2, v_packproc varchar2) is
24     SELECT 1
25     FROM   FND_ENABLED_PLSQL
26     WHERE  (  (PLSQL_TYPE = 'PACKAGE' AND PLSQL_NAME = v_pack)
27            OR (PLSQL_TYPE = 'PACKAGE.PROCEDURE' AND PLSQL_NAME = v_packproc))
28     AND    ENABLED = 'Y';
29 
30 begin
31   curproc := owa_util.get_procedure;
32   dot_location := instr(curproc, '.');
33 
34   if (dot_location = 0) then
35     -- This is a procedure
36     -- Check for procedure match.
37     open proc_curs(curproc);
38     fetch proc_curs into dummy;
39     if (proc_curs%found) then
40       found := TRUE;
41     end if;
42     close proc_curs;
43   else
44     -- This is a package.procedure
45     -- Check for either package or package.procedure match.
46     x_package := substr(curproc, 0, dot_location-1);
47 
48     open pack_curs(x_package, curproc);
49     fetch pack_curs into dummy;
50     if (pack_curs%found) then
51       found := TRUE;
52     end if;
53     close pack_curs;
54   end if;
55 
56   if (found) then
57     return TRUE;
58   else
59     owa_sec.set_protection_realm('SECURITY ERROR');
60     return FALSE;
61   end if;
62 end authorize;
63 
64 begin -- OWA_INIT package initialization
65 
66    -- Set the PL/SQL Agent's authorization scheme.
67    --   This should be modified to reflect the authorization need of
68    --   your Database Connection Descriptor (DCD)
69    owa_sec.set_authorization(OWA_SEC.GLOBAL);
70 end OWA_INIT;