[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