DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_FLEET_HEADERS_PKG

Source


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