[Home] [Help]
PACKAGE BODY: APPS.XLA_EVENT_CLASS_PREDECS_F_PKG
Source
1 PACKAGE BODY xla_event_class_predecs_f_pkg AS
2 /* $Header: xlatbecp.pkb 120.1 2005/04/20 20:19:56 dcshah noship $ */
3 /*======================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_event_class_predecs_f_pkg |
10 | |
11 | DESCRIPTION |
12 | Forms PL/SQL Wrapper for xla_event_class_predecs |
13 | |
14 | HISTORY |
15 | 05/22/01 Dimple Shah Created |
16 | |
17 +======================================================================*/
18
19
20
21 /*======================================================================+
22 | |
23 | Procedure insert_row |
24 | |
25 +======================================================================*/
26 PROCEDURE insert_row
27 (x_rowid IN OUT NOCOPY VARCHAR2
28 ,x_application_id IN NUMBER
29 ,x_event_class_code IN VARCHAR2
30 ,x_prior_event_class_code IN VARCHAR2
31 ,x_creation_date IN DATE
32 ,x_created_by IN NUMBER
33 ,x_last_update_date IN DATE
34 ,x_last_updated_by IN NUMBER
35 ,x_last_update_login IN NUMBER)
36
37 IS
38
39 CURSOR c IS
40 SELECT rowid
41 FROM xla_event_class_predecs
42 WHERE application_id = x_application_id
43 AND event_class_code = x_event_class_code
44 AND prior_event_class_code = x_prior_event_class_code;
45
46 BEGIN
47 xla_utility_pkg.trace('> .insert_row' ,20);
48
49 INSERT INTO xla_event_class_predecs
50 (creation_date
51 ,created_by
52 ,application_id
53 ,event_class_code
54 ,prior_event_class_code
55 ,object_version_number
56 ,last_update_date
57 ,last_updated_by
58 ,last_update_login)
59 VALUES
60 (x_creation_date
61 ,x_created_by
62 ,x_application_id
63 ,x_event_class_code
64 ,x_prior_event_class_code
65 ,1
66 ,x_last_update_date
67 ,x_last_updated_by
68 ,x_last_update_login)
69 ;
70
71 OPEN c;
72 FETCH c INTO x_rowid;
73
74 IF (c%NOTFOUND) THEN
75 CLOSE c;
76 RAISE NO_DATA_FOUND;
77 END IF;
78 CLOSE c;
79
80 xla_utility_pkg.trace('< .insert_row' ,20);
81 END insert_row;
82
83 /*======================================================================+
84 | |
85 | Procedure delete_row |
86 | |
87 +======================================================================*/
88 PROCEDURE delete_row
89 (x_application_id IN NUMBER
90 ,x_event_class_code IN VARCHAR2
91 ,x_prior_event_class_code IN VARCHAR2)
92
93 IS
94
95 BEGIN
96 xla_utility_pkg.trace('> .delete_row' ,20);
97 DELETE FROM xla_event_class_predecs
98 WHERE application_id = x_application_id
99 AND event_class_code = x_event_class_code
100 AND prior_event_class_code = x_prior_event_class_code;
101
102 IF (SQL%NOTFOUND) THEN
103 RAISE NO_DATA_FOUND;
104 END IF;
105
106 xla_utility_pkg.trace('< .delete_row' ,20);
107 END delete_row;
108
109 /*======================================================================+
110 | |
111 | Procedure lock_row |
112 | |
113 +======================================================================*/
114 PROCEDURE lock_row
115 (x_rowid IN OUT NOCOPY VARCHAR2
116 ,x_application_id IN NUMBER
117 ,x_event_class_code IN VARCHAR2
118 ,x_prior_event_class_code IN VARCHAR2)
119
120 IS
121
122 CURSOR c IS
123 SELECT application_id
124 ,event_class_code
125 ,prior_event_class_code
126 FROM xla_event_class_predecs
127 WHERE application_id = x_application_id
128 AND event_class_code = x_event_class_code
129 AND prior_event_class_code = x_prior_event_class_code
130 FOR UPDATE OF application_id NOWAIT;
131
132 recinfo c%ROWTYPE;
133
134 BEGIN
135 xla_utility_pkg.trace('> .lock_row' ,20);
136
137 OPEN c;
138 FETCH c INTO recinfo;
139
140 IF (c%NOTFOUND) THEN
141 CLOSE c;
142 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
143 app_exception.raise_exception;
144 END IF;
145 CLOSE c;
146
147 IF ( (recinfo.application_id = x_application_id)
148 AND (recinfo.event_class_code = x_event_class_code)
149 AND (recinfo.prior_event_class_code = x_prior_event_class_code)
150 ) THEN
151 null;
152 ELSE
153 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
154 app_exception.raise_exception;
155 END IF;
156
157 xla_utility_pkg.trace('< .lock_row' ,20);
158 RETURN;
159
160 END lock_row;
161
162 /*======================================================================+
163 | |
164 | Procedure load_row |
165 | |
166 +======================================================================*/
167 PROCEDURE load_row
168 (p_application_short_name IN VARCHAR2
169 ,p_event_class_code IN VARCHAR2
170 ,p_prior_event_class_code IN VARCHAR2
171 ,p_owner IN VARCHAR2
172 ,p_last_update_date IN VARCHAR2)
173 IS
174
175 l_view_application_id number(38);
176 l_flex_application_id number(38);
177 l_application_id number(38);
178 l_flex_value_set_id number(38);
179 l_rowid ROWID;
180 l_exist VARCHAR2(1);
181 f_luby number(38); -- entity owner in file
182 f_ludate date; -- entity update date in file
183 db_luby number(38); -- entity owner in db
184 db_ludate date; -- entity update date in db
185
186 CURSOR c_appl
187 IS
188 SELECT application_id
189 FROM fnd_application
190 WHERE application_short_name = p_application_short_name;
191
192 BEGIN
193
194 OPEN c_appl;
195 FETCH c_appl
196 INTO l_application_id;
197 CLOSE c_appl;
198
199 -- Translate owner to file_last_updated_by
200 f_luby := fnd_load_util.owner_id(p_owner);
201
202 -- Translate char last_update_date to date
203 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
204
205 BEGIN
206
207 SELECT last_updated_by, last_update_date
208 INTO db_luby, db_ludate
209 FROM xla_event_class_predecs
210 WHERE application_id = l_application_id
211 AND event_class_code = p_event_class_code
212 AND prior_event_class_code = p_prior_event_class_code;
213
214 EXCEPTION
215
216 WHEN NO_DATA_FOUND THEN
217 xla_event_class_predecs_f_pkg.insert_row
218 (x_rowid => l_rowid
219 ,x_application_id => l_application_id
220 ,x_event_class_code => p_event_class_code
221 ,x_prior_event_class_code => p_prior_event_class_code
222 ,x_creation_date => f_ludate
223 ,x_created_by => f_luby
224 ,x_last_update_date => f_ludate
225 ,x_last_updated_by => f_luby
226 ,x_last_update_login => 0);
227
228 END;
229
230 EXCEPTION
231 WHEN NO_DATA_FOUND THEN
232 null;
233 WHEN OTHERS THEN
234 xla_exceptions_pkg.raise_message
235 (p_location => 'xla_event_class_predecs_f_pkg.load_row');
236
237 END load_row;
238
239 end xla_event_class_predecs_f_pkg;