[Home] [Help]
PACKAGE BODY: APPS.MSC_VALID_PLAN_PKG
Source
1 PACKAGE BODY msc_valid_plan_pkg AS
2 /* $Header: MSCPVPDB.pls 120.1 2005/07/06 13:27:43 pabram noship $ */
3
4 /*----------------------------- PUBLIC ROUTINES ------------------------------*/
5
6 PROCEDURE msc_valid_plan (
7 arg_plan_id IN NUMBER,
8 arg_exploder IN CHAR,
9 arg_snapshot IN CHAR,
10 arg_planner IN CHAR,
11 arg_crp_planner IN CHAR ) IS
12
13 -- Constant declarations
14 TEST_EXPLODE CONSTANT NUMBER := 1;
15 TEST_MRP_SNAPSHOT CONSTANT NUMBER := 2;
16 TEST_PLANNER CONSTANT NUMBER := 4;
17 TEST_CRP_PLANNER CONSTANT NUMBER := 16;
18
19 SYS_YES CONSTANT NUMBER := 1;
20 SYS_NO CONSTANT NUMBER := 2;
21
22
23 var_test_explode NUMBER;
24 var_test_snapshot NUMBER;
25 var_test_planner NUMBER;
26 var_test_crp_planner NUMBER;
27
28 var_test_level NUMBER := 0;
29
30 var_plan_rec msc_plans%ROWTYPE;
31
32 invalid_arg exception;
33 invalid_plan exception;
34
35 BEGIN
36
37 if arg_exploder = 'Y'
38 then
39 var_test_level := var_test_level + TEST_EXPLODE;
40 end if;
41 if arg_snapshot = 'Y'
42 then
43 var_test_level := var_test_level + TEST_MRP_SNAPSHOT;
44 end if;
45 if arg_planner = 'Y'
46 then
47 var_test_level := var_test_level + TEST_PLANNER;
48 end if;
49 if arg_crp_planner = 'Y'
50 then
51 var_test_level := var_test_level + TEST_CRP_PLANNER;
52 end if;
53
54
55 if var_test_level >= TEST_CRP_PLANNER
56 then
57 var_test_crp_planner := SYS_YES;
58 var_test_level := var_test_level - TEST_CRP_PLANNER;
59 else
60 var_test_crp_planner := SYS_NO;
61 end if;
62
63 if var_test_level >= TEST_PLANNER
64 then
65 var_test_planner := SYS_YES;
66 var_test_level := var_test_level - TEST_PLANNER;
67 else
68 var_test_planner := SYS_NO;
69 end if;
70
71 if var_test_level >= TEST_MRP_SNAPSHOT
72 then
73 var_test_snapshot := SYS_YES;
74 var_test_level := var_test_level - TEST_MRP_SNAPSHOT;
75 else
76 var_test_snapshot := SYS_NO;
77 end if;
78
79 if var_test_level >= TEST_EXPLODE
80 then
81 var_test_explode := SYS_YES;
82 var_test_level := var_test_level - TEST_EXPLODE;
83 else
84 var_test_explode := SYS_NO;
85 end if;
86
87 if var_test_level <> 0
88 then
89 fnd_message.set_name('MRP', 'GEN-invalid argument');
90 fnd_message.set_token('ROUTINE', 'mrp_valid_plan_designator', FALSE);
91 fnd_message.set_token('ARGUMENT', 'var_test_level', FALSE);
92 fnd_message.set_token('VALUE', to_char(var_test_level), FALSE);
93 raise invalid_arg;
94 end if;
95
96 SELECT *
97 INTO var_plan_rec
98 FROM msc_plans
99 WHERE plan_id = arg_plan_id;
100
101 /*if var_test_explode = SYS_YES
102 then
103 if var_plan_rec.explosion_start_date IS NULL
104 then
105 fnd_message.set_name('MRP', 'PLAN-process not run');
106 fnd_message.set_token('PROCESS', 'E_EXPLODER', TRUE);
107 raise invalid_plan;
108 elsif var_plan_rec.explosion_completion_date IS NULL
109 then
110 fnd_message.set_name('MRP', 'PLAN-process not completed');
111 fnd_message.set_token('PROCESS', 'E_EXPLODER', TRUE);
112 raise invalid_plan;
113 end if;
114 end if;
115 */
116 if var_test_snapshot = SYS_YES
117 then
118 if var_plan_rec.data_start_date IS NULL
119 then
120 fnd_message.set_name('MRP', 'PLAN-process not run');
121 fnd_message.set_token('PROCESS', 'E_SNAPSHOT', TRUE);
122 raise invalid_plan;
123 elsif var_plan_rec.data_completion_date IS NULL
124 then
125 fnd_message.set_name('MRP', 'PLAN-process not completed');
126 fnd_message.set_token('PROCESS', 'E_SNAPSHOT', TRUE);
127 raise invalid_plan;
128 /* elsif var_plan_rec.data_completion_date <
129 var_plan_rec.explosion_completion_date
130 then
131 fnd_message.set_name('MRP', 'GEN-process more recent');
132 fnd_message.set_token('PROCESS1', 'E_EXPLODER', TRUE);
133 fnd_message.set_token('PROCESS2', 'E_SNAPSHOT', TRUE);
134 raise invalid_plan; */
135 end if;
136 end if;
137 if var_test_planner = SYS_YES
138 then
139 if var_plan_rec.plan_start_date IS NULL
140 then
141 fnd_message.set_name('MRP', 'PLAN-process not run');
142 fnd_message.set_token('PROCESS', 'E_PLANNER', TRUE);
143 raise invalid_plan;
144 elsif var_plan_rec.plan_completion_date IS NULL
145 then
146 fnd_message.set_name('MRP', 'PLAN-process not completed');
147 fnd_message.set_token('PROCESS', 'E_PLANNER', TRUE);
148 raise invalid_plan;
149 elsif var_plan_rec.plan_completion_date <
150 var_plan_rec.data_completion_date
151 then
152 fnd_message.set_name('MRP', 'GEN-process more recent');
153 fnd_message.set_token('PROCESS1', 'E_SNAPSHOT', TRUE);
154 fnd_message.set_token('PROCESS2', 'E_PLANNER', TRUE);
155 raise invalid_plan;
156 end if;
157 end if;
158 /*
159 if var_test_crp_planner = SYS_YES
160 then
161 if var_plan_rec.crp_plan_start_date IS NULL
162 then
163 fnd_message.set_name('MRP', 'PLAN-process not run');
164 fnd_message.set_token('PROCESS', 'E_CRP_PLANNER', TRUE);
165 raise invalid_plan;
166 elsif var_plan_rec.crp_plan_completion_date IS NULL
167 then
168 fnd_message.set_name('MRP', 'PLAN-process not completed');
169 fnd_message.set_token('PROCESS', 'E_CRP_PLANNER', TRUE);
170 raise invalid_plan;
171 elsif var_plan_rec.crp_plan_completion_date <
172 var_plan_rec.plan_completion_date
173 then
174 fnd_message.set_name('MRP', 'GEN-process more recent');
175 fnd_message.set_token('PROCESS1', 'E_PLANNER', TRUE);
176 fnd_message.set_token('PROCESS2', 'E_CRP_PLANNER', TRUE);
177 raise invalid_plan;
178 end if;
179 end if;
180 */
181 EXCEPTION
182 WHEN invalid_arg THEN
183 app_exception.raise_exception;
184 WHEN invalid_plan THEN
185 app_exception.raise_exception;
186 END msc_valid_plan;
187 END msc_valid_plan_pkg;