DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMW_AP_STEPS_PKG

Source


1 package body AMW_AP_STEPS_PKG as
2 /* $Header: amwtstpb.pls 120.0 2005/05/31 20:56:14 appldev noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_AP_STEP_ID in NUMBER,
6   X_ATTRIBUTE4 in VARCHAR2,
7   X_ATTRIBUTE5 in VARCHAR2,
8   X_ATTRIBUTE1 in VARCHAR2,
9   X_ATTRIBUTE6 in VARCHAR2,
10   X_ATTRIBUTE7 in VARCHAR2,
11   X_ATTRIBUTE8 in VARCHAR2,
12   X_ATTRIBUTE9 in VARCHAR2,
13   X_SAMPLESIZE in NUMBER,
14   X_AUDIT_PROCEDURE_ID in NUMBER,
15   X_SEQNUM in NUMBER,
16   X_ATTRIBUTE2 in VARCHAR2,
17   X_ATTRIBUTE3 in VARCHAR2,
18   X_ATTRIBUTE10 in VARCHAR2,
19   X_ATTRIBUTE11 in VARCHAR2,
20   X_ATTRIBUTE12 in VARCHAR2,
21   X_ATTRIBUTE13 in VARCHAR2,
22   X_ATTRIBUTE14 in VARCHAR2,
23   X_ATTRIBUTE15 in VARCHAR2,
24   X_SECURITY_GROUP_ID in NUMBER,
25   X_OBJECT_VERSION_NUMBER in NUMBER,
26   X_ORIG_SYSTEM_REFERENCE in VARCHAR2,
27   X_REQUESTOR_ID in NUMBER,
28   X_ATTRIBUTE_CATEGORY in VARCHAR2,
29   X_NAME in VARCHAR2,
30   X_DESCRIPTION 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     X_FROM_REV_NUM in NUMBER,
37     X_TO_REV_NUM in NUMBER,
38     X_CSEQNUM in VARCHAR2
39 ) is
40   cursor C is select ROWID from AMW_AP_STEPS_B
41     where AP_STEP_ID = X_AP_STEP_ID
42     ;
43 begin
44   insert into AMW_AP_STEPS_B (
45     AP_STEP_ID,
46     AUDIT_PROCEDURE_ID,
47     SEQNUM,
48     SAMPLESIZE,
49     ATTRIBUTE_CATEGORY,
50     ATTRIBUTE1,
51     ATTRIBUTE2,
52     ATTRIBUTE3,
53     ATTRIBUTE4,
54     ATTRIBUTE5,
55     ATTRIBUTE6,
56     ATTRIBUTE7,
57     ATTRIBUTE8,
58     ATTRIBUTE9,
59     ATTRIBUTE10,
60     ATTRIBUTE11,
61     ATTRIBUTE12,
62     ATTRIBUTE13,
63     ATTRIBUTE14,
64     ATTRIBUTE15,
65     SECURITY_GROUP_ID,
66     OBJECT_VERSION_NUMBER,
67     ORIG_SYSTEM_REFERENCE,
68     REQUESTOR_ID,
69     CREATION_DATE,
70     CREATED_BY,
71     LAST_UPDATE_DATE,
72     LAST_UPDATED_BY,
73     LAST_UPDATE_LOGIN,
74     FROM_REV_NUM,
75     TO_REV_NUM,
76     CSEQNUM
77   ) values (
78     X_AP_STEP_ID,
79     X_AUDIT_PROCEDURE_ID,
80     X_SEQNUM,
81     X_SAMPLESIZE,
82     X_ATTRIBUTE_CATEGORY,
83     X_ATTRIBUTE1,
84     X_ATTRIBUTE2,
85     X_ATTRIBUTE3,
86     X_ATTRIBUTE4,
87     X_ATTRIBUTE5,
88     X_ATTRIBUTE6,
89     X_ATTRIBUTE7,
90     X_ATTRIBUTE8,
91     X_ATTRIBUTE9,
92     X_ATTRIBUTE10,
93     X_ATTRIBUTE11,
94     X_ATTRIBUTE12,
95     X_ATTRIBUTE13,
96     X_ATTRIBUTE14,
97     X_ATTRIBUTE15,
98     X_SECURITY_GROUP_ID,
99     X_OBJECT_VERSION_NUMBER,
100     X_ORIG_SYSTEM_REFERENCE,
101     X_REQUESTOR_ID,
102     X_CREATION_DATE,
103     X_CREATED_BY,
104     X_LAST_UPDATE_DATE,
105     X_LAST_UPDATED_BY,
106     X_LAST_UPDATE_LOGIN,
107     X_FROM_REV_NUM,
108     X_TO_REV_NUM,
109     X_CSEQNUM
110   );
111 
112   insert into AMW_AP_STEPS_TL (
113     DESCRIPTION,
114     LAST_UPDATE_LOGIN,
115     SECURITY_GROUP_ID,
116     NAME,
117     AP_STEP_ID,
118     CREATED_BY,
119     CREATION_DATE,
120     LAST_UPDATED_BY,
121     LAST_UPDATE_DATE,
122     LANGUAGE,
123     SOURCE_LANG,
124     SOURCE_LANGUAGE
125   ) select
126     X_DESCRIPTION,
127     X_LAST_UPDATE_LOGIN,
128     X_SECURITY_GROUP_ID,
129     X_NAME,
130     X_AP_STEP_ID,
131     X_CREATED_BY,
132     X_CREATION_DATE,
133     X_LAST_UPDATED_BY,
134     X_LAST_UPDATE_DATE,
135     L.LANGUAGE_CODE,
136     userenv('LANG'),
137     userenv('LANG')
138   from FND_LANGUAGES L
139   where L.INSTALLED_FLAG in ('I', 'B')
140   and not exists
141     (select NULL
142     from AMW_AP_STEPS_TL T
143     where T.AP_STEP_ID = X_AP_STEP_ID
144     and T.LANGUAGE = L.LANGUAGE_CODE);
145 
146   open c;
147   fetch c into X_ROWID;
148   if (c%notfound) then
149     close c;
150     raise no_data_found;
151   end if;
152   close c;
153 
154 end INSERT_ROW;
155 
156 procedure LOCK_ROW (
157   X_AP_STEP_ID in NUMBER,
158   X_ATTRIBUTE4 in VARCHAR2,
159   X_ATTRIBUTE5 in VARCHAR2,
160   X_ATTRIBUTE1 in VARCHAR2,
161   X_ATTRIBUTE6 in VARCHAR2,
162   X_ATTRIBUTE7 in VARCHAR2,
163   X_ATTRIBUTE8 in VARCHAR2,
164   X_ATTRIBUTE9 in VARCHAR2,
165   X_SAMPLESIZE in NUMBER,
166   X_AUDIT_PROCEDURE_ID in NUMBER,
167   X_SEQNUM in NUMBER,
168   X_ATTRIBUTE2 in VARCHAR2,
169   X_ATTRIBUTE3 in VARCHAR2,
170   X_ATTRIBUTE10 in VARCHAR2,
171   X_ATTRIBUTE11 in VARCHAR2,
172   X_ATTRIBUTE12 in VARCHAR2,
173   X_ATTRIBUTE13 in VARCHAR2,
174   X_ATTRIBUTE14 in VARCHAR2,
175   X_ATTRIBUTE15 in VARCHAR2,
176   X_SECURITY_GROUP_ID in NUMBER,
177   X_OBJECT_VERSION_NUMBER in NUMBER,
178   X_ORIG_SYSTEM_REFERENCE in VARCHAR2,
179   X_REQUESTOR_ID in NUMBER,
180   X_ATTRIBUTE_CATEGORY in VARCHAR2,
181   X_NAME in VARCHAR2,
182   X_DESCRIPTION in VARCHAR2,
183     X_FROM_REV_NUM in NUMBER,
184     X_TO_REV_NUM in NUMBER,
185     X_CSEQNUM in VARCHAR2
186 ) is
187   cursor c is select
188       AUDIT_PROCEDURE_ID,
189       SEQNUM,
190       SAMPLESIZE,
191       ATTRIBUTE_CATEGORY,
192       ATTRIBUTE1,
193       ATTRIBUTE2,
194       ATTRIBUTE3,
195       ATTRIBUTE4,
196       ATTRIBUTE5,
197       ATTRIBUTE6,
198       ATTRIBUTE7,
199       ATTRIBUTE8,
200       ATTRIBUTE9,
201       ATTRIBUTE10,
202       ATTRIBUTE11,
203       ATTRIBUTE12,
204       ATTRIBUTE13,
205       ATTRIBUTE14,
206       ATTRIBUTE15,
207       SECURITY_GROUP_ID,
208       OBJECT_VERSION_NUMBER,
209       ORIG_SYSTEM_REFERENCE,
210       REQUESTOR_ID,
211     FROM_REV_NUM,
212     TO_REV_NUM,
213     CSEQNUM
214     from AMW_AP_STEPS_B
215     where AP_STEP_ID = X_AP_STEP_ID
216     for update of AP_STEP_ID nowait;
217   recinfo c%rowtype;
218 
219   cursor c1 is select
220       NAME,
221       DESCRIPTION,
222       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
223     from AMW_AP_STEPS_TL
224     where AP_STEP_ID = X_AP_STEP_ID
225     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
226     for update of AP_STEP_ID nowait;
227 begin
228   open c;
229   fetch c into recinfo;
230   if (c%notfound) then
231     close c;
232     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
233     app_exception.raise_exception;
234   end if;
235   close c;
236   if (    (recinfo.AUDIT_PROCEDURE_ID = X_AUDIT_PROCEDURE_ID)
237       AND ((recinfo.SEQNUM = X_SEQNUM) OR ((recinfo.SEQNUM is  null) AND (X_SEQNUM is null)))
238       AND (recinfo.CSEQNUM = X_CSEQNUM)
239       AND (recinfo.FROM_REV_NUM = X_FROM_REV_NUM)
240       AND ((recinfo.TO_REV_NUM  = X_TO_REV_NUM)
241            OR ((recinfo.TO_REV_NUM is null) AND (X_TO_REV_NUM is null)))
242       AND ((recinfo.SAMPLESIZE = X_SAMPLESIZE)
243            OR ((recinfo.SAMPLESIZE is null) AND (X_SAMPLESIZE is null)))
244       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
245            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
246       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
247            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
248       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
249            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
250       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
251            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
252       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
253            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
254       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
255            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
256       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
257            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
258       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
259            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
260       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
261            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
262       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
263            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
264       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
265            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
266       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
267            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
268       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
269            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
270       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
271            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
272       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
273            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
274       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
275            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
276       AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
277            OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
278       AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
279            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
280       AND ((recinfo.ORIG_SYSTEM_REFERENCE = X_ORIG_SYSTEM_REFERENCE)
281            OR ((recinfo.ORIG_SYSTEM_REFERENCE is null) AND (X_ORIG_SYSTEM_REFERENCE is null)))
282       AND ((recinfo.REQUESTOR_ID = X_REQUESTOR_ID)
283            OR ((recinfo.REQUESTOR_ID is null) AND (X_REQUESTOR_ID is null)))
284   ) then
285     null;
286   else
287     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
288     app_exception.raise_exception;
289   end if;
290 
291   for tlinfo in c1 loop
292     if (tlinfo.BASELANG = 'Y') then
293       if (    (tlinfo.NAME = X_NAME)
294           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
295                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
296       ) then
297         null;
298       else
299         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
300         app_exception.raise_exception;
301       end if;
302     end if;
303   end loop;
304   return;
305 end LOCK_ROW;
306 
307 procedure UPDATE_ROW (
308   X_AP_STEP_ID in NUMBER,
309   X_ATTRIBUTE4 in VARCHAR2,
310   X_ATTRIBUTE5 in VARCHAR2,
311   X_ATTRIBUTE1 in VARCHAR2,
312   X_ATTRIBUTE6 in VARCHAR2,
313   X_ATTRIBUTE7 in VARCHAR2,
314   X_ATTRIBUTE8 in VARCHAR2,
315   X_ATTRIBUTE9 in VARCHAR2,
316   X_SAMPLESIZE in NUMBER,
317   X_AUDIT_PROCEDURE_ID in NUMBER,
318   X_SEQNUM in NUMBER,
319   X_ATTRIBUTE2 in VARCHAR2,
320   X_ATTRIBUTE3 in VARCHAR2,
321   X_ATTRIBUTE10 in VARCHAR2,
322   X_ATTRIBUTE11 in VARCHAR2,
323   X_ATTRIBUTE12 in VARCHAR2,
324   X_ATTRIBUTE13 in VARCHAR2,
325   X_ATTRIBUTE14 in VARCHAR2,
326   X_ATTRIBUTE15 in VARCHAR2,
327   X_SECURITY_GROUP_ID in NUMBER,
328   X_OBJECT_VERSION_NUMBER in NUMBER,
329   X_ORIG_SYSTEM_REFERENCE in VARCHAR2,
330   X_REQUESTOR_ID in NUMBER,
331   X_ATTRIBUTE_CATEGORY in VARCHAR2,
332   X_NAME in VARCHAR2,
333   X_DESCRIPTION in VARCHAR2,
334   X_LAST_UPDATE_DATE in DATE,
335   X_LAST_UPDATED_BY in NUMBER,
336   X_LAST_UPDATE_LOGIN in NUMBER,
337     X_FROM_REV_NUM in NUMBER,
338     X_TO_REV_NUM in NUMBER,
339     X_CSEQNUM in VARCHAR2
340 
341 ) is
342 begin
343   update AMW_AP_STEPS_B set
344     AUDIT_PROCEDURE_ID = X_AUDIT_PROCEDURE_ID,
345     SEQNUM = X_SEQNUM,
346     SAMPLESIZE = X_SAMPLESIZE,
347     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
348     ATTRIBUTE1 = X_ATTRIBUTE1,
349     ATTRIBUTE2 = X_ATTRIBUTE2,
350     ATTRIBUTE3 = X_ATTRIBUTE3,
354     ATTRIBUTE7 = X_ATTRIBUTE7,
351     ATTRIBUTE4 = X_ATTRIBUTE4,
352     ATTRIBUTE5 = X_ATTRIBUTE5,
353     ATTRIBUTE6 = X_ATTRIBUTE6,
355     ATTRIBUTE8 = X_ATTRIBUTE8,
356     ATTRIBUTE9 = X_ATTRIBUTE9,
357     ATTRIBUTE10 = X_ATTRIBUTE10,
358     ATTRIBUTE11 = X_ATTRIBUTE11,
359     ATTRIBUTE12 = X_ATTRIBUTE12,
360     ATTRIBUTE13 = X_ATTRIBUTE13,
361     ATTRIBUTE14 = X_ATTRIBUTE14,
362     ATTRIBUTE15 = X_ATTRIBUTE15,
363     SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
364     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
365     ORIG_SYSTEM_REFERENCE = X_ORIG_SYSTEM_REFERENCE,
366     REQUESTOR_ID = X_REQUESTOR_ID,
367     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
368     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
369     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
370     FROM_REV_NUM = X_FROM_REV_NUM,
371     TO_REV_NUM = X_TO_REV_NUM,
372     CSEQNUM = X_CSEQNUM
373   where AP_STEP_ID = X_AP_STEP_ID;
374 
375   if (sql%notfound) then
376     raise no_data_found;
377   end if;
378 
379   update AMW_AP_STEPS_TL set
380     NAME = X_NAME,
381     DESCRIPTION = X_DESCRIPTION,
382     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
383     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
384     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
385     SOURCE_LANG = userenv('LANG'),
386     SOURCE_LANGUAGE = userenv('LANG')
387   where AP_STEP_ID = X_AP_STEP_ID
388   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
389 
390   if (sql%notfound) then
391     raise no_data_found;
392   end if;
393 end UPDATE_ROW;
394 
395 procedure DELETE_ROW (
396   X_AP_STEP_ID in NUMBER
397 ) is
398 begin
399   delete from AMW_AP_STEPS_TL
400   where AP_STEP_ID = X_AP_STEP_ID;
401 
402   if (sql%notfound) then
403     raise no_data_found;
404   end if;
405 
406   delete from AMW_AP_STEPS_B
407   where AP_STEP_ID = X_AP_STEP_ID;
408 
409   if (sql%notfound) then
410     raise no_data_found;
411   end if;
412 end DELETE_ROW;
413 
414 procedure ADD_LANGUAGE
415 is
416 begin
417   delete from AMW_AP_STEPS_TL T
418   where not exists
419     (select NULL
420     from AMW_AP_STEPS_B B
421     where B.AP_STEP_ID = T.AP_STEP_ID
422     );
423 
424   update AMW_AP_STEPS_TL T set (
425       NAME,
426       DESCRIPTION
427     ) = (select
428       B.NAME,
429       B.DESCRIPTION
430     from AMW_AP_STEPS_TL B
431     where B.AP_STEP_ID = T.AP_STEP_ID
432     and B.LANGUAGE = T.SOURCE_LANG)
433   where (
434       T.AP_STEP_ID,
435       T.LANGUAGE
436   ) in (select
437       SUBT.AP_STEP_ID,
438       SUBT.LANGUAGE
439     from AMW_AP_STEPS_TL SUBB, AMW_AP_STEPS_TL SUBT
440     where SUBB.AP_STEP_ID = SUBT.AP_STEP_ID
441     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
442     and (SUBB.NAME <> SUBT.NAME
443       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
444       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
445       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
446   ));
447 
448   insert into AMW_AP_STEPS_TL (
449     DESCRIPTION,
450     LAST_UPDATE_LOGIN,
451     SECURITY_GROUP_ID,
452     NAME,
453     AP_STEP_ID,
454     CREATED_BY,
455     CREATION_DATE,
456     LAST_UPDATED_BY,
457     LAST_UPDATE_DATE,
458     LANGUAGE,
459     SOURCE_LANG,
460     SOURCE_LANGUAGE
461   ) select
462     B.DESCRIPTION,
463     B.LAST_UPDATE_LOGIN,
464     B.SECURITY_GROUP_ID,
465     B.NAME,
466     B.AP_STEP_ID,
467     B.CREATED_BY,
468     B.CREATION_DATE,
469     B.LAST_UPDATED_BY,
470     B.LAST_UPDATE_DATE,
471     L.LANGUAGE_CODE,
472     B.SOURCE_LANG,
473     B.SOURCE_LANG
474   from AMW_AP_STEPS_TL B, FND_LANGUAGES L
475   where L.INSTALLED_FLAG in ('I', 'B')
476   and B.LANGUAGE = userenv('LANG')
477   and not exists
478     (select NULL
479     from AMW_AP_STEPS_TL T
480     where T.AP_STEP_ID = B.AP_STEP_ID
481     and T.LANGUAGE = L.LANGUAGE_CODE);
482 end ADD_LANGUAGE;
483 
484 end AMW_AP_STEPS_PKG;