[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;