DBA Data[Home] [Help]

PACKAGE BODY: APPS.MSD_COPY_DEMAND_PLAN

Source


1 PACKAGE BODY MSD_COPY_DEMAND_PLAN AS
2 /* $Header: msdcpdpb.pls 120.6 2006/03/31 06:18:36 brampall noship $ */
3 
4 /* Public Procedures */
5 
6 function get_parameter_type(p_demand_plan_id number,
7 														p_parameter_id varchar2)
8 return varchar2
9 is
10 cursor par_type is
11 select parameter_type
12 from msd_dp_parameters
13 where demand_plan_id=p_demand_plan_id
14 and to_char(parameter_id)=rtrim(p_parameter_id);
15 
16 l_par_type varchar2(300) := null;
17 
18 begin
19 
20 		open par_type;
21 		fetch par_type into l_par_type;
22 		close par_type;
23 
24 		return l_par_type;
25 
26 end get_parameter_type;
27 
28 function copy_demand_plan (
29 p_new_dp_id in out nocopy number,
30 p_target_demand_plan_name in VARCHAR2,
31 p_target_demand_plan_descr in VARCHAR2,
32 p_shared_db_location in VARCHAR2,
33 p_source_demand_plan_id in NUMBER,
34 p_organization_id in number,
35 p_instance_id  in number,
36 p_errcode in out nocopy varchar2
37 ) return NUMBER IS
38 
39 lv_error_cd NUMBER;
40 lv_status_id NUMBER;
41 x_demand_plan_id number ;
42 x_new_scenario_id number;
43 x_new_document_id number;
44 x_new_formula_id number;
45 x_dp_exists number := 0 ;
46 No_Source_Dp EXCEPTION;
47 
48 cursor cur_scenario is
49    select scenario_id
50    from msd_dp_scenarios
51    where demand_plan_id = p_source_demand_plan_id
52    and (nvl(supply_plan_flag,'N') = 'N'
53    or p_source_demand_plan_id not in
54    (select demand_plan_id
55    from msd_demand_plans
56    where template_flag = 'Y'));
57 
58 cursor cur_document is
59    select document_id
60    from msd_dp_seeded_documents
61    where demand_plan_id = p_source_demand_plan_id;
62 
63 cursor cur_formula is
64    select formula_id
65    from msd_dp_formulas
66    where demand_plan_id = p_source_demand_plan_id
67    and (nvl(supply_plan_flag,'N') = 'N'
68    or p_source_demand_plan_id not in
69    (select demand_plan_id
70    from msd_demand_plans
71    where template_flag = 'Y'))
72    order by creation_sequence;
73 
74 cursor get_template_flag is
75 select template_flag
76 from msd_demand_plans
77 where demand_plan_id=p_source_demand_plan_id;
78 
79 cursor get_template_id is
80 select template_id
81 from msd_demand_plans
82 where demand_plan_id=x_demand_plan_id;
83 
84 cursor replace_equation(p_demand_plan_id number) is
85 select parameter_type,equation,post_calculation
86 from msd_dp_parameters
87 where demand_plan_id=p_demand_plan_id;
88 
89 cursor replace_associate_param is
90 select scenario_id,associate_parameter
91 from msd_dp_scenarios
92 where demand_plan_id=x_demand_plan_id;
93 
94 l_template_flag varchar2(3);
95 
96 l_template_id number;
97 
98 l_par_type varchar2(300);
99 BEGIN
100 
101 
102 select msc_plans_s.nextval into x_demand_plan_id
103 from dual ;
104 
105 
106 
107 lv_status_id := 5;
108 
109 select count(*) into x_dp_exists
110 from msd_demand_plans
111 where demand_plan_id = p_source_demand_plan_id;
112 if x_dp_exists = 0 then
113   raise No_Source_Dp ;
114 end if ;
115 
116 
117 lv_status_id := 10;
118 
119 INSERT INTO msd_demand_plans
120 (        DEMAND_PLAN_ID
121         ,ORGANIZATION_ID
122         ,DEMAND_PLAN_NAME
123         ,DESCRIPTION
124         ,CALENDAR_TYPE
125         ,CALENDAR_CODE
126         ,PERIOD_SET_NAME
127         ,BASE_UOM
128         ,AVERAGE_DISCOUNT
129         ,CATEGORY_SET_ID
130         ,LOWEST_PERIOD_TYPE
131         ,HISTORY_START_DATE
132         ,LAST_UPDATE_DATE
133         ,LAST_UPDATED_BY
134         ,CREATION_DATE
135         ,CREATED_BY
136         ,LAST_UPDATE_LOGIN
137         ,REQUEST_ID
138         ,PROGRAM_APPLICATION_ID
139         ,PROGRAM_ID
140         ,PROGRAM_UPDATE_DATE
141         ,ATTRIBUTE_CATEGORY
142         ,ATTRIBUTE1
143         ,ATTRIBUTE2
144         ,ATTRIBUTE3
145         ,ATTRIBUTE4
146         ,ATTRIBUTE5
147         ,ATTRIBUTE6
148         ,ATTRIBUTE7
149         ,ATTRIBUTE8
150         ,ATTRIBUTE9
151         ,ATTRIBUTE10
152         ,ATTRIBUTE11
153         ,ATTRIBUTE12
154         ,ATTRIBUTE13
155         ,ATTRIBUTE14
156         ,ATTRIBUTE15
157         ,SR_INSTANCE_ID
158         ,VALID_FLAG
159         ,ENABLE_FCST_EXPLOSION
160         ,USE_ORG_SPECIFIC_BOM_FLAG
161 	,ROUNDOFF_THREASHOLD
162 	,ROUNDOFF_DECIMAL_PLACES
163 	,AMT_THRESHOLD
164 	,AMT_DECIMAL_PLACES
165         ,G_MIN_TIM_LVL_ID
166         ,F_MIN_TIM_LVL_ID
167         ,C_MIN_TIM_LVL_ID
168         ,M_MIN_TIM_LVL_ID
169         ,STRIPE_INSTANCE
170         ,STRIPE_LEVEL_ID
171         ,STRIPE_SR_LEVEL_PK
172         ,STRIPE_STREAM_NAME
173         ,STRIPE_STREAM_DESIG
174         ,ROUNDING_LEVEL_ID
175 	,TEMPLATE_FLAG
176         ,TEMPLATE_ID
177         ,DEFAULT_TEMPLATE
178         ,PLAN_TYPE
179         ,LIAB_PLAN_ID
180 	,LIAB_PLAN_NAME
181         ,PLAN_START_DATE
182         ,PLAN_END_DATE
183         ,PREV_LIAB_PUB_PLAN_START_DATE
184         ,PREVIOUS_PLAN_START_DATE
185         ,LIABILITY_REVISION_NUM
186 	)
187 SELECT
188          x_demand_plan_id
189         ,nvl(p_organization_id, dp.ORGANIZATION_ID)
190         ,p_target_demand_plan_name
191         ,p_target_demand_plan_descr
192         ,dp.CALENDAR_TYPE
193         ,dp.CALENDAR_CODE
194         ,dp.PERIOD_SET_NAME
195         ,dp.BASE_UOM
196         ,dp.AVERAGE_DISCOUNT
197         ,dp.CATEGORY_SET_ID
198         ,dp.LOWEST_PERIOD_TYPE
199         ,dp.HISTORY_START_DATE
200         ,SYSDATE
201         ,fnd_global.user_id
202         ,SYSDATE
203         ,fnd_global.user_id
204         ,fnd_global.login_id
205         ,NULL
206         ,NULL
207         ,NULL
208         ,SYSDATE
209         ,dp.ATTRIBUTE_CATEGORY
210         ,dp.ATTRIBUTE1
211         ,dp.ATTRIBUTE2
212         ,dp.ATTRIBUTE3
213         ,dp.ATTRIBUTE4
214         ,dp.ATTRIBUTE5
215         ,dp.ATTRIBUTE6
216         ,dp.ATTRIBUTE7
217         ,dp.ATTRIBUTE8
218         ,dp.ATTRIBUTE9
219         ,dp.ATTRIBUTE10
220         ,dp.ATTRIBUTE11
221         ,dp.ATTRIBUTE12
222         ,dp.ATTRIBUTE13
223         ,dp.ATTRIBUTE14
224         ,dp.ATTRIBUTE15
225         ,nvl(p_instance_id, dp.SR_INSTANCE_ID)
226         ,1
227         ,dp.ENABLE_FCST_EXPLOSION
228         ,dp.USE_ORG_SPECIFIC_BOM_FLAG
229 	,dp.ROUNDOFF_THREASHOLD
230 	,dp.ROUNDOFF_DECIMAL_PLACES
231 	,dp.AMT_THRESHOLD
232 	,dp.AMT_DECIMAL_PLACES
233         ,dp.G_MIN_TIM_LVL_ID
234         ,dp.F_MIN_TIM_LVL_ID
235         ,dp.C_MIN_TIM_LVL_ID
236         ,dp.M_MIN_TIM_LVL_ID
237         ,dp.STRIPE_INSTANCE
238         ,dp.STRIPE_LEVEL_ID
239         ,dp.STRIPE_SR_LEVEL_PK
240         ,dp.STRIPE_STREAM_NAME
241         ,dp.STRIPE_STREAM_DESIG
242         ,dp.ROUNDING_LEVEL_ID
243         ,'N'
244         ,dp.TEMPLATE_ID
245         ,'N'
246         ,dp.PLAN_TYPE
247         ,dp.LIAB_PLAN_ID
248 	,dp.LIAB_PLAN_NAME
249         ,dp.PLAN_START_DATE
250         ,dp.PLAN_END_DATE
251         ,dp.PREV_LIAB_PUB_PLAN_START_DATE
252         ,dp.PREVIOUS_PLAN_START_DATE
253         ,dp.LIABILITY_REVISION_NUM
254    FROM
255         msd_demand_plans dp
256   WHERE
257         DEMAND_PLAN_ID  = p_source_demand_plan_id ;
258 
259  INSERT INTO msd_demand_plans_tl
260         (
261 	DEMAND_PLAN_ID
262 	,DESCRIPTION
263 	,LANGUAGE
264  	,SOURCE_LANG
265  	,CREATION_DATE
266  	,CREATED_BY
267  	,LAST_UPDATE_DATE
268  	,LAST_UPDATED_BY
269  	,LAST_UPDATE_LOGIN
270  	,REQUEST_ID
271  	,PROGRAM_APPLICATION_ID
272  	,PROGRAM_ID
273  	,PROGRAM_UPDATE_DATE
274 	)
275 SELECT
276          x_demand_plan_id
277         ,p_target_demand_plan_descr
278 	,USERENV('LANG')
279  	,USERENV('LANG')
280         ,SYSDATE
281         ,fnd_global.user_id
282         ,SYSDATE
283         ,fnd_global.user_id
284         ,fnd_global.login_id
285         ,NULL
286         ,NULL
287         ,NULL
288         ,SYSDATE
289    FROM DUAL;
290 
291 lv_status_id := 20;
292 
293 INSERT INTO msd_dp_dimensions
294 (         DEMAND_PLAN_ID
295          ,DP_DIMENSION_CODE
296          ,DIMENSION_CODE
297          ,LAST_UPDATE_DATE
298          ,LAST_UPDATED_BY
299          ,CREATION_DATE
300          ,CREATED_BY
301          ,LAST_UPDATE_LOGIN
302          ,REQUEST_ID
303          ,PROGRAM_APPLICATION_ID
304          ,PROGRAM_ID
305          ,PROGRAM_UPDATE_DATE
306 	 ,DELETEABLE_FLAG)
307 SELECT
308          x_demand_plan_id
309          ,dim.DP_DIMENSION_CODE
310          ,dim.DIMENSION_CODE
311         ,SYSDATE
312         ,fnd_global.user_id
313         ,SYSDATE
314         ,fnd_global.user_id
315         ,fnd_global.login_id
316         ,NULL
317         ,NULL
318         ,NULL
319         ,SYSDATE
320 	,dim.DELETEABLE_FLAG
321   FROM
322         msd_dp_dimensions dim
323   WHERE
324         DEMAND_PLAN_ID  = p_source_demand_plan_id;
325 
326  INSERT INTO msd_dp_hierarchies
327          ( DEMAND_PLAN_ID
328           ,DP_DIMENSION_CODE
329           ,HIERARCHY_ID
330           ,LAST_UPDATE_DATE
331           ,LAST_UPDATED_BY
332           ,CREATION_DATE
333           ,CREATED_BY
334           ,LAST_UPDATE_LOGIN
335           ,REQUEST_ID
336           ,PROGRAM_APPLICATION_ID
337           ,PROGRAM_ID
338           ,PROGRAM_UPDATE_DATE
339 	  ,DELETEABLE_FLAG)
340 
341  SELECT
342          x_demand_plan_id
343         ,hie.DP_DIMENSION_CODE
344         ,hie.HIERARCHY_ID
345         ,SYSDATE
346         ,fnd_global.user_id
347         ,SYSDATE
348         ,fnd_global.user_id
349         ,fnd_global.login_id
350         ,NULL
351         ,NULL
352         ,NULL
353         ,SYSDATE
354 	,hie.DELETEABLE_FLAG
355    FROM  msd_dp_hierarchies hie
356    WHERE DEMAND_PLAN_ID  = p_source_demand_plan_id;
357 
358 
359 
360 lv_status_id := 30;
361 
362 INSERT INTO msd_dp_parameters
363         (DEMAND_PLAN_ID,
364          PARAMETER_ID,
365          PARAMETER_TYPE,
366          PARAMETER_NAME,
367          START_DATE,
368          END_DATE,
369          OUTPUT_SCENARIO_ID,
370          INPUT_SCENARIO_ID,
371          INPUT_DEMAND_PLAN_ID,
372          REVISION,
373          FORECAST_DATE_USED,
374          FORECAST_BASED_ON,
375          QUANTITY_USED,
376          AMOUNT_USED,
377          FORECAST_USED,
378          PERIOD_TYPE,
379          FACT_TYPE,
380          VIEW_NAME,
381 	 ALLO_AGG_BASIS_STREAM_ID,
382 	 NUMBER_OF_PERIOD,
383          LAST_UPDATE_DATE,
384          LAST_UPDATED_BY,
385          CREATION_DATE,
386          CREATED_BY,
387          LAST_UPDATE_LOGIN,
388          REQUEST_ID,
389          PROGRAM_APPLICATION_ID,
390          PROGRAM_ID,
391          PROGRAM_UPDATE_DATE,
392 	 DELETEABLE_FLAG,
393 	 CAPACITY_USAGE_RATIO,
394 	 SUPPLY_PLAN_FLAG,
395 	 PRICE_LIST_NAME,
396 	 STREAM_TYPE,
397 	 EQUATION,
398 	 CALCULATED_ORDER,
399 	 POST_CALCULATION)
400 SELECT
401           x_demand_plan_id
402          ,msd_dp_parameters_s.nextval
403          ,par.PARAMETER_TYPE
404          ,par.PARAMETER_NAME
405          ,par.START_DATE
406          ,par.END_DATE
407          ,par.OUTPUT_SCENARIO_ID
408          ,par.INPUT_SCENARIO_ID
409          ,par.INPUT_DEMAND_PLAN_ID
410          ,par.REVISION
411          ,par.FORECAST_DATE_USED
412          ,par.FORECAST_BASED_ON
413          ,par.QUANTITY_USED
414          ,par.AMOUNT_USED
415          ,par.FORECAST_USED
416          ,par.PERIOD_TYPE
417          ,par.FACT_TYPE
418          ,par.VIEW_NAME
419 	 ,par.ALLO_AGG_BASIS_STREAM_ID
420 	 ,par.NUMBER_OF_PERIOD
421          ,SYSDATE
422         ,fnd_global.user_id
423         ,SYSDATE
424         ,fnd_global.user_id
425         ,fnd_global.login_id
426         ,NULL
427         ,NULL
428         ,NULL
429         ,SYSDATE
430 	,par.DELETEABLE_FLAG
431 	,par.CAPACITY_USAGE_RATIO
432 	,par.SUPPLY_PLAN_FLAG
433 	,par.PRICE_LIST_NAME
434 	,par.stream_type
435 	,par.equation
436 	,par.calculated_order
437 	,par.post_calculation
438   FROM
439         msd_dp_parameters par
440  WHERE
441         DEMAND_PLAN_ID  = p_source_demand_plan_id
442         and nvl(par.stream_type,'ABCD') not in ('ARCHIVED','ARCHIVED_TIM')
443         and (nvl(supply_plan_flag,'N') = 'N'
444    or p_source_demand_plan_id not in
445    (select demand_plan_id
446    from msd_demand_plans
447    where template_flag = 'Y'));
448 
449 	open get_template_flag;
450 	fetch get_template_flag into l_template_flag;
451 	close get_template_flag;
452 
453 	if nvl(l_template_flag,'N') = 'N' then
454 
455 			open get_template_id;
456 			fetch get_template_id into l_template_id;
457 			close get_template_id;
458 
459 			for rep_rec in replace_equation(l_template_id)
460 			loop
461 					update msd_dp_parameters set equation = rep_rec.equation, post_calculation=rep_rec.post_calculation where demand_plan_id=x_demand_plan_id and parameter_type=rep_rec.parameter_type;
462 
463 			end loop;
464 	end if;
465 
466 /* Once Parameters are re-created. Update new Parameters with Allocation/Aggregation
467  * Stream Id's to simulate Source Plan but point to Destination Plan.
468  */
469 
470 UPDATE msd_dp_parameters mdp
471 SET
472 mdp.allo_agg_basis_stream_id =
473 (
474 select mdp1.parameter_id
475 from
476 msd_dp_parameters mdp1,
477 (
478 select parameter_id,parameter_type, parameter_name
479 from
480 msd_dp_parameters
481 ) mdp2
482 where
483 mdp2.parameter_id = mdp.allo_agg_basis_stream_id
484 and
485 mdp1.parameter_type = mdp2.parameter_type
486 and
487  (((mdp2.parameter_name is null) and (mdp1.parameter_name is null))
488    or
489  ( (mdp2.parameter_name is not null)
490      and
491    (mdp1.parameter_name is not null)
492      and
493    (mdp1.parameter_name = mdp2.parameter_name)
494  ))
495 and
496 mdp1.demand_plan_id = x_demand_plan_id
497 )
498 where
499 (mdp.allo_agg_basis_stream_id is not null)
500 and demand_plan_id = x_demand_plan_id;
501 
502 
503 
504 
505 lv_status_id := 40;
506 for lv_cur_scenario_rec in cur_scenario LOOP
507 
508 
509 select  msd_dp_scenarios_s.nextval into x_new_scenario_id
510 from dual;
511 
512 
513  INSERT INTO msd_dp_scenarios
514          ( DEMAND_PLAN_ID
515          ,SCENARIO_ID
516          ,SCENARIO_NAME
517          ,DESCRIPTION
518          ,OUTPUT_PERIOD_TYPE
519          ,HORIZON_START_DATE
520          ,HORIZON_END_DATE
521          ,FORECAST_DATE_USED
522          ,FORECAST_BASED_ON
523 	 ,PARAMETER_NAME
524          ,LAST_UPDATE_DATE
525          ,LAST_UPDATED_BY
526          ,CREATION_DATE
527          ,CREATED_BY
528          ,LAST_UPDATE_LOGIN
529          ,REQUEST_ID
530          ,PROGRAM_APPLICATION_ID
531          ,PROGRAM_ID
532          ,PROGRAM_UPDATE_DATE
533          ,ATTRIBUTE_CATEGORY
534          ,ATTRIBUTE1
535          ,ATTRIBUTE2
536          ,ATTRIBUTE3
537          ,ATTRIBUTE4
538          ,ATTRIBUTE5
539          ,ATTRIBUTE6
540          ,ATTRIBUTE7
541          ,ATTRIBUTE8
542          ,ATTRIBUTE9
543          ,ATTRIBUTE10
544          ,ATTRIBUTE11
545          ,ATTRIBUTE12
546          ,ATTRIBUTE13
547          ,ATTRIBUTE14
548          ,ATTRIBUTE15
549          ,SCENARIO_TYPE
550          ,STATUS
551          ,HISTORY_START_DATE
552          ,HISTORY_END_DATE
553          ,PUBLISH_FLAG
554          ,ENABLE_FLAG
555          ,PRICE_LIST_NAME
556          ,ERROR_TYPE
557          ,CONSUME_FLAG
558 	 ,DELETEABLE_FLAG
559          ,SUPPLY_PLAN_FLAG
560 	 ,SUPPLY_PLAN_ID
561 	 ,SUPPLY_PLAN_NAME
562 	 ,OLD_SUPPLY_PLAN_ID
563 	 ,OLD_SUPPLY_PLAN_NAME
564 	 ,SC_TYPE
565 	 , ASSOCIATE_PARAMETER
566 	 ,dmd_priority_scenario_id            -- Bug# 4710963
567  )
568  SELECT
572          ,sce.DESCRIPTION
569           x_demand_plan_id
570          ,x_new_scenario_id
571          ,sce.SCENARIO_NAME
573          ,sce.OUTPUT_PERIOD_TYPE
574          ,sce.HORIZON_START_DATE
575          ,sce.HORIZON_END_DATE
576          ,sce.FORECAST_DATE_USED
577          ,sce.FORECAST_BASED_ON
578          ,sce.PARAMETER_NAME
579          ,SYSDATE
580          ,fnd_global.user_id
581          ,SYSDATE
582          ,fnd_global.user_id
583          ,fnd_global.login_id
584          ,NULL
585          ,NULL
586          ,NULL
587          ,SYSDATE
588          ,sce.ATTRIBUTE_CATEGORY
589          ,sce.ATTRIBUTE1
590          ,sce.ATTRIBUTE2
591          ,sce.ATTRIBUTE3
592          ,sce.ATTRIBUTE4
593          ,sce.ATTRIBUTE5
594          ,sce.ATTRIBUTE6
595          ,sce.ATTRIBUTE7
596          ,sce.ATTRIBUTE8
597          ,sce.ATTRIBUTE9
598          ,sce.ATTRIBUTE10
599          ,sce.ATTRIBUTE11
600          ,sce.ATTRIBUTE12
601          ,sce.ATTRIBUTE13
602          ,sce.ATTRIBUTE14
603          ,sce.ATTRIBUTE15
604          ,sce.SCENARIO_TYPE
605          ,sce.STATUS
606          ,sce.HISTORY_START_DATE
607          ,sce.HISTORY_END_DATE
608          ,sce.PUBLISH_FLAG
609          ,sce.ENABLE_FLAG
610          ,sce.PRICE_LIST_NAME
611          ,sce.ERROR_TYPE
612          ,sce.CONSUME_FLAG
613          ,sce.DELETEABLE_FLAG
614          ,sce.SUPPLY_PLAN_FLAG
615 	 ,sce.SUPPLY_PLAN_ID
616 	 ,sce.SUPPLY_PLAN_NAME
617 	 --,sce.OLD_SUPPLY_PLAN_ID                   -- Bug# 4575137
618 	 --,sce.OLD_SUPPLY_PLAN_NAME		     -- Bug# 4575137
619 	 ,NULL
620 	 ,NULL
621 	 ,sce.SC_TYPE
622 	 ,sce.ASSOCIATE_PARAMETER
623 	 ,sce.dmd_priority_scenario_id                -- Bug# 4710963
624    FROM
625          msd_dp_scenarios sce
626    WHERE
627          scenario_id = lv_cur_scenario_rec.scenario_id AND demand_plan_id =
628                        p_source_demand_plan_id;
629 
630 
631  INSERT INTO msd_dp_scenarios_tl
632          ( DEMAND_PLAN_ID
633            ,SCENARIO_ID
634            ,DESCRIPTION
635            ,LANGUAGE
636            ,SOURCE_LANG
637            ,CREATION_DATE
638            ,CREATED_BY
639            ,LAST_UPDATE_DATE
640            ,LAST_UPDATED_BY
641            ,LAST_UPDATE_LOGIN
642            ,REQUEST_ID
643            ,PROGRAM_APPLICATION_ID
644            ,PROGRAM_ID
645            ,PROGRAM_UPDATE_DATE
646 	   )
647   SELECT
648           x_demand_plan_id
649          ,x_new_scenario_id
650          ,sce.description
651 	 ,USERENV('LANG')
652 	 ,USERENV('LANG')
653          ,SYSDATE
654          ,fnd_global.user_id
655          ,SYSDATE
656          ,fnd_global.user_id
657          ,fnd_global.login_id
658          ,NULL
659          ,NULL
660          ,NULL
661          ,SYSDATE
662    FROM
663          msd_dp_scenarios_tl sce
664    WHERE
665          scenario_id = lv_cur_scenario_rec.scenario_id
666 	 AND demand_plan_id = p_source_demand_plan_id
667 	 and USERENV('LANG') = language;
668 
669 
670 
671 lv_status_id := 50;
672 
673 
674 INSERT INTO msd_dp_scenario_events
675 
676         ( DEMAND_PLAN_ID
677          ,SCENARIO_ID
678          ,EVENT_ID
679          ,LAST_UPDATE_DATE
680          ,LAST_UPDATED_BY
681          ,CREATION_DATE
682          ,CREATED_BY
683          ,LAST_UPDATE_LOGIN
684          ,REQUEST_ID
685          ,PROGRAM_APPLICATION_ID
686          ,PROGRAM_ID
687          ,PROGRAM_UPDATE_DATE
688          ,EVENT_ASSOCIATION_PRIORITY
689 	 ,DELETEABLE_FLAG
690         )
691 
692  SELECT
693          x_demand_plan_id
694          ,x_new_scenario_id
695          ,scev.EVENT_ID
696          ,LAST_UPDATE_DATE
697          ,LAST_UPDATED_BY
698          ,CREATION_DATE
699          ,CREATED_BY
700          ,LAST_UPDATE_LOGIN
701          ,REQUEST_ID
702          ,PROGRAM_APPLICATION_ID
703          ,PROGRAM_ID
704          ,PROGRAM_UPDATE_DATE
705          ,scev.EVENT_ASSOCIATION_PRIORITY
706 	 ,scev.DELETEABLE_FLAG
707    FROM
708          msd_dp_scenario_events scev
709    WHERE
710          scenario_id = lv_cur_scenario_rec.scenario_id AND demand_plan_id
711                      = p_source_demand_plan_id;
712 
713 lv_status_id := 60;
714 INSERT INTO  msd_dp_scenario_output_levels
715         (DEMAND_PLAN_ID
716          ,SCENARIO_ID
717          ,LEVEL_ID
718          ,LAST_UPDATE_DATE
719          ,LAST_UPDATED_BY
720          ,CREATION_DATE
721          ,CREATED_BY
722          ,LAST_UPDATE_LOGIN
723          ,REQUEST_ID
724          ,PROGRAM_APPLICATION_ID
725          ,PROGRAM_ID
726          ,PROGRAM_UPDATE_DATE
727 	 ,DELETEABLE_FLAG
728  )
729 
730 SELECT
731          x_demand_plan_id
732          ,x_new_scenario_id
733          ,sceol.LEVEL_ID
734          ,SYSDATE
735          ,fnd_global.user_id
736          ,SYSDATE
737          ,fnd_global.user_id
738          ,fnd_global.login_id
739          ,NULL
740          ,NULL
741          ,NULL
742          ,SYSDATE
743 	 ,sceol.DELETEABLE_FLAG
744    FROM
745          msd_dp_scenario_output_levels sceol
746    WHERE
747          scenario_id = lv_cur_scenario_rec.scenario_id AND demand_plan_id
748                      = p_source_demand_plan_id;
749 
750 END LOOP;
751 
752 
753 if nvl(l_template_flag,'N') = 'N' then
754 
758 
755 		for rep_assoc in replace_associate_param
756 		loop
757 				l_par_type := get_parameter_type(p_source_demand_plan_id,rep_assoc.associate_parameter);
759 				update msd_dp_scenarios set associate_parameter = l_par_type where demand_plan_id=x_demand_plan_id and scenario_id=rep_assoc.scenario_id;
760 		end loop;
761 
762 		msd_apply_template_demand_plan.replace_associate_parameters(x_demand_plan_id);
763 
764 end if;
765 
766 lv_status_id := 65;
767 
768 
769 
770 INSERT INTO msd_dp_events
771 	( DP_EVENT_ID,
772  	  EVENT_ID,
773           DEMAND_PLAN_ID,
774           CREATION_DATE,
775           CREATED_BY,
776  	  LAST_UPDATE_DATE,
777 	  LAST_UPDATED_BY,
778           LAST_UPDATE_LOGIN,
779           REQUEST_ID,
780           PROGRAM_APPLICATION_ID,
781  	  PROGRAM_ID,
782           PROGRAM_UPDATE_DATE,
783 	  DELETEABLE_FLAG
784 	)
785 SELECT
786 	 msd_dp_events_s.nextval
787          ,dpev.event_id
788          ,x_demand_plan_id
789 	 ,SYSDATE
790          ,fnd_global.user_id
791          ,SYSDATE
792          ,fnd_global.user_id
793          ,fnd_global.login_id
794          ,NULL
795          ,NULL
796          ,NULL
797          ,SYSDATE
798 	 ,dpev.DELETEABLE_FLAG
799 FROM
800 	msd_dp_events dpev
801 WHERE
802 	demand_plan_id = p_source_demand_plan_id;
803 
804 INSERT INTO msd_dp_price_lists
805 	( DP_PRICE_LIST_ID,
806           DEMAND_PLAN_ID,
807 	  PRICE_LIST_NAME,
808           CREATION_DATE,
809           CREATED_BY,
810  	  LAST_UPDATE_DATE,
811 	  LAST_UPDATED_BY,
812           LAST_UPDATE_LOGIN,
813           REQUEST_ID,
814           PROGRAM_APPLICATION_ID,
815  	  PROGRAM_ID,
816           PROGRAM_UPDATE_DATE,
817 	  DELETEABLE_FLAG
818 	)
819 SELECT
820 	 msd_dp_price_lists_s.nextval
821          ,x_demand_plan_id
822  	 ,dppl.price_list_name
823 	 ,SYSDATE
824          ,fnd_global.user_id
825          ,SYSDATE
826          ,fnd_global.user_id
827          ,fnd_global.login_id
828          ,NULL
829          ,NULL
830          ,NULL
831          ,SYSDATE
832 	 ,dppl.DELETEABLE_FLAG
833 FROM
834 	msd_dp_price_lists dppl
835 WHERE
836 	demand_plan_id = p_source_demand_plan_id;
837 
838 
839 lv_status_id := 70;
840 
841 INSERT INTO msd_dp_express_setup
842         ( DEMAND_PLAN_ID
843          ,ORGANIZATION_ID
844          ,SHARED_DB_PREFIX
845          ,CODE_LOCATION
846          ,SHARED_DB_LOCATION
847          ,EXPRESS_MACHINE_PORT
848          ,OWA_VIRTUAL_PATH_NAME
849          ,EAD_NAME
850          ,EXPRESS_CONNECT_STRING
851          ,SETUP1
852          ,SETUP2
853          ,SETUP3
854          ,SETUP4
855          ,SETUP5
856         )
857 SELECT
858          x_demand_plan_id
859          ,nvl(p_organization_id, exp.ORGANIZATION_ID)
860          ,'MSD' || to_char(x_demand_plan_id)
861          ,null
862          ,null
863          ,null
864          ,null
865          ,null
866          ,null
867          ,null
868          ,null
869          ,null
870          ,null
871          ,null
872    FROM
873          msd_dp_express_setup exp
874    WHERE
875          DEMAND_PLAN_ID  = p_source_demand_plan_id;
876 
877 /** Added for Multiple Time Hierarchies **/
878 lv_status_id := 80;
879 
880 INSERT INTO MSD_DP_CALENDARS
881        (  DEMAND_PLAN_ID
882         , CALENDAR_CODE
883         , CALENDAR_TYPE
884         , LAST_UPDATE_DATE
885         , LAST_UPDATED_BY
886         , CREATION_DATE
887         , CREATED_BY
888         , LAST_UPDATE_LOGIN
889         , REQUEST_ID
890         , PROGRAM_APPLICATION_ID
891         , PROGRAM_ID
892         , PROGRAM_UPDATE_DATE
893 	,DELETEABLE_FLAG
894        )
895 SELECT
896          x_demand_plan_id
897          ,cal.calendar_code
898          ,cal.calendar_type
899 	 ,SYSDATE
900          ,fnd_global.user_id
901          ,SYSDATE
902          ,fnd_global.user_id
903          ,fnd_global.login_id
904          ,NULL
905          ,NULL
906          ,NULL
907          ,SYSDATE
908 	 ,DELETEABLE_FLAG
909 FROM
910 	msd_dp_calendars cal
911 WHERE
912 	cal.demand_plan_id = p_source_demand_plan_id;
913 
914 
915 for lv_cur_formula_rec in cur_formula LOOP
916 
917 
918 select  msd_dp_parameters_s.nextval into x_new_formula_id
919 from dual;
920 
921 
922  INSERT INTO msd_dp_formulas
923          ( DEMAND_PLAN_ID
924            ,FORMULA_ID
925            ,CREATION_SEQUENCE
926            ,FORMULA_NAME
927            ,FORMULA_DESC
928            ,CUSTOM_TYPE
929            ,EQUATION
930            ,CUSTOM_FIELD1
931            ,CUSTOM_FIELD2
932            ,CUSTOM_SUBTYPE
933            ,CUSTOM_ADDTLCALC
934            ,ISBY
935            ,VALID_FLAG
936            ,NUMERATOR
937            ,DENOMINATOR
938            ,SUPPLY_PLAN_FLAG
939            ,SUPPLY_PLAN_NAME
940           ,LAST_UPDATE_DATE
941           ,FORMAT              /*----NEW COLUMN ADDED--BUG#4373422-----*/
942           ,LAST_UPDATED_BY
943           ,CREATION_DATE
944           ,CREATED_BY
945           ,LAST_UPDATE_LOGIN
946           ,REQUEST_ID
947           ,PROGRAM_APPLICATION_ID
948           ,PROGRAM_ID
949           ,PROGRAM_UPDATE_DATE
950 	  ,UPLOAD_FORMULA_ID
954           x_demand_plan_id
951 	  			,START_PERIOD       /*----NEW COLUMN ADDED--BUG#4744717-----*/
952  )
953  SELECT
955          ,x_new_formula_id
956          ,CREATION_SEQUENCE
957          ,FORMULA_NAME
958          ,FORMULA_DESC
959          ,CUSTOM_TYPE
960          ,EQUATION
961          ,CUSTOM_FIELD1
962          ,CUSTOM_FIELD2
963          ,CUSTOM_SUBTYPE
964          ,CUSTOM_ADDTLCALC
965          ,ISBY
966          ,VALID_FLAG
967          ,NUMERATOR
968          ,DENOMINATOR
969          ,SUPPLY_PLAN_FLAG
970          ,SUPPLY_PLAN_NAME
971          ,SYSDATE
972          ,FORMAT                         /*----NEW COLUMN ADDED--BUG#4373422-----*/
973          ,fnd_global.user_id
974          ,SYSDATE
975          ,fnd_global.user_id
976          ,fnd_global.login_id
977          ,NULL
978          ,NULL
979          ,NULL
980          ,SYSDATE
981 	 ,UPLOAD_FORMULA_ID
982 	 			 ,START_PERIOD									/*----NEW COLUMN ADDED--BUG#4744717-----*/
983   FROM
984          msd_dp_formulas mdf
985    WHERE
986          formula_id = lv_cur_formula_rec.formula_id AND demand_plan_id =
987                        p_source_demand_plan_id;
988 
989 
990 
991 lv_status_id := 190;
992 
993 
994 INSERT INTO msd_dp_formula_parameters
995         (  DEMAND_PLAN_ID
996           ,FORMULA_ID
997           ,WHERE_USED
998           ,PARAMETER_SEQUENCE
999           ,ENABLED_FLAG
1000           ,MANDATORY_FLAG
1001           ,PARAMETER_TYPE
1002           ,PARAMETER_COMPONENT
1003           ,PARAMETER_VALUE
1004           ,SUPPLY_PLAN_FLAG
1005           ,SUPPLY_PLAN_NAME
1006 	  ,LAST_UPDATE_DATE
1007           ,LAST_UPDATED_BY
1008           ,CREATION_DATE
1009           ,CREATED_BY
1010           ,LAST_UPDATE_LOGIN
1011           ,REQUEST_ID
1012           ,PROGRAM_APPLICATION_ID
1013           ,PROGRAM_ID
1014           ,PROGRAM_UPDATE_DATE
1015         )
1016 
1017  SELECT
1018             x_demand_plan_id
1019           ,x_new_formula_id
1020           ,WHERE_USED
1021           ,PARAMETER_SEQUENCE
1022           ,ENABLED_FLAG
1023           ,MANDATORY_FLAG
1024           ,PARAMETER_TYPE
1025           ,PARAMETER_COMPONENT
1026           ,PARAMETER_VALUE
1027           ,SUPPLY_PLAN_FLAG
1028           ,SUPPLY_PLAN_NAME
1029           ,SYSDATE
1030           ,fnd_global.user_id
1031           ,SYSDATE
1032           ,fnd_global.user_id
1033           ,fnd_global.login_id
1034           ,NULL
1035           ,NULL
1036           ,NULL
1037           ,SYSDATE
1038 	    FROM
1039          msd_dp_formula_parameters mfp
1040    WHERE
1041          formula_id = lv_cur_formula_rec.formula_id AND demand_plan_id
1042                      = p_source_demand_plan_id;
1043 
1044 lv_status_id := 200;
1045 
1046 END LOOP;
1047 
1048 if nvl(l_template_flag,'N') <> 'N' then
1049 
1050 	insert into	msd_dp_formula_parameters
1051 
1052 	(
1053 
1054 	demand_plan_id
1055 
1056 	,formula_id
1057 
1058 	,where_used
1059 
1060 	,parameter_sequence
1061 
1062 	,enabled_flag
1063 
1064 	,mandatory_flag
1065 
1066 	,parameter_type
1067 
1068 	,parameter_component
1069 
1070 	,parameter_value
1071 
1072 	,supply_plan_flag
1073 
1074 	,supply_plan_name
1075 
1076 	,last_update_date
1077 
1078 	,last_updated_by
1079 
1080 	,creation_date
1081 
1082 	,created_by
1083 
1084 	,last_update_login
1085 
1086 	,request_id
1087 
1088 	,program_application_id
1089 
1090 	,program_id
1091 
1092 	,program_update_date
1093 
1094 	)
1095 
1096 	(select
1097 
1098 	x_demand_plan_id
1099 
1100 	,mdp1.parameter_id
1101 
1102 	,mdfp.where_used
1103 
1104 	,mdfp.parameter_sequence
1105 
1106 	,mdfp.enabled_flag
1107 
1108 	,mdfp.mandatory_flag
1109 
1110 	,mdfp.parameter_type
1111 
1112 	,mdfp.parameter_component
1113 
1114 	,mdfp.parameter_value
1115 
1116 	,mdfp.supply_plan_flag
1117 
1118 	,mdfp.supply_plan_name													-- Bug 4729854
1119 
1120 	,SYSDATE
1121 
1122 	,fnd_global.user_id
1123 
1124 	,SYSDATE
1125 
1126 	,fnd_global.user_id
1127 
1128 	,fnd_global.login_id
1129 
1130 	,NULL
1131 
1132 	,NULL
1133 
1134 	,NULL
1135 
1136 	,SYSDATE
1137 
1138 	from msd_dp_formula_parameters mdfp,
1139 	msd_dp_parameters mdp,
1140 	msd_dp_parameters mdp1
1141 
1142 	where	mdfp.demand_plan_id	in
1143 
1144 		(select	demand_plan_id
1145 
1146 		from msd_demand_plans
1147 
1148 		where	plan_type	=	'EOL'
1149 
1150 		and	template_flag	=	'Y'
1151 
1152 		and	default_template = 'Y')
1153 		and mdp.demand_plan_id=mdfp.demand_plan_id
1154 		and mdp.parameter_id=mdfp.formula_id
1155 		and mdp1.demand_plan_id=x_demand_plan_id
1156 		and mdp1.parameter_type=mdp.parameter_type);
1157 
1158 else
1159 			insert into	msd_dp_formula_parameters
1160 
1161 	(
1162 
1163 	demand_plan_id
1164 
1165 	,formula_id
1166 
1167 	,where_used
1168 
1169 	,parameter_sequence
1170 
1171 	,enabled_flag
1172 
1173 	,mandatory_flag
1174 
1175 	,parameter_type
1176 
1177 	,parameter_component
1178 
1179 	,parameter_value
1180 
1184 
1181 	,supply_plan_flag
1182 
1183 	,supply_plan_name
1185 	,last_update_date
1186 
1187 	,last_updated_by
1188 
1189 	,creation_date
1190 
1191 	,created_by
1192 
1193 	,last_update_login
1194 
1195 	,request_id
1196 
1197 	,program_application_id
1198 
1199 	,program_id
1200 
1201 	,program_update_date
1202 
1203 	)
1204 
1205 	(select
1206 
1207 	x_demand_plan_id
1208 
1209 	,mdp1.parameter_id
1210 
1211 	,mdfp.where_used
1212 
1213 	,mdfp.parameter_sequence
1214 
1215 	,mdfp.enabled_flag
1216 
1217 	,mdfp.mandatory_flag
1218 
1219 	,mdfp.parameter_type
1220 
1221 	,mdfp.parameter_component
1222 
1223 	,mdfp.parameter_value
1224 
1225 	,mdfp.supply_plan_flag
1226 
1227 	,mdfp.supply_plan_name													-- Bug 4729854
1228 
1229 	,SYSDATE
1230 
1231 	,fnd_global.user_id
1232 
1233 	,SYSDATE
1234 
1235 	,fnd_global.user_id
1236 
1237 	,fnd_global.login_id
1238 
1239 	,NULL
1240 
1241 	,NULL
1242 
1243 	,NULL
1244 
1245 	,SYSDATE
1246 
1247 	from msd_dp_formula_parameters mdfp,
1248 	msd_dp_parameters mdp,
1249 	msd_dp_parameters mdp1
1250 
1251 	where	mdfp.demand_plan_id	= p_source_demand_plan_id
1252 		and mdp.demand_plan_id=mdfp.demand_plan_id
1253 		and mdp.parameter_id=mdfp.formula_id
1254 		and mdp1.demand_plan_id=x_demand_plan_id
1255 		and mdp1.parameter_type=mdp.parameter_type);
1256 end if;
1257 
1258 for lv_cur_document_rec in cur_document LOOP
1259 
1260 
1261 
1262 if nvl(l_template_flag,'N') = 'N' then
1263 
1264 		msd_apply_template_demand_plan.replace_parameter_tokens(x_demand_plan_id);
1265 
1266 end if;
1267 
1268 select  msd_dp_seeded_doc_s.nextval into x_new_document_id
1269 from dual;
1270 
1271 
1272  INSERT INTO msd_dp_seeded_documents
1273          (  DEMAND_PLAN_ID
1274           ,DOCUMENT_ID
1275 	  ,DOCUMENT_NAME
1276           ,DESCRIPTION
1277           ,TYPE
1278           ,OPEN_ON_STARTUP
1279           ,SCRIPT_CLEANUP
1280           ,SCRIPT_INIT
1281           ,SCRIPT_PREPAGE
1282           ,SCRIPT_POSTPAGE
1283           ,VALID_FLAG
1284           ,LAST_UPDATE_DATE
1285           ,LAST_UPDATED_BY
1286           ,CREATION_DATE
1287           ,CREATED_BY
1288           ,LAST_UPDATE_LOGIN
1289           ,REQUEST_ID
1290           ,PROGRAM_APPLICATION_ID
1291           ,PROGRAM_ID
1292           ,PROGRAM_UPDATE_DATE
1293 	  ,SUB_TYPE
1294  )
1295  SELECT
1296           x_demand_plan_id
1297          ,x_new_document_id
1298 	 ,msd.DOCUMENT_NAME
1299 	 ,msd.DESCRIPTION
1300          ,msd.TYPE
1301          ,msd.OPEN_ON_STARTUP
1302          ,msd.SCRIPT_CLEANUP
1303          ,msd.SCRIPT_INIT
1304          ,msd.SCRIPT_PREPAGE
1305          ,msd.SCRIPT_POSTPAGE
1306          ,msd.VALID_FLAG
1307          ,SYSDATE
1308          ,fnd_global.user_id
1309          ,SYSDATE
1310          ,fnd_global.user_id
1311          ,fnd_global.login_id
1312          ,NULL
1313          ,NULL
1314          ,NULL
1315          ,SYSDATE
1316 	 ,msd.SUB_TYPE
1317    FROM
1318          msd_dp_seeded_documents msd
1319    WHERE
1320          document_id = lv_cur_document_rec.document_id AND demand_plan_id =
1321                        p_source_demand_plan_id;
1322 
1323 
1324 
1325 lv_status_id := 90;
1326 
1327 
1328 INSERT INTO msd_dp_seeded_doc_dimensions
1329         ( DEMAND_PLAN_ID
1330           ,DOCUMENT_ID
1331           ,DIMENSION_CODE
1332           ,SEQUENCE_NUMBER
1333           ,AXIS
1334           ,HIERARCHY_ID
1335           ,SELECTION_TYPE
1336           ,SELECTION_SCRIPT
1337           ,ENABLED_FLAG
1338           ,MANDATORY_FLAG
1339 	  ,LAST_UPDATE_DATE
1340           ,LAST_UPDATED_BY
1341           ,CREATION_DATE
1342           ,CREATED_BY
1343           ,LAST_UPDATE_LOGIN
1344           ,REQUEST_ID
1345           ,PROGRAM_APPLICATION_ID
1346           ,PROGRAM_ID
1347           ,PROGRAM_UPDATE_DATE
1348         )
1349 
1350  SELECT
1351            x_demand_plan_id
1352           ,X_NEW_DOCUMENT_ID
1353           ,DIMENSION_CODE
1354           ,SEQUENCE_NUMBER
1355           ,AXIS
1356           ,HIERARCHY_ID
1357           ,SELECTION_TYPE
1358           ,SELECTION_SCRIPT
1359           ,ENABLED_FLAG
1360           ,MANDATORY_FLAG
1361           ,SYSDATE
1362           ,fnd_global.user_id
1363           ,SYSDATE
1364           ,fnd_global.user_id
1365           ,fnd_global.login_id
1366           ,NULL
1367           ,NULL
1368           ,NULL
1369           ,SYSDATE
1370 	    FROM
1371          MSD_DP_SEEDED_DOC_DIMENSIONS MDD
1372    WHERE
1373          document_id = lv_cur_document_rec.document_id AND demand_plan_id
1374                      = p_source_demand_plan_id;
1375 
1376 lv_status_id := 100;
1377 
1378 INSERT INTO  msd_dp_doc_dim_selections
1379         (DEMAND_PLAN_ID
1380          ,DOCUMENT_ID
1381          ,DIMENSION_CODE
1382          ,ENABLED_FLAG
1383          ,MANDATORY_FLAG
1384          ,SELECTION_SEQUENCE
1385          ,SELECTION_TYPE
1386          ,SELECTION_COMPONENT
1387          ,SELECTION_VALUE
1388          ,SUPPLY_PLAN_FLAG
1389          ,SUPPLY_PLAN_NAME
1390          ,LAST_UPDATE_DATE
1391          ,LAST_UPDATED_BY
1392          ,CREATION_DATE
1393          ,CREATED_BY
1394          ,LAST_UPDATE_LOGIN
1395          ,REQUEST_ID
1396          ,PROGRAM_APPLICATION_ID
1397          ,PROGRAM_ID
1398          ,PROGRAM_UPDATE_DATE
1399  )
1400 
1401 SELECT
1402           x_demand_plan_id
1403          ,x_new_document_id
1404          ,DIMENSION_CODE
1405          ,ENABLED_FLAG
1406          ,MANDATORY_FLAG
1407          ,SELECTION_SEQUENCE
1408          ,SELECTION_TYPE
1409          ,SELECTION_COMPONENT
1410          ,SELECTION_VALUE
1411          ,SUPPLY_PLAN_FLAG
1412          ,SUPPLY_PLAN_NAME
1413          ,SYSDATE
1414          ,fnd_global.user_id
1415          ,SYSDATE
1416          ,fnd_global.user_id
1417          ,fnd_global.login_id
1418          ,NULL
1419          ,NULL
1420          ,NULL
1421          ,SYSDATE
1422    FROM
1423          msd_dp_doc_dim_selections mdds
1424    WHERE
1425          document_id = lv_cur_document_rec.document_id
1426 	 and demand_plan_id = p_source_demand_plan_id
1427          and (nvl(supply_plan_flag,'N') = 'N'
1428          or p_source_demand_plan_id not in
1429          (select demand_plan_id
1430          from msd_demand_plans
1431          where template_flag = 'Y'));
1432 
1433 END LOOP;
1434 
1435 /*----------bug 4615390---------------*/
1436 
1437 insert into MSD_DP_ISO_ORGANIZATIONS
1438 		(DEMAND_PLAN_ID,
1439  		SR_INSTANCE_ID,
1440         	SR_ORGANIZATION_ID,
1441 		--ATTACHED_FLAG ,
1442 		--BUILT_FLAG ,
1443 		LAST_UPDATED_BY,
1444                 CREATION_DATE,
1445 		CREATED_BY,
1446 		LAST_UPDATE_LOGIN,
1447 		REQUEST_ID,
1448 		PROGRAM_APPLICATION_ID,
1449 		PROGRAM_ID,
1450 		PROGRAM_UPDATE_DATE,
1451  		LAST_UPDATE_DATE )
1452 select
1453                 X_DEMAND_PLAN_ID,
1454  		SR_INSTANCE_ID,
1455         	SR_ORGANIZATION_ID,
1456 		--ATTACHED_FLAG ,
1457 		--BUILT_FLAG ,
1458 		LAST_UPDATED_BY,
1459                 CREATION_DATE,
1460 		CREATED_BY,
1461 		LAST_UPDATE_LOGIN,
1462 		REQUEST_ID,
1463 		PROGRAM_APPLICATION_ID,
1464 		PROGRAM_ID,
1465 		PROGRAM_UPDATE_DATE,
1466  		LAST_UPDATE_DATE
1467  from MSD_DP_ISO_ORGANIZATIONS
1468  where demand_plan_id = p_source_demand_plan_id;
1469   -- and attached_flag='Y';
1470 
1471 
1472 
1473 p_new_dp_id := x_demand_plan_id ;
1474 
1475 return 0;
1476 
1477 EXCEPTION
1478 
1479         when No_Source_Dp then
1480         p_new_dp_id := null ;
1481         p_errcode := 'Demand Plan Does not Exist' ;
1482         return 1;
1483 
1484 
1485         WHEN OTHERS THEN
1486         p_new_dp_id := null ;
1487         p_errcode := substr(SQLERRM,1,150);
1488         return 1;
1489 
1490 
1491 END copy_demand_plan;
1492 
1493 END MSD_COPY_DEMAND_PLAN;