DBA Data[Home] [Help]

PACKAGE: APPS.CS_INCIDENTLINKS_UTIL

Source


1 PACKAGE CS_INCIDENTLINKS_UTIL AUTHID CURRENT_USER AS
2 /* $Header: csusrls.pls 115.7 2003/09/17 06:58:53 dejoseph noship $ */
3 
4    -- Procedure to validate if the passed in link type id is valid.
5    -- Basic sanity validation
6    PROCEDURE VALIDATE_LINK_TYPE (
7       P_LINK_TYPE_ID            IN           NUMBER := NULL,
8       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
9       X_MSG_COUNT		OUT NOCOPY   NUMBER,
10       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
11 
12    -- Procedure to validate if the passed in subject, object and link type
13    -- are valid combination.
14    -- Rule : A link instance should have a valid subject type, object type and
15    --        link type combination.
16    PROCEDURE VALIDATE_LINK_SUB_OBJ_TYPE (
17       P_SUBJECT_TYPE            IN           VARCHAR2,
18       P_OBJECT_TYPE             IN           VARCHAR2,
19       P_LINK_TYPE_ID            IN           NUMBER,
20       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
21       X_MSG_COUNT		OUT NOCOPY   NUMBER,
22       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
23 
24    -- Procedure to validate if the passed in subject and object details are
25    -- valid defnitions in their respective schemas. ie. If the subject type
26    -- is SR, need to validate if the 'subject_id' is a valid 'incident_id'
27    -- in cs_incidents_all_b table.
28    -- This procedure can be called with either the subject details or the
29    -- object details.
30    PROCEDURE VALIDATE_LINK_DETAILS (
31       P_SUBJECT_ID              IN           NUMBER    := NULL,
32       P_SUBJECT_TYPE            IN           VARCHAR2  := NULL,
33       P_OBJECT_ID               IN           NUMBER    := NULL,
34       P_OBJECT_TYPE             IN           VARCHAR2  := NULL,
35       P_OBJECT_NUMBER           IN           VARCHAR2  := NULL,
36       X_SUBJECT_NUMBER          OUT NOCOPY   VARCHAR2,
37       X_OBJECT_NUMBER           OUT NOCOPY   VARCHAR2,
38       X_SUBJECT_TYPE_NAME       OUT NOCOPY   VARCHAR2,
39       X_OBJECT_TYPE_NAME        OUT NOCOPY   VARCHAR2,
40       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
41       X_MSG_COUNT		OUT NOCOPY   NUMBER,
42       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
43 
44    -- Procedure to validate the uniqueness of the link being created.
45    -- Rule : Two linked objects cannot have more than one link pair between them.
46    -- Note : Object number is an IN parameter, because sometimes the object_id may
47    --        be null.
48    PROCEDURE VALIDATE_LINK_UNIQUENESS (
49       P_SUBJECT_ID              IN           NUMBER,
50       P_SUBJECT_TYPE            IN           VARCHAR2,
51       P_OBJECT_ID               IN           NUMBER,
52       P_OBJECT_TYPE             IN           VARCHAR2,
53       P_OBJECT_NUMBER           IN           VARCHAR2,
54       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
55       X_MSG_COUNT		OUT NOCOPY   NUMBER,
56       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
57 
58    -- Procedure to validate if the creation of the link will result in a circular
59    -- dependency.
60    -- Rule : Prevent creation of circular dependency regardless of link type.
61    PROCEDURE VALIDATE_LINK_CIRCULARS (
62       P_SUBJECT_ID              IN           NUMBER,
63       P_SUBJECT_TYPE            IN           VARCHAR2,
64       P_OBJECT_ID               IN           NUMBER,
65       P_OBJECT_TYPE             IN           VARCHAR2,
66       P_LINK_TYPE_ID            IN           NUMBER,
67       P_SUBJECT_NUMBER          IN           VARCHAR2,
68       P_OBJECT_NUMBER           IN           VARCHAR2,
69       P_SUBJECT_TYPE_NAME       IN           VARCHAR2,
70       P_OBJECT_TYPE_NAME        IN           VARCHAR2,
71       P_OPERATION_MODE          IN           VARCHAR2 := 'CREATE',
72       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
73       X_MSG_COUNT		OUT NOCOPY   NUMBER,
74       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
75 
76    -- Procedure to validate that a duplicate link can have exactly only one
77    -- original. For eg. if SR1 is duplicate of SR2, SR1 cannot be a duplicate
78    -- of SR3 as well. Rather SR3 should be created as a duplicate of SR2.
79    -- Rule : A duplicate object must have exactly 1 original.
80    PROCEDURE VALIDATE_LINK_DUPLICATES (
81       P_SUBJECT_ID              IN           NUMBER,
82       P_SUBJECT_TYPE            IN           VARCHAR2,
83       P_OBJECT_ID               IN           NUMBER,
84       P_OBJECT_TYPE             IN           VARCHAR2,
85       P_LINK_TYPE_ID            IN           NUMBER,
86       P_SUBJECT_NUMBER          IN           VARCHAR2,
87       P_OBJECT_NUMBER           IN           VARCHAR2,
88       P_SUBJECT_TYPE_NAME       IN           VARCHAR2,
89       P_OBJECT_TYPE_NAME        IN           VARCHAR2,
90       X_RETURN_STATUS	        OUT NOCOPY   VARCHAR2,
91       X_MSG_COUNT		OUT NOCOPY   NUMBER,
92       X_MSG_DATA		OUT NOCOPY   VARCHAR2 );
93 
94    -- Validation procedure to implement Service Security introduced in
95    -- R11.5.10
96    -- Procedure to validate if the responsibilty creating / updating the link
97    -- has access to the subject and/or object if they are service requests.
98    -- The query is based on the incidents secure view for which a VPD policy
99    -- is defined.
100    PROCEDURE VALIDATE_SR_SEC_ACCESS (
101       P_INCIDENT_ID       IN           NUMBER,
102       X_RETURN_STATUS     OUT NOCOPY   VARCHAR2,
103       X_MSG_COUNT         OUT NOCOPY   NUMBER,
104       X_MSG_DATA          OUT NOCOPY   VARCHAR2 );
105 
106 END CS_INCIDENTLINKS_UTIL;