DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLE_ASSOCIATIONS_INFO

Source


1 PACKAGE BODY XLE_ASSOCIATIONS_INFO AS
2 /* $Header: xleasinb.pls 120.2 2006/04/17 07:39:59 akonatha ship $ */
3 
4 /* =======================================================================
5  | Global Data Types
6  * ======================================================================*/
7 
8 G_PKG_NAME     CONSTANT VARCHAR2(30) := 'XLE_ASSOCIATIONS_INFO';
9 
10 G_MSG_UERROR   CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR;
11 G_MSG_ERROR    CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_ERROR;
12 G_MSG_SUCCESS  CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_SUCCESS;
13 G_MSG_HIGH     CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH;
14 G_MSG_MEDIUM   CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM;
15 G_MSG_LOW      CONSTANT NUMBER  :=  FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW;
16 
17 /*==========================================================================
18  |  PROCEDURE
19  |    Get_Associations_info
20  |
21  |  DESCRIPTION
22  |    Retrieves Legal Association Info
23  |
24  |  ARGUMENTS
25  |      IN     :
26  |               p_init_msg_list
27  |               p_commit
28  |               p_context
29  |               p_object_type
30  |               p_subject_type
31  |		 p_legal_entity_id
32  |               p_object_id
33  | 		 p_subject_id
34  |
35  |
36  |      OUT    :
37  |               x_return_status
38  |               x_msg_count
39  |               x_msg_data
40  |               p_assocs
41  |
42  |      IN/OUT :
43  |
44  |
45  |  MODIFICATION HISTORY
46  | 						                                                        		       |    18-MAR-2005   T.Tran          Created.
47  |
48  |===========================================================================*/
49 
50 
51 PROCEDURE Get_Associations_Info(
52 
53   --   *****  Standard API parameters *****
54   p_init_msg_list    IN  VARCHAR2,
55   p_commit           IN  VARCHAR2,
56   x_return_status    OUT NOCOPY VARCHAR2,
57   x_msg_count        OUT NOCOPY NUMBER,
58   x_msg_data         OUT NOCOPY VARCHAR2,
59 
60 
61   --   *****  Legal Association information parameters *****
62   p_context          IN  XLE_ASSOCIATION_TYPES.Context%TYPE,
63   p_object_type      IN  XLE_ASSOC_OBJECT_TYPES.Name%TYPE,
64   p_subject_type     IN  XLE_ASSOC_OBJECT_TYPES.Name%TYPE,
65   p_legal_entity_id  IN  XLE_ASSOCIATIONS.SUBJECT_PARENT_ID%TYPE,
66   p_object_id        IN  XLE_ASSOCIATIONS.Object_Id%TYPE,
67   p_subject_id       IN  XLE_ASSOCIATIONS.Subject_Id%TYPE,
68   p_assocs   OUT     NOCOPY tab_assoc)
69 
70 
71 IS
72 
73   l_api_name  CONSTANT  VARCHAR2(40) := 'Get_Associations_Info';
74   l_subject_type_id XLE_ASSOCIATIONS.Subject_Id%TYPE;
75   l_object_type_id XLE_ASSOCIATIONS.Object_Id%TYPE;
76   l_init_msg_list VARCHAR2(40);
77   l_commit VARCHAR2(40);
78   x_association_type_id   NUMBER;
79 
80 
81 BEGIN
82 
83   x_msg_count	:=	NULL;
84   x_msg_data	:=	NULL;
85   l_init_msg_list := FND_API.G_TRUE;
86   l_commit := FND_API.G_FALSE;
87 
88   -- ****   Standard start of API savepoint  ****
89 --  SAVEPOINT Get_Associations_Info_SP;
90 
91 
92   -- ****  Initialize message list if l_init_msg_list is set to TRUE. ****
93   IF FND_API.to_Boolean( l_init_msg_list ) THEN
94      FND_MSG_PUB.initialize;
95   END IF;
96 
97 
98   -- ****  Initialize return status to SUCCESS   *****
99   x_return_status := FND_API.G_RET_STS_SUCCESS;
100 
101 
102   /*-----------------------------------------------+
103   |   ========  START OF API BODY  ============   |
104   +-----------------------------------------------*/
105 
106   --  Validation of the Manadatory Input Parameters
107 
108 
109     XLE_ASSOC_VALIDATIONS_PVT.Validate_Mandatory('p_context',p_context);
110     XLE_ASSOC_VALIDATIONS_PVT.Validate_Mandatory('p_object_type',p_object_type);
111     XLE_ASSOC_VALIDATIONS_PVT.Validate_Mandatory('p_subject_type',p_subject_type);
112 
113 
114   --  Validating parameter combinations
115 
116     XLE_ASSOC_VALIDATIONS_PVT.Default_Association_Type(p_context,p_subject_type,p_object_type,x_association_type_id);
117 
118 
119     IF (p_subject_id is NULL)
120     THEN
121 
122 	    XLE_ASSOC_VALIDATIONS_PVT.Validate_Mandatory('p_object_id',p_object_id);
123 	    XLE_ASSOC_VALIDATIONS_PVT.Validate_Object(p_object_type, p_object_id, 'Object Type', 'Object_Id', l_object_type_id);
124 
125 
126 	    select assoc.subject_id
127 	    BULK COLLECT
128 	    INTO p_assocs
129 	    from XLE_ASSOCIATIONS assoc, XLE_ASSOCIATION_TYPES assoc_types
130 	    where assoc.object_id = p_object_id
131             and assoc_types.ASSOCIATION_TYPE_ID = assoc.ASSOCIATION_TYPE_ID
132 	    and assoc.association_type_id = x_association_type_id
133 	    and assoc.subject_parent_id = NVL(p_legal_entity_id,assoc.subject_parent_id)
134             and assoc_types.context = p_context
135 	    and assoc_types.effective_to is null;
136 
137 
138     END IF;
139 
140     IF (p_object_id is NULL)
141     THEN
142 
143 	    XLE_ASSOC_VALIDATIONS_PVT.Validate_Mandatory('p_subject_id',p_subject_id);
144 	    XLE_ASSOC_VALIDATIONS_PVT.Validate_Object(p_subject_type, p_subject_id, 'Subject Type','Subject_Id',l_subject_type_id);
145 
146 	    select assoc.object_id
147 	    BULK COLLECT
148 	    INTO p_assocs
149 	    from XLE_ASSOCIATIONS assoc, XLE_ASSOCIATION_TYPES assoc_types
150 	    where assoc.subject_id = p_subject_id
151             and assoc_types.ASSOCIATION_TYPE_ID = assoc.ASSOCIATION_TYPE_ID
152 	    and assoc.association_type_id = x_association_type_id
153 	    and assoc.subject_parent_id = NVL(p_legal_entity_id,assoc.subject_parent_id)
154             and assoc_types.context = p_context
155 	    and assoc_types.effective_to is null;
156 
157 
158     END IF;
159 
160 
161 
162   /*-----------------------------------------------+
163   |   ========  END OF API BODY  ============   |
164   +-----------------------------------------------*/
165 
166 
167   -- Standard call to get message count and if count is 1,
168   -- get message info.
169   FND_MSG_PUB.Count_And_Get (
170       p_count    =>  x_msg_count,
171       p_data     =>  x_msg_data );
172 
173 EXCEPTION
174 
175   WHEN FND_API.G_EXC_ERROR THEN
176   --     ROLLBACK TO Get_Associations_Info_SP;
177        x_return_status := FND_API.G_RET_STS_ERROR;
178        FND_MSG_PUB.Count_And_Get (
179            p_count    =>  x_msg_count,
180            p_data     =>  x_msg_data );
181 
182   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
183    --    ROLLBACK TO Get_Associations_Info_SP;
184        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
185        FND_MSG_PUB.Count_And_Get (
186            p_count    =>  x_msg_count,
187            p_data     =>  x_msg_data );
188 
189   WHEN OTHERS THEN
190   --     ROLLBACK TO Get_Associations_Info_SP;
191        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
192        IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
193           FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name);
194        END IF;
195        FND_MSG_PUB.Count_And_Get (
196            p_count    =>  x_msg_count,
197            p_data     =>  x_msg_data );
198 
199 END Get_Associations_Info;
200 
201 END XLE_ASSOCIATIONS_INFO;
202