DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_K_TYPES_PKG

Source


1 package body OKE_K_TYPES_PKG as
2 /* $Header: OKEOKTXB.pls 115.9 2002/11/21 23:08:26 ybchen ship $ */
3 procedure INSERT_ROW (
4   X_ROWID 			in out NOCOPY VARCHAR2
5 , X_K_TYPE_CODE 		in 	VARCHAR2
6 , X_CREATION_DATE 		in 	DATE
7 , X_CREATED_BY 			in 	NUMBER
8 , X_LAST_UPDATE_DATE 		in 	DATE
9 , X_LAST_UPDATED_BY 		in 	NUMBER
10 , X_LAST_UPDATE_LOGIN 		in 	NUMBER
11 , X_K_TYPE_NAME 		in 	VARCHAR2
12 , X_TYPE_CLASS_CODE 		in 	VARCHAR2
13 , X_INTENT       		in 	VARCHAR2
14 , X_APPROVAL_PATH_ID            in      NUMBER
15 , X_DESCRIPTION 		in 	VARCHAR2
16 , X_START_DATE_ACTIVE 		in 	DATE
17 , X_END_DATE_ACTIVE   		in 	DATE
18 , X_ATTRIBUTE_CATEGORY 		in 	VARCHAR2
19 , X_ATTRIBUTE1 			in 	VARCHAR2
20 , X_ATTRIBUTE2 			in 	VARCHAR2
21 , X_ATTRIBUTE3 			in 	VARCHAR2
22 , X_ATTRIBUTE4 			in 	VARCHAR2
23 , X_ATTRIBUTE5 			in 	VARCHAR2
24 , X_ATTRIBUTE6 			in 	VARCHAR2
25 , X_ATTRIBUTE7 			in 	VARCHAR2
26 , X_ATTRIBUTE8 			in 	VARCHAR2
27 , X_ATTRIBUTE9 			in 	VARCHAR2
28 , X_ATTRIBUTE10 		in 	VARCHAR2
29 , X_ATTRIBUTE11 		in 	VARCHAR2
30 , X_ATTRIBUTE12 		in 	VARCHAR2
31 , X_ATTRIBUTE13 		in 	VARCHAR2
32 , X_ATTRIBUTE14 		in 	VARCHAR2
33 , X_ATTRIBUTE15 		in 	VARCHAR2
34 ) is
35   cursor C is select ROWID from OKE_K_TYPES_B
36     where K_TYPE_CODE = X_K_TYPE_CODE
37     ;
38 
39   Number_Option_ROWID  ROWID;
40 
41 begin
42   insert into OKE_K_TYPES_B (
43   K_TYPE_CODE
44 , CREATION_DATE
45 , CREATED_BY
46 , LAST_UPDATE_DATE
47 , LAST_UPDATED_BY
48 , LAST_UPDATE_LOGIN
49 , TYPE_CLASS_CODE
50 , INTENT
51 , APPROVAL_PATH_ID
52 , START_DATE_ACTIVE
53 , END_DATE_ACTIVE
54 , ATTRIBUTE_CATEGORY
55 , ATTRIBUTE1
56 , ATTRIBUTE2
57 , ATTRIBUTE3
58 , ATTRIBUTE4
59 , ATTRIBUTE5
60 , ATTRIBUTE6
61 , ATTRIBUTE7
62 , ATTRIBUTE8
63 , ATTRIBUTE9
64 , ATTRIBUTE10
65 , ATTRIBUTE11
66 , ATTRIBUTE12
67 , ATTRIBUTE13
68 , ATTRIBUTE14
69 , ATTRIBUTE15
70   ) values (
71   X_K_TYPE_CODE
72 , X_CREATION_DATE
73 , X_CREATED_BY
74 , X_LAST_UPDATE_DATE
75 , X_LAST_UPDATED_BY
76 , X_LAST_UPDATE_LOGIN
77 , X_TYPE_CLASS_CODE
78 , X_INTENT
79 , X_APPROVAL_PATH_ID
80 , X_START_DATE_ACTIVE
81 , X_END_DATE_ACTIVE
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 );
99 
100   insert into OKE_K_TYPES_TL (
101   K_TYPE_CODE
102 , LANGUAGE
103 , CREATION_DATE
104 , CREATED_BY
105 , LAST_UPDATE_DATE
106 , LAST_UPDATED_BY
107 , LAST_UPDATE_LOGIN
108 , K_TYPE_NAME
109 , DESCRIPTION
110 , SOURCE_LANG
111   ) select
112   X_K_TYPE_CODE
113 , L.LANGUAGE_CODE
114 , X_CREATION_DATE
115 , X_CREATED_BY
116 , X_LAST_UPDATE_DATE
117 , X_LAST_UPDATED_BY
118 , X_LAST_UPDATE_LOGIN
119 , X_K_TYPE_NAME
120 , X_DESCRIPTION
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 OKE_K_TYPES_TL T
127    where T.K_TYPE_CODE = X_K_TYPE_CODE
128      and T.LANGUAGE = L.LANGUAGE_CODE)
129 ;
130 
131   --
132   -- Creating Default Numbering Options
133   --
134   IF ( X_INTENT <> 'SELL' ) THEN
135     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
136     ( X_ROWID                     => Number_Option_ROWID
137     , X_K_TYPE_CODE               => X_K_TYPE_CODE
138     , X_BUY_OR_SELL               => 'B'
139     , X_CREATION_DATE             => X_CREATION_DATE
140     , X_CREATED_BY                => X_CREATED_BY
141     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
142     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
143     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
144     , X_CONTRACT_NUM_MODE         => 'MANUAL'
145     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
146     , X_NEXT_CONTRACT_NUM         => NULL
147     , X_CONTRACT_NUM_INCREMENT    => NULL
148     , X_CONTRACT_NUM_WIDTH        => NULL
149     , X_CHGREQ_NUM_MODE           => 'MANUAL'
150     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
151     , X_CHGREQ_NUM_START_NUMBER   => NULL
152     , X_CHGREQ_NUM_INCREMENT      => NULL
153     , X_CHGREQ_NUM_WIDTH          => NULL
154     , X_LINE_NUM_START_NUMBER     => 1
155     , X_LINE_NUM_INCREMENT        => 1
156     , X_LINE_NUM_WIDTH            => NULL
157     , X_SUBLINE_NUM_START_NUMBER  => 1
158     , X_SUBLINE_NUM_INCREMENT     => 1
159     , X_SUBLINE_NUM_WIDTH         => NULL
160     , X_DELV_NUM_START_NUMBER     => 1
161     , X_DELV_NUM_INCREMENT        => 1
162     , X_DELV_NUM_WIDTH            => NULL
163     , X_ATTRIBUTE_CATEGORY        => NULL
164     , X_ATTRIBUTE1                => NULL
165     , X_ATTRIBUTE2                => NULL
166     , X_ATTRIBUTE3                => NULL
167     , X_ATTRIBUTE4                => NULL
168     , X_ATTRIBUTE5                => NULL
169     , X_ATTRIBUTE6                => NULL
170     , X_ATTRIBUTE7                => NULL
171     , X_ATTRIBUTE8                => NULL
172     , X_ATTRIBUTE9                => NULL
173     , X_ATTRIBUTE10               => NULL
174     , X_ATTRIBUTE11               => NULL
175     , X_ATTRIBUTE12               => NULL
176     , X_ATTRIBUTE13               => NULL
177     , X_ATTRIBUTE14               => NULL
178     , X_ATTRIBUTE15               => NULL
179     );
180   END IF;
181 
182   IF ( X_INTENT <> 'BUY' ) THEN
183     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
184     ( X_ROWID                     => Number_Option_ROWID
185     , X_K_TYPE_CODE               => X_K_TYPE_CODE
186     , X_BUY_OR_SELL               => 'S'
187     , X_CREATION_DATE             => X_CREATION_DATE
188     , X_CREATED_BY                => X_CREATED_BY
189     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
190     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
191     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
192     , X_CONTRACT_NUM_MODE         => 'MANUAL'
193     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
194     , X_NEXT_CONTRACT_NUM         => NULL
195     , X_CONTRACT_NUM_INCREMENT    => NULL
196     , X_CONTRACT_NUM_WIDTH        => NULL
197     , X_CHGREQ_NUM_MODE           => 'MANUAL'
198     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
199     , X_CHGREQ_NUM_START_NUMBER   => NULL
200     , X_CHGREQ_NUM_INCREMENT      => NULL
201     , X_CHGREQ_NUM_WIDTH          => NULL
202     , X_LINE_NUM_START_NUMBER     => 1
203     , X_LINE_NUM_INCREMENT        => 1
204     , X_LINE_NUM_WIDTH            => NULL
205     , X_SUBLINE_NUM_START_NUMBER  => 1
206     , X_SUBLINE_NUM_INCREMENT     => 1
207     , X_SUBLINE_NUM_WIDTH         => NULL
208     , X_DELV_NUM_START_NUMBER     => 1
209     , X_DELV_NUM_INCREMENT        => 1
210     , X_DELV_NUM_WIDTH            => NULL
211     , X_ATTRIBUTE_CATEGORY        => NULL
212     , X_ATTRIBUTE1                => NULL
213     , X_ATTRIBUTE2                => NULL
214     , X_ATTRIBUTE3                => NULL
215     , X_ATTRIBUTE4                => NULL
216     , X_ATTRIBUTE5                => NULL
217     , X_ATTRIBUTE6                => NULL
218     , X_ATTRIBUTE7                => NULL
219     , X_ATTRIBUTE8                => NULL
220     , X_ATTRIBUTE9                => NULL
221     , X_ATTRIBUTE10               => NULL
222     , X_ATTRIBUTE11               => NULL
223     , X_ATTRIBUTE12               => NULL
224     , X_ATTRIBUTE13               => NULL
225     , X_ATTRIBUTE14               => NULL
226     , X_ATTRIBUTE15               => NULL
227     );
228 
229   END IF;
230 
231   open c;
232   fetch c into X_ROWID;
233   if (c%notfound) then
234     close c;
235     raise no_data_found;
236   end if;
237   close c;
238 
239 end INSERT_ROW;
240 
241 procedure LOCK_ROW (
242   X_K_TYPE_CODE			in 	VARCHAR2
243 , X_K_TYPE_NAME 		in 	VARCHAR2
244 , X_TYPE_CLASS_CODE 		in 	VARCHAR2
245 , X_INTENT       		in 	VARCHAR2
246 , X_APPROVAL_PATH_ID            in      NUMBER
247 , X_DESCRIPTION 		in 	VARCHAR2
248 , X_START_DATE_ACTIVE 		in 	DATE
249 , X_END_DATE_ACTIVE   		in 	DATE
250 , X_ATTRIBUTE_CATEGORY 		in 	VARCHAR2
251 , X_ATTRIBUTE1 			in 	VARCHAR2
252 , X_ATTRIBUTE2 			in 	VARCHAR2
253 , X_ATTRIBUTE3 			in 	VARCHAR2
254 , X_ATTRIBUTE4 			in 	VARCHAR2
255 , X_ATTRIBUTE5 			in 	VARCHAR2
256 , X_ATTRIBUTE6 			in 	VARCHAR2
257 , X_ATTRIBUTE7 			in 	VARCHAR2
258 , X_ATTRIBUTE8 			in 	VARCHAR2
259 , X_ATTRIBUTE9 			in 	VARCHAR2
260 , X_ATTRIBUTE10 		in 	VARCHAR2
261 , X_ATTRIBUTE11 		in 	VARCHAR2
262 , X_ATTRIBUTE12 		in 	VARCHAR2
263 , X_ATTRIBUTE13 		in 	VARCHAR2
264 , X_ATTRIBUTE14 		in 	VARCHAR2
265 , X_ATTRIBUTE15 		in 	VARCHAR2
266 ) is
267   cursor c is select
268        K_TYPE_CODE
269      , TYPE_CLASS_CODE
270      , INTENT
271      , APPROVAL_PATH_ID
272      , START_DATE_ACTIVE
273      , END_DATE_ACTIVE
274      , ATTRIBUTE_CATEGORY
275      , ATTRIBUTE1
276      , ATTRIBUTE2
277      , ATTRIBUTE3
278      , ATTRIBUTE4
279      , ATTRIBUTE5
280      , ATTRIBUTE6
281      , ATTRIBUTE7
282      , ATTRIBUTE8
283      , ATTRIBUTE9
284      , ATTRIBUTE10
285      , ATTRIBUTE11
286      , ATTRIBUTE12
287      , ATTRIBUTE13
288      , ATTRIBUTE14
289      , ATTRIBUTE15
290     from OKE_K_TYPES_B
291     where K_TYPE_CODE = X_K_TYPE_CODE
292     for update of K_TYPE_CODE nowait;
293   recinfo c%rowtype;
294 
295   cursor c1 is select
296       K_TYPE_NAME
297      ,DESCRIPTION
298      ,decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
299     from OKE_K_TYPES_TL
300     where K_TYPE_CODE= X_K_TYPE_CODE
301     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
302     for update of K_TYPE_CODE nowait;
303   tlinfo c1%rowtype;
304 
305 begin
306   open c;
307   fetch c into recinfo;
308   if (c%notfound) then
309     close c;
310     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
311     app_exception.raise_exception;
312   end if;
313   close c;
314 
315   if (    (recinfo.K_TYPE_CODE = X_K_TYPE_CODE)
316       AND ((recinfo.TYPE_CLASS_CODE = X_TYPE_CLASS_CODE)
317            OR ((recinfo.TYPE_CLASS_CODE is null) AND (X_TYPE_CLASS_CODE is null)))
318       AND ((recinfo.INTENT = X_INTENT)
319            OR ((recinfo.INTENT is null) AND (X_INTENT is null)))
320       AND ((recinfo.APPROVAL_PATH_ID = X_APPROVAL_PATH_ID)
321            OR ((recinfo.APPROVAL_PATH_ID is null) AND (X_APPROVAL_PATH_ID is null)))
322       AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
323            OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
324       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
325            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
326       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
327            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
328       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
329            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
330       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
331            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
332       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
333            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
334       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
335            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
336       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
337            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
338       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
339            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
340       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
341            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
342       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
343            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
344       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
345            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
346       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
347            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
348       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
349            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
350       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
351            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
352       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
353            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
354       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
355            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
356       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
357            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
358   ) then
359     null;
360   else
361     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
362     app_exception.raise_exception;
363   end if;
364 
365   for tlinfo in c1 loop
366     if (tlinfo.BASELANG = 'Y') then
367       if (    ((tlinfo.K_TYPE_NAME = X_K_TYPE_NAME)
368                OR ((tlinfo.K_TYPE_NAME is null) AND (X_K_TYPE_NAME is null)))
369           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
370                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
371       ) then
372         null;
373       else
374         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
375         app_exception.raise_exception;
376       end if;
377     end if;
378   end loop;
379 
380   return;
381 end LOCK_ROW;
382 
383 
384 
385 procedure UPDATE_ROW (
386   X_K_TYPE_CODE 		in 	VARCHAR2
387 , X_LAST_UPDATE_DATE 		in 	DATE
388 , X_LAST_UPDATED_BY 		in 	NUMBER
389 , X_LAST_UPDATE_LOGIN 		in 	NUMBER
390 , X_K_TYPE_NAME 		in 	VARCHAR2
391 , X_TYPE_CLASS_CODE 		in 	VARCHAR2
392 , X_INTENT       		in 	VARCHAR2
393 , X_APPROVAL_PATH_ID            in      NUMBER
394 , X_DESCRIPTION 		in 	VARCHAR2
395 , X_START_DATE_ACTIVE 		in 	DATE
396 , X_END_DATE_ACTIVE   		in 	DATE
397 , X_ATTRIBUTE_CATEGORY 		in 	VARCHAR2
398 , X_ATTRIBUTE1 			in 	VARCHAR2
399 , X_ATTRIBUTE2 			in 	VARCHAR2
400 , X_ATTRIBUTE3 			in 	VARCHAR2
401 , X_ATTRIBUTE4 			in 	VARCHAR2
402 , X_ATTRIBUTE5 			in 	VARCHAR2
403 , X_ATTRIBUTE6 			in 	VARCHAR2
404 , X_ATTRIBUTE7 			in 	VARCHAR2
405 , X_ATTRIBUTE8 			in 	VARCHAR2
406 , X_ATTRIBUTE9 			in 	VARCHAR2
407 , X_ATTRIBUTE10 		in 	VARCHAR2
408 , X_ATTRIBUTE11 		in 	VARCHAR2
409 , X_ATTRIBUTE12 		in 	VARCHAR2
410 , X_ATTRIBUTE13 		in 	VARCHAR2
411 , X_ATTRIBUTE14 		in 	VARCHAR2
412 , X_ATTRIBUTE15 		in 	VARCHAR2
413 ) is
414 begin
415   update OKE_K_TYPES_B set
416   LAST_UPDATE_DATE      	= X_LAST_UPDATE_DATE
417 , LAST_UPDATED_BY 		= X_LAST_UPDATED_BY
418 , LAST_UPDATE_LOGIN   		= X_LAST_UPDATE_LOGIN
419 , TYPE_CLASS_CODE 	        = X_TYPE_CLASS_CODE
420 , INTENT	        	= X_INTENT
421 , APPROVAL_PATH_ID              = X_APPROVAL_PATH_ID
422 , START_DATE_ACTIVE 		= X_START_DATE_ACTIVE
423 , END_DATE_ACTIVE   		= X_END_DATE_ACTIVE
424 , ATTRIBUTE_CATEGORY		= X_ATTRIBUTE_CATEGORY
425 , ATTRIBUTE1            	= X_ATTRIBUTE1
426 , ATTRIBUTE2			= X_ATTRIBUTE2
427 , ATTRIBUTE3    		= X_ATTRIBUTE3
428 , ATTRIBUTE4        		= X_ATTRIBUTE4
429 , ATTRIBUTE5            	= X_ATTRIBUTE5
430 , ATTRIBUTE6			= X_ATTRIBUTE6
434 , ATTRIBUTE10           	= X_ATTRIBUTE10
431 , ATTRIBUTE7    		= X_ATTRIBUTE7
432 , ATTRIBUTE8        		= X_ATTRIBUTE8
433 , ATTRIBUTE9            	= X_ATTRIBUTE9
435 , ATTRIBUTE11			= X_ATTRIBUTE11
436 , ATTRIBUTE12    		= X_ATTRIBUTE12
437 , ATTRIBUTE13        		= X_ATTRIBUTE13
438 , ATTRIBUTE14           	= X_ATTRIBUTE14
439 , ATTRIBUTE15           	= X_ATTRIBUTE15
440 where K_TYPE_CODE 		= X_K_TYPE_CODE
441 ;
442 
443   if (sql%notfound) then
444     raise no_data_found;
445   end if;
446 
447   update OKE_K_TYPES_TL set
448   LAST_UPDATE_DATE      = X_LAST_UPDATE_DATE
449 , LAST_UPDATED_BY 	= X_LAST_UPDATED_BY
450 , LAST_UPDATE_LOGIN   	= X_LAST_UPDATE_LOGIN
451 , K_TYPE_NAME 	        = X_K_TYPE_NAME
452 , DESCRIPTION       	= X_DESCRIPTION
453 , SOURCE_LANG 		= userenv('LANG')
454 where K_TYPE_CODE       = X_K_TYPE_CODE
455   and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
456 ;
457 
458   if (sql%notfound) then
459     raise no_data_found;
460   end if;
461 
462 
463   --
464   -- Checking Default Numbering Options
465   --
466   if X_INTENT = 'BOTH' THEN
467 
468     DECLARE
469       Number_Option_ROWID  ROWID;
470     BEGIN
471 
472     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
473     ( X_ROWID                     => Number_Option_ROWID
474     , X_K_TYPE_CODE               => X_K_TYPE_CODE
475     , X_BUY_OR_SELL               => 'S'
476     , X_CREATION_DATE             => X_LAST_UPDATE_DATE
477     , X_CREATED_BY                => X_LAST_UPDATED_BY
478     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
479     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
480     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
481     , X_CONTRACT_NUM_MODE         => 'MANUAL'
482     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
483     , X_NEXT_CONTRACT_NUM         => NULL
484     , X_CONTRACT_NUM_INCREMENT    => NULL
485     , X_CONTRACT_NUM_WIDTH        => NULL
486     , X_CHGREQ_NUM_MODE           => 'MANUAL'
487     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
488     , X_CHGREQ_NUM_START_NUMBER   => NULL
489     , X_CHGREQ_NUM_INCREMENT      => NULL
490     , X_CHGREQ_NUM_WIDTH          => NULL
491     , X_LINE_NUM_START_NUMBER     => 1
492     , X_LINE_NUM_INCREMENT        => 1
493     , X_LINE_NUM_WIDTH            => NULL
494     , X_SUBLINE_NUM_START_NUMBER  => 1
495     , X_SUBLINE_NUM_INCREMENT     => 1
496     , X_SUBLINE_NUM_WIDTH         => NULL
497     , X_DELV_NUM_START_NUMBER     => 1
498     , X_DELV_NUM_INCREMENT        => 1
499     , X_DELV_NUM_WIDTH            => NULL
500     , X_ATTRIBUTE_CATEGORY        => NULL
501     , X_ATTRIBUTE1                => NULL
502     , X_ATTRIBUTE2                => NULL
503     , X_ATTRIBUTE3                => NULL
504     , X_ATTRIBUTE4                => NULL
505     , X_ATTRIBUTE5                => NULL
506     , X_ATTRIBUTE6                => NULL
507     , X_ATTRIBUTE7                => NULL
508     , X_ATTRIBUTE8                => NULL
509     , X_ATTRIBUTE9                => NULL
510     , X_ATTRIBUTE10               => NULL
511     , X_ATTRIBUTE11               => NULL
512     , X_ATTRIBUTE12               => NULL
513     , X_ATTRIBUTE13               => NULL
514     , X_ATTRIBUTE14               => NULL
515     , X_ATTRIBUTE15               => NULL
516     );
517     END;
518 
519     DECLARE
520       Number_Option_ROWID  ROWID;
521     BEGIN
522 
523     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
524     ( X_ROWID                     => Number_Option_ROWID
525     , X_K_TYPE_CODE               => X_K_TYPE_CODE
526     , X_BUY_OR_SELL               => 'B'
527     , X_CREATION_DATE             => X_LAST_UPDATE_DATE
528     , X_CREATED_BY                => X_LAST_UPDATED_BY
529     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
530     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
531     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
532     , X_CONTRACT_NUM_MODE         => 'MANUAL'
533     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
534     , X_NEXT_CONTRACT_NUM         => NULL
535     , X_CONTRACT_NUM_INCREMENT    => NULL
536     , X_CONTRACT_NUM_WIDTH        => NULL
537     , X_CHGREQ_NUM_MODE           => 'MANUAL'
538     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
539     , X_CHGREQ_NUM_START_NUMBER   => NULL
540     , X_CHGREQ_NUM_INCREMENT      => NULL
541     , X_CHGREQ_NUM_WIDTH          => NULL
542     , X_LINE_NUM_START_NUMBER     => 1
543     , X_LINE_NUM_INCREMENT        => 1
544     , X_LINE_NUM_WIDTH            => NULL
545     , X_SUBLINE_NUM_START_NUMBER  => 1
546     , X_SUBLINE_NUM_INCREMENT     => 1
547     , X_SUBLINE_NUM_WIDTH         => NULL
548     , X_DELV_NUM_START_NUMBER     => 1
549     , X_DELV_NUM_INCREMENT        => 1
550     , X_DELV_NUM_WIDTH            => NULL
551     , X_ATTRIBUTE_CATEGORY        => NULL
552     , X_ATTRIBUTE1                => NULL
553     , X_ATTRIBUTE2                => NULL
554     , X_ATTRIBUTE3                => NULL
555     , X_ATTRIBUTE4                => NULL
556     , X_ATTRIBUTE5                => NULL
557     , X_ATTRIBUTE6                => NULL
558     , X_ATTRIBUTE7                => NULL
559     , X_ATTRIBUTE8                => NULL
563     , X_ATTRIBUTE12               => NULL
560     , X_ATTRIBUTE9                => NULL
561     , X_ATTRIBUTE10               => NULL
562     , X_ATTRIBUTE11               => NULL
564     , X_ATTRIBUTE13               => NULL
565     , X_ATTRIBUTE14               => NULL
566     , X_ATTRIBUTE15               => NULL
567     );
568     END;
569 
570   END IF;
571 
572   if X_INTENT = 'SELL' THEN
573 
574     DECLARE
575       Number_Option_ROWID  ROWID;
576     BEGIN
577 
578     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
579     ( X_ROWID                     => Number_Option_ROWID
580     , X_K_TYPE_CODE               => X_K_TYPE_CODE
581     , X_BUY_OR_SELL               => 'S'
582     , X_CREATION_DATE             => X_LAST_UPDATE_DATE
583     , X_CREATED_BY                => X_LAST_UPDATED_BY
584     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
585     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
586     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
587     , X_CONTRACT_NUM_MODE         => 'MANUAL'
588     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
589     , X_NEXT_CONTRACT_NUM         => NULL
590     , X_CONTRACT_NUM_INCREMENT    => NULL
591     , X_CONTRACT_NUM_WIDTH        => NULL
592     , X_CHGREQ_NUM_MODE           => 'MANUAL'
593     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
594     , X_CHGREQ_NUM_START_NUMBER   => NULL
595     , X_CHGREQ_NUM_INCREMENT      => NULL
596     , X_CHGREQ_NUM_WIDTH          => NULL
597     , X_LINE_NUM_START_NUMBER     => 1
598     , X_LINE_NUM_INCREMENT        => 1
599     , X_LINE_NUM_WIDTH            => NULL
600     , X_SUBLINE_NUM_START_NUMBER  => 1
601     , X_SUBLINE_NUM_INCREMENT     => 1
602     , X_SUBLINE_NUM_WIDTH         => NULL
603     , X_DELV_NUM_START_NUMBER     => 1
604     , X_DELV_NUM_INCREMENT        => 1
605     , X_DELV_NUM_WIDTH            => NULL
606     , X_ATTRIBUTE_CATEGORY        => NULL
607     , X_ATTRIBUTE1                => NULL
608     , X_ATTRIBUTE2                => NULL
609     , X_ATTRIBUTE3                => NULL
610     , X_ATTRIBUTE4                => NULL
611     , X_ATTRIBUTE5                => NULL
612     , X_ATTRIBUTE6                => NULL
613     , X_ATTRIBUTE7                => NULL
614     , X_ATTRIBUTE8                => NULL
615     , X_ATTRIBUTE9                => NULL
616     , X_ATTRIBUTE10               => NULL
617     , X_ATTRIBUTE11               => NULL
618     , X_ATTRIBUTE12               => NULL
619     , X_ATTRIBUTE13               => NULL
620     , X_ATTRIBUTE14               => NULL
621     , X_ATTRIBUTE15               => NULL
622     );
623     END;
624   END IF;
625 
626   if X_INTENT='BUY' THEN
627     DECLARE
628       Number_Option_ROWID  ROWID;
629     BEGIN
630 
631     OKE_NUMBER_OPTIONS_PKG.INSERT_ROW
632     ( X_ROWID                     => Number_Option_ROWID
633     , X_K_TYPE_CODE               => X_K_TYPE_CODE
634     , X_BUY_OR_SELL               => 'B'
635     , X_CREATION_DATE             => X_LAST_UPDATE_DATE
636     , X_CREATED_BY                => X_LAST_UPDATED_BY
637     , X_LAST_UPDATE_DATE          => X_LAST_UPDATE_DATE
638     , X_LAST_UPDATED_BY           => X_LAST_UPDATED_BY
639     , X_LAST_UPDATE_LOGIN         => X_LAST_UPDATE_LOGIN
640     , X_CONTRACT_NUM_MODE         => 'MANUAL'
641     , X_MANUAL_CONTRACT_NUM_TYPE  => 'ALPHANUMERIC'
642     , X_NEXT_CONTRACT_NUM         => NULL
643     , X_CONTRACT_NUM_INCREMENT    => NULL
644     , X_CONTRACT_NUM_WIDTH        => NULL
645     , X_CHGREQ_NUM_MODE           => 'MANUAL'
646     , X_MANUAL_CHGREQ_NUM_TYPE    => 'ALPHANUMERIC'
647     , X_CHGREQ_NUM_START_NUMBER   => NULL
648     , X_CHGREQ_NUM_INCREMENT      => NULL
649     , X_CHGREQ_NUM_WIDTH          => NULL
650     , X_LINE_NUM_START_NUMBER     => 1
651     , X_LINE_NUM_INCREMENT        => 1
652     , X_LINE_NUM_WIDTH            => NULL
653     , X_SUBLINE_NUM_START_NUMBER  => 1
654     , X_SUBLINE_NUM_INCREMENT     => 1
655     , X_SUBLINE_NUM_WIDTH         => NULL
656     , X_DELV_NUM_START_NUMBER     => 1
657     , X_DELV_NUM_INCREMENT        => 1
658     , X_DELV_NUM_WIDTH            => NULL
659     , X_ATTRIBUTE_CATEGORY        => NULL
660     , X_ATTRIBUTE1                => NULL
661     , X_ATTRIBUTE2                => NULL
662     , X_ATTRIBUTE3                => NULL
663     , X_ATTRIBUTE4                => NULL
664     , X_ATTRIBUTE5                => NULL
665     , X_ATTRIBUTE6                => NULL
666     , X_ATTRIBUTE7                => NULL
667     , X_ATTRIBUTE8                => NULL
668     , X_ATTRIBUTE9                => NULL
669     , X_ATTRIBUTE10               => NULL
670     , X_ATTRIBUTE11               => NULL
671     , X_ATTRIBUTE12               => NULL
672     , X_ATTRIBUTE13               => NULL
673     , X_ATTRIBUTE14               => NULL
674     , X_ATTRIBUTE15               => NULL
675     );
676     END;
677 
678   END IF;
679 end UPDATE_ROW;
680 
681 procedure ADD_LANGUAGE
682 is
683 begin
684   delete from OKE_K_TYPES_TL T
685   where not exists
686     (select NULL
687     from OKE_K_TYPES_B B
688     where B.K_TYPE_CODE = T.K_TYPE_CODE
689     );
690 
691   update OKE_K_TYPES_TL T set (
692       K_TYPE_NAME,
693       DESCRIPTION
694     ) = (select
695       B.K_TYPE_NAME,
696       B.DESCRIPTION
697     from OKE_K_TYPES_TL B
698     where B.K_TYPE_CODE = T.K_TYPE_CODE
699     and B.LANGUAGE = T.SOURCE_LANG)
700   where (
701       T.K_TYPE_CODE,
702       T.LANGUAGE
703   ) in (select
704       SUBT.K_TYPE_CODE,
705       SUBT.LANGUAGE
706     from OKE_K_TYPES_TL SUBB, OKE_K_TYPES_TL SUBT
707     where SUBB.K_TYPE_CODE = SUBT.K_TYPE_CODE
708     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
709     and (SUBB.K_TYPE_NAME <> SUBT.K_TYPE_NAME
710       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
711       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
712       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
713   ));
714 
715   insert into OKE_K_TYPES_TL (
716     K_TYPE_CODE,
717     CREATION_DATE,
718     CREATED_BY,
719     LAST_UPDATE_DATE,
720     LAST_UPDATED_BY,
721     LAST_UPDATE_LOGIN,
722     K_TYPE_NAME,
723     DESCRIPTION,
724     LANGUAGE,
725     SOURCE_LANG
726   ) select
727     B.K_TYPE_CODE,
728     B.CREATION_DATE,
729     B.CREATED_BY,
730     B.LAST_UPDATE_DATE,
731     B.LAST_UPDATED_BY,
732     B.LAST_UPDATE_LOGIN,
733     B.K_TYPE_NAME,
734     B.DESCRIPTION,
735     L.LANGUAGE_CODE,
736     B.SOURCE_LANG
737   from OKE_K_TYPES_TL B, FND_LANGUAGES L
738   where L.INSTALLED_FLAG in ('I', 'B')
739   and B.LANGUAGE = userenv('LANG')
740   and not exists
741     (select NULL
742     from OKE_K_TYPES_TL T
743     where T.K_TYPE_CODE = B.K_TYPE_CODE
744     and T.LANGUAGE = L.LANGUAGE_CODE);
745 end ADD_LANGUAGE;
746 
747 end OKE_K_TYPES_PKG;