DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_UMP_UNITMAINT_PUB

Source


1 PACKAGE BODY AHL_UMP_UNITMAINT_PUB AS
2 --/* $Header: AHLPUMXB.pls 115.5 2003/10/17 05:32:09 sracha noship $ */
3 
4 
5 G_PKG_NAME          CONSTANT VARCHAR2(30) := 'AHL_UMP_UNITMAINT_PUB';
6 
7 ------------------------------
8 -- Declare Local Procedures --
9 ------------------------------
10 
11 ------------------------
12 -- Define Procedures --
13 ------------------------
14 
15 -- Start of Comments --
16 --  Procedure name    : Capture_MR_Updates
17 --  Type              : Public
18 --  Function          : For a given set of instances, will record their statuses with either
19 --                      accomplishment date or deferred-next due date or termination date with
20 --                      their corresponding counter and counter values.
21 --  Pre-reqs    :
22 --  Parameters  :
23 --
24 --  Standard IN  Parameters :
25 --      p_api_version                   IN      NUMBER       Default  1.0
26 --      p_init_msg_list                 IN      VARCHAR2     Default  FND_API.G_TRUE
27 --      p_commit                        IN      VARCHAR2     Default  FND_API.G_FALSE
28 --      p_validation_level              IN      NUMBER       Default  FND_API.G_VALID_LEVEL_FULL
29 --  Standard OUT Parameters :
30 --      x_return_status                 OUT     VARCHAR2               Required
31 --      x_msg_count                     OUT     NUMBER                 Required
32 --      x_msg_data                      OUT     VARCHAR2               Required
33 --
34 --  p_module_type                       IN      VARCHAR2               Required.
35 --      This parameter indicates the front-end form interface. The default value is 'JSP'. If the value
36 --      is JSP, then this API clears out all id columns and validations are done using the values based
37 --      on which the Id's are populated.
38 --
39 --  Capture MR Update Parameters:
40 --       p_unit_Effectivity_tbl         IN      Unit_Effectivity_tbl_type  Required
41 --         List of all unit effectivities whose status, due or accomplished dates
42 --         and counter values need to be captured
43 --       p_x_Unit_Threshold_tbl         IN OUT  Unit_Threshold_tbl_type    Required
44 --         List of all thresholds (counters and counter values) when a MR becomes due
45 --       p_x_Unit_Accomplish_tbl        IN OUT  Unit_Accomplish_tbl_type   Required
46 --         List of all counters and corresponding counter values when the MR was last accomplished
47 --
48 --  Version :
49 --               Initial Version   1.0
50 --
51 --  End of Comments.
52 
53 PROCEDURE Capture_MR_Updates (
54     p_api_version           IN            NUMBER    := 1.0,
55     p_init_msg_list         IN            VARCHAR2  := FND_API.G_TRUE,
56     p_commit                IN            VARCHAR2  := FND_API.G_FALSE,
57     p_validation_level      IN            NUMBER    := FND_API.G_VALID_LEVEL_FULL,
58     p_unit_Effectivity_tbl  IN            AHL_UMP_UNITMAINT_PVT.Unit_Effectivity_tbl_type,
59     p_x_unit_threshold_tbl  IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Threshold_tbl_type,
60     p_x_unit_accomplish_tbl IN OUT NOCOPY AHL_UMP_UNITMAINT_PVT.Unit_Accomplish_tbl_type,
61     x_return_status         OUT    NOCOPY VARCHAR2,
62     x_msg_count             OUT    NOCOPY NUMBER,
63     x_msg_data              OUT    NOCOPY VARCHAR2)  IS
64 
65 
66   l_api_name       CONSTANT VARCHAR2(30) := 'Capture_MR_Updates';
67   l_api_version    CONSTANT NUMBER       := 1.0;
68 
69 BEGIN
70 
71   -- Standard start of API savepoint
72   SAVEPOINT Capture_MR_Updates_Pub;
73 
74   -- Standard call to check for call compatibility
75   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
76                                      G_PKG_NAME) THEN
77     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78   END IF;
79 
80     -- Initialize message list if p_init_msg_list is set to TRUE
81   IF FND_API.To_Boolean(p_init_msg_list) THEN
82     FND_MSG_PUB.Initialize;
83   END IF;
84 
85   -- Initialize API return status to success
86   x_return_status := FND_API.G_RET_STS_SUCCESS;
87 
88   -- Call Private API.
89   AHL_UMP_UNITMAINT_PVT.Capture_MR_Updates(
90      	                      p_api_version           => 1.0,
91                               p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
92                               p_unit_Effectivity_tbl  => p_unit_Effectivity_tbl,
93                               p_x_unit_threshold_tbl  => p_x_unit_threshold_tbl,
94                               p_x_unit_accomplish_tbl => p_x_unit_accomplish_tbl,
95                               x_return_status         => x_return_status,
96                               x_msg_count             => x_msg_count,
97                               x_msg_data              => x_msg_data );
98 
99 
100 
101   IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
102     RAISE FND_API.G_EXC_ERROR;
103   ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
104     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
105   END IF;
106 
107   -- Standard check of p_commit
108   IF FND_API.To_Boolean(p_commit) THEN
109     COMMIT WORK;
110   END IF;
111 
112   -- Standard call to get message count and if count is 1, get message
113   FND_MSG_PUB.Count_And_Get
114     ( p_count => x_msg_count,
115       p_data  => x_msg_data,
116       p_encoded => fnd_api.g_false);
117 
118 --
119 EXCEPTION
120  WHEN FND_API.G_EXC_ERROR THEN
121    x_return_status := FND_API.G_RET_STS_ERROR;
122    Rollback to Capture_MR_Updates_Pub;
123    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
124                               p_data  => x_msg_data,
125                               p_encoded => fnd_api.g_false);
126    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
127 
128 
129  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
130    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
131    Rollback to Capture_MR_Updates_Pub;
132    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
133                               p_data  => x_msg_data,
134                                p_encoded => fnd_api.g_false);
135    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
136 
137  WHEN OTHERS THEN
138     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139     Rollback to Capture_MR_Updates_Pub;
140     --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
141        fnd_msg_pub.add_exc_msg(p_pkg_name       => G_PKG_NAME,
142                                p_procedure_name => 'Process_Master_Config',
143                                p_error_text     => SQLERRM);
144     --END IF;
145     FND_MSG_PUB.count_and_get( p_count => x_msg_count,
146                                p_data  => x_msg_data,
147                                 p_encoded => fnd_api.g_false);
148     --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
149 
150 
151 END Capture_MR_Updates;
152 
153 
154 
155 
156 
157 ------------------------
158 -- Define Procedures Terminate_MR_Instances --
159 ------------------------
160 
161 -- Start of Comments --
162 --  Procedure name    : Terminate_MR_Instances
163 --  Type              : Public
164 --  Function          :
165 --  Pre-reqs    :
166 --  Parameters  :
167 --
168 --  Standard IN  Parameters :
169 --      p_api_version                   IN      NUMBER                Required
170 --      p_init_msg_list                 IN      VARCHAR2     Default  FND_API.G_FALSE
171 --      p_commit                        IN      VARCHAR2     Default  FND_API.G_FALSE
172 --      p_validation_level              IN      NUMBER       Default  FND_API.G_VALID_LEVEL_FULL
173 --  Standard OUT Parameters :
174 --      x_return_status                 OUT     VARCHAR2               Required
175 --      x_msg_count                     OUT     NUMBER                 Required
176 --      x_msg_data                      OUT     VARCHAR2               Required
177 --
178 --  p_module_type                       IN      VARCHAR2               Required.
179 --      This parameter indicates the front-end form interface. The default value is null. If the value
180 --      is JSP, then this API clears out all id columns and validations are done using the values;based
181 --      on which the Id's are populated.
182 --
183 --
184 --  Terminate_MR_Instances Parameters :
185 --  p_old_mr_header_id    IN            NUMBER,
186 --  p_old_mr_title        IN            VARCHAR2,
187 --  p_old_version_number  IN            NUMBER,
188 --  p_new_mr_header_id    IN            NUMBER,
189 --  p_new_mr_title        IN            VARCHAR2,
190 --  p_new_version_number  IN            NUMBER,
191 --
192 --  Version :
193 --               Initial Version   1.0
194 --
195 --  End of Comments.
196 
197 PROCEDURE Terminate_MR_Instances (
198     p_api_version         IN            NUMBER    := 1.0,
199     p_init_msg_list       IN            VARCHAR2  := FND_API.G_FALSE,
200     p_commit              IN            VARCHAR2  := FND_API.G_FALSE,
201     p_validation_level    IN            NUMBER    := FND_API.G_VALID_LEVEL_FULL,
202     p_default             IN            VARCHAR2  := FND_API.G_TRUE,
203     p_module_type         IN            VARCHAR2  := NULL,
204     p_old_mr_header_id    IN            NUMBER,
205     p_old_mr_title        IN            VARCHAR2,
206     p_old_version_number  IN            NUMBER,
207     p_new_mr_header_id    IN            NUMBER    := NULL,
208     p_new_mr_title        IN            VARCHAR2  := NULL,
209     p_new_version_number  IN            NUMBER    := NULL,
210     x_return_status       OUT  NOCOPY   VARCHAR2,
211     x_msg_count           OUT  NOCOPY   NUMBER,
212     x_msg_data            OUT  NOCOPY   VARCHAR2 ) IS
213 
214 
215   l_api_name       CONSTANT VARCHAR2(30) := 'Terminate_MR_Instances';
216   l_api_version    CONSTANT NUMBER       := 1.0;
217 
218 BEGIN
219 
220   -- Standard start of API savepoint
221   SAVEPOINT Terminate_MR_Instances_Pub;
222 
223   -- Standard call to check for call compatibility
224   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
225                                      G_PKG_NAME) THEN
226     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
227   END IF;
228 
229     -- Initialize message list if p_init_msg_list is set to TRUE
230   IF FND_API.To_Boolean(p_init_msg_list) THEN
231     FND_MSG_PUB.Initialize;
232   END IF;
233 
234   -- Initialize API return status to success
235   x_return_status := FND_API.G_RET_STS_SUCCESS;
236 
237   -- Call Private API.
238   AHL_UMP_UNITMAINT_PVT.Terminate_MR_Instances (
239     p_api_version           =>          1.0,
240     p_validation_level      =>          FND_API.G_VALID_LEVEL_FULL,
241     p_old_mr_header_id      =>          p_old_mr_header_id,
242     p_old_mr_title          =>          p_old_mr_title,
243     p_old_version_number    =>          p_old_version_number,
244     p_new_mr_header_id      =>          p_new_mr_header_id,
245     p_new_mr_title          =>          p_new_mr_title,
246     p_new_version_number    =>          p_new_version_number,
247     x_return_status         =>          x_return_status,
248     x_msg_count             =>          x_msg_count,
249     x_msg_data              =>          x_msg_data );
250 
251 
252 
253   IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
254     RAISE FND_API.G_EXC_ERROR;
255   ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
256     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
257   END IF;
258 
259   -- Standard check of p_commit
260   IF FND_API.To_Boolean(p_commit) THEN
261     COMMIT WORK;
262   END IF;
263 
264   -- Standard call to get message count and if count is 1, get message
265   FND_MSG_PUB.Count_And_Get
266     ( p_count => x_msg_count,
267       p_data  => x_msg_data,
268       p_encoded => fnd_api.g_false);
269 
270 --
271 EXCEPTION
272  WHEN FND_API.G_EXC_ERROR THEN
273    x_return_status := FND_API.G_RET_STS_ERROR;
274    Rollback to Terminate_MR_Instances_Pub;
275    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
276                               p_data  => x_msg_data,
277                               p_encoded => fnd_api.g_false);
278    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
279 
280 
281  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
282    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
283    Rollback to Terminate_MR_Instances_Pub;
284    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
285                               p_data  => x_msg_data,
286                                p_encoded => fnd_api.g_false);
287    --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
288 
289  WHEN OTHERS THEN
290     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
291     Rollback to Terminate_MR_Instances_Pub;
292     --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
293        fnd_msg_pub.add_exc_msg(p_pkg_name       => G_PKG_NAME,
294                                p_procedure_name => 'Terminate_MR_Instances',
295                                p_error_text     => SQLERRM);
296     --END IF;
297     FND_MSG_PUB.count_and_get( p_count => x_msg_count,
298                                p_data  => x_msg_data,
299                                 p_encoded => fnd_api.g_false);
300     --AHL_UTIL_PKG.Err_Mesg_To_Table(x_err_mesg_tbl);
301 
302 
303 END Terminate_MR_Instances;
304 
305 -- Start of Comments --
306 --  Procedure name    : Process_UnitEffectivity
307 --  Type        : Private
308 --  Function    : Manages Create/Modify/Delete operations of applicable maintenance
309 --                requirements on a unit.
310 --  Pre-reqs    :
311 --  Parameters  :
312 --
313 --  Standard IN  Parameters :
314 --      p_api_version                   IN      NUMBER                Required
315 --      p_init_msg_list                 IN      VARCHAR2     Default  FND_API.G_FALSE
316 --      p_commit                        IN      VARCHAR2     Default  FND_API.G_FALSE
317 --      p_validation_level              IN      NUMBER       Default  FND_API.G_VALID_LEVEL _FULL
318 --      p_default                       IN      VARCHAR2     Default  FND_API.G_TRUE
319 --         Based on this flag, the API will set the default attributes.
320 --      p_module_type                   In      VARCHAR2     Default  NULL
321 --         This will be null.
322 --  Standard OUT Parameters :
323 --      x_return_status                 OUT     VARCHAR2               Required
327 
324 --      x_msg_count                     OUT     NUMBER                 Required
325 --      x_msg_data                      OUT     VARCHAR2               Required
326 --
328 --
329 --  Process_UnitEffectivity Parameters :
330 --      If no input parameters are passed, then effectivity will be built for all units.
331 --      If either p_mr_header_id OR p_mr_title and p_mr_version_number are passed, then effectivity
332 --      will be built for all units having this maintenance requirement; p_mr_header_id being the unique
333 --      identifier of a maintenance requirement.
334 --      If either p_csi_item_instance_id OR p_csi_instance_number are passed, then effectivity
335 --        will be built for the unit this item instance belongs to.
336 --      If either p_unit_name OR p_unit_config_header_id are passed, then effectivity will be
337 --        built for the unit configuration.
338 --
339 
340 PROCEDURE Process_UnitEffectivity (
341     p_api_version            IN            NUMBER,
342     p_init_msg_list          IN            VARCHAR2  := FND_API.G_FALSE,
343     p_commit                 IN            VARCHAR2  := FND_API.G_FALSE,
344     p_validation_level       IN            NUMBER    := FND_API.G_VALID_LEVEL_FULL,
345     p_default                IN            VARCHAR2  := FND_API.G_TRUE,
346     p_module_type            IN            VARCHAR2  := NULL,
347     x_return_status          OUT  NOCOPY   VARCHAR2,
348     x_msg_count              OUT  NOCOPY   NUMBER,
349     x_msg_data               OUT  NOCOPY   VARCHAR2,
350     p_mr_header_id           IN            NUMBER    := NULL,
351     p_mr_title               IN            VARCHAR2  := NULL,
352     p_mr_version_number      IN            NUMBER    := NULL,
353     p_unit_config_header_id  IN            NUMBER    := NULL,
354     p_unit_name              IN            VARCHAR2  := NULL,
355     p_csi_item_instance_id   IN            NUMBER    := NULL,
356     p_csi_instance_number    IN            VARCHAR2  := NULL)
357 
358 IS
359 
360   l_api_name       CONSTANT VARCHAR2(30) := 'Process_UnitEffectivity';
361   l_api_version    CONSTANT NUMBER       := 1.0;
362 
363 BEGIN
364 
365   -- Standard start of API savepoint
366   SAVEPOINT Process_UnitEffectivity_PUB;
367 
368   -- Standard call to check for call compatibility
369   IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
370                                      G_PKG_NAME) THEN
371     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
372   END IF;
373 
374     -- Initialize message list if p_init_msg_list is set to TRUE
375   IF FND_API.To_Boolean(p_init_msg_list) THEN
376     FND_MSG_PUB.Initialize;
377   END IF;
378 
379   -- Initialize API return status to success
380   x_return_status := FND_API.G_RET_STS_SUCCESS;
381 
382   -- Call Private API.
383   AHL_UMP_UNITMAINT_PVT.Process_UnitEffectivity(
384                           p_api_version         => 1.0,
385                           p_validation_level    => FND_API.G_VALID_LEVEL_FULL,
386                           x_return_status       => x_return_status,
387                           x_msg_count           => x_msg_count,
388                           x_msg_data            => x_msg_data,
389                           p_mr_header_id        => p_mr_header_id,
390                           p_mr_title            => p_mr_title,
391                           p_mr_version_number   => p_mr_version_number,
392                           p_unit_config_header_id => p_unit_config_header_id,
393                           p_unit_name             => p_unit_name,
394                           p_csi_item_instance_id  => p_csi_item_instance_id,
395                           p_csi_instance_number   => p_csi_instance_number);
396 
397   IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
398     RAISE FND_API.G_EXC_ERROR;
399   ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
400     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
401   END IF;
402 
403   -- Standard check of p_commit
404   IF FND_API.To_Boolean(p_commit) THEN
405     COMMIT WORK;
406   END IF;
407 
408   -- Standard call to get message count and if count is 1, get message
409   FND_MSG_PUB.Count_And_Get
410     ( p_count => x_msg_count,
411       p_data  => x_msg_data,
412       p_encoded => fnd_api.g_false);
413 
414 --
415 EXCEPTION
416  WHEN FND_API.G_EXC_ERROR THEN
417    x_return_status := FND_API.G_RET_STS_ERROR;
418    Rollback to Process_UnitEffectivity_PUB;
419    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
420                               p_data  => x_msg_data,
421                               p_encoded => fnd_api.g_false);
422 
423 
424  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
425    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426    Rollback to Process_UnitEffectivity_PUB;
427    FND_MSG_PUB.count_and_get( p_count => x_msg_count,
428                               p_data  => x_msg_data,
429                                p_encoded => fnd_api.g_false);
430 
431  WHEN OTHERS THEN
432     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
433     Rollback to Process_UnitEffectivity_PUB;
434     --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
435        fnd_msg_pub.add_exc_msg(p_pkg_name       => G_PKG_NAME,
436                                p_procedure_name => 'Process_UnitEffectivity',
437                                p_error_text     => SQLERRM);
438     --END IF;
442 
439     FND_MSG_PUB.count_and_get( p_count => x_msg_count,
440                                p_data  => x_msg_data,
441                                 p_encoded => fnd_api.g_false);
443 
444 END Process_UnitEffectivity;
445 
446 End AHL_UMP_UNITMAINT_PUB;