DBA Data[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;