[Home] [Help]
PACKAGE BODY: APPS.EGO_OBJ_TYPE_LIFECYCLES_PUB
Source
1 PACKAGE BODY EGO_OBJ_TYPE_LIFECYCLES_PUB AS
2 /* $Header: EGOPOTLB.pls 115.2 2002/12/19 08:34:15 wwahid noship $ */
3
4 -- ------------------------------------------------------------
5 -- -------------- Global variables and constants --------------
6 -- ------------------------------------------------------------
7
8 g_pkg_name VARCHAR2(30) := 'EGO_OBJ_TYPE_LIFECYCLES_PUB';
9 g_current_user_id NUMBER := EGO_SCTX.Get_User_Id();
10 g_current_login_id NUMBER := FND_GLOBAL.Login_Id;
11
12 G_DUPLICATE_EXCEPTION EXCEPTION;
13 -- Character-set independent NEWLINE, TAB and WHITESPACE
14 --
15 NEWLINE CONSTANT VARCHAR2(4) := fnd_global.newline;
16 MAX_SEG_SIZE CONSTANT NUMBER := 200;
17
18
19
20 ----------------------------------------------------------------------
21 PROCEDURE Create_Obj_Type_Lifecycle(
22 p_api_version IN NUMBER
23 , p_object_id IN NUMBER
24 , p_object_classification_code IN VARCHAR2
25 , p_lifecycle_id IN NUMBER
26 , p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
27 , p_commit IN VARCHAR2 := fnd_api.g_FALSE
28 , x_return_status OUT NOCOPY VARCHAR2
29 , x_errorcode OUT NOCOPY NUMBER
30 , x_msg_count OUT NOCOPY NUMBER
31 , x_msg_data OUT NOCOPY VARCHAR2
32 ) IS
33
34 l_api_name CONSTANT VARCHAR2(30) := 'Create_Lifecycle';
35 l_api_version CONSTANT NUMBER := 1.0;
36 l_object_id fnd_objects.object_id%TYPE;
37
38 -- General variables
39
40 l_Sysdate DATE := Sysdate;
41 l_language VARCHAR2(4) := userenv('LANG');
42 l_count NUMBER;
43
44 --------------------------------------------------
45
46 BEGIN
47
48 -- Standard Start of API savepoint
49 SAVEPOINT Create_Obj_Type_Lifecycle_PUB;
50
51 IF NOT FND_API.Compatible_API_Call (l_api_version,
52 p_api_version,
53 l_api_name,
54 G_PKG_NAME)
55 THEN
56 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57 END IF;
58 -- Initialize API message list if necessary.
59 -- Initialize message list if p_init_msg_list is set to TRUE.
60 IF FND_API.to_Boolean(p_init_msg_list) THEN
61 FND_MSG_PUB.initialize;
62 END IF;
63
64 ------------------------------
65
66 -- Check if the obj_type_lifecycle already exists
67
68 SELECT COUNT (*) INTO l_count
69 FROM
70 EGO_OBJ_TYPE_LIFECYCLES
71 WHERE
72 OBJECT_ID = p_object_id
73 AND OBJECT_CLASSIFICATION_CODE = p_object_classification_code
74 AND LIFECYCLE_ID = p_lifecycle_id;
75
76 IF (l_count > 0)
77 THEN
78 RAISE G_DUPLICATE_EXCEPTION;
79 END IF;
80
81 INSERT INTO EGO_OBJ_TYPE_LIFECYCLES
82 (
83 OBJECT_ID
84 , OBJECT_CLASSIFICATION_CODE
85 , LIFECYCLE_ID
86 , CREATED_BY
87 , CREATION_DATE
88 , LAST_UPDATED_BY
89 , LAST_UPDATE_DATE
90 , LAST_UPDATE_LOGIN
91 )
92 VALUES
93 (
94 p_object_id
95 , p_object_classification_code
96 , p_lifecycle_id
97 , g_current_user_id
98 , l_Sysdate
99 , g_current_user_id
100 , l_Sysdate
101 , g_current_login_id
102 );
103
104 ------------------------------
105
106 -- Standard check of p_commit
107 IF FND_API.To_Boolean(p_commit) THEN
108 COMMIT WORK;
109 END IF;
110
111 x_return_status := FND_API.G_RET_STS_SUCCESS;
112
113 ------------------------------
114
115 -- Standard call to get message count and if count is 1,
116 -- get message info.
117 -- The client will directly display the x_msg_data (which is already
118 -- translated) if the x_msg_count = 1;
119 -- Else i.e if x_msg_count > 1, client will call the FND_MSG_PUB.Get
120 -- Server-side procedure to access the messages, and consolidate them
121 -- and display (or) to display one message after another.
122
123 FND_MSG_PUB.Count_And_Get
124 ( p_count => x_msg_count,
125 p_data => x_msg_data
126 );
127
128 --------------------------------------------------
129
130 EXCEPTION
131 WHEN FND_API.G_EXC_ERROR THEN
132 ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
133 x_return_status := FND_API.G_RET_STS_ERROR;
134 FND_MSG_PUB.Count_And_Get
135 ( p_count => x_msg_count,
136 p_data => x_msg_data
137 );
138
139 x_msg_data := 'Executing - ' || G_PKG_NAME || '.' || l_api_name || ' ' || SQLERRM;
140
141 WHEN G_DUPLICATE_EXCEPTION THEN
142 ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
143 x_return_status := FND_API.G_RET_STS_ERROR;
144 FND_MSG_PUB.Count_And_Get
145 ( p_count => x_msg_count,
146 p_data => x_msg_data
147 );
148
149 x_msg_data := 'EGO_DUP_OBJ_TYPE_LIFECYCLE';
150
151 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
152 ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
153 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
154 FND_MSG_PUB.Count_And_Get
155 ( p_count => x_msg_count,
156 p_data => x_msg_data
157 );
158 x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
159 WHEN OTHERS THEN
160 ROLLBACK TO Create_Obj_Type_Lifecycle_PUB;
161 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
162 IF FND_MSG_PUB.Check_Msg_Level
163 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
164 THEN
165 FND_MSG_PUB.Add_Exc_Msg
166 ( G_PKG_NAME,
167 l_api_name
168 );
169 END IF;
170 FND_MSG_PUB.Count_And_Get
171 ( p_count => x_msg_count,
172 p_data => x_msg_data
173 );
174 x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
175
176 END Create_Obj_Type_Lifecycle;
177
178 ----------------------------------------------------------------------
179
180 PROCEDURE Delete_Obj_Type_Lifecycle(
181 p_api_version IN NUMBER
182 , p_object_id IN NUMBER
183 , p_object_classification_code IN VARCHAR2
184 , p_lifecycle_id IN NUMBER
185 , p_init_msg_list IN VARCHAR2 := fnd_api.g_FALSE
186 , p_commit IN VARCHAR2 := fnd_api.g_FALSE
187 , x_return_status OUT NOCOPY VARCHAR2
188 , x_errorcode OUT NOCOPY NUMBER
189 , x_msg_count OUT NOCOPY NUMBER
190 , x_msg_data OUT NOCOPY VARCHAR2
191 ) IS
192
193 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Obj_Type_Lifecycle';
194 -- In addition to any Required parameters the major version needs
195 -- to change i.e. for eg. 1.X to 2.X.
196 -- In addition to any Optional parameters the minor version needs
197 -- to change i.e. for eg. X.6 to X.7.
198
199 l_api_version CONSTANT NUMBER := 1.0;
200
201 -- General variables
202
203 l_Sysdate DATE := Sysdate;
204 l_language VARCHAR2(4) := userenv('LANG');
205
206 BEGIN
207 -- Standard Start of API savepoint
208 SAVEPOINT Delete_Obj_Type_Lifecycle_PUB;
209
210 IF NOT FND_API.Compatible_API_Call (l_api_version,
211 p_api_version,
212 l_api_name,
213 G_PKG_NAME)
214 THEN
215 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216 END IF;
217 -- Initialize API message list if necessary.
218 -- Initialize message list if p_init_msg_list is set to TRUE.
219 IF FND_API.To_Boolean(p_init_msg_list) THEN
220 FND_MSG_PUB.Initialize;
221 END IF;
222
223 -----------------------------------
224
225
226 DELETE FROM EGO_OBJ_TYPE_LIFECYCLES
227 WHERE
228 OBJECT_ID = p_object_id
229 AND OBJECT_CLASSIFICATION_CODE = p_object_classification_code
230 AND LIFECYCLE_ID = p_lifecycle_id;
231
232 -- Standard check of p_commit.
233 IF FND_API.To_Boolean(p_commit) THEN
234 COMMIT WORK;
235 END IF;
236
237 x_return_status := FND_API.G_RET_STS_SUCCESS;
238
239 -----------------------------------
240 -- Make a standard call to get message count and if count is 1,
241 -- get message info.
242 -- The client will directly display the x_msg_data (which is already
243 -- translated) if the x_msg_count = 1;
244 -- Else, i.e. if x_msg_count > 1, client will call the FND_MSG_PUB.Get
245 -- Server-side procedure to access the messages, and consolidate them
246 -- and display them all at once or display one message after another.
247
248 FND_MSG_PUB.Count_And_Get
249 ( p_count => x_msg_count,
250 p_data => x_msg_data
251 );
252
253 EXCEPTION
254 WHEN OTHERS THEN
255 ROLLBACK TO Delete_Obj_Type_Lifecycle_PUB;
256 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
257 IF FND_MSG_PUB.Check_Msg_Level
258 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
259 THEN
260 FND_MSG_PUB.Add_Exc_Msg
261 ( G_PKG_NAME,
262 l_api_name
263 );
264 END IF;
265 FND_MSG_PUB.Count_And_Get
266 ( p_count => x_msg_count,
267 p_data => x_msg_data
268 );
269 x_msg_data := 'Executing - '||G_PKG_NAME||'.'||l_api_name||' '||SQLERRM;
270 END Delete_Obj_Type_Lifecycle;
271
272 ----------------------------------------------------------------------
273
274 END EGO_OBJ_TYPE_LIFECYCLES_PUB;