DBA Data[Home] [Help]

PACKAGE BODY: APPS.AK_FLOWS_PKG

Source


1 package body AK_FLOWS_PKG as
2 /* $Header: AKDFLOWB.pls 115.3 99/07/17 15:15:38 porting s $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out VARCHAR2,
6   X_FLOW_APPLICATION_ID in NUMBER,
7   X_FLOW_CODE in VARCHAR2,
8   X_ATTRIBUTE1 in VARCHAR2,
9   X_ATTRIBUTE2 in VARCHAR2,
10   X_ATTRIBUTE3 in VARCHAR2,
11   X_ATTRIBUTE4 in VARCHAR2,
12   X_ATTRIBUTE5 in VARCHAR2,
13   X_ATTRIBUTE6 in VARCHAR2,
14   X_ATTRIBUTE7 in VARCHAR2,
15   X_ATTRIBUTE8 in VARCHAR2,
16   X_ATTRIBUTE9 in VARCHAR2,
17   X_ATTRIBUTE10 in VARCHAR2,
18   X_ATTRIBUTE11 in VARCHAR2,
19   X_ATTRIBUTE12 in VARCHAR2,
20   X_ATTRIBUTE13 in VARCHAR2,
21   X_ATTRIBUTE14 in VARCHAR2,
22   X_ATTRIBUTE15 in VARCHAR2,
23   X_ATTRIBUTE_CATEGORY in VARCHAR2,
24   X_PRIMARY_PAGE_APPL_ID in NUMBER,
25   X_PRIMARY_PAGE_CODE in VARCHAR2,
26   X_NAME in VARCHAR2,
27   X_DESCRIPTION in VARCHAR2,
28   X_CREATION_DATE in DATE,
29   X_CREATED_BY in NUMBER,
30   X_LAST_UPDATE_DATE in DATE,
31   X_LAST_UPDATED_BY in NUMBER,
32   X_LAST_UPDATE_LOGIN in NUMBER
33 ) is
34   cursor C is select ROWID from AK_FLOWS
35     where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
36     and FLOW_CODE = X_FLOW_CODE;
37 begin
38   insert into AK_FLOWS (
39     ATTRIBUTE1,
40     ATTRIBUTE2,
41     ATTRIBUTE3,
42     ATTRIBUTE4,
43     ATTRIBUTE5,
44     ATTRIBUTE6,
45     ATTRIBUTE7,
46     ATTRIBUTE8,
47     ATTRIBUTE9,
48     ATTRIBUTE10,
49     ATTRIBUTE11,
50     ATTRIBUTE12,
51     ATTRIBUTE13,
52     ATTRIBUTE14,
53     ATTRIBUTE15,
54     ATTRIBUTE_CATEGORY,
55     FLOW_APPLICATION_ID,
56     FLOW_CODE,
57     PRIMARY_PAGE_APPL_ID,
58     PRIMARY_PAGE_CODE,
59     CREATION_DATE,
60     CREATED_BY,
61     LAST_UPDATE_DATE,
62     LAST_UPDATED_BY,
63     LAST_UPDATE_LOGIN
64   ) values (
65     X_ATTRIBUTE1,
66     X_ATTRIBUTE2,
67     X_ATTRIBUTE3,
68     X_ATTRIBUTE4,
69     X_ATTRIBUTE5,
70     X_ATTRIBUTE6,
71     X_ATTRIBUTE7,
72     X_ATTRIBUTE8,
73     X_ATTRIBUTE9,
74     X_ATTRIBUTE10,
75     X_ATTRIBUTE11,
76     X_ATTRIBUTE12,
77     X_ATTRIBUTE13,
78     X_ATTRIBUTE14,
79     X_ATTRIBUTE15,
80     X_ATTRIBUTE_CATEGORY,
81     X_FLOW_APPLICATION_ID,
82     X_FLOW_CODE,
83     X_PRIMARY_PAGE_APPL_ID,
84     X_PRIMARY_PAGE_CODE,
85     X_CREATION_DATE,
86     X_CREATED_BY,
87     X_LAST_UPDATE_DATE,
88     X_LAST_UPDATED_BY,
89     X_LAST_UPDATE_LOGIN
90   );
91 
92   open c;
93   fetch c into X_ROWID;
94   if (c%notfound) then
95     close c;
96     raise no_data_found;
97   end if;
98   close c;
99 
100   insert into AK_FLOWS_TL (
101     FLOW_APPLICATION_ID,
102     FLOW_CODE,
103     LANGUAGE,
104     NAME,
105     DESCRIPTION,
106     SOURCE_LANG,
107     CREATED_BY,
108     CREATION_DATE,
109     LAST_UPDATED_BY,
110     LAST_UPDATE_DATE,
111     LAST_UPDATE_LOGIN
112   ) select
113     X_FLOW_APPLICATION_ID,
114     X_FLOW_CODE,
115     L.LANGUAGE_CODE,
116     X_NAME,
117     X_DESCRIPTION,
118     userenv('LANG'),
119     X_CREATED_BY,
120     X_CREATION_DATE,
121     X_LAST_UPDATED_BY,
122     X_LAST_UPDATE_DATE,
123     X_LAST_UPDATE_LOGIN
124   from FND_LANGUAGES L
125   where L.INSTALLED_FLAG in ('I', 'B')
126   and not exists
127     (select NULL
128     from AK_FLOWS_TL T
129     where T.FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
130     and T.FLOW_CODE = X_FLOW_CODE
131     and T.LANGUAGE = L.LANGUAGE_CODE);
132 end INSERT_ROW;
133 
134 
135 procedure LOCK_ROW (
136   X_FLOW_APPLICATION_ID in NUMBER,
137   X_FLOW_CODE in VARCHAR2,
138   X_ATTRIBUTE1 in VARCHAR2,
139   X_ATTRIBUTE2 in VARCHAR2,
140   X_ATTRIBUTE3 in VARCHAR2,
141   X_ATTRIBUTE4 in VARCHAR2,
142   X_ATTRIBUTE5 in VARCHAR2,
143   X_ATTRIBUTE6 in VARCHAR2,
144   X_ATTRIBUTE7 in VARCHAR2,
145   X_ATTRIBUTE8 in VARCHAR2,
146   X_ATTRIBUTE9 in VARCHAR2,
147   X_ATTRIBUTE10 in VARCHAR2,
148   X_ATTRIBUTE11 in VARCHAR2,
149   X_ATTRIBUTE12 in VARCHAR2,
150   X_ATTRIBUTE13 in VARCHAR2,
151   X_ATTRIBUTE14 in VARCHAR2,
152   X_ATTRIBUTE15 in VARCHAR2,
153   X_ATTRIBUTE_CATEGORY in VARCHAR2,
154   X_PRIMARY_PAGE_APPL_ID in NUMBER,
155   X_PRIMARY_PAGE_CODE in VARCHAR2,
156   X_NAME in VARCHAR2,
157   X_DESCRIPTION in VARCHAR2
158 ) is
159   cursor c is select
160       ATTRIBUTE1,
161       ATTRIBUTE2,
162       ATTRIBUTE3,
163       ATTRIBUTE4,
164       ATTRIBUTE5,
165       ATTRIBUTE6,
166       ATTRIBUTE7,
167       ATTRIBUTE8,
168       ATTRIBUTE9,
169       ATTRIBUTE10,
170       ATTRIBUTE11,
171       ATTRIBUTE12,
172       ATTRIBUTE13,
173       ATTRIBUTE14,
174       ATTRIBUTE15,
175       ATTRIBUTE_CATEGORY,
176       PRIMARY_PAGE_APPL_ID,
177       PRIMARY_PAGE_CODE
178     from AK_FLOWS
179     where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
180     and FLOW_CODE = X_FLOW_CODE
181     for update of FLOW_CODE nowait;
182   recinfo c%rowtype;
183 
184   cursor c1 is select
185       NAME,
186       DESCRIPTION
187     from AK_FLOWS_TL
188     where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
189     and FLOW_CODE = X_FLOW_CODE
190     and LANGUAGE = userenv('LANG')
191     for update of FLOW_CODE nowait;
192   tlinfo c1%rowtype;
193 
194 begin
195   open c;
196   fetch c into recinfo;
197   if (c%notfound) then
198     close c;
199     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
200     app_exception.raise_exception;
201   end if;
202   close c;
203       if ( ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
204            OR ((recinfo.ATTRIBUTE1 is null)
205                AND (X_ATTRIBUTE1 is null)))
206       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
207            OR ((recinfo.ATTRIBUTE2 is null)
208                AND (X_ATTRIBUTE2 is null)))
209       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
210            OR ((recinfo.ATTRIBUTE3 is null)
211                AND (X_ATTRIBUTE3 is null)))
212       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
213            OR ((recinfo.ATTRIBUTE4 is null)
214                AND (X_ATTRIBUTE4 is null)))
215       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
216            OR ((recinfo.ATTRIBUTE5 is null)
217                AND (X_ATTRIBUTE5 is null)))
218       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
219            OR ((recinfo.ATTRIBUTE6 is null)
220                AND (X_ATTRIBUTE6 is null)))
221       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
222            OR ((recinfo.ATTRIBUTE7 is null)
223                AND (X_ATTRIBUTE7 is null)))
224       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
225            OR ((recinfo.ATTRIBUTE8 is null)
226                AND (X_ATTRIBUTE8 is null)))
227       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
228            OR ((recinfo.ATTRIBUTE9 is null)
229                AND (X_ATTRIBUTE9 is null)))
230       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
231            OR ((recinfo.ATTRIBUTE10 is null)
232                AND (X_ATTRIBUTE10 is null)))
233       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
234            OR ((recinfo.ATTRIBUTE11 is null)
235                AND (X_ATTRIBUTE11 is null)))
236       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
237            OR ((recinfo.ATTRIBUTE12 is null)
238                AND (X_ATTRIBUTE12 is null)))
239       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
240            OR ((recinfo.ATTRIBUTE13 is null)
241                AND (X_ATTRIBUTE13 is null)))
242       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
243            OR ((recinfo.ATTRIBUTE14 is null)
244                AND (X_ATTRIBUTE14 is null)))
245       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
246            OR ((recinfo.ATTRIBUTE15 is null)
247                AND (X_ATTRIBUTE15 is null)))
248       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
249            OR ((recinfo.ATTRIBUTE_CATEGORY is null)
250                AND (X_ATTRIBUTE_CATEGORY is null)))
251       AND (recinfo.PRIMARY_PAGE_APPL_ID = X_PRIMARY_PAGE_APPL_ID)
252       AND (recinfo.PRIMARY_PAGE_CODE = X_PRIMARY_PAGE_CODE)
253   ) then
254     null;
255   else
256     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
257     app_exception.raise_exception;
258   end if;
259 
260   open c1;
261   fetch c1 into tlinfo;
262   if (c1%notfound) then
263     close c1;
264     return;
265   end if;
266   close c1;
267 
268   if ( (tlinfo.NAME = X_NAME)
269       AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
270            OR ((tlinfo.DESCRIPTION is null)
271                AND (X_DESCRIPTION is null)))
272   ) then
273     null;
274   else
275     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
276     app_exception.raise_exception;
277   end if;
278   return;
279 end LOCK_ROW;
280 
281 
282 procedure UPDATE_ROW (
283   X_FLOW_APPLICATION_ID in NUMBER,
284   X_FLOW_CODE in VARCHAR2,
285   X_ATTRIBUTE1 in VARCHAR2,
286   X_ATTRIBUTE2 in VARCHAR2,
287   X_ATTRIBUTE3 in VARCHAR2,
288   X_ATTRIBUTE4 in VARCHAR2,
289   X_ATTRIBUTE5 in VARCHAR2,
290   X_ATTRIBUTE6 in VARCHAR2,
291   X_ATTRIBUTE7 in VARCHAR2,
292   X_ATTRIBUTE8 in VARCHAR2,
293   X_ATTRIBUTE9 in VARCHAR2,
294   X_ATTRIBUTE10 in VARCHAR2,
295   X_ATTRIBUTE11 in VARCHAR2,
296   X_ATTRIBUTE12 in VARCHAR2,
297   X_ATTRIBUTE13 in VARCHAR2,
298   X_ATTRIBUTE14 in VARCHAR2,
299   X_ATTRIBUTE15 in VARCHAR2,
300   X_ATTRIBUTE_CATEGORY in VARCHAR2,
301   X_PRIMARY_PAGE_APPL_ID in NUMBER,
302   X_PRIMARY_PAGE_CODE in VARCHAR2,
303   X_NAME in VARCHAR2,
304   X_DESCRIPTION in VARCHAR2,
305   X_LAST_UPDATE_DATE in DATE,
306   X_LAST_UPDATED_BY in NUMBER,
307   X_LAST_UPDATE_LOGIN in NUMBER
308 ) is
309 begin
310     update AK_FLOWS set
311       ATTRIBUTE1 = X_ATTRIBUTE1,
312       ATTRIBUTE2 = X_ATTRIBUTE2,
313       ATTRIBUTE3 = X_ATTRIBUTE3,
314       ATTRIBUTE4 = X_ATTRIBUTE4,
315       ATTRIBUTE5 = X_ATTRIBUTE5,
316       ATTRIBUTE6 = X_ATTRIBUTE6,
317       ATTRIBUTE7 = X_ATTRIBUTE7,
318       ATTRIBUTE8 = X_ATTRIBUTE8,
319       ATTRIBUTE9 = X_ATTRIBUTE9,
320       ATTRIBUTE10 = X_ATTRIBUTE10,
321       ATTRIBUTE11 = X_ATTRIBUTE11,
322       ATTRIBUTE12 = X_ATTRIBUTE12,
323       ATTRIBUTE13 = X_ATTRIBUTE13,
324       ATTRIBUTE14 = X_ATTRIBUTE14,
325       ATTRIBUTE15 = X_ATTRIBUTE15,
326       ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
327       FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID,
328       FLOW_CODE = X_FLOW_CODE,
329       PRIMARY_PAGE_APPL_ID = X_PRIMARY_PAGE_APPL_ID,
330       PRIMARY_PAGE_CODE = X_PRIMARY_PAGE_CODE,
331       LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
332       LAST_UPDATED_BY = X_LAST_UPDATED_BY,
333       LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
337     raise no_data_found;
334     where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
335     and FLOW_CODE = X_FLOW_CODE;
336   if (sql%notfound) then
338   end if;
339 
340   update AK_FLOWS_TL set
341     NAME = X_NAME,
342     DESCRIPTION = X_DESCRIPTION,
343     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
344     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
345     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
346     SOURCE_LANG = userenv('LANG')
347   where FLOW_CODE = X_FLOW_CODE
348   and FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
349   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
350 
351   if (sql%notfound) then
352     raise no_data_found;
353   end if;
354 end UPDATE_ROW;
355 
356 
357 procedure DELETE_ROW (
358   X_FLOW_APPLICATION_ID in NUMBER,
359   X_FLOW_CODE in VARCHAR2
360 ) is
361 begin
362   delete from AK_FLOWS
363   where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
364   and FLOW_CODE = X_FLOW_CODE;
365 
366   if (sql%notfound) then
367     raise no_data_found;
368   end if;
369 
370   delete from AK_FLOWS_TL
371   where FLOW_APPLICATION_ID = X_FLOW_APPLICATION_ID
372   and FLOW_CODE = X_FLOW_CODE;
373   if (sql%notfound) then
374     raise no_data_found;
375   end if;
376 end DELETE_ROW;
377 
378 
379 procedure ADD_LANGUAGE
380 is
381 begin
382   delete from AK_FLOWS_TL T
383   where not exists
384     (select NULL
385     from AK_FLOWS B
386     where B.FLOW_CODE = T.FLOW_CODE
387     and B.FLOW_APPLICATION_ID = T.FLOW_APPLICATION_ID
388     );
389 
390   update AK_FLOWS_TL T set (
391       NAME,
392       DESCRIPTION
393     ) = (select
394       B.NAME,
395       B.DESCRIPTION
396     from AK_FLOWS_TL B
397     where B.FLOW_CODE = T.FLOW_CODE
398     and B.FLOW_APPLICATION_ID = T.FLOW_APPLICATION_ID
399     and B.LANGUAGE = T.SOURCE_LANG)
400   where (
401       T.FLOW_CODE,
402       T.FLOW_APPLICATION_ID,
403       T.LANGUAGE
404   ) in (select
405       SUBT.FLOW_CODE,
406       SUBT.FLOW_APPLICATION_ID,
407       SUBT.LANGUAGE
408     from AK_FLOWS_TL SUBB, AK_FLOWS_TL SUBT
409     where SUBB.FLOW_CODE = SUBT.FLOW_CODE
410     and SUBB.FLOW_APPLICATION_ID = SUBT.FLOW_APPLICATION_ID
411     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
412     and (SUBB.NAME <> SUBT.NAME
413       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
414       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
415       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
416   ));
417 
418   insert into AK_FLOWS_TL (
419     FLOW_APPLICATION_ID,
420     FLOW_CODE,
421     NAME,
422     DESCRIPTION,
423     CREATED_BY,
424     CREATION_DATE,
425     LAST_UPDATED_BY,
426     LAST_UPDATE_DATE,
427     LAST_UPDATE_LOGIN,
428     LANGUAGE,
429     SOURCE_LANG
430   ) select
431     B.FLOW_APPLICATION_ID,
432     B.FLOW_CODE,
433     B.NAME,
434     B.DESCRIPTION,
435     B.CREATED_BY,
436     B.CREATION_DATE,
437     B.LAST_UPDATED_BY,
438     B.LAST_UPDATE_DATE,
439     B.LAST_UPDATE_LOGIN,
440     L.LANGUAGE_CODE,
441     B.SOURCE_LANG
442   from AK_FLOWS_TL B, FND_LANGUAGES L
443   where L.INSTALLED_FLAG in ('I', 'B')
444   and B.LANGUAGE = userenv('LANG')
445   and not exists
446     (select NULL
447     from AK_FLOWS_TL T
448     where T.FLOW_CODE = B.FLOW_CODE
449     and T.FLOW_APPLICATION_ID = B.FLOW_APPLICATION_ID
450     and T.LANGUAGE = L.LANGUAGE_CODE);
451 end ADD_LANGUAGE;
452 
453 
454 PROCEDURE  copy_records
455 (	p_o_code	in varchar2,
456 	p_o_id		in number,
457 	p_n_code	in varchar2,
458 	p_n_id		in number) IS
459 	-- Various FLOW record type
460 	f_rec		ak_flows%rowtype;
461 
462 	-- FLOW cursors
463 	cursor f_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
464 		select	*
465 		from	ak_flows
466 		where	flow_code = p_csr_code
467 		and	flow_application_id = p_csr_id;
468 	cursor ft_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
469 		select	*
470 		from	ak_flows_tl
471 		where	flow_code = p_csr_code
472 		and	flow_application_id = p_csr_id;
473 	cursor fp_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
474 		select	*
475 		from	ak_flow_pages
476 		where	flow_code = p_csr_code
477 		and	flow_application_id = p_csr_id;
478 	cursor fpt_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
479 		select	*
480 		from	ak_flow_pages_tl
481 		where	flow_code = p_csr_code
482 		and	flow_application_id = p_csr_id;
483 	cursor fpr_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
484 		select	*
485 		from	ak_flow_page_regions
486 		where	flow_code = p_csr_code
487 		and	flow_application_id = p_csr_id;
488 	cursor fpri_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
489 		select	*
490 		from	ak_flow_page_region_items
491 		where	flow_code = p_csr_code
492 		and	flow_application_id = p_csr_id;
493 	cursor frr_csr (p_csr_code IN VARCHAR2, p_csr_id IN NUMBER) is
494 		select	*
495 		from	ak_flow_region_relations
496 		where	flow_code = p_csr_code
497 		and	flow_application_id = p_csr_id;
498 
499 	-- Misc variables to be used
500 	b_success	boolean;
501 BEGIN
502 	open f_csr( p_o_code, p_o_id);
503 	FETCH f_csr INTO f_rec;
504 	b_success := f_csr%found;
505 	close f_csr;
506 	-- AK_FLOWS is a parent table. If you can't find a record, exit with an error message.
507 	if (not b_success) then
508 		fnd_message.set_name('AK', 'AK_NEW_FLOW_ALREADY_EXISTS');
509 		app_exception.raise_exception;
510 	end if;
514 
511 	-- Put new code and id into record and insert into appropriate table
512 	f_rec.flow_code			:= p_n_code;
513 	f_rec.flow_application_id	:= p_n_id;
515 	insert into AK_FLOWS (
516 		ATTRIBUTE1,
517 		ATTRIBUTE2,
518 		ATTRIBUTE3,
519 		ATTRIBUTE4,
520 		ATTRIBUTE5,
521 		ATTRIBUTE6,
522 		ATTRIBUTE7,
523 		ATTRIBUTE8,
524 		ATTRIBUTE9,
525 		ATTRIBUTE10,
526 		ATTRIBUTE11,
527 		ATTRIBUTE12,
528 		ATTRIBUTE13,
529 		ATTRIBUTE14,
530 		ATTRIBUTE15,
531 		ATTRIBUTE_CATEGORY,
532 		FLOW_APPLICATION_ID,
533 		FLOW_CODE,
534 		PRIMARY_PAGE_APPL_ID,
535 		PRIMARY_PAGE_CODE,
536 		CREATION_DATE,
537 		CREATED_BY,
538 		LAST_UPDATE_DATE,
539 		LAST_UPDATED_BY,
540 		LAST_UPDATE_LOGIN
541 	) values (
542 		f_rec.ATTRIBUTE1,
543 		f_rec.ATTRIBUTE2,
544 		f_rec.ATTRIBUTE3,
545 		f_rec.ATTRIBUTE4,
546 		f_rec.ATTRIBUTE5,
547 		f_rec.ATTRIBUTE6,
548 		f_rec.ATTRIBUTE7,
549 		f_rec.ATTRIBUTE8,
550 		f_rec.ATTRIBUTE9,
551 		f_rec.ATTRIBUTE10,
552 		f_rec.ATTRIBUTE11,
553 		f_rec.ATTRIBUTE12,
554 		f_rec.ATTRIBUTE13,
555 		f_rec.ATTRIBUTE14,
556 		f_rec.ATTRIBUTE15,
557 		f_rec.ATTRIBUTE_CATEGORY,
558 		f_rec.FLOW_APPLICATION_ID,
559 		f_rec.FLOW_CODE,
560 		f_rec.PRIMARY_PAGE_APPL_ID,
561 		f_rec.PRIMARY_PAGE_CODE,
562 		f_rec.CREATION_DATE,
563 		f_rec.CREATED_BY,
564 		f_rec.LAST_UPDATE_DATE,
565 		f_rec.LAST_UPDATED_BY,
566 		f_rec.LAST_UPDATE_LOGIN
567 	);
568 
569 	FOR ft_rec IN ft_csr( p_o_code, p_o_id) LOOP
570 		-- Put new code and id into record and insert into appropriate table
571 		ft_rec.flow_code		:= p_n_code;
572 		ft_rec.flow_application_id	:= p_n_id;
573 		insert into AK_FLOWS_TL (
574 			FLOW_APPLICATION_ID,
575 			FLOW_CODE,
576 			LANGUAGE,
577 			NAME,
578 			DESCRIPTION,
579 			SOURCE_LANG,
580 			CREATED_BY,
581 			CREATION_DATE,
582 			LAST_UPDATED_BY,
583 			LAST_UPDATE_DATE,
584 			LAST_UPDATE_LOGIN
585 		) values (
586 			ft_rec.FLOW_APPLICATION_ID,
587 			ft_rec.FLOW_CODE,
588 			ft_rec.LANGUAGE,
589 			ft_rec.NAME,
590 			ft_rec.DESCRIPTION,
591 			ft_rec.SOURCE_LANG,
592 			ft_rec.CREATED_BY,
593 			ft_rec.CREATION_DATE,
594 			ft_rec.LAST_UPDATED_BY,
595 			ft_rec.LAST_UPDATE_DATE,
596 			ft_rec.LAST_UPDATE_LOGIN
597 		);
598 	END LOOP;
599 
600 	FOR fp_rec IN fp_csr( p_o_code, p_o_id) LOOP
601 		-- Put new code and id into record and insert into appropriate table
602 		fp_rec.flow_code		:= p_n_code;
603 		fp_rec.flow_application_id	:= p_n_id;
604 
605 		insert into AK_FLOW_PAGES (
606 			FLOW_APPLICATION_ID,
607 			FLOW_CODE,
608 			PAGE_APPLICATION_ID,
609 			PAGE_CODE,
610 			PRIMARY_REGION_APPL_ID,
611 			PRIMARY_REGION_CODE,
612 			CREATION_DATE,
613 			CREATED_BY,
614 			LAST_UPDATE_DATE,
615 			LAST_UPDATED_BY,
616 			LAST_UPDATE_LOGIN,
617 			ATTRIBUTE_CATEGORY,
618 			ATTRIBUTE1,
619 			ATTRIBUTE2,
620 			ATTRIBUTE3,
621 			ATTRIBUTE4,
622 			ATTRIBUTE5,
623 			ATTRIBUTE6,
624 			ATTRIBUTE7,
625 			ATTRIBUTE8,
626 			ATTRIBUTE9,
627 			ATTRIBUTE10,
628 			ATTRIBUTE11,
629 			ATTRIBUTE12,
630 			ATTRIBUTE13,
631 			ATTRIBUTE14,
632 			ATTRIBUTE15
633 		) values (
634 			fp_rec.FLOW_APPLICATION_ID,
635 			fp_rec.FLOW_CODE,
636 			fp_rec.PAGE_APPLICATION_ID,
637 			fp_rec.PAGE_CODE,
638 			fp_rec.PRIMARY_REGION_APPL_ID,
639 			fp_rec.PRIMARY_REGION_CODE,
640 			fp_rec.CREATION_DATE,
641 			fp_rec.CREATED_BY,
642 			fp_rec.LAST_UPDATE_DATE,
643 			fp_rec.LAST_UPDATED_BY,
644 			fp_rec.LAST_UPDATE_LOGIN,
645 			fp_rec.ATTRIBUTE_CATEGORY,
646 			fp_rec.ATTRIBUTE1,
647 			fp_rec.ATTRIBUTE2,
648 			fp_rec.ATTRIBUTE3,
649 			fp_rec.ATTRIBUTE4,
650 			fp_rec.ATTRIBUTE5,
651 			fp_rec.ATTRIBUTE6,
652 			fp_rec.ATTRIBUTE7,
653 			fp_rec.ATTRIBUTE8,
654 			fp_rec.ATTRIBUTE9,
655 			fp_rec.ATTRIBUTE10,
656 			fp_rec.ATTRIBUTE11,
657 			fp_rec.ATTRIBUTE12,
658 			fp_rec.ATTRIBUTE13,
659 			fp_rec.ATTRIBUTE14,
660 			fp_rec.ATTRIBUTE15
661 		);
662 	END LOOP;
663 
664 	FOR fpt_rec IN fpt_csr( p_o_code, p_o_id) LOOP
665 		-- Put new code and id into record and insert into appropriate table
666 		fpt_rec.flow_code		:= p_n_code;
667 		fpt_rec.flow_application_id	:= p_n_id;
668 
669 		insert into AK_FLOW_PAGES_TL (
670 			FLOW_APPLICATION_ID,
671 			FLOW_CODE,
672 			PAGE_APPLICATION_ID,
673 			PAGE_CODE,
674 			LANGUAGE,
675 			NAME,
676 			DESCRIPTION,
677 			SOURCE_LANG,
678 			CREATED_BY,
679 			CREATION_DATE,
680 			LAST_UPDATED_BY,
681 			LAST_UPDATE_DATE,
682 			LAST_UPDATE_LOGIN
683 		) values (
684 			fpt_rec.FLOW_APPLICATION_ID,
685 			fpt_rec.FLOW_CODE,
686 			fpt_rec.PAGE_APPLICATION_ID,
687 			fpt_rec.PAGE_CODE,
688 			fpt_rec.LANGUAGE,
689 			fpt_rec.NAME,
690 			fpt_rec.DESCRIPTION,
691 			fpt_rec.SOURCE_LANG,
692 			fpt_rec.CREATED_BY,
693 			fpt_rec.CREATION_DATE,
694 			fpt_rec.LAST_UPDATED_BY,
695 			fpt_rec.LAST_UPDATE_DATE,
696 			fpt_rec.LAST_UPDATE_LOGIN
697 		);
698 	END LOOP;
699 
700 	FOR fpr_rec IN fpr_csr( p_o_code, p_o_id) LOOP
701 		-- Put new code and id into record and insert into appropriate table
702 		fpr_rec.flow_code		:= p_n_code;
703 		fpr_rec.flow_application_id	:= p_n_id;
704 
705 		insert into AK_FLOW_PAGE_REGIONS (
706 			FLOW_APPLICATION_ID,
710 			REGION_APPLICATION_ID,
707 			FLOW_CODE,
708 			PAGE_APPLICATION_ID,
709 			PAGE_CODE,
711 			REGION_CODE,
712 			DISPLAY_SEQUENCE,
713 			REGION_STYLE,
714 			NUM_COLUMNS,
715 			ICX_CUSTOM_CALL,
716 			PARENT_REGION_APPLICATION_ID,
717 			PARENT_REGION_CODE,
718 			CREATION_DATE,
719 			CREATED_BY,
720 			LAST_UPDATE_DATE,
721 			LAST_UPDATED_BY,
722 			LAST_UPDATE_LOGIN,
723 			ATTRIBUTE_CATEGORY,
724 			ATTRIBUTE1,
725 			ATTRIBUTE2,
726 			ATTRIBUTE3,
727 			ATTRIBUTE4,
728 			ATTRIBUTE5,
729 			ATTRIBUTE6,
730 			ATTRIBUTE7,
731 			ATTRIBUTE8,
732 			ATTRIBUTE9,
733 			ATTRIBUTE10,
734 			ATTRIBUTE11,
735 			ATTRIBUTE12,
736 			ATTRIBUTE13,
737 			ATTRIBUTE14,
738 			ATTRIBUTE15
739 		) values (
740 			fpr_rec.FLOW_APPLICATION_ID,
741 			fpr_rec.FLOW_CODE,
742 			fpr_rec.PAGE_APPLICATION_ID,
743 			fpr_rec.PAGE_CODE,
744 			fpr_rec.REGION_APPLICATION_ID,
745 			fpr_rec.REGION_CODE,
746 			fpr_rec.DISPLAY_SEQUENCE,
747 			fpr_rec.REGION_STYLE,
748 			fpr_rec.NUM_COLUMNS,
749 			fpr_rec.ICX_CUSTOM_CALL,
750 			fpr_rec.PARENT_REGION_APPLICATION_ID,
751 			fpr_rec.PARENT_REGION_CODE,
752 			fpr_rec.CREATION_DATE,
753 			fpr_rec.CREATED_BY,
754 			fpr_rec.LAST_UPDATE_DATE,
755 			fpr_rec.LAST_UPDATED_BY,
756 			fpr_rec.LAST_UPDATE_LOGIN,
757 			fpr_rec.ATTRIBUTE_CATEGORY,
758 			fpr_rec.ATTRIBUTE1,
759 			fpr_rec.ATTRIBUTE2,
760 			fpr_rec.ATTRIBUTE3,
761 			fpr_rec.ATTRIBUTE4,
762 			fpr_rec.ATTRIBUTE5,
763 			fpr_rec.ATTRIBUTE6,
764 			fpr_rec.ATTRIBUTE7,
765 			fpr_rec.ATTRIBUTE8,
766 			fpr_rec.ATTRIBUTE9,
767 			fpr_rec.ATTRIBUTE10,
768 			fpr_rec.ATTRIBUTE11,
769 			fpr_rec.ATTRIBUTE12,
770 			fpr_rec.ATTRIBUTE13,
771 			fpr_rec.ATTRIBUTE14,
772 			fpr_rec.ATTRIBUTE15
773 		);
774 	END LOOP;
775 
776 	FOR fpri_rec IN fpri_csr( p_o_code, p_o_id) LOOP
777 		-- Put new code and id into record and insert into appropriate table
778 		fpri_rec.flow_code		:= p_n_code;
779 		fpri_rec.flow_application_id	:= p_n_id;
780 
781 		insert into AK_FLOW_PAGE_REGION_ITEMS (
782 			FLOW_APPLICATION_ID,
783 			FLOW_CODE,
784 			PAGE_APPLICATION_ID,
785 			PAGE_CODE,
786 			REGION_APPLICATION_ID,
787 			REGION_CODE,
788 			ATTRIBUTE_APPLICATION_ID,
789 			ATTRIBUTE_CODE,
790 			TO_PAGE_APPL_ID,
791 			TO_PAGE_CODE,
792 			TO_URL_ATTRIBUTE_APPL_ID,
793 			TO_URL_ATTRIBUTE_CODE,
794 			CREATION_DATE,
795 			CREATED_BY,
796 			LAST_UPDATE_DATE,
797 			LAST_UPDATED_BY,
798 			LAST_UPDATE_LOGIN,
799 			ATTRIBUTE_CATEGORY,
800 			ATTRIBUTE1,
801 			ATTRIBUTE2,
802 			ATTRIBUTE3,
803 			ATTRIBUTE4,
804 			ATTRIBUTE5,
805 			ATTRIBUTE6,
806 			ATTRIBUTE7,
807 			ATTRIBUTE8,
808 			ATTRIBUTE9,
809 			ATTRIBUTE10,
810 			ATTRIBUTE11,
811 			ATTRIBUTE12,
812 			ATTRIBUTE13,
813 			ATTRIBUTE14,
814 			ATTRIBUTE15
815 		) values (
816 			fpri_rec.FLOW_APPLICATION_ID,
817 			fpri_rec.FLOW_CODE,
818 			fpri_rec.PAGE_APPLICATION_ID,
819 			fpri_rec.PAGE_CODE,
820 			fpri_rec.REGION_APPLICATION_ID,
821 			fpri_rec.REGION_CODE,
822 			fpri_rec.ATTRIBUTE_APPLICATION_ID,
823 			fpri_rec.ATTRIBUTE_CODE,
824 			fpri_rec.TO_PAGE_APPL_ID,
825 			fpri_rec.TO_PAGE_CODE,
826 			fpri_rec.TO_URL_ATTRIBUTE_APPL_ID,
827 			fpri_rec.TO_URL_ATTRIBUTE_CODE,
828 			fpri_rec.CREATION_DATE,
829 			fpri_rec.CREATED_BY,
830 			fpri_rec.LAST_UPDATE_DATE,
831 			fpri_rec.LAST_UPDATED_BY,
832 			fpri_rec.LAST_UPDATE_LOGIN,
833 			fpri_rec.ATTRIBUTE_CATEGORY,
834 			fpri_rec.ATTRIBUTE1,
835 			fpri_rec.ATTRIBUTE2,
836 			fpri_rec.ATTRIBUTE3,
837 			fpri_rec.ATTRIBUTE4,
838 			fpri_rec.ATTRIBUTE5,
839 			fpri_rec.ATTRIBUTE6,
840 			fpri_rec.ATTRIBUTE7,
841 			fpri_rec.ATTRIBUTE8,
842 			fpri_rec.ATTRIBUTE9,
843 			fpri_rec.ATTRIBUTE10,
844 			fpri_rec.ATTRIBUTE11,
845 			fpri_rec.ATTRIBUTE12,
846 			fpri_rec.ATTRIBUTE13,
847 			fpri_rec.ATTRIBUTE14,
848 			fpri_rec.ATTRIBUTE15
849 		);
850 	END LOOP;
851 
852 	FOR frr_rec IN frr_csr( p_o_code, p_o_id) LOOP
853 		-- Put new code and id into record and insert into appropriate table
854 		frr_rec.flow_code		:= p_n_code;
855 		frr_rec.flow_application_id	:= p_n_id;
856 
857 		insert into AK_FLOW_REGION_RELATIONS(
858 			FLOW_APPLICATION_ID,
859 			FLOW_CODE,
860 			FOREIGN_KEY_NAME,
861 			FROM_PAGE_APPL_ID,
862 			FROM_PAGE_CODE,
863 			FROM_REGION_APPL_ID,
864 			FROM_REGION_CODE,
865 			TO_PAGE_APPL_ID,
866 			TO_PAGE_CODE,
867 			TO_REGION_APPL_ID,
868 			TO_REGION_CODE,
869 			APPLICATION_ID,
870 			CREATION_DATE,
871 			CREATED_BY,
872 			LAST_UPDATE_DATE,
873 			LAST_UPDATED_BY,
874 			LAST_UPDATE_LOGIN,
875 			ATTRIBUTE_CATEGORY,
876 			ATTRIBUTE1,
877 			ATTRIBUTE2,
878 			ATTRIBUTE3,
879 			ATTRIBUTE4,
880 			ATTRIBUTE5,
881 			ATTRIBUTE6,
882 			ATTRIBUTE7,
883 			ATTRIBUTE8,
884 			ATTRIBUTE9,
885 			ATTRIBUTE10,
886 			ATTRIBUTE11,
887 			ATTRIBUTE12,
888 			ATTRIBUTE13,
889 			ATTRIBUTE14,
890 			ATTRIBUTE15
891 		) values (
892 			frr_rec.FLOW_APPLICATION_ID,
893 			frr_rec.FLOW_CODE,
894 			frr_rec.FOREIGN_KEY_NAME,
895 			frr_rec.FROM_PAGE_APPL_ID,
896 			frr_rec.FROM_PAGE_CODE,
897 			frr_rec.FROM_REGION_APPL_ID,
898 			frr_rec.FROM_REGION_CODE,
899 			frr_rec.TO_PAGE_APPL_ID,
900 			frr_rec.TO_PAGE_CODE,
904 			frr_rec.CREATION_DATE,
901 			frr_rec.TO_REGION_APPL_ID,
902 			frr_rec.TO_REGION_CODE,
903 			frr_rec.APPLICATION_ID,
905 			frr_rec.CREATED_BY,
906 			frr_rec.LAST_UPDATE_DATE,
907 			frr_rec.LAST_UPDATED_BY,
908 			frr_rec.LAST_UPDATE_LOGIN,
909 			frr_rec.ATTRIBUTE_CATEGORY,
910 			frr_rec.ATTRIBUTE1,
911 			frr_rec.ATTRIBUTE2,
912 			frr_rec.ATTRIBUTE3,
913 			frr_rec.ATTRIBUTE4,
914 			frr_rec.ATTRIBUTE5,
915 			frr_rec.ATTRIBUTE6,
916 			frr_rec.ATTRIBUTE7,
917 			frr_rec.ATTRIBUTE8,
918 			frr_rec.ATTRIBUTE9,
919 			frr_rec.ATTRIBUTE10,
920 			frr_rec.ATTRIBUTE11,
921 			frr_rec.ATTRIBUTE12,
922 			frr_rec.ATTRIBUTE13,
923 			frr_rec.ATTRIBUTE14,
924 			frr_rec.ATTRIBUTE15
925 		);
926 	END LOOP;
927 
928 END copy_records;
929 
930 end AK_FLOWS_PKG;