47: CURSOR c_demand_plan_id
48: is
49: select demand_plan_id
50: from
51: msd_demand_plans
52: where
53: liab_plan_id = p_plan_id ;
54:
55: x_demand_plan_id NUMBER ;
70: CURSOR c_supply_plan_id
71: is
72: select liab_plan_id
73: from
74: msd_demand_plans
75: where
76: demand_plan_id = p_demand_plan_id ;
77:
78: x_supply_plan_id NUMBER ;
244: mcd.planning_server_view_name ,
245: mcd.description
246: FROM msd_dp_parameters mdpar ,
247: msd_cs_definitions mcd,
248: msd_demand_plans mdp,
249: msd_cs_defn_dim_dtls mcddd
250: where mdpar.demand_plan_id =mdp.demand_plan_id
251: and mdp.demand_plan_name = 'LIABILTY_PLAN'
252: and mdp.template_flag = 'Y'
369: mdp.demand_plan_id ,
370: mdp.plan_start_date ,
371: mds.scenario_id
372: from
373: msd_demand_plans mdp ,
374: msd_dp_scenarios mds
375: where mdp.demand_plan_id = p_demand_plan_id
376: and mdp.demand_plan_id = mds.demand_plan_id
377: and mds.SCENARIO_DESIGNATOR = 'TOTAL_LIABILITY'
383: for x_demand_plan_rec in c_demand_plan
384: LOOP
385:
386: /*
387: UPDATE msd_demand_plans SET liability_revision_num = p_senario_rev_num ,
388: prev_liab_pub_plan_start_date = x_demand_plan_rec.plan_start_date
389: WHERE demand_plan_id = p_demand_plan_id ;
390: */
391:
406:
407: END ;
408:
409:
410: /* Updates supply plan dates in msd demand Plans */
411:
412: FUNCTION liability_plan_update( p_demand_plan_id IN NUMBER )
413: RETURN NUMBER
414: IS
416: IS
417: select
418: mds.scenario_id
419: from
420: msd_demand_plans mdp ,
421: msd_dp_scenarios mds
422: where mdp.demand_plan_id = p_demand_plan_id
423: and mdp.demand_plan_id = mds.demand_plan_id
424: and mds.SCENARIO_DESIGNATOR = 'TOTAL_LIABILITY' /* This will be translatable */
456: OPEN c_liability_rev_num( x_scenario_id) ;
457: FETCH c_liability_rev_num into x_rev_num , x_plan_start_date ;
458: CLOSE c_liability_rev_num ;
459:
460: UPDATE msd_demand_plans SET previous_plan_start_date = x_plan_start_date , LIABILITY_REVISION_NUM = x_rev_num
461: WHERE demand_plan_id = p_demand_plan_id ;
462:
463:
464:
469: LOOP
470:
471: x_plan_start_date := get_supply_plan_start_date( x_demand_plan_rec.LIAB_PLAN_ID ) ;
472: IF x_plan_start_date > x_demand_plan_rec.plan_start_date THEN
473: UPDATE msd_demand_plans SET previous_plan_start_date = x_demand_plan_rec.prev_liab_pub_plan_start_date
474: WHERE demand_plan_id = p_demand_plan_id ;
475: END IF ;
476:
477: IF x_plan_start_date = x_demand_plan_rec.prev_liab_pub_plan_start_date THEN
480: FETCH c_liability_rev_num into x_rev_num ;
481: CLOSE c_liability_rev_num ;
482:
483:
484: UPDATE msd_demand_plans SET prev_liab_pub_plan_start_date = x_demand_plan_rec.previous_plan_start_date
485: WHERE demand_plan_id = p_demand_plan_id ;
486:
487: END IF ;
488:
797: function liability_plan_exists(p_plan_id IN NUMBER ) return boolean IS
798: x_status NUMBER ;
799: cursor c_status
800: is
801: select 1 from msd_demand_plans
802: where liab_plan_id = p_plan_id
803: and nvl( DP_BUILD_ERROR_FLAG, 'NO') = 'NO'
804: and plan_type = 'LIABILITY' ;
805: BEGIN