DBA Data[Home] [Help]

PACKAGE BODY: APPS.MRP_SCHEDULE_DESIG_PKG

Source


1 PACKAGE BODY MRP_SCHEDULE_DESIG_PKG AS
2 /* $Header: MRSDESIB.pls 115.0 99/07/16 12:44:42 porting ship $ */
3 
4 
5 PROCEDURE Check_Unique(X_organization_id NUMBER,
6 		       X_schedule_designator VARCHAR2) IS
7 
8    	dummy NUMBER;
9 BEGIN
10 
11   SELECT 1
12     INTO dummy
13     FROM dual
14    WHERE NOT EXISTS (SELECT 1
15                       FROM mrp_schedule_designators
16                      WHERE schedule_designator = X_schedule_designator
17                        AND organization_id = X_organization_id
18                      );
19 
20   EXCEPTION
21      WHEN NO_DATA_FOUND THEN
22         FND_MESSAGE.SET_NAME('MRP','GEN-duplicate name');
23         FND_MESSAGE.SET_TOKEN('ENTITY','E_SCHEDULE', TRUE);
24         APP_EXCEPTION.RAISE_EXCEPTION;
25 
26 END Check_Unique;
27 
28 
29 
30 PROCEDURE Update_Plans(X_organization_id NUMBER,
31 		       X_schedule_designator VARCHAR2) IS
32 
33 BEGIN
34 
35   UPDATE mrp_plans
36   SET    explosion_start_date      = NULL,
37          explosion_completion_date = NULL,
38          data_start_date           = NULL,
39          data_completion_date      = NULL,
40          plan_start_date           = NULL,
41          plan_completion_date      = NULL
42    WHERE schedule_designator       = X_schedule_designator
43    AND   organization_id           = X_organization_id;
44 
45   EXCEPTION
46      WHEN NO_DATA_FOUND THEN
47 	null;
48 
49 END Update_Plans;
50 
51 
52 
53 FUNCTION Check_References(X_organization_id NUMBER,
54     			  X_schedule_designator VARCHAR2)
55     	RETURN BOOLEAN IS
56 
57  	entity	     NUMBER;
58  	dummy        NUMBER;
59 
60  BEGIN
61   --  Check mrp_forecast_designators table
62   entity := 1;
63 
64   SELECT 1
65     INTO dummy
66     FROM dual
67    WHERE NOT EXISTS (SELECT 1
68                       FROM mrp_forecast_designators
69                      WHERE forecast_designator = X_schedule_designator
70                        AND organization_id = X_organization_id);
71 
72   --  Check mrp_designators table
73   entity := 2;
74 
75   SELECT 1
76     INTO dummy
77     FROM dual
78    WHERE NOT EXISTS (SELECT 1
79                       FROM mrp_designators
80                      WHERE compile_designator = X_schedule_designator
81                        AND organization_id = X_organization_id);
82 
83   RETURN(TRUE);
84 
85   EXCEPTION
86      WHEN NO_DATA_FOUND THEN
87         FND_MESSAGE.SET_NAME('MRP','GEN-duplicate name');
88         if (entity = 1) then
89 	   FND_MESSAGE.SET_TOKEN('ENTITY','E_FORECAST', TRUE);
90 	else
91 	   FND_MESSAGE.SET_TOKEN('ENTITY','E_PLAN', TRUE);
92  	end if;
93   	APP_EXCEPTION.RAISE_EXCEPTION;
94         RETURN(FALSE);
95 
96 END Check_References;
97 
98 
99 
100 FUNCTION Plans_Exist(X_organization_id NUMBER,
101     	             X_schedule_designator VARCHAR2)
102     	RETURN BOOLEAN IS
103 
104  	dummy        NUMBER;
105 
106  BEGIN
107 
108   SELECT 1
109     INTO dummy
110     FROM mrp_plans
111    WHERE explosion_completion_date >= explosion_start_date
112      AND data_start_date           >= explosion_completion_date
113      AND data_completion_date      >= data_start_date
114      AND plan_start_date           >= data_completion_date
115      AND plan_completion_date      >= plan_start_date
116      AND schedule_designator        = X_schedule_designator
117      AND organization_id            = X_organization_id;
118 
119 
120   RETURN(TRUE);
121 
122   EXCEPTION
123      WHEN NO_DATA_FOUND THEN
124  	FND_MESSAGE.SET_NAME('MRP', 'No Plans exist');
125         RETURN(FALSE);
126 
127 END Plans_Exist;
128 
129 
130 END MRP_SCHEDULE_DESIG_PKG;