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