1: PACKAGE BODY CN_COMP_PLANS_PKG as
2: /* $Header: cnpliplb.pls 120.6.12010000.4 2008/09/08 16:05:26 ramchint ship $ */
3: /*
4: Date Name Description
5: -------------------------------------------------------------------------+-+
40: BEGIN
41:
42: SELECT name
43: INTO g_plan_name
44: FROM cn_comp_plans
45: WHERE comp_plan_id = x_comp_plan_id;
46:
47: return g_plan_name;
48: exception
224: ,lc.lookup_code
225: INTO X_Status
226: ,X_status_code
227: FROM cn_lookups lc,
228: cn_comp_plans cp
229: WHERE cp.status_code = lc.lookup_code
230: AND lc.lookup_type = 'PLAN_OBJECT_STATUS'
231: AND cp.comp_plan_id = x_comp_plan_id
232: ;
248: -------------------------------------------------------------------------++
249: PROCEDURE Get_Uid ( X_Comp_Plan_Id IN OUT NOCOPY NUMBER ) IS
250: BEGIN
251: IF X_Comp_Plan_Id IS NULL OR X_Comp_Plan_Id = CN_API.G_MISS_ID OR X_Comp_Plan_Id = FND_API.G_MISS_NUM THEN
252: SELECT cn_comp_plans_s.nextval
253: INTO x_comp_plan_id
254: FROM sys.dual;
255: END IF;
256: END Get_uid;
266: -- Changing the date range on a plan does not impact the srp plan assigns
267: -- and therefore no need to maintain the srp period records
268: --
269: -- Called when
270: -- o The user tries to 'complete' the plan by the cn_comp_plans_pkg.
271: -- end_record
272: -- o After update of rate table
273: -- o After update of quota
274: -------------------------------------------------------------------------+
319: END IF ;*/
320: IF x_comp_plan_id IS NOT NULL THEN
321:
322: -- Called after comp plan update
323: UPDATE cn_comp_plans
324: SET status_code = x_status_code
325: WHERE comp_plan_id = x_comp_plan_id
326: ;
327:
327:
328: ELSIF x_quota_id IS NOT NULL THEN
329:
330: -- called after quota, quota rule or trx factor update
331: UPDATE cn_comp_plans
332: SET status_code = x_status_code
333: WHERE comp_plan_id IN (SELECT qa.comp_plan_id
334: FROM cn_quota_assigns qa
335: WHERE qa.quota_id = x_quota_id)
366:
367: ELSIF x_rate_schedule_id IS NOT NULL THEN
368:
369: -- Called after rate table update
370: UPDATE cn_comp_plans
371: SET status_code = x_status_code
372: WHERE comp_plan_id IN (SELECT qa.comp_plan_id
373: FROM cn_quota_assigns qa,
374: cn_quotas_v q,
464:
465: Get_UID( X_Comp_Plan_Id );
466:
467: INSERT INTO
468: CN_COMP_PLANS
469: (
470: Comp_Plan_Id ,
471: Name ,
472: Last_Update_Date ,
585: -- check_unique( x_comp_plan_id,x_Name);
586: -- check_period_range( x_comp_plan_id
587: -- ,x_start_period_id
588: -- ,x_end_period_id);
589: UPDATE cn_comp_plans
590: SET
591: Comp_Plan_Id = X_Comp_Plan_Id ,
592: Name = X_Name ,
593: Last_Update_Date = X_Last_Update_Date ,
662: x_attribute14 VARCHAR2 ,
663: x_attribute15 VARCHAR2 ) IS
664:
665: CURSOR C IS
666: SELECT * FROM CN_COMP_PLANS
667: WHERE comp_plan_id = X_Comp_Plan_id
668: FOR UPDATE OF COMP_PLAN_ID NOWAIT;
669: Recinfo C%ROWTYPE;
670:
715: IF not l_okay then
716: RAISE FND_API.G_EXC_ERROR ;
717: end if;
718:
719: select 1 into l_exists FROM cn_comp_plans
720: WHERE comp_plan_id = x_comp_plan_id;
721:
722: IF SQL%FOUND THEN
723: -- Delete all quota assignments that belong to the plan
731: x_quota_id_old => null,
732: x_org_id => NULL);-- not used
733: END IF;
734:
735: DELETE FROM cn_comp_plans
736: WHERE comp_plan_id = x_comp_plan_id;
737:
738: END Delete_Record;
739: -------------------------------------------------------------------------+
753:
754: BEGIN
755: SELECT count(1)
756: INTO X_dummy
757: FROM cn_comp_plans
758: WHERE name = X_Name
759: AND (X_Comp_Plan_Id IS NULL
760: OR X_Comp_Plan_Id <> comp_plan_id);
761:
1052: x_quota_status_code := null;
1053:
1054: END End_Record;
1055:
1056: END CN_COMP_PLANS_PKG;