[Home] [Help]
PACKAGE BODY: APPS.CS_KB_SESSION_PKG
Source
1 PACKAGE BODY CS_KB_SESSION_PKG AS
2 /* $Header: cskbsesb.pls 120.0 2005/06/01 10:14:37 appldev noship $ */
3
4 procedure INSERT_ROW
5 (
6 X_ROWID OUT NOCOPY VARCHAR2,
7 X_SESSION_ID OUT NOCOPY NUMBER,
8 P_SOURCE_OBJECT_CODE in VARCHAR2,
9 P_SOURCE_OBJECT_ID in NUMBER,
10 P_CREATION_DATE in DATE,
11 P_CREATED_BY in NUMBER,
12 P_LAST_UPDATE_DATE in DATE,
13 P_LAST_UPDATED_BY in NUMBER,
14 P_LAST_UPDATE_LOGIN in NUMBER
15 )
16 is
17 cursor getNewSessionIdCsr is
18 select cs_kb_sessions_s.nextval
19 from dual;
20
21 cursor verifyRowCursor is
22 select ROWID
23 from CS_KB_SESSIONS
24 where SESSION_ID = X_SESSION_ID;
25 begin
26
27 /* Get a new data id */
28 OPEN getNewSessionIdCsr;
29 FETCH getNewSessionIdCsr INTO X_SESSION_ID;
30 CLOSE getNewSessionIdCsr;
31
32 insert into cs_kb_sessions
33 (
34 session_id,
35 source_object_id,
36 source_object_code,
37 creation_date,
38 created_by,
39 last_update_date,
40 last_updated_by,
41 last_update_login
42 )
43 values
44 (
45 x_session_id,
46 p_source_object_id,
47 p_source_object_code,
48 p_creation_date,
49 p_created_by,
50 p_last_update_date,
51 p_last_updated_by,
52 p_last_update_login
53 );
54
55 OPEN verifyRowCursor;
56 FETCH verifyRowCursor INTO x_rowid;
57 IF ( verifyRowCursor%NOTFOUND)
58 THEN
59 CLOSE verifyRowCursor;
60 RAISE NO_DATA_FOUND;
61 ELSE
62 CLOSE verifyRowCursor;
63 END IF;
64
65 end INSERT_ROW;
66
67 procedure UPDATE_ROW
68 (
69 P_SESSION_ID in NUMBER,
70 P_SOURCE_OBJECT_CODE in VARCHAR2,
71 P_SOURCE_OBJECT_ID in NUMBER,
72 P_LAST_UPDATE_DATE in DATE,
73 P_LAST_UPDATED_BY in NUMBER,
74 P_LAST_UPDATE_LOGIN in NUMBER
75 )
76 is
77 begin
78 update cs_kb_sessions
79 set
80 source_object_id = p_source_object_id,
81 source_object_code = p_source_object_code,
82 last_update_date = p_last_update_date,
83 last_updated_by = p_last_updated_by,
84 last_update_login = p_last_update_login
85 where session_id = P_SESSION_ID;
86
87 if(SQL%NOTFOUND)
88 then
89 raise NO_DATA_FOUND;
90 end if;
91 end UPDATE_ROW;
92
93 procedure DELETE_ROW
94 (
95 P_SESSION_ID in NUMBER
96 )
97 is
98 begin
99 delete from cs_kb_sessions
100 where session_id = P_SESSION_ID;
101 if(sql%notfound) then
102 raise no_data_found;
103 end if;
104 end DELETE_ROW;
105
106
107 procedure LOAD_ROW
108 (
109 P_SESSION_ID in NUMBER,
110 P_SOURCE_OBJECT_CODE in VARCHAR2,
111 P_SOURCE_OBJECT_ID in NUMBER,
112 P_OWNER in VARCHAR2
113 )
114 is
115 l_user_id number;
116 l_rowid varchar2(100);
117 l_session_id number := p_session_id;
118 begin
119 if ( p_owner = 'SEED' ) then
120 l_user_id := 1;
121 else
122 l_user_id := 0;
123 end if;
124
125 update_row
126 (
127 p_session_id => p_session_id,
128 p_source_object_code => p_source_object_code,
129 p_source_object_id => p_source_object_id,
130 p_last_update_date => sysdate,
131 p_last_updated_by => l_user_id,
132 p_last_update_login => 0
133 );
134
135 exception
136 when no_data_found
137 then
138 insert_row
139 (
140 x_rowid => l_rowid,
141 x_session_id => l_session_id,
142 p_source_object_code => p_source_object_code,
143 p_source_object_id => p_source_object_id,
144 p_creation_date => sysdate,
145 p_created_by => l_user_id,
146 p_last_update_date => sysdate,
147 p_last_updated_by => l_user_id,
148 p_last_update_login => 0
149 );
150
151 end LOAD_ROW;
152
153
154 END CS_KB_SESSION_PKG;