DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZPB_SECURITY_CONTEXT

Source


1 package body ZPB_SECURITY_CONTEXT as
2 /* $Header: ZPBVCTXB.pls 120.8 2007/12/04 14:38:02 mbhat ship $ */
3 
4 -- InitContext
5 --   This routine initializes the ZPB_CONTEXT.
6 --
7 -- Input
8 --   P_USER_ID:    the Apps session userId.(VARCHAR2)
9 --   P_SHADOW_ID:  the OLAP session userId.(VARCHAR2)
10 --   P_RESP_ID:    the Apps session responsibility Id.(VARCHAR2)
11 --   P_SESSION_ID: the Apps session Id. (VARCHAR2)
12 --   P_BUSINESS_AREA_ID: the EPB Business Area ID (NUMBER)
13 --
14 -- Usage Example:
15 --   CREATE CONTEXT ZPB_CONTEXT using ZPB_SECURITY_CONTEXT;
16 --   begin ZPB_SECURITY_CONTEXT.InitContext('1005262', '1005262', '1234', '5678'); end;
17 --
18 
19 PROCEDURE INITCONTEXT(P_USER_ID          IN VARCHAR2,
20                       P_SHADOW_ID        IN VARCHAR2,
21                       P_RESP_ID          IN VARCHAR2,
22                       P_SESSION_ID       IN VARCHAR2,
23                       P_BUSINESS_AREA_ID IN NUMBER)
24 IS
25 
26 BEGIN
27    DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'user_id', P_USER_ID);
28    DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'shadow_id', P_SHADOW_ID);
29    DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'resp_id', P_RESP_ID);
30    DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'session_id', P_SESSION_ID);
31    DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'business_area_id', P_BUSINESS_AREA_ID);
32 END INITCONTEXT;
33 
34 PROCEDURE INITOPENSQL		 (P_BUSINESS_AREA_ID IN NUMBER, P_LANG IN VARCHAR2)
35 
36 IS
37 
38 	l_shar_aw   varchar2(32);
39 	l_annot_aw  varchar2(32);
40 	l_zpb_pref  varchar2(8);
41 
42 BEGIN
43 
44 	select data_aw, annotation_aw into l_shar_aw, l_annot_aw
45 	from zpb_business_areas
46 	where business_area_id=P_BUSINESS_AREA_ID;
47 
48     DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'business_area_id', P_BUSINESS_AREA_ID);
49 
50 	l_zpb_pref := zpb_aw.get_schema;
51     l_zpb_pref := l_zpb_pref || '.';
52 
53 dbms_aw.execute ('aw attach ' || l_zpb_pref || 'ZPBCODE');
54 dbms_aw.execute ('aw attach ' || l_zpb_pref || l_annot_aw);
55 dbms_aw.execute ('aw attach ' || l_zpb_pref || l_shar_aw);
56 dbms_aw.execute ('aw aliaslist ' || l_zpb_pref  || l_shar_aw  ||' alias SHARED');
57 dbms_aw.execute ('aw aliaslist ' || l_zpb_pref  || l_shar_aw  ||' alias S');
58 dbms_aw.execute ('aw aliaslist ' || l_zpb_pref  || l_shar_aw  ||' alias AGGAW');
59 
60 -- if provided, limit the language dimension
61 if p_lang is not null then
62 	dbms_aw.execute ('limit ' || l_zpb_pref || l_shar_aw || '!LANG to ''' || p_lang || '''');
63 end if;
64 
65 
66 END INITOPENSQL;
67 
68   PROCEDURE INITEPBLANG(P_LANG_ID IN VARCHAR2)
69 
70    IS
71 
72    BEGIN
73     DBMS_SESSION.SET_CONTEXT('ZPB_CONTEXT', 'user_lang', P_LANG_ID);
74 
75    end INITEPBLANG;
76 
77 end ZPB_SECURITY_CONTEXT;
78