DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_RECIPES_MLS

Source


1 package body GMD_RECIPES_MLS as
2 /* $Header: GMDRMLSB.pls 120.1.12010000.2 2008/11/12 18:43:22 rnalla ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in OUT NOCOPY VARCHAR2,
5   X_RECIPE_ID in NUMBER,
6   X_OWNER_ID in NUMBER,
7   X_OWNER_LAB_TYPE in VARCHAR2,
8   X_DELETE_MARK in NUMBER,
9   X_TEXT_CODE in NUMBER,
10   X_RECIPE_NO in VARCHAR2,
11   X_RECIPE_VERSION in NUMBER,
12   X_OWNER_ORGANIZATION_ID in NUMBER,
13   X_CREATION_ORGANIZATION_ID in NUMBER,
14   X_FORMULA_ID in NUMBER,
15   X_ROUTING_ID in NUMBER,
16   X_PROJECT_ID in NUMBER,
17   X_RECIPE_STATUS in VARCHAR2,
18   X_CALCULATE_STEP_QUANTITY in NUMBER,
19   X_PLANNED_PROCESS_LOSS in NUMBER,
20   X_CONTIGUOUS_IND IN NUMBER,
21   X_ENHANCED_PI_IND IN VARCHAR2,
22   X_RECIPE_TYPE IN NUMBER,
23   X_RECIPE_DESCRIPTION in VARCHAR2,
24   X_ATTRIBUTE_CATEGORY in VARCHAR2,
25   X_ATTRIBUTE1 in VARCHAR2,
26   X_ATTRIBUTE2 in VARCHAR2,
27   X_ATTRIBUTE3 in VARCHAR2,
28   X_ATTRIBUTE4 in VARCHAR2,
29   X_ATTRIBUTE5 in VARCHAR2,
30   X_ATTRIBUTE6 in VARCHAR2,
31   X_ATTRIBUTE7 in VARCHAR2,
32   X_ATTRIBUTE8 in VARCHAR2,
33   X_ATTRIBUTE9 in VARCHAR2,
34   X_ATTRIBUTE10 in VARCHAR2,
35   X_ATTRIBUTE11 in VARCHAR2,
36   X_ATTRIBUTE12 in VARCHAR2,
37   X_ATTRIBUTE13 in VARCHAR2,
38   X_ATTRIBUTE14 in VARCHAR2,
39   X_ATTRIBUTE15 in VARCHAR2,
40   X_ATTRIBUTE16 in VARCHAR2,
41   X_ATTRIBUTE17 in VARCHAR2,
42   X_ATTRIBUTE18 in VARCHAR2,
43   X_ATTRIBUTE19 in VARCHAR2,
44   X_ATTRIBUTE20 in VARCHAR2,
45   X_ATTRIBUTE21 in VARCHAR2,
46   X_ATTRIBUTE22 in VARCHAR2,
47   X_ATTRIBUTE23 in VARCHAR2,
48   X_ATTRIBUTE24 in VARCHAR2,
49   X_ATTRIBUTE25 in VARCHAR2,
50   X_ATTRIBUTE26 in VARCHAR2,
51   X_ATTRIBUTE27 in VARCHAR2,
52   X_ATTRIBUTE28 in VARCHAR2,
53   X_ATTRIBUTE29 in VARCHAR2,
54   X_ATTRIBUTE30 in VARCHAR2,
55   X_CREATION_DATE in DATE,
56   X_CREATED_BY in NUMBER,
57   X_LAST_UPDATE_DATE in DATE,
58   X_LAST_UPDATED_BY in NUMBER,
59   X_LAST_UPDATE_LOGIN in NUMBER,
60   X_FIXED_PROCESS_LOSS in NUMBER, /* 6811759*/
61   X_FIXED_PROCESS_LOSS_UOM in VARCHAR2
62 ) is
63   cursor C is select ROWID from GMD_RECIPES_B
64     where RECIPE_ID = X_RECIPE_ID
65     ;
66 begin
67   insert into GMD_RECIPES_B (
68     ATTRIBUTE26,
69     ATTRIBUTE27,
70     ATTRIBUTE28,
71     ATTRIBUTE29,
72     ATTRIBUTE30,
73     OWNER_ID,
74     OWNER_LAB_TYPE,
75     ATTRIBUTE12,
76     ATTRIBUTE13,
77     ATTRIBUTE14,
78     ATTRIBUTE15,
79     ATTRIBUTE16,
80     ATTRIBUTE17,
81     ATTRIBUTE18,
82     ATTRIBUTE19,
83     ATTRIBUTE20,
84     ATTRIBUTE21,
85     ATTRIBUTE22,
86     ATTRIBUTE23,
87     ATTRIBUTE24,
88     ATTRIBUTE25,
89     DELETE_MARK,
90     ATTRIBUTE_CATEGORY,
91     ATTRIBUTE1,
92     ATTRIBUTE2,
93     ATTRIBUTE3,
94     ATTRIBUTE4,
95     ATTRIBUTE5,
96     ATTRIBUTE6,
97     ATTRIBUTE7,
98     ATTRIBUTE8,
99     ATTRIBUTE9,
100     ATTRIBUTE10,
101     ATTRIBUTE11,
102     TEXT_CODE,
103     RECIPE_ID,
104     RECIPE_NO,
105     RECIPE_VERSION,
106     OWNER_ORGANIZATION_ID,
107     CREATION_ORGANIZATION_ID,
108     FORMULA_ID,
109     ROUTING_ID,
110     PROJECT_ID,
111     RECIPE_STATUS,
112     CALCULATE_STEP_QUANTITY ,
113     PLANNED_PROCESS_LOSS,
114     CONTIGUOUS_IND,
115     ENHANCED_PI_IND,
116     RECIPE_TYPE,
117     CREATION_DATE,
118     CREATED_BY,
119     LAST_UPDATE_DATE,
120     LAST_UPDATED_BY,
121     LAST_UPDATE_LOGIN,
122     FIXED_PROCESS_LOSS, /* 6811759*/
123     FIXED_PROCESS_LOSS_UOM
124   ) values (
125     X_ATTRIBUTE26,
126     X_ATTRIBUTE27,
127     X_ATTRIBUTE28,
128     X_ATTRIBUTE29,
129     X_ATTRIBUTE30,
130     X_OWNER_ID,
131     X_OWNER_LAB_TYPE,
132     X_ATTRIBUTE12,
133     X_ATTRIBUTE13,
134     X_ATTRIBUTE14,
135     X_ATTRIBUTE15,
136     X_ATTRIBUTE16,
137     X_ATTRIBUTE17,
138     X_ATTRIBUTE18,
139     X_ATTRIBUTE19,
140     X_ATTRIBUTE20,
141     X_ATTRIBUTE21,
142     X_ATTRIBUTE22,
143     X_ATTRIBUTE23,
144     X_ATTRIBUTE24,
145     X_ATTRIBUTE25,
146     X_DELETE_MARK,
147     X_ATTRIBUTE_CATEGORY,
148     X_ATTRIBUTE1,
149     X_ATTRIBUTE2,
150     X_ATTRIBUTE3,
151     X_ATTRIBUTE4,
152     X_ATTRIBUTE5,
153     X_ATTRIBUTE6,
154     X_ATTRIBUTE7,
155     X_ATTRIBUTE8,
156     X_ATTRIBUTE9,
157     X_ATTRIBUTE10,
158     X_ATTRIBUTE11,
159     X_TEXT_CODE,
160     X_RECIPE_ID,
161     X_RECIPE_NO,
162     X_RECIPE_VERSION,
163     X_OWNER_ORGANIZATION_ID,
164     X_CREATION_ORGANIZATION_ID,
165     X_FORMULA_ID,
166     X_ROUTING_ID,
167     X_PROJECT_ID,
168     X_RECIPE_STATUS,
169     X_CALCULATE_STEP_QUANTITY,
170     X_PLANNED_PROCESS_LOSS,
171     X_CONTIGUOUS_IND,
172     X_ENHANCED_PI_IND,
173     X_RECIPE_TYPE,
174     X_CREATION_DATE,
175     X_CREATED_BY,
176     X_LAST_UPDATE_DATE,
177     X_LAST_UPDATED_BY,
178     X_LAST_UPDATE_LOGIN,
179     X_FIXED_PROCESS_LOSS , /* 6811759*/
180     X_FIXED_PROCESS_LOSS_UOM
181   );
182 
183 
184   insert into GMD_RECIPES_TL (
185     RECIPE_ID,
186     RECIPE_DESCRIPTION,
187     SOURCE_LANG,
188     CREATED_BY,
189     CREATION_DATE,
190     LAST_UPDATED_BY,
191     LAST_UPDATE_DATE,
192     LAST_UPDATE_LOGIN,
193     LANGUAGE
194   ) select
195     X_RECIPE_ID,
196     X_RECIPE_DESCRIPTION,
197     userenv('LANG'),
198     X_CREATED_BY,
199     X_CREATION_DATE,
200     X_LAST_UPDATED_BY,
201     X_LAST_UPDATE_DATE,
202     X_LAST_UPDATE_LOGIN,
203     L.LANGUAGE_CODE
204   from FND_LANGUAGES L
205   where L.INSTALLED_FLAG in ('I', 'B')
206   and not exists
207     (select NULL
208     from GMD_RECIPES_TL T
209     where T.RECIPE_ID = X_RECIPE_ID
210     and T.LANGUAGE = L.LANGUAGE_CODE);
211 
212   open c;
213   fetch c into X_ROWID;
214   if (c%notfound) then
215     close c;
216     raise no_data_found;
217   end if;
218   close c;
219 end INSERT_ROW;
220 
221 procedure LOCK_ROW (
222   X_RECIPE_ID in NUMBER,
223   X_ATTRIBUTE26 in VARCHAR2,
224   X_ATTRIBUTE27 in VARCHAR2,
225   X_ATTRIBUTE28 in VARCHAR2,
226   X_ATTRIBUTE29 in VARCHAR2,
227   X_ATTRIBUTE30 in VARCHAR2,
228   X_OWNER_ID in NUMBER,
229   X_OWNER_LAB_TYPE in VARCHAR2,
230   X_ATTRIBUTE12 in VARCHAR2,
231   X_ATTRIBUTE13 in VARCHAR2,
232   X_ATTRIBUTE14 in VARCHAR2,
233   X_ATTRIBUTE15 in VARCHAR2,
234   X_ATTRIBUTE16 in VARCHAR2,
235   X_ATTRIBUTE17 in VARCHAR2,
236   X_ATTRIBUTE18 in VARCHAR2,
237   X_ATTRIBUTE19 in VARCHAR2,
238   X_ATTRIBUTE20 in VARCHAR2,
239   X_ATTRIBUTE21 in VARCHAR2,
240   X_ATTRIBUTE22 in VARCHAR2,
241   X_ATTRIBUTE23 in VARCHAR2,
242   X_ATTRIBUTE24 in VARCHAR2,
243   X_ATTRIBUTE25 in VARCHAR2,
244   X_DELETE_MARK in NUMBER,
245   X_ATTRIBUTE_CATEGORY in VARCHAR2,
246   X_ATTRIBUTE1 in VARCHAR2,
247   X_ATTRIBUTE2 in VARCHAR2,
248   X_ATTRIBUTE3 in VARCHAR2,
249   X_ATTRIBUTE4 in VARCHAR2,
250   X_ATTRIBUTE5 in VARCHAR2,
251   X_ATTRIBUTE6 in VARCHAR2,
252   X_ATTRIBUTE7 in VARCHAR2,
253   X_ATTRIBUTE8 in VARCHAR2,
254   X_ATTRIBUTE9 in VARCHAR2,
255   X_ATTRIBUTE10 in VARCHAR2,
256   X_ATTRIBUTE11 in VARCHAR2,
257   X_TEXT_CODE in NUMBER,
258   X_RECIPE_NO in VARCHAR2,
259   X_RECIPE_VERSION in NUMBER,
260   X_OWNER_ORGANIZATION_ID in NUMBER,
261   X_CREATION_ORGANIZATION_ID in NUMBER,
262   X_FORMULA_ID in NUMBER,
263   X_ROUTING_ID in NUMBER,
264   X_PROJECT_ID in NUMBER,
265   X_RECIPE_STATUS in VARCHAR2,
266   X_CALCULATE_STEP_QUANTITY in NUMBER,
267   X_PLANNED_PROCESS_LOSS in NUMBER,
268   X_CONTIGUOUS_IND IN NUMBER,
269   X_ENHANCED_PI_IND IN VARCHAR2,
270   X_RECIPE_TYPE IN NUMBER,
271   X_RECIPE_DESCRIPTION in VARCHAR2,
272   X_FIXED_PROCESS_LOSS in NUMBER, /* 6811759*/
273   X_FIXED_PROCESS_LOSS_UOM in VARCHAR2
274 ) is
275   cursor c is select
276       ATTRIBUTE26,
277       ATTRIBUTE27,
278       ATTRIBUTE28,
279       ATTRIBUTE29,
280       ATTRIBUTE30,
281       OWNER_ID,
282       OWNER_LAB_TYPE,
283       ATTRIBUTE12,
284       ATTRIBUTE13,
285       ATTRIBUTE14,
286       ATTRIBUTE15,
287       ATTRIBUTE16,
288       ATTRIBUTE17,
289       ATTRIBUTE18,
290       ATTRIBUTE19,
291       ATTRIBUTE20,
292       ATTRIBUTE21,
293       ATTRIBUTE22,
294       ATTRIBUTE23,
295       ATTRIBUTE24,
296       ATTRIBUTE25,
297       DELETE_MARK,
298       ATTRIBUTE_CATEGORY,
299       ATTRIBUTE1,
300       ATTRIBUTE2,
301       ATTRIBUTE3,
302       ATTRIBUTE4,
303       ATTRIBUTE5,
304       ATTRIBUTE6,
305       ATTRIBUTE7,
306       ATTRIBUTE8,
307       ATTRIBUTE9,
308       ATTRIBUTE10,
309       ATTRIBUTE11,
310       TEXT_CODE,
311       RECIPE_NO,
312       RECIPE_VERSION,
313       OWNER_ORGANIZATION_ID,
314       CREATION_ORGANIZATION_ID,
315       FORMULA_ID,
316       ROUTING_ID,
317       PROJECT_ID,
318       RECIPE_STATUS,
319       CALCULATE_STEP_QUANTITY,
320       PLANNED_PROCESS_LOSS,
321       CONTIGUOUS_IND,
322       ENHANCED_PI_IND,
323       RECIPE_TYPE,
324       FIXED_PROCESS_LOSS, /* 6811759*/
325       FIXED_PROCESS_LOSS_UOM
326     from GMD_RECIPES_B
327     where RECIPE_ID = X_RECIPE_ID
328     for update of RECIPE_ID nowait;
329   recinfo c%rowtype;
330 
331   cursor c1 is select
332       RECIPE_DESCRIPTION,
333       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
334     from GMD_RECIPES_TL
335     where RECIPE_ID = X_RECIPE_ID
336     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
337     for update of RECIPE_ID nowait;
338 begin
339   open c;
340   fetch c into recinfo;
341   if (c%notfound) then
342     close c;
343     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
344     app_exception.raise_exception;
345   end if;
346   close c;
347   if (    ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
348            OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
349       AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
350            OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
351       AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
352            OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
353       AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
354            OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
355       AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
356            OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
357       AND (recinfo.OWNER_ID = X_OWNER_ID)
358       AND ((recinfo.OWNER_LAB_TYPE = X_OWNER_LAB_TYPE)
359            OR ((recinfo.OWNER_LAB_TYPE is null) AND (X_OWNER_LAB_TYPE is null)))
360       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
361            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
362       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
363            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
364       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
365            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
366       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
367            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
368       AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
369            OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
370       AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
371            OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
372       AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
373            OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
374       AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
375            OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
376       AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
377            OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
378       AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
382       AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
379            OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
380       AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
381            OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
383            OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
384       AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
385            OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
386       AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
387            OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
388       AND (recinfo.DELETE_MARK = X_DELETE_MARK)
389       AND ((recinfo.CALCULATE_STEP_QUANTITY = X_CALCULATE_STEP_QUANTITY)
390       	  OR ((recinfo.CALCULATE_STEP_QUANTITY is null) AND (X_CALCULATE_STEP_QUANTITY is null)))
391       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
392            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
393       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
394            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
395       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
396            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
397       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
398            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
399       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
400            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
401       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
402            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
403       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
404            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
405       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
406            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
407       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
408            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
409       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
410            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
411       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
412            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
413       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
414            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
415       AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
416            OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
417       AND (recinfo.RECIPE_NO = X_RECIPE_NO)
418       AND (recinfo.RECIPE_VERSION = X_RECIPE_VERSION)
419       AND (recinfo.OWNER_ORGANIZATION_ID = X_OWNER_ORGANIZATION_ID)
420       AND (recinfo.CREATION_ORGANIZATION_ID = X_CREATION_ORGANIZATION_ID)
421       AND (recinfo.FORMULA_ID = X_FORMULA_ID)
422       AND ((recinfo.ROUTING_ID = X_ROUTING_ID)
423            OR ((recinfo.ROUTING_ID is null) AND (X_ROUTING_ID is null)))
424       AND ((recinfo.PROJECT_ID = X_PROJECT_ID)
425            OR ((recinfo.PROJECT_ID is null) AND (X_PROJECT_ID is null)))
426       AND (recinfo.RECIPE_STATUS = X_RECIPE_STATUS)
427       AND ((recinfo.CONTIGUOUS_IND = X_CONTIGUOUS_IND)
428            OR ((recinfo.CONTIGUOUS_IND is null) AND (X_CONTIGUOUS_IND is null)))
429       AND ((recinfo.ENHANCED_PI_IND = X_ENHANCED_PI_IND)
430            OR ((recinfo.ENHANCED_PI_IND is null) AND (X_ENHANCED_PI_IND is null)))
431       AND ((recinfo.RECIPE_TYPE = X_RECIPE_TYPE)
432            OR ((recinfo.RECIPE_TYPE is null) AND (X_RECIPE_TYPE is null)))
433       AND ((recinfo.PLANNED_PROCESS_LOSS = X_PLANNED_PROCESS_LOSS)
434            OR ((recinfo.PLANNED_PROCESS_LOSS is null) AND (X_PLANNED_PROCESS_LOSS is null)))
435       AND ((recinfo.FIXED_PROCESS_LOSS = X_FIXED_PROCESS_LOSS) /* 6811759*/
436            OR ((recinfo.FIXED_PROCESS_LOSS is null) AND (X_FIXED_PROCESS_LOSS is null)))
437       AND ((recinfo.FIXED_PROCESS_LOSS_UOM = X_FIXED_PROCESS_LOSS_UOM)
438            OR ((recinfo.FIXED_PROCESS_LOSS_UOM is null) AND (X_FIXED_PROCESS_LOSS_UOM is null)))
439   ) then
440     null;
441   else
442     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
443     app_exception.raise_exception;
444   end if;
445 
446   for tlinfo in c1 loop
447     if (tlinfo.BASELANG = 'Y') then
448       if (    (tlinfo.RECIPE_DESCRIPTION = X_RECIPE_DESCRIPTION)
449       ) then
450         null;
451       else
452         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
453         app_exception.raise_exception;
454       end if;
455     end if;
456   end loop;
457   return;
458 end LOCK_ROW;
459 
460 procedure UPDATE_ROW (
461   X_RECIPE_ID in NUMBER,
462   X_OWNER_ID in NUMBER,
463   X_OWNER_LAB_TYPE in VARCHAR2,
464   X_DELETE_MARK in NUMBER,
465   X_RECIPE_NO in VARCHAR2,
466   X_RECIPE_VERSION in NUMBER,
467   X_OWNER_ORGANIZATION_ID in NUMBER,
468   X_CREATION_ORGANIZATION_ID in NUMBER,
469   X_FORMULA_ID in NUMBER,
470   X_ROUTING_ID in NUMBER,
471   X_PROJECT_ID in NUMBER,
472   X_RECIPE_STATUS in VARCHAR2,
473   X_CALCULATE_STEP_QUANTITY in NUMBER,
474   X_PLANNED_PROCESS_LOSS in NUMBER,
475   X_CONTIGUOUS_IND IN NUMBER,
476   X_ENHANCED_PI_IND IN VARCHAR2,
477   X_RECIPE_TYPE IN NUMBER,
478   X_RECIPE_DESCRIPTION in VARCHAR2,
479   X_ATTRIBUTE_CATEGORY in VARCHAR2,
480   X_ATTRIBUTE1 in VARCHAR2,
481   X_ATTRIBUTE2 in VARCHAR2,
482   X_ATTRIBUTE3 in VARCHAR2,
483   X_ATTRIBUTE4 in VARCHAR2,
487   X_ATTRIBUTE8 in VARCHAR2,
484   X_ATTRIBUTE5 in VARCHAR2,
485   X_ATTRIBUTE6 in VARCHAR2,
486   X_ATTRIBUTE7 in VARCHAR2,
488   X_ATTRIBUTE9 in VARCHAR2,
489   X_ATTRIBUTE10 in VARCHAR2,
490   X_ATTRIBUTE11 in VARCHAR2,
491   X_ATTRIBUTE12 in VARCHAR2,
492   X_ATTRIBUTE13 in VARCHAR2,
493   X_ATTRIBUTE14 in VARCHAR2,
494   X_ATTRIBUTE15 in VARCHAR2,
495   X_ATTRIBUTE16 in VARCHAR2,
496   X_ATTRIBUTE17 in VARCHAR2,
497   X_ATTRIBUTE18 in VARCHAR2,
498   X_ATTRIBUTE19 in VARCHAR2,
499   X_ATTRIBUTE20 in VARCHAR2,
500   X_ATTRIBUTE21 in VARCHAR2,
501   X_ATTRIBUTE22 in VARCHAR2,
502   X_ATTRIBUTE23 in VARCHAR2,
503   X_ATTRIBUTE24 in VARCHAR2,
504   X_ATTRIBUTE25 in VARCHAR2,
505   X_ATTRIBUTE26 in VARCHAR2,
506   X_ATTRIBUTE27 in VARCHAR2,
507   X_ATTRIBUTE28 in VARCHAR2,
508   X_ATTRIBUTE29 in VARCHAR2,
509   X_ATTRIBUTE30 in VARCHAR2,
510   X_TEXT_CODE in NUMBER,
511   X_LAST_UPDATE_DATE in DATE,
512   X_LAST_UPDATED_BY in NUMBER,
513   X_LAST_UPDATE_LOGIN in NUMBER,
514   X_FIXED_PROCESS_LOSS IN NUMBER, /* 6811759*/
515   X_FIXED_PROCESS_LOSS_UOM IN VARCHAR2
516 ) is
517 begin
518 
519   update GMD_RECIPES_B set
520     ATTRIBUTE26 = X_ATTRIBUTE26,
521     ATTRIBUTE27 = X_ATTRIBUTE27,
522     ATTRIBUTE28 = X_ATTRIBUTE28,
523     ATTRIBUTE29 = X_ATTRIBUTE29,
524     ATTRIBUTE30 = X_ATTRIBUTE30,
525     OWNER_ID = X_OWNER_ID,
526     OWNER_LAB_TYPE = X_OWNER_LAB_TYPE,
527     ATTRIBUTE12 = X_ATTRIBUTE12,
528     ATTRIBUTE13 = X_ATTRIBUTE13,
529     ATTRIBUTE14 = X_ATTRIBUTE14,
530     ATTRIBUTE15 = X_ATTRIBUTE15,
531     ATTRIBUTE16 = X_ATTRIBUTE16,
532     ATTRIBUTE17 = X_ATTRIBUTE17,
533     ATTRIBUTE18 = X_ATTRIBUTE18,
534     ATTRIBUTE19 = X_ATTRIBUTE19,
535     ATTRIBUTE20 = X_ATTRIBUTE20,
536     ATTRIBUTE21 = X_ATTRIBUTE21,
537     ATTRIBUTE22 = X_ATTRIBUTE22,
538     ATTRIBUTE23 = X_ATTRIBUTE23,
539     ATTRIBUTE24 = X_ATTRIBUTE24,
540     ATTRIBUTE25 = X_ATTRIBUTE25,
541     DELETE_MARK = X_DELETE_MARK,
542     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
543     ATTRIBUTE1 = X_ATTRIBUTE1,
544     ATTRIBUTE2 = X_ATTRIBUTE2,
545     ATTRIBUTE3 = X_ATTRIBUTE3,
546     ATTRIBUTE4 = X_ATTRIBUTE4,
547     ATTRIBUTE5 = X_ATTRIBUTE5,
548     ATTRIBUTE6 = X_ATTRIBUTE6,
549     ATTRIBUTE7 = X_ATTRIBUTE7,
550     ATTRIBUTE8 = X_ATTRIBUTE8,
551     ATTRIBUTE9 = X_ATTRIBUTE9,
552     ATTRIBUTE10 = X_ATTRIBUTE10,
553     ATTRIBUTE11 = X_ATTRIBUTE11,
554     TEXT_CODE = X_TEXT_CODE,
555     RECIPE_NO = X_RECIPE_NO,
556     RECIPE_VERSION = X_RECIPE_VERSION,
557     OWNER_ORGANIZATION_ID = X_OWNER_ORGANIZATION_ID,
558     CREATION_ORGANIZATION_ID = X_CREATION_ORGANIZATION_ID,
559     FORMULA_ID = X_FORMULA_ID,
560     ROUTING_ID = X_ROUTING_ID,
561     PROJECT_ID = X_PROJECT_ID,
562     RECIPE_STATUS = X_RECIPE_STATUS,
563     CALCULATE_STEP_QUANTITY = X_CALCULATE_STEP_QUANTITY,
564     PLANNED_PROCESS_LOSS = X_PLANNED_PROCESS_LOSS,
565     CONTIGUOUS_IND = X_CONTIGUOUS_IND,
566     ENHANCED_PI_IND = X_ENHANCED_PI_IND,
567     RECIPE_TYPE = X_RECIPE_TYPE,
568     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
569     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
570     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
571     FIXED_PROCESS_LOSS = X_FIXED_PROCESS_LOSS, /* 6811759*/
572     FIXED_PROCESS_LOSS_UOM = X_FIXED_PROCESS_LOSS_UOM
573   where RECIPE_ID = X_RECIPE_ID;
574 
575   if (sql%notfound) then
576     raise no_data_found;
577   end if;
578 
579   update GMD_RECIPES_TL set
580     RECIPE_DESCRIPTION = X_RECIPE_DESCRIPTION,
581     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
582     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
583     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
584     SOURCE_LANG = userenv('LANG')
585   where RECIPE_ID = X_RECIPE_ID
586   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
587 
588   if (sql%notfound) then
589     raise no_data_found;
590   end if;
591 end UPDATE_ROW;
592 
593 procedure DELETE_ROW (
594   X_RECIPE_ID in NUMBER
595 ) is
596 begin
597   delete from GMD_RECIPES_TL
598   where RECIPE_ID = X_RECIPE_ID;
599 
600   if (sql%notfound) then
601     raise no_data_found;
602   end if;
603 
604   delete from GMD_RECIPES_B
605   where RECIPE_ID = X_RECIPE_ID;
606 
607   if (sql%notfound) then
608     raise no_data_found;
609   end if;
610 end DELETE_ROW;
611 
612 procedure ADD_LANGUAGE
613 is
614 begin
615   delete from GMD_RECIPES_TL T
616   where not exists
617     (select NULL
618     from GMD_RECIPES_B B
619     where B.RECIPE_ID = T.RECIPE_ID
620     );
621 
622   update GMD_RECIPES_TL T set (
623       RECIPE_DESCRIPTION
624     ) = (select
625       B.RECIPE_DESCRIPTION
626     from GMD_RECIPES_TL B
627     where B.RECIPE_ID = T.RECIPE_ID
628     and B.LANGUAGE = T.SOURCE_LANG)
629   where (
630       T.RECIPE_ID,
631       T.LANGUAGE
632   ) in (select
633       SUBT.RECIPE_ID,
634       SUBT.LANGUAGE
635     from GMD_RECIPES_TL SUBB, GMD_RECIPES_TL SUBT
636     where SUBB.RECIPE_ID = SUBT.RECIPE_ID
637     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
638     and (SUBB.RECIPE_DESCRIPTION <> SUBT.RECIPE_DESCRIPTION
639   ));
640 
641   insert into GMD_RECIPES_TL (
642     RECIPE_ID,
643     RECIPE_DESCRIPTION,
644     SOURCE_LANG,
645     CREATED_BY,
646     CREATION_DATE,
647     LAST_UPDATED_BY,
648     LAST_UPDATE_DATE,
649     LAST_UPDATE_LOGIN,
650     LANGUAGE
651   ) select
652     B.RECIPE_ID,
653     B.RECIPE_DESCRIPTION,
654     B.SOURCE_LANG,
655     B.CREATED_BY,
656     B.CREATION_DATE,
657     B.LAST_UPDATED_BY,
658     B.LAST_UPDATE_DATE,
659     B.LAST_UPDATE_LOGIN,
660     L.LANGUAGE_CODE
661   from GMD_RECIPES_TL B, FND_LANGUAGES L
662   where L.INSTALLED_FLAG in ('I', 'B')
663   and B.LANGUAGE = userenv('LANG')
664   and not exists
665     (select NULL
666     from GMD_RECIPES_TL T
667     where T.RECIPE_ID = B.RECIPE_ID
668     and T.LANGUAGE = L.LANGUAGE_CODE);
669 end ADD_LANGUAGE;
670 
671 end GMD_RECIPES_MLS;