[Home] [Help]
PACKAGE BODY: APPS.MSD_EOL_PLAN
Source
1 PACKAGE BODY MSD_EOL_PLAN AS
2 /* $Header: msdeolpb.pls 120.6 2006/05/16 03:27 amitku noship $ */
3
4 ---- Public procedures
5 --procedure msd_eol_pre_download_hook(p_demand_plan_id number);
6
7 --procedure eol_post_archive(p_demand_plan_id number);
8
9 ---- Private Functions
10 FUNCTION get_supply_plan_start_date( p_plan_id IN NUMBER) return DATE;
11
12 ---- Private Procedures
13 procedure liability_preprocessor(p_plan_id IN NUMBER );
14
15 procedure msd_eol_pre_download_hook(p_demand_plan_id number)
16 is
17 l_supply_plan_id number;
18 l_supply_plan_start_date date;
19 begin
20 select liab_plan_id into l_supply_plan_id
21 from msd_demand_plans
22 where demand_plan_id=p_demand_plan_id;
23
24 l_supply_plan_start_date := get_supply_plan_start_date(l_supply_plan_id);
25
26 update msd_demand_plans
27 set previous_plan_start_date=plan_start_date, plan_start_date=l_supply_plan_start_date
28 where demand_plan_id=p_demand_plan_id;
29
30 liability_preprocessor(l_supply_plan_id);
31
32 commit;
33
34 end msd_eol_pre_download_hook;
35
36 FUNCTION get_supply_plan_start_date( p_plan_id IN NUMBER) return DATE
37 IS
38 CURSOR c_plan_start_date
39 is
40 select plan_start_date
41 from msc_plans
42 where
43 plan_id = p_plan_id ;
44
45 x_plan_start_date DATE ;
46
47 Begin
48 OPEN c_plan_start_date ;
49 FETCH c_plan_start_date INTO x_plan_start_date;
50 CLOSE c_plan_start_date ;
51
52 return x_plan_start_date ;
53 END get_supply_plan_start_date ;
54
55 procedure liability_preprocessor(p_plan_id IN NUMBER )
56 IS
57
58 CURSOR c_sup_item_org is
59 select
60 SUPPLIER_ID,
61 SUPPLIER_SITE_ID ,
62 ORGANIZATION_ID ,
63 SR_INSTANCE_ID,
64 INVENTORY_ITEM_ID,
65 AUTHORIZATION_CODE,
66 cutoff_days,
67 INCLUDE_LIABILITY_AGREEMENT,
68 ASL_LIABILITY_AGREEMENT_BASIS
69 from
70 msc_asl_auth_details
71 where
72 plan_id = -1
73 /* and INCLUDE_LIABILITY_AGREEMENT = 1 This filter will remove any disabled agreement */
74 order
75 by
76 SR_INSTANCE_ID,
77 SUPPLIER_ID,
78 SUPPLIER_SITE_ID,
79 ORGANIZATION_ID,
80 INVENTORY_ITEM_ID,
81 TRANSACTION_ID ;
82
83 x_start_days NUMBER ;
84 x_end_days NUMBER ;
85 x_prv_end_days NUMBER ;
86 x_supplier_id NUMBER ;
87 x_organization_id NUMBER ;
88 x_inventory_item_id NUMBER ;
89 x_sr_instance_id NUMBER ;
90 x_prv_supplier_id NUMBER ;
91 x_prv_organization_id NUMBER ;
92 x_prv_inventory_item_id NUMBER ;
93 x_prv_sr_instance_id NUMBER ;
94
95 BEGIN
96
97 x_prv_end_days := 0 ;
98 x_end_days := 0 ;
99
100 UPDATE msc_item_suppliers
101 set INCLUDE_LIABILITY_AGREEMENT = NULL ,
102 ASL_LIABILITY_AGREEMENT_BASIS =NULL
103 where
104 plan_id = p_plan_id;
105
106
107 commit ;
108
109
110 FOR x_sup_item_org in c_sup_item_org
111
112 LOOP
113
114 IF (nvl(x_prv_supplier_id, x_sup_item_org.supplier_id ) <> x_sup_item_org.supplier_id) or
115 ( nvl( x_prv_organization_id , x_organization_id ) <> x_sup_item_org.organization_id ) or
116 (nvl(x_prv_sr_instance_id ,x_sr_instance_id) <> x_sup_item_org.sr_instance_id )or
117 ( nvl( x_prv_inventory_item_id , x_inventory_item_id ) <> x_sup_item_org.inventory_item_id)
118
119 THEN
120
121 x_prv_end_days := 0 ;
122 x_end_days := 0 ;
123 end if ;
124
125
126 UPDATE msc_asl_auth_details
127 set start_days = x_end_days,
128 end_days = start_days + cutoff_days-1
129 where
130 PLAN_ID = -1 and
131 SUPPLIER_ID = x_sup_item_org.SUPPLIER_ID and
132 SUPPLIER_SITE_ID = x_sup_item_org.SUPPLIER_SITE_ID and
133 ORGANIZATION_ID = x_sup_item_org.ORGANIZATION_ID and
134 SR_INSTANCE_ID = x_sup_item_org.SR_INSTANCE_ID and
135 INVENTORY_ITEM_ID = x_sup_item_org.INVENTORY_ITEM_ID and
136 AUTHORIZATION_CODE = x_sup_item_org.AUTHORIZATION_CODE ;
137
138 x_end_days := x_sup_item_org.cutoff_days + x_prv_end_days ;
139
140 x_prv_supplier_id := x_sup_item_org.supplier_id ;
141 x_prv_organization_id := x_sup_item_org. organization_id ;
142 x_prv_sr_instance_id := x_sup_item_org.sr_instance_id ;
143 x_prv_inventory_item_id := x_sup_item_org.inventory_item_id ;
144 x_prv_end_days := x_end_days ;
145
146
147
148
149 UPDATE msc_item_suppliers
150 set INCLUDE_LIABILITY_AGREEMENT = x_sup_item_org. INCLUDE_LIABILITY_AGREEMENT ,
151 ASL_LIABILITY_AGREEMENT_BASIS = x_sup_item_org.ASL_LIABILITY_AGREEMENT_BASIS
152 where
153 SUPPLIER_ID = x_sup_item_org.SUPPLIER_ID and
154 /*SUPPLIER_SITE_ID = x_sup_item_org.SUPPLIER_SITE_ID and */
155 ORGANIZATION_ID = x_sup_item_org.ORGANIZATION_ID and
156 SR_INSTANCE_ID = x_sup_item_org.SR_INSTANCE_ID and
157 INVENTORY_ITEM_ID = x_sup_item_org.INVENTORY_ITEM_ID and
158 plan_id in (p_plan_id,-1) ;
159
160 commit ;
161
162 END LOOP ;
163
164 commit ;
165
166 END liability_preprocessor ;
167
168 procedure eol_post_archive(p_demand_plan_id number)
169 as
170
171 cursor c1 is
172 select count(*)
173 from msd_dp_parameters
174 where demand_plan_id=p_demand_plan_id
175 and stream_type='ARCHIVED';
176
177 cursor c2 is
178 select distinct selection_component,selection_value,supply_plan_name
179 from msd_dp_doc_dim_selections
180 where demand_plan_id=p_demand_plan_id
181 and dimension_code='MEAS'
182 and document_id=(select document_id from msd_dp_seeded_documents where document_name='MSD_SD_EOL_LWF' and demand_plan_id=p_demand_plan_id);
183
184 cursor c3 is
185 select parameter_id,input_demand_plan_id, input_scenario_id
186 from msd_dp_parameters
187 where demand_plan_id=p_demand_plan_id
188 and stream_type='ARCHIVED';
189
190 cursor c4(p_demand_plan_id number, p_scenario_id number) is
191 select max(revision)
192 from msd_dp_scenario_revisions
193 where demand_plan_id=p_demand_plan_id
194 and scenario_id=p_scenario_id;
195
196 cursor c5(p_parameter_type varchar2,p_parameter_name varchar2) is
197 select parameter_id
198 from msd_dp_parameters
199 where demand_plan_id=p_demand_plan_id
200 and parameter_type = p_parameter_type
201 and nvl(parameter_name,'@#$') = nvl(p_parameter_name,'@#$');
202
203 cursor c6 is
204 select selection_script
205 from msd_dp_seeded_doc_dimensions
206 where demand_plan_id=p_demand_plan_id
207 and dimension_code='MEAS'
208 and document_id=(select document_id from msd_dp_seeded_documents where document_name='MSD_SD_EOL_LWF' and demand_plan_id=p_demand_plan_id);
209
210 l_archived_count number;
211
212 l_list varchar2(4000);
213
214 l_supply_plan_name varchar2(100);
215
216 p_errcode varchar2(1000);
217
218 l_revision varchar2(10);
219
220 l_selection_script varchar2(1000);
221
222 l_pos number;
223
224 begin
225
226 open c1;
227 fetch c1 into l_archived_count;
228 close c1;
229
230 if l_archived_count <1 then
231
232 INSERT INTO msd_dp_parameters
233 (DEMAND_PLAN_ID,
234 PARAMETER_ID,
235 PARAMETER_TYPE,
236 PARAMETER_NAME,
237 START_DATE,
238 END_DATE,
239 OUTPUT_SCENARIO_ID,
240 INPUT_SCENARIO_ID,
241 INPUT_DEMAND_PLAN_ID,
242 REVISION,
243 FORECAST_DATE_USED,
244 FORECAST_BASED_ON,
245 QUANTITY_USED,
246 AMOUNT_USED,
247 FORECAST_USED,
248 PERIOD_TYPE,
249 FACT_TYPE,
250 VIEW_NAME,
251 ALLO_AGG_BASIS_STREAM_ID,
252 NUMBER_OF_PERIOD,
253 LAST_UPDATE_DATE,
254 LAST_UPDATED_BY,
255 CREATION_DATE,
256 CREATED_BY,
257 LAST_UPDATE_LOGIN,
258 REQUEST_ID,
259 PROGRAM_APPLICATION_ID,
260 PROGRAM_ID,
261 PROGRAM_UPDATE_DATE,
262 DELETEABLE_FLAG,
263 CAPACITY_USAGE_RATIO,
264 SUPPLY_PLAN_FLAG,
265 PRICE_LIST_NAME,
266 STREAM_TYPE)
267 SELECT
268 p_demand_plan_id
269 ,msd_dp_parameters_s.nextval
270 ,par.PARAMETER_TYPE
271 ,mds.supply_plan_name
272 ,msd_common_utilities.get_bucket_start_date(sysdate,-23,6,'GREGORIAN')
273 ,msd_common_utilities.get_bucket_start_date(sysdate,24,6,'GREGORIAN')
274 ,par.OUTPUT_SCENARIO_ID
275 ,mds.SCENARIO_ID
276 ,mds.DEMAND_PLAN_ID
277 ,nvl(mdsr.REVISION,-1)
278 ,par.FORECAST_DATE_USED
279 ,par.FORECAST_BASED_ON
280 ,par.QUANTITY_USED
281 ,par.AMOUNT_USED
282 ,par.FORECAST_USED
283 ,par.PERIOD_TYPE
284 ,par.FACT_TYPE
285 ,par.VIEW_NAME
286 ,par.ALLO_AGG_BASIS_STREAM_ID
287 ,par.NUMBER_OF_PERIOD
288 ,SYSDATE
289 ,fnd_global.user_id
290 ,SYSDATE
291 ,fnd_global.user_id
292 ,fnd_global.login_id
293 ,NULL
294 ,NULL
295 ,NULL
296 ,SYSDATE
297 ,par.DELETEABLE_FLAG
298 ,par.CAPACITY_USAGE_RATIO
299 ,par.SUPPLY_PLAN_FLAG
300 ,par.PRICE_LIST_NAME
301 ,par.STREAM_TYPE
302 FROM
303 msd_dp_parameters par,
304 msd_dp_parameters par1,
305 msd_dp_scenarios mds,
306 msd_dp_scenario_revisions mdsr
307 WHERE
308 par.DEMAND_PLAN_ID = (select template_id from msd_demand_plans where demand_plan_id=p_demand_plan_id)
309 and par.stream_type in ('ARCHIVED')
310 and mds.demand_plan_id=mdsr.demand_plan_id(+)
311 and par1.demand_plan_id=p_demand_plan_id
312 and mds.demand_plan_id=p_demand_plan_id
313 and par.archived_for_parameter=par1.parameter_type
314 and par1.parameter_id=to_number(mds.associate_parameter)
315 and mds.sc_type= 'ARCHIVED'
316 and mds.scenario_id=mdsr.scenario_id(+)
317 and nvl(mdsr.revision,-1)=(select nvl(max(revision),-1) from msd_dp_scenario_revisions where demand_plan_id=p_demand_plan_id
318 and scenario_id=mdsr.scenario_id);
319
320 INSERT INTO msd_dp_parameters
321 (DEMAND_PLAN_ID,
322 PARAMETER_ID,
323 PARAMETER_TYPE,
324 PARAMETER_NAME,
325 START_DATE,
326 END_DATE,
327 OUTPUT_SCENARIO_ID,
328 INPUT_SCENARIO_ID,
329 INPUT_DEMAND_PLAN_ID,
330 REVISION,
331 FORECAST_DATE_USED,
332 FORECAST_BASED_ON,
333 QUANTITY_USED,
334 AMOUNT_USED,
335 FORECAST_USED,
336 PERIOD_TYPE,
337 FACT_TYPE,
338 VIEW_NAME,
339 ALLO_AGG_BASIS_STREAM_ID,
340 NUMBER_OF_PERIOD,
341 LAST_UPDATE_DATE,
342 LAST_UPDATED_BY,
343 CREATION_DATE,
344 CREATED_BY,
345 LAST_UPDATE_LOGIN,
346 REQUEST_ID,
347 PROGRAM_APPLICATION_ID,
348 PROGRAM_ID,
349 PROGRAM_UPDATE_DATE,
350 DELETEABLE_FLAG,
351 CAPACITY_USAGE_RATIO,
352 SUPPLY_PLAN_FLAG,
353 PRICE_LIST_NAME,
354 STREAM_TYPE)
355 SELECT
356 p_demand_plan_id
357 ,msd_dp_parameters_s.nextval
358 ,par.PARAMETER_TYPE
359 ,mds.supply_plan_name
360 ,msd_common_utilities.get_bucket_start_date(sysdate,-23,6,'GREGORIAN')
361 ,msd_common_utilities.get_bucket_start_date(sysdate,24,6,'GREGORIAN')
362 ,par.OUTPUT_SCENARIO_ID
363 ,mds.SCENARIO_ID
364 ,mds.DEMAND_PLAN_ID
365 ,nvl(mdsr.REVISION,-1)
366 ,par.FORECAST_DATE_USED
367 ,par.FORECAST_BASED_ON
368 ,par.QUANTITY_USED
369 ,par.AMOUNT_USED
370 ,par.FORECAST_USED
371 ,par.PERIOD_TYPE
372 ,par.FACT_TYPE
373 ,par.VIEW_NAME
374 ,par.ALLO_AGG_BASIS_STREAM_ID
375 ,par.NUMBER_OF_PERIOD
376 ,SYSDATE
377 ,fnd_global.user_id
378 ,SYSDATE
379 ,fnd_global.user_id
380 ,fnd_global.login_id
381 ,NULL
382 ,NULL
383 ,NULL
384 ,SYSDATE
385 ,par.DELETEABLE_FLAG
386 ,par.CAPACITY_USAGE_RATIO
387 ,par.SUPPLY_PLAN_FLAG
388 ,par.PRICE_LIST_NAME
389 ,par.STREAM_TYPE
390 FROM
391 msd_dp_parameters par,
392 msd_dp_parameters par1,
393 msd_dp_scenario_revisions mdsr,
394 msd_dp_scenarios mds
395 WHERE
396 par.DEMAND_PLAN_ID = (select template_id from msd_demand_plans where demand_plan_id=p_demand_plan_id)
397 and par.stream_type in ('ARCHIVED_TIM')
398 and mds.demand_plan_id=mdsr.demand_plan_id(+)
399 and par1.demand_plan_id=p_demand_plan_id
400 and mds.demand_plan_id=p_demand_plan_id
401 and par.archived_for_parameter=par1.parameter_type
402 and par1.parameter_id=to_number(mds.associate_parameter)
403 and mds.sc_type= 'ARCHIVED'
404 and mds.scenario_id=mdsr.scenario_id(+)
405 and nvl(mdsr.revision,0)>(select nvl(max(revision),-1)
406 from msd_dp_parameters mdp
407 where mdp.demand_plan_id=p_demand_plan_id
408 and mdp.parameter_type=par.parameter_type);
409
410 select mp.compile_designator into l_supply_plan_name
411 from msc_plans mp, msd_demand_plans mdp
412 where mp.plan_id=mdp.liab_plan_id
413 and mdp.demand_plan_id=p_demand_plan_id;
414
415 else
416
417 for c3_rec in c3
418 loop
419 l_revision:=null;
420
421 open c4(c3_rec.input_demand_plan_id,c3_rec.input_scenario_id);
422 fetch c4 into l_revision;
423 close c4;
424
425 update msd_dp_parameters
426 set revision = nvl(l_revision,-1)
427 where demand_plan_id=p_demand_plan_id
428 and parameter_id=c3_rec.parameter_id;
429
430 end loop;
431
432
433
434 INSERT INTO msd_dp_parameters
435 (DEMAND_PLAN_ID,
436 PARAMETER_ID,
437 PARAMETER_TYPE,
438 PARAMETER_NAME,
439 START_DATE,
440 END_DATE,
441 OUTPUT_SCENARIO_ID,
442 INPUT_SCENARIO_ID,
443 INPUT_DEMAND_PLAN_ID,
444 REVISION,
445 FORECAST_DATE_USED,
446 FORECAST_BASED_ON,
447 QUANTITY_USED,
448 AMOUNT_USED,
449 FORECAST_USED,
450 PERIOD_TYPE,
451 FACT_TYPE,
452 VIEW_NAME,
453 ALLO_AGG_BASIS_STREAM_ID,
454 NUMBER_OF_PERIOD,
455 LAST_UPDATE_DATE,
456 LAST_UPDATED_BY,
457 CREATION_DATE,
458 CREATED_BY,
459 LAST_UPDATE_LOGIN,
460 REQUEST_ID,
461 PROGRAM_APPLICATION_ID,
462 PROGRAM_ID,
463 PROGRAM_UPDATE_DATE,
464 DELETEABLE_FLAG,
465 CAPACITY_USAGE_RATIO,
466 SUPPLY_PLAN_FLAG,
467 PRICE_LIST_NAME,
468 STREAM_TYPE)
469 SELECT
470 p_demand_plan_id
471 ,msd_dp_parameters_s.nextval
472 ,par.PARAMETER_TYPE
473 ,mds.supply_plan_name
474 ,msd_common_utilities.get_bucket_start_date(sysdate,-23,6,'GREGORIAN')
475 ,msd_common_utilities.get_bucket_start_date(sysdate,24,6,'GREGORIAN')
476 ,par.OUTPUT_SCENARIO_ID
477 ,mds.SCENARIO_ID
478 ,mds.DEMAND_PLAN_ID
479 ,decode(nvl(mdsr.revision,-1), nvl(mdp2.revision,-1) , -1 , mdsr.revision)
480 ,par.FORECAST_DATE_USED
481 ,par.FORECAST_BASED_ON
482 ,par.QUANTITY_USED
483 ,par.AMOUNT_USED
484 ,par.FORECAST_USED
485 ,par.PERIOD_TYPE
486 ,par.FACT_TYPE
487 ,par.VIEW_NAME
488 ,par.ALLO_AGG_BASIS_STREAM_ID
489 ,par.NUMBER_OF_PERIOD
490 ,SYSDATE
491 ,fnd_global.user_id
492 ,SYSDATE
493 ,fnd_global.user_id
494 ,fnd_global.login_id
495 ,NULL
496 ,NULL
497 ,NULL
498 ,SYSDATE
499 ,par.DELETEABLE_FLAG
500 ,par.CAPACITY_USAGE_RATIO
501 ,par.SUPPLY_PLAN_FLAG
502 ,par.PRICE_LIST_NAME
503 ,par.STREAM_TYPE
504 FROM
505 msd_dp_parameters par,
506 msd_dp_parameters par1,
507 (select mds1.demand_plan_id,mds1.scenario_id,nvl(max(mdsr1.revision),-1) revision
508 from msd_dp_scenario_revisions mdsr1, msd_dp_scenarios mds1
509 where mdsr1.scenario_id(+)=mds1.scenario_id
510 and mdsr1.demand_plan_id(+)=mds1.demand_plan_id
511 group by mds1.demand_plan_id,mds1.scenario_id) mdsr,
512 msd_dp_scenarios mds,
513 (select demand_plan_id,parameter_type,nvl(max(revision),-1) revision from msd_dp_parameters group by
514 demand_plan_id,parameter_type) mdp2
515 WHERE
516 par.DEMAND_PLAN_ID = (select template_id from msd_demand_plans where demand_plan_id=p_demand_plan_id)
517 and par.stream_type in ('ARCHIVED_TIM')
518 and mdp2.demand_plan_id=mds.demand_plan_id
519 and mdp2.parameter_type=par.parameter_type
520 and mds.demand_plan_id=mdsr.demand_plan_id
521 and par1.demand_plan_id=p_demand_plan_id
522 and mds.demand_plan_id=p_demand_plan_id
523 and par.archived_for_parameter=par1.parameter_type
524 and par1.parameter_id=to_number(mds.associate_parameter)
525 and mds.sc_type= 'ARCHIVED'
526 and mds.scenario_id=mdsr.scenario_id;
527
528
529 end if;
530
531
532 select mp.compile_designator into l_supply_plan_name
533 from msc_plans mp, msd_demand_plans mdp
534 where mp.plan_id=mdp.liab_plan_id
535 and mdp.demand_plan_id=p_demand_plan_id;
536
537
538
539 INSERT INTO msd_dp_doc_dim_selections
540 (DEMAND_PLAN_ID
541 ,DOCUMENT_ID
542 ,DIMENSION_CODE
543 ,ENABLED_FLAG
544 ,MANDATORY_FLAG
545 ,SELECTION_SEQUENCE
546 ,SELECTION_TYPE
547 ,SELECTION_COMPONENT
548 ,SELECTION_VALUE
549 ,SUPPLY_PLAN_FLAG
550 ,SUPPLY_PLAN_NAME
551 ,LAST_UPDATE_DATE
552 ,LAST_UPDATED_BY
553 ,CREATION_DATE
554 ,CREATED_BY
555 ,LAST_UPDATE_LOGIN
556 ,REQUEST_ID
557 ,PROGRAM_APPLICATION_ID
558 ,PROGRAM_ID
559 ,PROGRAM_UPDATE_DATE
560 )
561 SELECT
562 p_demand_plan_id
563 ,mdsd1.document_id
564 ,mdds.DIMENSION_CODE
565 ,mdds.ENABLED_FLAG
566 ,mdds.MANDATORY_FLAG
567 ,msd_archived_report_s.nextval+100
568 ,mdds.SELECTION_TYPE
569 ,mdds.SELECTION_COMPONENT
570 ,mdds.SELECTION_VALUE
571 ,mdds.SUPPLY_PLAN_FLAG
572 ,l_supply_plan_name
573 ,SYSDATE
574 ,fnd_global.user_id
575 ,SYSDATE
576 ,fnd_global.user_id
577 ,fnd_global.login_id
578 ,NULL
579 ,NULL
580 ,NULL
581 ,SYSDATE
582 FROM
583 msd_dp_seeded_documents mdsd,
584 msd_dp_seeded_documents mdsd1,
585 msd_dp_doc_dim_selections mdds
586 WHERE
587 mdsd.document_name='MSD_SD_EOL_LWF'
588 and mdsd.demand_plan_id= (select template_id from msd_demand_plans where demand_plan_id=p_demand_plan_id)
589 and mdsd1.document_name=mdsd.document_name
590 and mdsd1.demand_plan_id=p_demand_plan_id
591 and mdds.demand_plan_id=mdsd.demand_plan_id
592 and mdds.document_id=mdsd.document_id
593 and mdds.dimension_code='MEAS';
594
595
596 open c6;
597 fetch c6 into l_selection_script;
598 close c6;
599
600 for c2_rec in c2
601 loop
602
603 for c5_rec in c5(c2_rec.selection_value,c2_rec.supply_plan_name)
604 loop
605
606 l_pos := instr(nvl(l_selection_script,'@#$'),c5_rec.parameter_id);
607 if l_pos = 0 then
608 update msd_dp_seeded_doc_dimensions
609 set selection_script=selection_script||'V.'||c2_rec.selection_component||c5_rec.parameter_id||fnd_global.local_chr(10)
610 where demand_plan_id=p_demand_plan_id
611 and document_id=(select document_id from msd_dp_seeded_documents where document_name='MSD_SD_EOL_LWF' and demand_plan_id=p_demand_plan_id)
612 and dimension_code='MEAS';
613 end if;
614
615 end loop;
616
617 end loop;
618
619 msd_apply_template_demand_plan.create_seeded_definitions(p_demand_plan_id, p_errcode);
620
621 commit;
622
623 exception
624 when others then
625 null;
626
627 end eol_post_archive;
628
629 END MSD_EOL_PLAN;
630