DBA Data[Home] [Help]

PACKAGE BODY: APPS.GML_OP_ORDR_TYP_PKG

Source


1 package body GML_OP_ORDR_TYP_PKG as
2 /* $Header: GMLOTYPB.pls 115.7 2002/11/08 06:27:19 gmangari ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_ORDER_TYPE in NUMBER,
6   X_LANG_CODE in VARCHAR2,
7   X_INVEN_TRANS_TYPE in NUMBER,
8   X_SHIPMENT_IND in NUMBER,
9   X_INVOICE_IND in NUMBER,
10   X_PICKINGLST_IND in NUMBER,
11   X_EXPORTDOC_IND in NUMBER,
12   X_TOTALORD_IND in NUMBER,
13   X_UPDATE_SALESHIST in NUMBER,
14   X_CREDITCHK_TYPE in NUMBER,
15   X_PRICE_ORDER in NUMBER,
16   X_CALC_COMM_IND in NUMBER,
17   X_CALC_TAX_IND in NUMBER,
18   X_PRODORDR_IND in NUMBER,
19   X_SHIPTO_REQUIRED in NUMBER,
20   X_UPDATE_AUDITTRAIL in NUMBER,
21   X_ORDER_LEADTIME in NUMBER,
22   X_TRANS_CNT in NUMBER,
23   X_TEXT_CODE in NUMBER,
24   X_DELETE_MARK in NUMBER,
25   X_ORDER_TYPE_CODE in VARCHAR2,
26   X_ORDER_TYPE_DESC in VARCHAR2,
27   X_CREATION_DATE in DATE,
28   X_CREATED_BY in NUMBER,
29   X_LAST_UPDATE_DATE in DATE,
30   X_LAST_UPDATED_BY in NUMBER,
31   X_LAST_UPDATE_LOGIN in NUMBER
32 ) is
33   cursor C is select ROWID from OP_ORDR_TYP_B
34     where ORDER_TYPE = X_ORDER_TYPE
35     ;
36 begin
37   insert into OP_ORDR_TYP_B (
38     ORDER_TYPE,
39     ORDER_TYPE_CODE,
40     LANG_CODE,
41     INVEN_TRANS_TYPE,
42     SHIPMENT_IND,
43     INVOICE_IND,
44     PICKINGLST_IND,
45     EXPORTDOC_IND,
46     TOTALORD_IND,
47     UPDATE_SALESHIST,
48     CREDITCHK_TYPE,
49     PRICE_ORDER,
50     CALC_COMM_IND,
51     CALC_TAX_IND,
52     PRODORDR_IND,
53     SHIPTO_REQUIRED,
54     UPDATE_AUDITTRAIL,
55     ORDER_LEADTIME,
56     TRANS_CNT,
57     TEXT_CODE,
58     DELETE_MARK,
59     CREATION_DATE,
60     CREATED_BY,
61     LAST_UPDATE_DATE,
62     LAST_UPDATED_BY,
63     LAST_UPDATE_LOGIN
64   ) values (
65     X_ORDER_TYPE,
66     X_ORDER_TYPE_CODE,
67     X_LANG_CODE,
68     X_INVEN_TRANS_TYPE,
69     X_SHIPMENT_IND,
70     X_INVOICE_IND,
71     X_PICKINGLST_IND,
72     X_EXPORTDOC_IND,
73     X_TOTALORD_IND,
74     X_UPDATE_SALESHIST,
75     X_CREDITCHK_TYPE,
76     X_PRICE_ORDER,
77     X_CALC_COMM_IND,
78     X_CALC_TAX_IND,
79     X_PRODORDR_IND,
80     X_SHIPTO_REQUIRED,
81     X_UPDATE_AUDITTRAIL,
82     X_ORDER_LEADTIME,
83     X_TRANS_CNT,
84     X_TEXT_CODE,
85     X_DELETE_MARK,
86     X_CREATION_DATE,
87     X_CREATED_BY,
88     X_LAST_UPDATE_DATE,
89     X_LAST_UPDATED_BY,
90     X_LAST_UPDATE_LOGIN
91   );
92 
93   insert into OP_ORDR_TYP_TL (
94     ORDER_TYPE,
95     ORDER_TYPE_CODE,
96     ORDER_TYPE_DESC,
97     CREATED_BY,
98     LAST_UPDATED_BY,
99     CREATION_DATE,
100     LAST_UPDATE_DATE,
101     LAST_UPDATE_LOGIN,
102     LANGUAGE,
103     SOURCE_LANG
104   ) select
105     X_ORDER_TYPE,
106     X_ORDER_TYPE_CODE,
107     X_ORDER_TYPE_DESC,
108     X_CREATED_BY,
109     X_LAST_UPDATED_BY,
110     X_CREATION_DATE,
111     X_LAST_UPDATE_DATE,
112     X_LAST_UPDATE_LOGIN,
113     L.LANGUAGE_CODE,
114     userenv('LANG')
115   from FND_LANGUAGES L
116   where L.INSTALLED_FLAG in ('I', 'B')
117   and not exists
118     (select NULL
119     from OP_ORDR_TYP_TL T
120     where T.ORDER_TYPE = X_ORDER_TYPE
121     and T.LANGUAGE = L.LANGUAGE_CODE);
122 
123   open c;
124   fetch c into X_ROWID;
125   if (c%notfound) then
126     close c;
127     raise no_data_found;
128   end if;
129   close c;
130 
131 end INSERT_ROW;
132 
133 procedure LOCK_ROW (
134   X_ORDER_TYPE in NUMBER,
135   X_LANG_CODE in VARCHAR2,
136   X_INVEN_TRANS_TYPE in NUMBER,
137   X_SHIPMENT_IND in NUMBER,
138   X_INVOICE_IND in NUMBER,
139   X_PICKINGLST_IND in NUMBER,
140   X_EXPORTDOC_IND in NUMBER,
141   X_TOTALORD_IND in NUMBER,
142   X_UPDATE_SALESHIST in NUMBER,
143   X_CREDITCHK_TYPE in NUMBER,
144   X_PRICE_ORDER in NUMBER,
145   X_CALC_COMM_IND in NUMBER,
146   X_CALC_TAX_IND in NUMBER,
147   X_PRODORDR_IND in NUMBER,
148   X_SHIPTO_REQUIRED in NUMBER,
149   X_UPDATE_AUDITTRAIL in NUMBER,
150   X_ORDER_LEADTIME in NUMBER,
151   X_TRANS_CNT in NUMBER,
152   X_TEXT_CODE in NUMBER,
153   X_DELETE_MARK in NUMBER,
154   X_ORDER_TYPE_CODE in VARCHAR2,
155   X_ORDER_TYPE_DESC in VARCHAR2
156 ) is
157   cursor c is select
158       LANG_CODE,
159       INVEN_TRANS_TYPE,
160       SHIPMENT_IND,
161       INVOICE_IND,
162       PICKINGLST_IND,
163       EXPORTDOC_IND,
164       TOTALORD_IND,
165       UPDATE_SALESHIST,
166       CREDITCHK_TYPE,
167       PRICE_ORDER,
168       CALC_COMM_IND,
169       CALC_TAX_IND,
170       PRODORDR_IND,
171       SHIPTO_REQUIRED,
172       UPDATE_AUDITTRAIL,
173       ORDER_LEADTIME,
174       TRANS_CNT,
175       TEXT_CODE,
176       DELETE_MARK
177     from OP_ORDR_TYP_B
178     where ORDER_TYPE = X_ORDER_TYPE
179     for update of ORDER_TYPE nowait;
180   recinfo c%rowtype;
181 
182   cursor c1 is select
183       ORDER_TYPE_CODE,
184       ORDER_TYPE_DESC,
185       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
186     from OP_ORDR_TYP_TL
187     where ORDER_TYPE = X_ORDER_TYPE
188     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
189     for update of ORDER_TYPE nowait;
190 begin
191   open c;
192   fetch c into recinfo;
193   if (c%notfound) then
194     close c;
195     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
196     app_exception.raise_exception;
197   end if;
198   close c;
199   if (    (recinfo.INVEN_TRANS_TYPE = X_INVEN_TRANS_TYPE)
200       AND (recinfo.SHIPMENT_IND = X_SHIPMENT_IND)
201       AND (recinfo.INVOICE_IND = X_INVOICE_IND)
202       AND (recinfo.PICKINGLST_IND = X_PICKINGLST_IND)
203       AND (recinfo.EXPORTDOC_IND = X_EXPORTDOC_IND)
204       AND (recinfo.TOTALORD_IND = X_TOTALORD_IND)
205       AND (recinfo.UPDATE_SALESHIST = X_UPDATE_SALESHIST)
206       AND (recinfo.CREDITCHK_TYPE = X_CREDITCHK_TYPE)
207       AND (recinfo.PRICE_ORDER = X_PRICE_ORDER)
208       AND (recinfo.CALC_COMM_IND = X_CALC_COMM_IND)
209       AND (recinfo.CALC_TAX_IND = X_CALC_TAX_IND)
210       AND (recinfo.PRODORDR_IND = X_PRODORDR_IND)
211       AND (recinfo.SHIPTO_REQUIRED = X_SHIPTO_REQUIRED)
212       AND (recinfo.UPDATE_AUDITTRAIL = X_UPDATE_AUDITTRAIL)
213       AND (recinfo.ORDER_LEADTIME = X_ORDER_LEADTIME)
214       AND (recinfo.TRANS_CNT = X_TRANS_CNT)
215       AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
216            OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
217       AND (recinfo.DELETE_MARK = X_DELETE_MARK)
218   ) then
219     null;
220   else
221     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
222     app_exception.raise_exception;
223   end if;
224 
225   for tlinfo in c1 loop
226     if (tlinfo.BASELANG = 'Y') then
227       if (    (tlinfo.ORDER_TYPE_CODE = X_ORDER_TYPE_CODE)
228           AND (tlinfo.ORDER_TYPE_DESC = X_ORDER_TYPE_DESC)
229       ) then
230         null;
231       else
232         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
233         app_exception.raise_exception;
234       end if;
235     end if;
236   end loop;
237   return;
238 end LOCK_ROW;
239 
240 procedure UPDATE_ROW (
241   X_ORDER_TYPE in NUMBER,
242   X_LANG_CODE in VARCHAR2,
243   X_INVEN_TRANS_TYPE in NUMBER,
244   X_SHIPMENT_IND in NUMBER,
245   X_INVOICE_IND in NUMBER,
246   X_PICKINGLST_IND in NUMBER,
247   X_EXPORTDOC_IND in NUMBER,
248   X_TOTALORD_IND in NUMBER,
249   X_UPDATE_SALESHIST in NUMBER,
250   X_CREDITCHK_TYPE in NUMBER,
251   X_PRICE_ORDER in NUMBER,
252   X_CALC_COMM_IND in NUMBER,
253   X_CALC_TAX_IND in NUMBER,
254   X_PRODORDR_IND in NUMBER,
255   X_SHIPTO_REQUIRED in NUMBER,
256   X_UPDATE_AUDITTRAIL in NUMBER,
257   X_ORDER_LEADTIME in NUMBER,
258   X_TRANS_CNT in NUMBER,
259   X_TEXT_CODE in NUMBER,
260   X_DELETE_MARK in NUMBER,
261   X_ORDER_TYPE_CODE in VARCHAR2,
262   X_ORDER_TYPE_DESC in VARCHAR2,
263   X_LAST_UPDATE_DATE in DATE,
264   X_LAST_UPDATED_BY in NUMBER,
265   X_LAST_UPDATE_LOGIN in NUMBER
266 ) is
267 begin
268   update OP_ORDR_TYP_B set
269     LANG_CODE = X_LANG_CODE,
270     INVEN_TRANS_TYPE = X_INVEN_TRANS_TYPE,
271     SHIPMENT_IND = X_SHIPMENT_IND,
272     INVOICE_IND = X_INVOICE_IND,
273     PICKINGLST_IND = X_PICKINGLST_IND,
274     EXPORTDOC_IND = X_EXPORTDOC_IND,
275     TOTALORD_IND = X_TOTALORD_IND,
276     UPDATE_SALESHIST = X_UPDATE_SALESHIST,
277     CREDITCHK_TYPE = X_CREDITCHK_TYPE,
278     PRICE_ORDER = X_PRICE_ORDER,
279     CALC_COMM_IND = X_CALC_COMM_IND,
280     CALC_TAX_IND = X_CALC_TAX_IND,
281     PRODORDR_IND = X_PRODORDR_IND,
282     SHIPTO_REQUIRED = X_SHIPTO_REQUIRED,
283     UPDATE_AUDITTRAIL = X_UPDATE_AUDITTRAIL,
284     ORDER_LEADTIME = X_ORDER_LEADTIME,
285     TRANS_CNT = X_TRANS_CNT,
286     TEXT_CODE = X_TEXT_CODE,
287     DELETE_MARK = X_DELETE_MARK,
288     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
289     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
290     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
291   where ORDER_TYPE = X_ORDER_TYPE;
292 
293   if (sql%notfound) then
294     raise no_data_found;
295   end if;
296 
297   update OP_ORDR_TYP_TL set
298     ORDER_TYPE_CODE = X_ORDER_TYPE_CODE,
299     ORDER_TYPE_DESC = X_ORDER_TYPE_DESC,
300     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
301     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
302     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
303     SOURCE_LANG = userenv('LANG')
304   where ORDER_TYPE = X_ORDER_TYPE
305   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
306 
307   if (sql%notfound) then
308     raise no_data_found;
309   end if;
310 end UPDATE_ROW;
311 
312 procedure DELETE_ROW (
313   X_ORDER_TYPE in NUMBER
314 ) is
315 begin
316   delete from OP_ORDR_TYP_TL
317   where ORDER_TYPE = X_ORDER_TYPE;
318 
319   if (sql%notfound) then
320     raise no_data_found;
321   end if;
322 
323   delete from OP_ORDR_TYP_B
324   where ORDER_TYPE = X_ORDER_TYPE;
325 
326   if (sql%notfound) then
327     raise no_data_found;
328   end if;
329 end DELETE_ROW;
330 
331 procedure ADD_LANGUAGE
332 is
333 begin
334   delete from OP_ORDR_TYP_TL T
335   where not exists
336     (select NULL
337     from OP_ORDR_TYP_B B
338     where B.ORDER_TYPE = T.ORDER_TYPE
339     );
340 
341   update OP_ORDR_TYP_TL T set (
342       ORDER_TYPE_CODE,
343       ORDER_TYPE_DESC
344     ) = (select
345       B.ORDER_TYPE_CODE,
346       B.ORDER_TYPE_DESC
347     from OP_ORDR_TYP_TL B
348     where B.ORDER_TYPE = T.ORDER_TYPE
349     and B.LANGUAGE = T.SOURCE_LANG)
350   where (
351       T.ORDER_TYPE,
352       T.LANGUAGE
353   ) in (select
354       SUBT.ORDER_TYPE,
355       SUBT.LANGUAGE
356     from OP_ORDR_TYP_TL SUBB, OP_ORDR_TYP_TL SUBT
357     where SUBB.ORDER_TYPE = SUBT.ORDER_TYPE
358     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
359     and (SUBB.ORDER_TYPE_CODE <> SUBT.ORDER_TYPE_CODE
360       or SUBB.ORDER_TYPE_DESC <> SUBT.ORDER_TYPE_DESC
361   ));
362 
363   insert into OP_ORDR_TYP_TL (
364     ORDER_TYPE,
365     ORDER_TYPE_CODE,
366     ORDER_TYPE_DESC,
367     CREATED_BY,
368     LAST_UPDATED_BY,
369     CREATION_DATE,
370     LAST_UPDATE_DATE,
371     LAST_UPDATE_LOGIN,
372     LANGUAGE,
373     SOURCE_LANG
374   ) select
375     B.ORDER_TYPE,
376     B.ORDER_TYPE_CODE,
377     B.ORDER_TYPE_DESC,
378     B.CREATED_BY,
379     B.LAST_UPDATED_BY,
380     B.CREATION_DATE,
381     B.LAST_UPDATE_DATE,
382     B.LAST_UPDATE_LOGIN,
383     L.LANGUAGE_CODE,
384     B.SOURCE_LANG
385   from OP_ORDR_TYP_TL B, FND_LANGUAGES L
386   where L.INSTALLED_FLAG in ('I', 'B')
387   and B.LANGUAGE = userenv('LANG')
388   and not exists
389     (select NULL
390     from OP_ORDR_TYP_TL T
391     where T.ORDER_TYPE = B.ORDER_TYPE
392     and T.LANGUAGE = L.LANGUAGE_CODE);
393 end ADD_LANGUAGE;
394 
395 
396 procedure TRANSLATE_ROW (
397         X_ORDER_TYPE in VARCHAR2,
398         X_ORDER_TYPE_CODE in VARCHAR2,
399         X_ORDER_TYPE_DESC in VARCHAR2
400 ) IS
401 
402 BEGIN
403   update OP_ORDR_TYP_TL set
404     ORDER_TYPE_CODE = X_ORDER_TYPE_CODE,
405     ORDER_TYPE_DESC = X_ORDER_TYPE_DESC,
406     SOURCE_LANG = userenv('LANG'),
407     LAST_UPDATE_DATE = sysdate,
408     LAST_UPDATED_BY = 0,
409     LAST_UPDATE_LOGIN = 0
410   where
411     ORDER_TYPE = X_ORDER_TYPE
412     and userenv('LANG') in (LANGUAGE,SOURCE_LANG);
413 end TRANSLATE_ROW;
414 
415 
416 procedure LOAD_ROW (
417   X_ORDER_TYPE_CODE in VARCHAR2,
418   X_ORDER_TYPE in NUMBER,
419   X_LANG_CODE in VARCHAR2,
420   X_INVEN_TRANS_TYPE in NUMBER,
421   X_SHIPMENT_IND in NUMBER,
422   X_INVOICE_IND in NUMBER,
423   X_PICKINGLST_IND in NUMBER,
424   X_EXPORTDOC_IND in NUMBER,
425   X_TOTALORD_IND in NUMBER,
426   X_UPDATE_SALESHIST in NUMBER,
427   X_CREDITCHK_TYPE in NUMBER,
428   X_PRICE_ORDER in NUMBER,
429   X_CALC_COMM_IND in NUMBER,
430   X_CALC_TAX_IND in NUMBER,
431   X_PRODORDR_IND in NUMBER,
432   X_SHIPTO_REQUIRED in NUMBER,
433   X_UPDATE_AUDITTRAIL in NUMBER,
434   X_ORDER_LEADTIME in NUMBER,
435   X_TRANS_CNT in NUMBER,
436   X_TEXT_CODE in NUMBER,
437   X_DELETE_MARK in NUMBER,
438   X_ORDER_TYPE_DESC in VARCHAR2
439 ) IS
440 
441 l_user_id	number :=0;
442 l_row_id	VARCHAR2(64);
443 
444 BEGIN
445 	l_user_id :=1;
446 
447   GML_OP_ORDR_TYP_PKG.UPDATE_ROW (
448     X_ORDER_TYPE => X_ORDER_TYPE ,
449     X_LANG_CODE => X_LANG_CODE,
450     X_INVEN_TRANS_TYPE => X_INVEN_TRANS_TYPE,
451     X_SHIPMENT_IND => X_SHIPMENT_IND,
452     X_INVOICE_IND => X_INVOICE_IND,
453     X_PICKINGLST_IND => X_PICKINGLST_IND,
454     X_EXPORTDOC_IND  => X_EXPORTDOC_IND,
455     X_TOTALORD_IND  => X_TOTALORD_IND ,
456     X_UPDATE_SALESHIST => X_UPDATE_SALESHIST,
457     X_CREDITCHK_TYPE  => X_CREDITCHK_TYPE,
458     X_PRICE_ORDER  => X_CREDITCHK_TYPE ,
459     X_CALC_COMM_IND  => X_CALC_COMM_IND,
460     X_CALC_TAX_IND  => X_CALC_TAX_IND ,
461     X_PRODORDR_IND  => X_PRODORDR_IND ,
462     X_SHIPTO_REQUIRED  => X_SHIPTO_REQUIRED ,
463     X_UPDATE_AUDITTRAIL  => X_UPDATE_AUDITTRAIL,
464     X_ORDER_LEADTIME  => X_UPDATE_AUDITTRAIL ,
465     X_TRANS_CNT  => X_TRANS_CNT ,
466     X_TEXT_CODE  => X_TEXT_CODE ,
467     X_DELETE_MARK  => X_DELETE_MARK,
468     X_ORDER_TYPE_CODE => X_ORDER_TYPE_CODE,
469     X_ORDER_TYPE_DESC  => X_ORDER_TYPE_DESC,
470     X_LAST_UPDATE_DATE  => sysdate,
471     X_LAST_UPDATED_BY  => l_user_id,
472     X_LAST_UPDATE_LOGIN  => 0
473 );
474 
475 EXCEPTION
476   WHEN NO_DATA_FOUND THEN
477 
478 GML_OP_ORDR_TYP_PKG.INSERT_ROW(
479     X_ROWID => l_row_id,
480     X_ORDER_TYPE => X_ORDER_TYPE ,
481     X_LANG_CODE => X_LANG_CODE,
482     X_INVEN_TRANS_TYPE => X_INVEN_TRANS_TYPE,
483     X_SHIPMENT_IND => X_SHIPMENT_IND,
484     X_INVOICE_IND => X_INVOICE_IND,
485     X_PICKINGLST_IND => X_PICKINGLST_IND,
486     X_EXPORTDOC_IND  => X_EXPORTDOC_IND,
487     X_TOTALORD_IND  => X_TOTALORD_IND ,
488     X_UPDATE_SALESHIST => X_UPDATE_SALESHIST,
489     X_CREDITCHK_TYPE  => X_CREDITCHK_TYPE,
490     X_PRICE_ORDER  => X_CREDITCHK_TYPE ,
491     X_CALC_COMM_IND  => X_CALC_COMM_IND,
492     X_CALC_TAX_IND  => X_CALC_TAX_IND ,
493     X_PRODORDR_IND  => X_PRODORDR_IND ,
494     X_SHIPTO_REQUIRED  => X_SHIPTO_REQUIRED ,
495     X_UPDATE_AUDITTRAIL  => X_UPDATE_AUDITTRAIL,
496     X_ORDER_LEADTIME  => X_UPDATE_AUDITTRAIL ,
497     X_TRANS_CNT  => X_TRANS_CNT ,
498     X_TEXT_CODE  => X_TEXT_CODE ,
499     X_DELETE_MARK  => X_DELETE_MARK,
500     X_ORDER_TYPE_CODE => X_ORDER_TYPE_CODE,
501     X_ORDER_TYPE_DESC => X_ORDER_TYPE_DESC,
502     X_CREATION_DATE => sysdate,
503     X_CREATED_BY => l_user_id,
504     X_LAST_UPDATE_DATE => sysdate,
505     X_LAST_UPDATED_BY => l_user_id,
506     X_LAST_UPDATE_LOGIN => 0
507 );
508 
509 END LOAD_ROW;
510 
511 end GML_OP_ORDR_TYP_PKG;