[Home] [Help]
PACKAGE BODY: APPS.JTF_AM_SKILL_RULES_PKG
Source
1 package body JTF_AM_SKILL_RULES_PKG as
2 /* $Header: jtfamtrb.pls 115.0 2003/01/30 23:54:34 nsinghai noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_RULE_ID in NUMBER,
6 X_DOCUMENT_TYPE in VARCHAR2,
7 X_PRODUCT_ID_PASSED in NUMBER,
8 X_CATEGORY_ID_PASSED in NUMBER,
9 X_PROBLEM_CODE_PASSED in NUMBER,
10 X_COMPONENT_ID_PASSED in NUMBER,
11 X_ACTIVE_FLAG in VARCHAR2,
12 X_OBJECT_VERSION_NUMBER in NUMBER,
13 X_ATTRIBUTE_CATEGORY in VARCHAR2,
14 X_ATTRIBUTE1 in VARCHAR2,
15 X_ATTRIBUTE2 in VARCHAR2,
16 X_ATTRIBUTE3 in VARCHAR2,
17 X_ATTRIBUTE4 in VARCHAR2,
18 X_ATTRIBUTE5 in VARCHAR2,
19 X_ATTRIBUTE6 in VARCHAR2,
20 X_ATTRIBUTE7 in VARCHAR2,
21 X_ATTRIBUTE8 in VARCHAR2,
22 X_ATTRIBUTE9 in VARCHAR2,
23 X_ATTRIBUTE10 in VARCHAR2,
24 X_ATTRIBUTE11 in VARCHAR2,
25 X_ATTRIBUTE12 in VARCHAR2,
26 X_ATTRIBUTE13 in VARCHAR2,
27 X_ATTRIBUTE14 in VARCHAR2,
28 X_ATTRIBUTE15 in VARCHAR2,
29 X_SECURITY_GROUP_ID in NUMBER,
30 X_CREATION_DATE in DATE,
31 X_CREATED_BY in NUMBER,
32 X_LAST_UPDATE_DATE in DATE,
33 X_LAST_UPDATED_BY in NUMBER,
34 X_LAST_UPDATE_LOGIN in NUMBER
35 ) is
36 cursor C is select ROWID from JTF_AM_SKILL_RULES
37 where RULE_ID = X_RULE_ID
38 ;
39 begin
40 insert into JTF_AM_SKILL_RULES (
41 RULE_ID,
42 DOCUMENT_TYPE,
43 PRODUCT_ID_PASSED,
44 CATEGORY_ID_PASSED,
45 PROBLEM_CODE_PASSED,
46 COMPONENT_ID_PASSED,
47 ACTIVE_FLAG,
48 CREATED_BY,
49 CREATION_DATE,
50 LAST_UPDATED_BY,
51 LAST_UPDATE_DATE,
52 LAST_UPDATE_LOGIN,
53 OBJECT_VERSION_NUMBER,
54 ATTRIBUTE_CATEGORY,
55 ATTRIBUTE1,
56 ATTRIBUTE2,
57 ATTRIBUTE3,
58 ATTRIBUTE4,
59 ATTRIBUTE5,
60 ATTRIBUTE6,
61 ATTRIBUTE7,
62 ATTRIBUTE8,
63 ATTRIBUTE9,
64 ATTRIBUTE10,
65 ATTRIBUTE11,
66 ATTRIBUTE12,
67 ATTRIBUTE13,
68 ATTRIBUTE14,
69 ATTRIBUTE15,
70 SECURITY_GROUP_ID
71 ) values(
72 X_RULE_ID,
73 X_DOCUMENT_TYPE,
74 X_PRODUCT_ID_PASSED,
75 X_CATEGORY_ID_PASSED,
76 X_PROBLEM_CODE_PASSED,
77 X_COMPONENT_ID_PASSED,
78 X_ACTIVE_FLAG,
79 X_CREATED_BY,
80 X_CREATION_DATE,
81 X_LAST_UPDATED_BY,
82 X_LAST_UPDATE_DATE,
83 X_LAST_UPDATE_LOGIN,
84 X_OBJECT_VERSION_NUMBER,
85 X_ATTRIBUTE_CATEGORY,
86 X_ATTRIBUTE1,
87 X_ATTRIBUTE2,
88 X_ATTRIBUTE3,
89 X_ATTRIBUTE4,
90 X_ATTRIBUTE5,
91 X_ATTRIBUTE6,
92 X_ATTRIBUTE7,
93 X_ATTRIBUTE8,
94 X_ATTRIBUTE9,
95 X_ATTRIBUTE10,
96 X_ATTRIBUTE11,
97 X_ATTRIBUTE12,
98 X_ATTRIBUTE13,
99 X_ATTRIBUTE14,
100 X_ATTRIBUTE15,
101 X_SECURITY_GROUP_ID
102 );
103
104 open c;
105 fetch c into X_ROWID;
106 if (c%notfound) then
107 close c;
108 raise no_data_found;
109 end if;
110 close c;
111
112 end INSERT_ROW;
113
114 procedure LOCK_ROW (
115 X_RULE_ID in NUMBER,
116 X_DOCUMENT_TYPE in VARCHAR2,
117 X_PRODUCT_ID_PASSED in NUMBER,
118 X_CATEGORY_ID_PASSED in NUMBER,
119 X_PROBLEM_CODE_PASSED in NUMBER,
120 X_COMPONENT_ID_PASSED in NUMBER,
121 X_ACTIVE_FLAG in VARCHAR2,
122 X_OBJECT_VERSION_NUMBER in NUMBER,
123 X_ATTRIBUTE_CATEGORY in VARCHAR2,
124 X_ATTRIBUTE1 in VARCHAR2,
125 X_ATTRIBUTE2 in VARCHAR2,
126 X_ATTRIBUTE3 in VARCHAR2,
127 X_ATTRIBUTE4 in VARCHAR2,
128 X_ATTRIBUTE5 in VARCHAR2,
129 X_ATTRIBUTE6 in VARCHAR2,
130 X_ATTRIBUTE7 in VARCHAR2,
131 X_ATTRIBUTE8 in VARCHAR2,
132 X_ATTRIBUTE9 in VARCHAR2,
133 X_ATTRIBUTE10 in VARCHAR2,
134 X_ATTRIBUTE11 in VARCHAR2,
135 X_ATTRIBUTE12 in VARCHAR2,
136 X_ATTRIBUTE13 in VARCHAR2,
137 X_ATTRIBUTE14 in VARCHAR2,
138 X_ATTRIBUTE15 in VARCHAR2,
139 X_SECURITY_GROUP_ID in NUMBER
140 ) is
141 cursor c1 is select
142 DOCUMENT_TYPE,
143 PRODUCT_ID_PASSED,
144 CATEGORY_ID_PASSED,
145 PROBLEM_CODE_PASSED,
146 COMPONENT_ID_PASSED,
147 ACTIVE_FLAG,
148 OBJECT_VERSION_NUMBER,
149 ATTRIBUTE_CATEGORY,
150 ATTRIBUTE1,
151 ATTRIBUTE2,
152 ATTRIBUTE3,
153 ATTRIBUTE4,
154 ATTRIBUTE5,
155 ATTRIBUTE6,
156 ATTRIBUTE7,
157 ATTRIBUTE8,
158 ATTRIBUTE9,
159 ATTRIBUTE10,
160 ATTRIBUTE11,
161 ATTRIBUTE12,
162 ATTRIBUTE13,
163 ATTRIBUTE14,
164 ATTRIBUTE15,
165 SECURITY_GROUP_ID,
166 RULE_ID
167 from JTF_AM_SKILL_RULES
168 where RULE_ID = X_RULE_ID
169 for update of RULE_ID nowait;
170 begin
171 for tlinfo in c1 loop
172 if ( (tlinfo.RULE_ID = X_RULE_ID)
173 AND (tlinfo.DOCUMENT_TYPE = X_DOCUMENT_TYPE)
174 AND (tlinfo.PRODUCT_ID_PASSED = X_PRODUCT_ID_PASSED)
175 AND (tlinfo.CATEGORY_ID_PASSED = X_CATEGORY_ID_PASSED)
176 AND (tlinfo.PROBLEM_CODE_PASSED = X_PROBLEM_CODE_PASSED)
177 AND (tlinfo.COMPONENT_ID_PASSED = X_COMPONENT_ID_PASSED)
178 AND (tlinfo.ACTIVE_FLAG = X_ACTIVE_FLAG)
179 AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
180 AND ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
181 OR ((tlinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
182 AND ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
183 OR ((tlinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
184 AND ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
185 OR ((tlinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
186 AND ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
187 OR ((tlinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
188 AND ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
189 OR ((tlinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
190 AND ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
191 OR ((tlinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
192 AND ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
193 OR ((tlinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
194 AND ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
195 OR ((tlinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
196 AND ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
197 OR ((tlinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
198 AND ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
199 OR ((tlinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
200 AND ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
201 OR ((tlinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
202 AND ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
203 OR ((tlinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
204 AND ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
205 OR ((tlinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
206 AND ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
207 OR ((tlinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
208 AND ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
209 OR ((tlinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
210 AND ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
211 OR ((tlinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
212 AND ((tlinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
213 OR ((tlinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
214 ) then
215 null;
216 else
217 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
218 app_exception.raise_exception;
219 end if;
220 end loop;
221 return;
222 end LOCK_ROW;
223
224 procedure UPDATE_ROW (
225 X_RULE_ID in NUMBER,
226 X_DOCUMENT_TYPE in VARCHAR2,
227 X_PRODUCT_ID_PASSED in NUMBER,
228 X_CATEGORY_ID_PASSED in NUMBER,
229 X_PROBLEM_CODE_PASSED in NUMBER,
230 X_COMPONENT_ID_PASSED in NUMBER,
231 X_ACTIVE_FLAG in VARCHAR2,
232 X_OBJECT_VERSION_NUMBER in NUMBER,
233 X_ATTRIBUTE_CATEGORY in VARCHAR2,
234 X_ATTRIBUTE1 in VARCHAR2,
235 X_ATTRIBUTE2 in VARCHAR2,
236 X_ATTRIBUTE3 in VARCHAR2,
237 X_ATTRIBUTE4 in VARCHAR2,
238 X_ATTRIBUTE5 in VARCHAR2,
239 X_ATTRIBUTE6 in VARCHAR2,
240 X_ATTRIBUTE7 in VARCHAR2,
241 X_ATTRIBUTE8 in VARCHAR2,
242 X_ATTRIBUTE9 in VARCHAR2,
243 X_ATTRIBUTE10 in VARCHAR2,
244 X_ATTRIBUTE11 in VARCHAR2,
245 X_ATTRIBUTE12 in VARCHAR2,
246 X_ATTRIBUTE13 in VARCHAR2,
247 X_ATTRIBUTE14 in VARCHAR2,
248 X_ATTRIBUTE15 in VARCHAR2,
249 X_SECURITY_GROUP_ID in NUMBER,
250 X_LAST_UPDATE_DATE in DATE,
251 X_LAST_UPDATED_BY in NUMBER,
252 X_LAST_UPDATE_LOGIN in NUMBER
253 ) is
254 begin
255 update JTF_AM_SKILL_RULES set
256 DOCUMENT_TYPE = X_DOCUMENT_TYPE,
257 PRODUCT_ID_PASSED = X_PRODUCT_ID_PASSED,
258 CATEGORY_ID_PASSED = X_CATEGORY_ID_PASSED,
259 PROBLEM_CODE_PASSED = X_PROBLEM_CODE_PASSED,
260 COMPONENT_ID_PASSED = X_COMPONENT_ID_PASSED,
261 ACTIVE_FLAG = X_ACTIVE_FLAG,
262 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
263 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
264 ATTRIBUTE1 = X_ATTRIBUTE1,
265 ATTRIBUTE2 = X_ATTRIBUTE2,
266 ATTRIBUTE3 = X_ATTRIBUTE3,
267 ATTRIBUTE4 = X_ATTRIBUTE4,
268 ATTRIBUTE5 = X_ATTRIBUTE5,
269 ATTRIBUTE6 = X_ATTRIBUTE6,
270 ATTRIBUTE7 = X_ATTRIBUTE7,
271 ATTRIBUTE8 = X_ATTRIBUTE8,
272 ATTRIBUTE9 = X_ATTRIBUTE9,
273 ATTRIBUTE10 = X_ATTRIBUTE10,
274 ATTRIBUTE11 = X_ATTRIBUTE11,
275 ATTRIBUTE12 = X_ATTRIBUTE12,
276 ATTRIBUTE13 = X_ATTRIBUTE13,
277 ATTRIBUTE14 = X_ATTRIBUTE14,
278 ATTRIBUTE15 = X_ATTRIBUTE15,
279 SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
280 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
281 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
282 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
283 where RULE_ID = X_RULE_ID ;
284
285 if (sql%notfound) then
286 raise no_data_found;
287 end if;
288 end UPDATE_ROW;
289
290 procedure DELETE_ROW (
291 X_RULE_ID in NUMBER
292 ) is
293 begin
294 delete from JTF_AM_SKILL_RULES
295 where RULE_ID = X_RULE_ID;
296
297 if (sql%notfound) then
298 raise no_data_found;
299 end if;
300
301 end DELETE_ROW;
302
303 procedure LOAD_ROW (
304 X_OWNER in VARCHAR2,
305 X_RULE_ID in NUMBER,
306 X_DOCUMENT_TYPE in VARCHAR2,
307 X_PRODUCT_ID_PASSED in NUMBER,
308 X_CATEGORY_ID_PASSED in NUMBER,
309 X_PROBLEM_CODE_PASSED in NUMBER,
310 X_COMPONENT_ID_PASSED in NUMBER,
311 X_ACTIVE_FLAG in VARCHAR2,
312 X_OBJECT_VERSION_NUMBER in NUMBER,
313 X_ATTRIBUTE1 in VARCHAR2,
314 X_ATTRIBUTE2 in VARCHAR2,
315 X_ATTRIBUTE3 in VARCHAR2,
316 X_ATTRIBUTE4 in VARCHAR2,
317 X_ATTRIBUTE5 in VARCHAR2,
318 X_ATTRIBUTE6 in VARCHAR2,
319 X_ATTRIBUTE7 in VARCHAR2,
320 X_ATTRIBUTE8 in VARCHAR2,
321 X_ATTRIBUTE9 in VARCHAR2,
322 X_ATTRIBUTE10 in VARCHAR2,
323 X_ATTRIBUTE11 in VARCHAR2,
324 X_ATTRIBUTE12 in VARCHAR2,
325 X_ATTRIBUTE13 in VARCHAR2,
326 X_ATTRIBUTE14 in VARCHAR2,
327 X_ATTRIBUTE15 in VARCHAR2,
328 X_ATTRIBUTE_CATEGORY in VARCHAR2,
329 X_SECURITY_GROUP_ID in NUMBER) IS
330
331 l_row_id rowid;
332 l_last_updated_by number := -1;
333 l_object_version_number number := 1;
334 l_user_id number ;
335
336 CURSOR c_last_updated IS
337 SELECT last_updated_by,
338 object_version_number
339 from JTF_AM_SKILL_RULES
340 WHERE rule_id = x_rule_id;
341
342 begin
343 if (X_OWNER = 'SEED') then
344 l_user_id := 1;
345 else
346 l_user_id := 0;
347 end if;
348
349 OPEN c_last_updated;
350 FETCH c_last_updated into l_last_updated_by, l_object_version_number ;
351 IF c_last_updated%NOTFOUND THEN
352 l_object_version_number := 1;
353 jtf_am_skill_rules_pkg.insert_row(
354 X_ROWID => l_row_id ,
355 X_RULE_ID => X_RULE_ID,
356 X_DOCUMENT_TYPE => X_DOCUMENT_TYPE,
357 X_PRODUCT_ID_PASSED => X_PRODUCT_ID_PASSED,
358 X_CATEGORY_ID_PASSED => X_CATEGORY_ID_PASSED,
359 X_PROBLEM_CODE_PASSED => X_PROBLEM_CODE_PASSED,
360 X_COMPONENT_ID_PASSED => X_COMPONENT_ID_PASSED,
361 X_ACTIVE_FLAG => X_ACTIVE_FLAG,
362 X_ATTRIBUTE1 => X_ATTRIBUTE1 ,
363 X_ATTRIBUTE2 => X_ATTRIBUTE2 ,
364 X_ATTRIBUTE3 => X_ATTRIBUTE3 ,
365 X_ATTRIBUTE4 => X_ATTRIBUTE4 ,
366 X_ATTRIBUTE5 => X_ATTRIBUTE5 ,
367 X_ATTRIBUTE6 => X_ATTRIBUTE6 ,
368 X_ATTRIBUTE7 => X_ATTRIBUTE7 ,
369 X_ATTRIBUTE8 => X_ATTRIBUTE8 ,
370 X_ATTRIBUTE9 => X_ATTRIBUTE9 ,
371 X_ATTRIBUTE10 => X_ATTRIBUTE10 ,
372 X_ATTRIBUTE11 => X_ATTRIBUTE11 ,
373 X_ATTRIBUTE12 => X_ATTRIBUTE12 ,
374 X_ATTRIBUTE13 => X_ATTRIBUTE13 ,
375 X_ATTRIBUTE14 => X_ATTRIBUTE14 ,
376 X_ATTRIBUTE15 => X_ATTRIBUTE15 ,
377 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY ,
378 X_SECURITY_GROUP_ID => X_SECURITY_GROUP_ID,
379 X_OBJECT_VERSION_NUMBER => l_object_version_number ,
380 X_CREATION_DATE => sysdate ,
381 X_CREATED_BY => l_user_id ,
382 X_LAST_UPDATE_DATE => sysdate ,
383 X_LAST_UPDATED_BY => l_user_id ,
384 X_LAST_UPDATE_LOGIN => 0 );
385 ELSIF c_last_updated%FOUND THEN
386 IF l_last_updated_by IN (1,0) THEN
387 l_object_version_number := l_object_version_number + 1;
388 jtf_am_skill_rules_pkg.update_row(
389 X_RULE_ID => X_RULE_ID,
390 X_DOCUMENT_TYPE => X_DOCUMENT_TYPE,
391 X_PRODUCT_ID_PASSED => X_PRODUCT_ID_PASSED,
392 X_CATEGORY_ID_PASSED => X_CATEGORY_ID_PASSED,
393 X_PROBLEM_CODE_PASSED => X_PROBLEM_CODE_PASSED,
394 X_COMPONENT_ID_PASSED => X_COMPONENT_ID_PASSED,
395 X_ACTIVE_FLAG => X_ACTIVE_FLAG,
396 X_ATTRIBUTE1 => X_ATTRIBUTE1 ,
397 X_ATTRIBUTE2 => X_ATTRIBUTE2 ,
398 X_ATTRIBUTE3 => X_ATTRIBUTE3 ,
399 X_ATTRIBUTE4 => X_ATTRIBUTE4 ,
400 X_ATTRIBUTE5 => X_ATTRIBUTE5 ,
401 X_ATTRIBUTE6 => X_ATTRIBUTE6 ,
402 X_ATTRIBUTE7 => X_ATTRIBUTE7 ,
403 X_ATTRIBUTE8 => X_ATTRIBUTE8 ,
404 X_ATTRIBUTE9 => X_ATTRIBUTE9 ,
405 X_ATTRIBUTE10 => X_ATTRIBUTE10 ,
406 X_ATTRIBUTE11 => X_ATTRIBUTE11 ,
407 X_ATTRIBUTE12 => X_ATTRIBUTE12 ,
408 X_ATTRIBUTE13 => X_ATTRIBUTE13 ,
409 X_ATTRIBUTE14 => X_ATTRIBUTE14 ,
410 X_ATTRIBUTE15 => X_ATTRIBUTE15 ,
411 X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY ,
412 X_SECURITY_GROUP_ID => X_SECURITY_GROUP_ID,
413 X_OBJECT_VERSION_NUMBER => l_object_version_number,
414 X_LAST_UPDATE_DATE => sysdate ,
415 X_LAST_UPDATED_BY => l_user_id ,
416 X_LAST_UPDATE_LOGIN => 0 );
417 END IF;
418 END IF;
422
419 CLOSE c_last_updated;
420
421 end LOAD_ROW;
423 end JTF_AM_SKILL_RULES_PKG;