DBA Data[Home] [Help]

PACKAGE: APPS.AMV_PERSPECTIVE_PVT

Source


1 PACKAGE amv_perspective_pvt AS
2 /* $Header: amvvpsps.pls 120.1 2005/06/30 13:09:01 appldev ship $ */
3 --
4 -- Start of Comments
5 --
6 -- NAME
7 --   AMV_PERSPECTIVE_PVT
8 --
9 -- PURPOSE
10 --   This package is a private API managing perspectives
11 --   and their related attributes in AMV. It defines global variables.
12 --   It is part of the Item Block API
13 --
14 --   PROCEDURES:
15 --
16 --            Add_Perspective;
17 --            Delete_Perspective;
18 --            Update_Perspective;
19 --            Get_Perspective;
20 --            Find_Perspectives;
21 --     --with item
22 --            Add_ItemPersps;
23 --            Delete_ItemPersps;
24 --            Get_ItemPersps;
25 --
26 -- NOTES
27 --
28 --
29 -- HISTORY
30 --   07/19/1999        PWU            created
31 -- End of Comments
32 --
33 --
34 -- The following constants are to be finalized.
35 --
36 G_VERSION               CONSTANT    NUMBER    :=  1.0;
37 --
38 --Type definitions
39 
40 TYPE AMV_NUMBER_VARRAY_TYPE IS TABLE OF NUMBER;
41 	--INDEX BY BINARY_INTEGER;
42 
43 TYPE amv_return_obj_type IS RECORD(
44       returned_record_count           NUMBER,
45       next_record_position            NUMBER,
46       total_record_count              NUMBER
47 );
48 
49 TYPE amv_request_obj_type IS RECORD(
50       records_requested               NUMBER,
51       start_record_position           NUMBER,
52       return_total_count_flag         VARCHAR2(1)
53 );
54 
55 TYPE amv_perspective_obj_type IS RECORD(
56       perspective_id            NUMBER,
57       object_version_number     NUMBER,
58       perspective_name          VARCHAR2(80),
59       description               VARCHAR2(2000),
60       language                  VARCHAR2(4),
61       source_lang               VARCHAR2(4),
62       creation_date             DATE,
63       created_by                NUMBER,
64       last_update_date          DATE,
65       last_updated_by           NUMBER,
66       last_update_login         NUMBER
67 );
68 
69 TYPE amv_perspective_obj_varray IS TABLE of amv_perspective_obj_type;
70 	--INDEX BY BINARY_INTEGER;
71 
72 --
73 -- This package contains the following procedure
74 --
75 --------------------------------------------------------------------------------
76 -- Start of comments
77 --    API name   : Add_Perspective
78 --    Type       : Private
79 --    Pre-reqs   : None
80 --    Function   : Create a new perspective in MES,
81 --                 given the passed perspective information.
82 --    Parameters :
83 --    IN           p_api_version                      NUMBER    Required
84 --                 p_init_msg_list                    VARCHAR2  Optional
85 --                        Default = FND_API.G_FALSE
86 --                 p_commit                           VARCHAR2  Optional
87 --                        Default = FND_API.G_FALSE
88 --                 p_validation_level                 NUMBER    Optional
89 --                        Default = FND_API.G_VALID_LEVEL_FULL
90 --                 p_check_login_user                 VARCHAR2  Optional
91 --                        Default = FND_API.G_TRUE
92 --                    Flag for checking user privilege and if user is login.
93 --                 p_perspective_name                 VARCHAR2  Required
94 --                    Perspective_name are required to be unique.
95 --                 p_persp_description                VARCHAR2  Optional
96 --                        Default = FND_API.G_MISS_CHAR
97 --                    The description of perspective
98 --    OUT        : x_return_status                    VARCHAR2
99 --                 x_msg_count                        NUMBER
100 --                 x_msg_data                         VARCHAR2
101 --                 x_perspective_id                   NUMBER
102 --                    perspective id will be generated from sequence number.
103 --    Notes      :
104 --
105 -- End of comments
106 --
107 PROCEDURE Add_Perspective
108 (
109     p_api_version       IN  NUMBER,
110     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
111     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
112     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
113     x_return_status     OUT NOCOPY  VARCHAR2,
114     x_msg_count         OUT NOCOPY  NUMBER,
115     x_msg_data          OUT NOCOPY  VARCHAR2,
116     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
117     p_perspective_name  IN  VARCHAR2,
118     p_persp_description IN  VARCHAR2 := FND_API.G_MISS_CHAR,
119     x_perspective_id    OUT NOCOPY  NUMBER
120 );
121 --
122 -- Algorithm:
123 --   BEGIN
124 --     Verify API version compatibility
125 --     Check that login user's status is active
126 --     IF user not active THEN
127 --       Return error 'user account currently suspended'
128 --     ENDIF
129 --     Check that user has administrative privileges
130 --     IF user not privileged THEN
131 --       Return error 'Administrative privileges required to perform'
132 --     ENDIF
133 --     check if this perspective name has been used in MES
134 --     IF so THEN
135 --         return error 'duplicated perspective name';
136 --     ELSE
137 --       Set rollback SAVEPOINT
138 --       call perspective handler to insert a new perspective record.
139 --       Commit transaction if requested
140 --     ENDIF
141 --   END
142 --
143 --------------------------------------------------------------------------------
144 -- Start of comments
145 --    API name   : Delete_Perspective
146 --    Type       : Private
147 --    Pre-reqs   : None
148 --    Function   : Delete the perspective specified by its id or name
149 --    Parameters :
150 --    IN           p_api_version                      NUMBER    Required
151 --                 p_init_msg_list                    VARCHAR2  Optional
152 --                        Default = FND_API.G_FALSE
153 --                 p_commit                           VARCHAR2  Optional
154 --                        Default = FND_API.G_FALSE
155 --                 p_validation_level                 NUMBER    Optional
156 --                        Default = FND_API.G_VALID_LEVEL_FULL
157 --                 p_check_login_user                 VARCHAR2  Optional
158 --                        Default = FND_API.G_TRUE
159 --                    Flag for checking user privilege and if user is login.
160 --                 p_perspective_id                   NUMBER    Optional
161 --                 p_perspective_name                 VARCHAR2  Optional
162 --                    Either pass the perspective id (preferred) or
163 --                    perspective name to identify the perspective.
164 --    OUT        : x_return_status                    VARCHAR2
165 --                 x_msg_count                        NUMBER
166 --                 x_msg_data                         VARCHAR2
167 --    Notes      :
168 --
169 -- End of comments
170 --
171 PROCEDURE Delete_Perspective
172 (
173     p_api_version       IN  NUMBER,
174     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
175     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
176     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
177     x_return_status     OUT NOCOPY  VARCHAR2,
178     x_msg_count         OUT NOCOPY  NUMBER,
179     x_msg_data          OUT NOCOPY  VARCHAR2,
180     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
181     p_perspective_id    IN  NUMBER   := FND_API.G_MISS_NUM,
182     p_perspective_name  IN  VARCHAR2 := FND_API.G_MISS_CHAR
183 );
184 --
185 -- Algorithm:
186 --   BEGIN
187 --     Verify API version compatibility
188 --     Check that login user's status is active
189 --     IF user not active THEN
190 --       Return error 'user account currently suspended'
191 --     ENDIF
192 --     Check that user has administrative privileges
193 --     IF user not privileged THEN
194 --       Return error 'Administrative privileges required to perform'
195 --     ENDIF
196 --     check if this perspective id (if passed) is in MES
197 --     IF not THEN
198 --         return error 'invalid perspective id';
199 --     END IF
200 --     check if this perspective name (if passed) is in MES
201 --     IF not THEN
202 --         return error 'invalid perspective name';
203 --     ELSE
204 --       Set rollback SAVEPOINT
205 --       Delete all other table records which refers this perspective  record.
206 --       Call perspective handler to delete the perspective record.
207 --       Commit transaction if requested
208 --     ENDIF
209 --   END
210 --
211 --------------------------------------------------------------------------------
212 -- Start of comments
213 --    API name   : Update_Perspective
214 --    Type       : Private
215 --    Pre-reqs   : None
216 --    Function   : Change the perspective name
217 --    Parameters :
218 --    IN           p_api_version                      NUMBER    Required
219 --                 p_init_msg_list                    VARCHAR2  Optional
220 --                        Default = FND_API.G_FALSE
221 --                 p_commit                           VARCHAR2  Optional
222 --                        Default = FND_API.G_FALSE
223 --                 p_validation_level                 NUMBER    Optional
224 --                        Default = FND_API.G_VALID_LEVEL_FULL
225 --                 p_check_login_user                 VARCHAR2  Optional
226 --                        Default = FND_API.G_TRUE
227 --                    Flag for checking user privilege and if user is login.
228 --                 p_perspective_id                   NUMBER    Optional
229 --                        Default = FND_API.G_MISS_NUM
230 --                 p_perspective_name                 VARCHAR2  Optional
231 --                        Default = FND_API.G_MISS_CHAR
232 --                    Either pass the perspective id (preferred) or
233 --                    perspective name to identify the perspective.
234 --                 p_perspective_new_name             VARCHAR2  Optional
235 --                        Default = FND_API.G_MISS_CHAR
236 --                 p_persp_description                VARCHAR2  Optional
237 --                        Default = FND_API.G_MISS_CHAR
238 --    OUT        : x_return_status                    VARCHAR2
239 --                 x_msg_count                        NUMBER
240 --                 x_msg_data                         VARCHAR2
241 --    Notes      :
242 --
243 -- End of comments
244 --
245 PROCEDURE Update_Perspective
246 (
247     p_api_version           IN  NUMBER,
248     p_init_msg_list         IN  VARCHAR2 := FND_API.G_FALSE,
249     p_commit                IN  VARCHAR2 := FND_API.G_FALSE,
250     p_validation_level      IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
251     x_return_status         OUT NOCOPY  VARCHAR2,
252     x_msg_count             OUT NOCOPY  NUMBER,
253     x_msg_data              OUT NOCOPY  VARCHAR2,
254     p_check_login_user      IN  VARCHAR2 := FND_API.G_TRUE,
255     p_perspective_id        IN  NUMBER   := FND_API.G_MISS_NUM,
256     p_perspective_name      IN  VARCHAR2 := FND_API.G_MISS_CHAR,
257     p_perspective_new_name  IN  VARCHAR2 := FND_API.G_MISS_CHAR,
258     p_persp_description     IN  VARCHAR2 := FND_API.G_MISS_CHAR
259 );
260 --
261 --
262 -- Algorithm:
263 --   BEGIN
264 --     Verify API version compatibility
265 --     Check that login user's status is active
266 --     IF user not active THEN
267 --       Return error 'user account currently suspended'
268 --     ENDIF
269 --     Check that user has administrative privileges
270 --     IF user not privileged THEN
271 --       Return error 'Administrative privileges required to perform'
272 --     ENDIF
273 --     check if this perspective id (if passed) is in MES
274 --     IF not THEN
275 --         return error 'invalid perspective id';
276 --     END IF
277 --     check if this perspective name (if passed) is in MES
278 --     IF not THEN
279 --         return error 'invalid perspective name';
280 --     ELSE
281 --       Set rollback SAVEPOINT
282 --       Call perspective handler to update the perspective record.
283 --       Commit transaction if requested
284 --     ENDIF
285 --   END
286 --
287 --------------------------------------------------------------------------------
288 -- Start of comments
289 --    API name   : Get_Perspective
290 --    Type       : Private
291 --    Pre-reqs   : None
292 --    Function   : Get perspective record based on its id (preferred) or name.
293 --    Parameters :
294 --    IN           p_api_version                      NUMBER    Required
295 --                 p_init_msg_list                    VARCHAR2  Optional
296 --                        Default = FND_API.G_FALSE
297 --                 p_validation_level                 NUMBER    Optional
298 --                        Default = FND_API.G_VALID_LEVEL_FULL
299 --                 p_check_login_user                 VARCHAR2  Optional
300 --                        Default = FND_API.G_TRUE
301 --                    Flag for checking user privilege and if user is login.
302 --                 p_perspective_id                   NUMBER    Optional
303 --                 p_perspective_name                 VARCHAR2  Optional
304 --                    Either pass the perspective id (preferred) or
305 --                    perspective name to identify the perspective.
306 --    OUT        : x_return_status                    VARCHAR2
307 --                 x_msg_count                        NUMBER
308 --                 x_msg_data                         VARCHAR2
309 --                 x_perspective_obj                  AMV_PERSPECTIVE_OBJ_TYPE
310 --                   The requested perspective obj.
311 --    Notes      :  Should we add an option of locking?
312 --
313 -- End of comments
314 --
315 PROCEDURE Get_Perspective
316 (
317     p_api_version           IN  NUMBER,
318     p_init_msg_list         IN  VARCHAR2 := FND_API.G_FALSE,
319     p_validation_level      IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
320     x_return_status         OUT NOCOPY  VARCHAR2,
321     x_msg_count             OUT NOCOPY  NUMBER,
322     x_msg_data              OUT NOCOPY  VARCHAR2,
323     p_check_login_user      IN  VARCHAR2 := FND_API.G_TRUE,
324     p_perspective_id        IN  NUMBER   := FND_API.G_MISS_NUM,
325     p_perspective_name      IN  VARCHAR2 := FND_API.G_MISS_CHAR,
326     x_perspective_obj       OUT NOCOPY  AMV_PERSPECTIVE_OBJ_TYPE
327 );
328 -- Algorithm:
329 --   BEGIN
330 --     Verify API version compatibility
331 --     Check that login user's status is active
332 --     IF user not active THEN
336 --     IF not THEN
333 --       Return error 'user account currently suspended'
334 --     ENDIF
335 --     check if this perspective id (if passed) is in MES
337 --         return error 'invalid perspective id';
338 --     END IF
339 --     check if this perspective name (if passed) is in MES
340 --       Query and return the perspective record.
341 --     ENDIF
342 --   END
343 --
344 --------------------------------------------------------------------------------
345 -- Start of comments
346 --    API name   : Find_Perspective
347 --    Type       : Private
348 --    Pre-reqs   : None
349 --    Function   : Find perspective records based on its id (preferred) or name.
350 --    Parameters :
351 --    IN           p_api_version                      NUMBER    Required
352 --                 p_init_msg_list                    VARCHAR2  Optional
353 --                        Default = FND_API.G_FALSE
354 --                 p_validation_level                 NUMBER    Optional
355 --                        Default = FND_API.G_VALID_LEVEL_FULL
356 --                 p_check_login_user                 VARCHAR2  Optional
357 --                        Default = FND_API.G_TRUE
358 --                    Flag for checking user privilege and if user is login.
359 --                 p_perspective_name                 VARCHAR2  Optional
360 --                    The search criteria on perspective name
361 --                        Default = FND_API.G_MISS_CHAR
362 --                 p_perspective_name                 VARCHAR2  Optional
363 --                    The search criteria on perspective name
364 --                        Default = FND_API.G_MISS_CHAR
365 --                 p_persp_description                VARCHAR2  Optional
366 --                    The search criteria on perspective description
367 --                        Default = FND_API.G_MISS_CHAR
368 --                 p_subset_request_obj               AMV_REQUEST_OBJ_TYPE,
369 --                                                              Required.
370 --    OUT        : x_return_status                    VARCHAR2
371 --                 x_msg_count                        NUMBER
372 --                 x_msg_data                         VARCHAR2
373 --                 x_subset_return_obj                AMV_RETURN_OBJ_TYPE,
374 --                 x_perspective_obj_varray           AMV_PERSPECTIVE_OBJ_VARRAY
375 --                   The varray of found perspective records.
376 --    Notes      :
377 --
378 -- End of comments
379 --
380 PROCEDURE Find_Perspective
381 (
382     p_api_version             IN  NUMBER,
383     p_init_msg_list           IN  VARCHAR2 := FND_API.G_FALSE,
384     p_validation_level        IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
385     x_return_status           OUT NOCOPY  VARCHAR2,
386     x_msg_count               OUT NOCOPY  NUMBER,
387     x_msg_data                OUT NOCOPY  VARCHAR2,
388     p_check_login_user        IN  VARCHAR2 := FND_API.G_TRUE,
389     p_perspective_name        IN  VARCHAR2 := FND_API.G_MISS_CHAR,
390     p_persp_description       IN  VARCHAR2 := FND_API.G_MISS_CHAR,
391     p_subset_request_obj      IN  AMV_REQUEST_OBJ_TYPE,
392     x_subset_return_obj       OUT NOCOPY  AMV_RETURN_OBJ_TYPE,
393     x_perspective_obj_varray  OUT NOCOPY  AMV_PERSPECTIVE_OBJ_VARRAY
394 );
395 -- Algorithm:
396 --   BEGIN
397 --     Verify API version compatibility
398 --     Check that login user's status is active
399 --     IF user not active THEN
400 --       Return error 'user account currently suspended'
401 --     ENDIF
402 --     Base on the search critiria (perspective name or description),
403 --       create sql statement and execute it to get the results.
404 --   END
405 --
406 --------------------------------------------------------------------------------
407 -- Start of comments
408 --    API name   : Add_ItemPersps
409 --    Type       : Private
410 --    Pre-reqs   : None
411 --    Function   : Add the perspectives passed in the array to the specified
412 --                 item.
413 --    Parameters :
414 --    IN           p_api_version                      NUMBER    Required
415 --                 p_init_msg_list                    VARCHAR2  Optional
416 --                        Default = FND_API.G_FALSE
417 --                 p_commit                           VARCHAR2  Optional
418 --                        Default = FND_API.G_FALSE
419 --                 p_validation_level                 NUMBER    Optional
420 --                        Default = FND_API.G_VALID_LEVEL_FULL
421 --                 p_check_login_user                 VARCHAR2  Optional
422 --                        Default = FND_API.G_TRUE
423 --                    Flag for checking user privilege and if user is login.
424 --                 p_item_id                          NUMBER    Required
425 --                    The item id to be add the perspectives.
426 --                 p_perspective_array                AMV_NUMBER_VARRAY_TYPE
427 --                                                              Required
428 --                    The perspective id array
429 --    OUT        : x_return_status                    VARCHAR2
430 --                 x_msg_count                        NUMBER
431 --                 x_msg_data                         VARCHAR2
432 --    Notes      :
433 --
434 -- End of comments
435 --
436 PROCEDURE Add_ItemPersps
437 (
438     p_api_version       IN  NUMBER,
439     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
440     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
444     x_msg_data          OUT NOCOPY  VARCHAR2,
441     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
442     x_return_status     OUT NOCOPY  VARCHAR2,
443     x_msg_count         OUT NOCOPY  NUMBER,
445     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
446     p_item_id           IN  NUMBER,
447     p_perspective_array IN  AMV_NUMBER_VARRAY_TYPE
448 );
449 --
450 -- Algorithm:
451 --   BEGIN
452 --     Verify API version compatibility
453 --     Check that login user's status is active
454 --     IF user not active THEN
455 --       Return error 'user account currently suspended'
456 --     ENDIF
457 --     Check that user has administrative privileges
458 --     IF user not privileged THEN
459 --       Return error 'Administrative privileges required to perform'
460 --     ENDIF
461 --     check if this item id is in MES
462 --     IF not THEN
463 --         return error 'invalid item id';
464 --     END IF
465 --     Set rollback SAVEPOINT
466 --       Loop for each perspective id in the passed array
467 --           check if the perspective id is valid.
468 --           check if the perspective id is already in the item.
469 --           add the perspective to the item.
470 --     Commit transaction if requested
471 --
472 --------------------------------------------------------------------------------
473 -- Start of comments
474 --    API name   : Add_ItemPersps
475 --    Type       : Private
476 --    Pre-reqs   : None
477 --    Function   : Add the specified perspective to the specified item.
478 --    Parameters :
479 --    IN           p_api_version                      NUMBER    Required
480 --                 p_init_msg_list                    VARCHAR2  Optional
481 --                        Default = FND_API.G_FALSE
482 --                 p_commit                           VARCHAR2  Optional
483 --                        Default = FND_API.G_FALSE
484 --                 p_validation_level                 NUMBER    Optional
485 --                        Default = FND_API.G_VALID_LEVEL_FULL
486 --                 p_check_login_user                 VARCHAR2  Optional
487 --                        Default = FND_API.G_TRUE
488 --                    Flag for checking user privilege and if user is login.
489 --                 p_item_id                          NUMBER    Required
490 --                    The item id to be add the perspectives.
491 --                 p_perspective_id                   NUMBER    Required
492 --                    The perspective id.
493 --    OUT NOCOPY         : x_return_status                    VARCHAR2
494 --                 x_msg_count                        NUMBER
495 --                 x_msg_data                         VARCHAR2
496 --    Notes      : This overloaded procedures only add one perspective to
497 --                 an item.
498 --
499 -- End of comments
500 --
501 PROCEDURE Add_ItemPersps
502 (
503     p_api_version       IN  NUMBER,
504     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
505     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
506     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
507     x_return_status     OUT NOCOPY  VARCHAR2,
508     x_msg_count         OUT NOCOPY  NUMBER,
509     x_msg_data          OUT NOCOPY  VARCHAR2,
510     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
511     p_item_id           IN  NUMBER,
512     p_perspective_id    IN  NUMBER
513 );
514 --
515 -- Algorithm:
516 --   BEGIN
517 --     Verify API version compatibility
518 --     Check that login user's status is active
519 --     IF user not active THEN
520 --       Return error 'user account currently suspended'
521 --     ENDIF
522 --     Check that user has administrative privileges
523 --     IF user not privileged THEN
524 --       Return error 'Administrative privileges required to perform'
525 --     ENDIF
526 --     check if this item id is in MES
527 --     IF not THEN
528 --         return error 'invalid item id';
529 --     END IF
530 --     check if the perspective id is valid.
531 --     IF not THEN
532 --         return error 'invalid perspective id';
533 --     END IF
534 --     check if the perspective id is already in the item.
535 --     IF so THEN
536 --         return error 'the item already has the perspective.';
537 --     END IF
538 --     Add the perspective to the item.
539 --     Commit transaction if requested
540 --
541 --------------------------------------------------------------------------------
542 -- Start of comments
543 --    API name   : Delete_ItemPersps
544 --    Type       : Private
545 --    Pre-reqs   : None
546 --    Function   : Delete the perspectives passed in the array
547 --                 from the specified item.
548 --    Parameters :
549 --    IN           p_api_version                      NUMBER    Required
550 --                 p_init_msg_list                    VARCHAR2  Optional
551 --                        Default = FND_API.G_FALSE
552 --                 p_commit                           VARCHAR2  Optional
553 --                        Default = FND_API.G_FALSE
554 --                 p_validation_level                 NUMBER    Optional
555 --                        Default = FND_API.G_VALID_LEVEL_FULL
556 --                 p_check_login_user                 VARCHAR2  Optional
557 --                        Default = FND_API.G_TRUE
558 --                    Flag for checking user privilege and if user is login.
562 --                                                              Required
559 --                 p_item_id                          NUMBER    Required
560 --                    The item id to be add the perspectives.
561 --                 p_perspective_array                AMV_NUMBER_VARRAY_TYPE
563 --                    The perspective id array
564 --    OUT        : x_return_status                    VARCHAR2
565 --                 x_msg_count                        NUMBER
566 --                 x_msg_data                         VARCHAR2
567 --    Notes      : This overloaded procedures only add one perspective to
568 --                 an item.
569 --
570 -- End of comments
571 --
572 PROCEDURE Delete_ItemPersps
573 (
574     p_api_version       IN  NUMBER,
575     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
576     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
577     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
578     x_return_status     OUT NOCOPY  VARCHAR2,
579     x_msg_count         OUT NOCOPY  NUMBER,
580     x_msg_data          OUT NOCOPY  VARCHAR2,
581     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
582     p_item_id           IN  NUMBER,
583     p_perspective_array IN  AMV_NUMBER_VARRAY_TYPE
584 );
585 --
586 -- Algorithm:
587 --   BEGIN
588 --     Verify API version compatibility
589 --     Check that login user's status is active
590 --     IF user not active THEN
591 --       Return error 'user account currently suspended'
592 --     ENDIF
593 --     Check that user has administrative privileges
594 --     IF user not privileged THEN
595 --       Return error 'Administrative privileges required to perform'
596 --     ENDIF
597 --     check if this item id is in MES
598 --     IF not THEN
599 --         return error 'invalid item id';
600 --     END IF
601 --     Set rollback SAVEPOINT
602 --       Loop for each perspective id in the passed array
603 --           check if the perspective id is valid.
604 --          IF not THEN
605 --              return error 'invalid perspective id';
606 --          END IF
607 --           check if the perspective id is in the item.
608 --          IF not THEN
609 --              return error 'the item does not have the perspective.';
610 --          END IF
611 --           remove the perspective from the item.
612 --     Commit transaction if requested
613 --   END
614 --------------------------------------------------------------------------------
615 -- Start of comments
616 --    API name   : Delete_ItemPersps
617 --    Type       : Private
618 --    Pre-reqs   : None
619 --    Function   : Delete the specified perspective from the specified item.
620 --    Parameters :
621 --    IN           p_api_version                      NUMBER    Required
622 --                 p_init_msg_list                    VARCHAR2  Optional
623 --                        Default = FND_API.G_FALSE
624 --                 p_commit                           VARCHAR2  Optional
625 --                        Default = FND_API.G_FALSE
626 --                 p_validation_level                 NUMBER    Optional
627 --                        Default = FND_API.G_VALID_LEVEL_FULL
628 --                 p_check_login_user                 VARCHAR2  Optional
629 --                        Default = FND_API.G_TRUE
630 --                    Flag for checking user privilege and if user is login.
631 --                 p_item_id                          NUMBER    Required
632 --                    The item id to be add the perspectives.
633 --                 p_perspective_id                   NUMBER    Optional
634 --                    The perspective id. If missing, caller want to delete
635 --                    all the perspectives of the item.
636 --    OUT        : x_return_status                    VARCHAR2
637 --                 x_msg_count                        NUMBER
638 --                 x_msg_data                         VARCHAR2
639 --    Notes      :
640 --
641 -- End of comments
642 --
643 PROCEDURE Delete_ItemPersps
644 (
645     p_api_version       IN  NUMBER,
646     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
647     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
648     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
649     x_return_status     OUT NOCOPY  VARCHAR2,
650     x_msg_count         OUT NOCOPY  NUMBER,
651     x_msg_data          OUT NOCOPY  VARCHAR2,
652     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
653     p_item_id           IN  NUMBER,
654     p_perspective_id    IN  NUMBER   := FND_API.G_MISS_NUM
655 );
656 --
657 -- Algorithm:
658 --   BEGIN
659 --     Verify API version compatibility
660 --     Check that login user's status is active
661 --     IF user not active THEN
662 --       Return error 'user account currently suspended'
663 --     ENDIF
664 --     Check that user has administrative privileges
665 --     IF user not privileged THEN
666 --       Return error 'Administrative privileges required to perform'
667 --     ENDIF
668 --     check if this item id is in MES
669 --     IF not THEN
670 --         return error 'invalid item id';
671 --     END IF
672 --     check if the perspective id is valid.
673 --     IF not THEN
674 --         return error 'invalid perspective id';
675 --     END IF
676 --     check if the perspective id is in the item.
677 --     IF not THEN
678 --         return error 'the item does not have the perspective.';
682 --
679 --     END IF
680 --     Remove the perspective from the item.
681 --     Commit transaction if requested
683 --------------------------------------------------------------------------------
684 -- Start of comments
685 --    API name   : Update_ItemPersps
686 --    Type       : Private
687 --    Pre-reqs   : None
688 --    Function   : Set the perspectives of the specified item
689 --                 to the perspectives  passed in the array
690 --                 Effectively, this delete all the orignal perspectives
691 --                 and add the passed perspectives to the item.
692 --    Parameters :
693 --    IN           p_api_version                      NUMBER    Required
694 --                 p_init_msg_list                    VARCHAR2  Optional
695 --                        Default = FND_API.G_FALSE
696 --                 p_commit                           VARCHAR2  Optional
697 --                        Default = FND_API.G_FALSE
698 --                 p_validation_level                 NUMBER    Optional
699 --                        Default = FND_API.G_VALID_LEVEL_FULL
700 --                 p_check_login_user                 VARCHAR2  Optional
701 --                        Default = FND_API.G_TRUE
702 --                    Flag for checking user privilege and if user is login.
703 --                 p_item_id                          NUMBER    Required
704 --                    The item id to be add the perspectives.
705 --                 p_perspective_array                AMV_NUMBER_VARRAY_TYPE
706 --                                                              Required
707 --                    The perspective id array
708 --    OUT        : x_return_status                    VARCHAR2
709 --                 x_msg_count                        NUMBER
710 --                 x_msg_data                         VARCHAR2
711 --    Notes      :
712 --
713 -- End of comments
714 --
715 PROCEDURE Update_ItemPersps
716 (
717     p_api_version       IN  NUMBER,
718     p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
719     p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
720     p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
721     x_return_status     OUT NOCOPY  VARCHAR2,
722     x_msg_count         OUT NOCOPY  NUMBER,
723     x_msg_data          OUT NOCOPY  VARCHAR2,
724     p_check_login_user  IN  VARCHAR2 := FND_API.G_TRUE,
725     p_item_id           IN  NUMBER,
726     p_perspective_array IN  AMV_NUMBER_VARRAY_TYPE
727 );
728 --
729 -- Algorithm:
730 --   BEGIN
731 --     Call delete_ItemPersp to delete all the original perspectives
732 --     Then call Add_ItemPersp to add the perspectives to the item.
733 --   END
734 --------------------------------------------------------------------------------
735 -- Start of comments
736 --    API name   : Get_ItemPersps
737 --    Type       : Private
738 --    Pre-reqs   : None
739 --    Function   : Get all the perspectives for the specified item.
740 --    Parameters :
741 --    IN           p_api_version                      NUMBER    Required
742 --                 p_init_msg_list                    VARCHAR2  Optional
743 --                        Default = FND_API.G_FALSE
744 --                 p_validation_level                 NUMBER    Optional
745 --                        Default = FND_API.G_VALID_LEVEL_FULL
746 --                 p_check_login_user                 VARCHAR2  Optional
747 --                        Default = FND_API.G_TRUE
748 --                    Flag for checking user privilege and if user is login.
749 --                 p_item_id                          NUMBER    Required
750 --                    The item id to be add the perspectives.
751 --    OUT        : x_return_status                    VARCHAR2
752 --                 x_msg_count                        NUMBER
753 --                 x_msg_data                         VARCHAR2
754 --                 x_perspective_obj_varray           AMV_PERSPECTIVE_OBJ_VARRAY
755 --                    The returned perspective object array
756 --    Notes      :
757 --
758 -- End of comments
759 --
760 PROCEDURE Get_ItemPersps
761 (
762     p_api_version            IN  NUMBER,
763     p_init_msg_list          IN  VARCHAR2 := FND_API.G_FALSE,
764     p_validation_level       IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
765     x_return_status          OUT NOCOPY  VARCHAR2,
766     x_msg_count              OUT NOCOPY  NUMBER,
767     x_msg_data               OUT NOCOPY  VARCHAR2,
768     p_check_login_user       IN  VARCHAR2 := FND_API.G_TRUE,
769     p_item_id                IN  NUMBER,
770     x_perspective_obj_varray OUT NOCOPY  AMV_PERSPECTIVE_OBJ_VARRAY
771 );
772 --
773 -- Algorithm:
774 --   BEGIN
775 --     Verify API version compatibility
776 --     Check that login user's status is active
777 --     IF user not active THEN
778 --       Return error 'user account currently suspended'
779 --     ENDIF
780 --     check if this item id is in MES
781 --     IF not THEN
782 --         return error 'invalid item id';
783 --     END IF
784 --     Query all the perspectives belonged to the specified item
785 --     And return the results in the output array.
786 --
787 --------------------------------------------------------------------------------
788 --
789 END amv_perspective_pvt;