DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_PTE_REQUEST_TYPES_PKG

Source


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