[Home] [Help]
PACKAGE BODY: APPS.IEX_WRITEOFF_OBJECTS_PUB
Source
1 PACKAGE BODY IEX_WRITEOFF_OBJECTS_PUB as
2 /* $Header: iexpwobb.pls 120.1 2007/10/31 14:58:12 ehuh ship $ */
3
4 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5
6 PROCEDURE AddMissingArgMsg (p_api_name IN VARCHAR2,
7 p_param_name IN VARCHAR2 )IS
8 BEGIN
9 fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
10 fnd_message.set_token('API_NAME', p_api_name);
11 fnd_message.set_token('MISSING_PARAM', p_param_name);
12 fnd_msg_pub.add;
13
14 END AddMissingArgMsg;
15
16 PROCEDURE create_writeoff_objects(
17 P_Api_Version_Number IN NUMBER,
18 P_Init_Msg_List IN VARCHAR2,
19 P_Commit IN VARCHAR2,
20 P_writeoff_obj_rec IN writeoff_obj_rec_type ,
21 X_writeoff_object_id OUT NOCOPY NUMBER
22 ,x_return_status OUT NOCOPY VARCHAR2
23 ,x_msg_count OUT NOCOPY NUMBER
24 ,x_msg_data OUT NOCOPY VARCHAR2) IS
25
26 l_api_name CONSTANT VARCHAR2(50) := 'CREATE_WRITEOFF_OBJECTS';
27 l_api_name_full CONSTANT VARCHAR2(150) := g_pkg_name || '.' || l_api_name;
28 l_api_version_number CONSTANT NUMBER := 2.0;
29 l_writeoff_object_id IEX_writeoff_objects.writeoff_object_id%TYPE;
30 l_return_status VARCHAR2(1);
31 l_msg_count NUMBER ;
32 l_msg_data VARCHAR2(32627);
33
34 BEGIN
35 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
36 IEX_DEBUG_PUB.LogMessage ('** Start of Procedure =>'||
37 'IEX_writeoff_objects_PUB.create_writeoff_objects *** ');
38 END IF;
39 SAVEPOINT CREATE_WRITEOFF_OBJECTS_PUB;
40
41 IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number,
42 l_api_name, G_PKG_NAME) then
43 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
44 END IF;
45 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
46 IEX_DEBUG_PUB.LogMessage('After Compatibility Check');
47 END IF;
48
49 IF FND_API.to_Boolean( p_init_msg_list ) then
50 FND_MSG_PUB.initialize;
51 END IF;
52 x_return_status := FND_API.G_RET_STS_SUCCESS;
53 -- ******************************************************************
54 -- Validate Environment
55 -- ******************************************************************
56 IF FND_GLOBAL.User_Id IS NULL then
57 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) then
58 FND_MESSAGE.Set_Name('IEX', 'IEX_CANNOT_GET_PROFILE_VALUE');
59 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
60 FND_MSG_PUB.ADD;
61 END IF;
62 RAISE FND_API.G_EXC_ERROR;
63 END IF;
64 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) then
65 IEX_DEBUG_PUB.LogMessage('After Global user Check');
66 END IF;
67
68 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
69 IEX_DEBUG_PUB.LogMessage('Before Calling iex_writeoff_objects_pvt.create_writeoff_objects');
70 END IF;
71 --Call PVT
72 IEX_WRITEOFF_OBJECTS_PVT.create_writeoff_objects(
73 P_Api_Version_Number =>p_Api_Version_Number
74 ,P_Init_Msg_List =>P_Init_Msg_List
75 ,P_Commit =>p_commit
76 ,P_writeoff_obj_rec =>P_writeoff_obj_rec
77 ,X_writeoff_object_id =>l_writeoff_object_id
78 ,x_return_status =>l_return_status
79 ,x_msg_count =>l_msg_count
80 ,x_msg_data =>l_msg_data);
81
82 -- Hint: Primary key should be returned.
83 x_writeoff_object_id := l_writeoff_object_id;
84 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
85 IEX_DEBUG_PUB.LogMessage('After Calling iex_writeoff_objects_pvt.create_writeoff_objects'||
86 'and writeoff_object_id => '||x_writeoff_object_id);
87 END IF;
88
89 IF x_return_status = FND_API.G_RET_STS_ERROR then
90 raise FND_API.G_EXC_ERROR;
91 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
92 raise FND_API.G_EXC_UNEXPECTED_ERROR;
93 end if;
94
95 -- End of API body.
96
97 -- Standard check for p_commit
98 IF FND_API.to_Boolean( p_commit ) then
99 COMMIT WORK;
100 END IF;
101
102 -- Standard call to get message count and if count is 1, get message info.
103 FND_MSG_PUB.Count_And_Get
104 ( p_count => x_msg_count,
105 p_data => x_msg_data);
106
107 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
108 IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_writeoff_objects_PUB.'||
109 'create_writeoff_objects ******** ');
110 END IF;
111 EXCEPTION
112 WHEN FND_API.G_EXC_ERROR THEN
113 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PUB;
114 x_return_status := FND_API.G_RET_STS_ERROR ;
115 x_msg_count := l_msg_count ;
116 x_msg_data := l_msg_data ;
117 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
118 p_data => x_msg_data);
119 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
120 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PUB;
121 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
122 x_msg_count := l_msg_count ;
123 x_msg_data := l_msg_data ;
124 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
125 p_data => x_msg_data);
126
127 WHEN OTHERS THEN
128 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PUB;
129 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
130 x_msg_count := l_msg_count ;
131 x_msg_data := l_msg_data ;
132 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
133 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
134 p_data => x_msg_data);
135
136 End create_writeoff_objects;
137
138
139 PROCEDURE update_writeoff_objects(
140 P_Api_Version_Number IN NUMBER
141 ,P_Init_Msg_List IN VARCHAR2
142 ,P_Commit IN VARCHAR2
143 ,P_writeoff_obj_rec IN writeoff_obj_rec_type
144 ,x_return_status OUT NOCOPY VARCHAR2
145 ,x_msg_count OUT NOCOPY NUMBER
146 ,x_msg_data OUT NOCOPY VARCHAR2
147 ,XO_OBJECT_VERSION_NUMBER OUT NOCOPY NUMBER) IS
148
149 l_api_name CONSTANT VARCHAR2(60) := 'UPDATE_WRITEOFF_OBJECTS';
150 l_api_version_number CONSTANT NUMBER := 2.0;
151 v_object_version_number IEX_writeoff_objects.object_version_number%TYPE
152 :=p_writeoff_obj_rec.object_version_number;
153 l_return_status VARCHAR2(1);
154 l_msg_count NUMBER ;
155 l_msg_data VARCHAR2(32627);
156
157 BEGIN
158 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
159 IEX_DEBUG_PUB.LogMessage ('** Start of Procedure =>'||
160 'IEX_writeoff_objects_PUB.update_writeoff_objects *** ');
161 END IF;
162
163 SAVEPOINT UPDATE_WRITEOFF_OBJECTS_PUB;
164 IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number,
165 l_api_name, G_PKG_NAME) then
166 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
167 END IF;
168
169 IF FND_API.to_Boolean( p_init_msg_list ) then
170 FND_MSG_PUB.initialize;
171 END IF;
172
173 x_return_status := FND_API.G_RET_STS_SUCCESS;
174
175 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
176 IEX_DEBUG_PUB.LogMessage('Before Calling iex_writeoff_objects_pvt.'||
177 'update_writeoff_objects');
178 END IF;
179 -- Invoke pvt(IEX_writeoff_objects_PVT.update_writeoff_objects)
180
181 IEX_WRITEOFF_OBJECTS_PVT.update_writeoff_objects(
182 P_Api_Version_Number =>p_Api_Version_Number
183 ,P_Init_Msg_List =>P_Init_Msg_List
184 ,P_Commit =>p_commit
185 ,P_writeoff_obj_rec =>P_writeoff_obj_rec
186 ,XO_object_version_number =>v_object_version_number
187 ,x_return_status =>l_return_status
188 ,x_msg_count =>l_msg_count
189 ,x_msg_data =>l_msg_data);
190
191 --Return Version number
192 xo_object_version_number := v_object_version_number ;
193 -- Check return status from the above procedure call
194 IF x_return_status = FND_API.G_RET_STS_ERROR then
195 raise FND_API.G_EXC_ERROR;
196 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
197 raise FND_API.G_EXC_UNEXPECTED_ERROR;
198 END IF;
199
200 IF FND_API.to_Boolean( p_commit ) then
201 COMMIT WORK;
202 END IF;
203
204 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
205 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
206 IEX_DEBUG_PUB.LogMessage ('**** End of Procedure =>'||
207 'IEX_writeoff_objects_PUB.update_writeoff_objects ** ');
208 END IF;
209 EXCEPTION
210 WHEN FND_API.G_EXC_ERROR THEN
211 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PUB;
212 x_return_status := FND_API.G_RET_STS_ERROR ;
213 x_msg_count := l_msg_count ;
214 x_msg_data := l_msg_data ;
215 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
216 p_data => x_msg_data);
217 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
218 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PUB;
219 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
220 x_msg_count := l_msg_count ;
221 x_msg_data := l_msg_data ;
222 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
223 p_data => x_msg_data);
224 WHEN OTHERS THEN
225 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PUB;
226 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
227 x_msg_count := l_msg_count ;
228 x_msg_data := l_msg_data ;
229 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
230 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
231 p_data => x_msg_data);
232 End update_writeoff_objects;
233
234 PROCEDURE delete_writeoff_objects(
235 P_Api_Version_Number IN NUMBER
236 ,P_Init_Msg_List IN VARCHAR2
237 ,P_Commit IN VARCHAR2
238 ,p_writeoff_object_id IN NUMBER
239 ,x_return_status OUT NOCOPY VARCHAR2
240 ,x_msg_count OUT NOCOPY NUMBER
241 ,x_msg_data OUT NOCOPY VARCHAR2) IS
242
243 l_api_name CONSTANT VARCHAR2(50) := 'DELETE_WRITEOFF_OBJECTS';
244 l_api_version_number CONSTANT NUMBER := 2.0;
245 l_return_status VARCHAR2(1);
246 l_msg_count NUMBER ;
247 l_msg_data VARCHAR2(32627);
248
249 BEGIN
250 -- Standard Start of API savepoint
251 SAVEPOINT DELETE_WRITEOFF_OBJECTS_PUB;
252
253 -- Standard call to check for call compatibility.
254 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
255 p_api_version_number,
256 l_api_name,
257 G_PKG_NAME)
258 THEN
259 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260 END IF;
261
262
263 -- Initialize message list if p_init_msg_list is set to TRUE.
264 IF FND_API.to_Boolean( p_init_msg_list )
265 THEN
266 FND_MSG_PUB.initialize;
267 END IF;
268
269
270 -- Initialize API return status to SUCCESS
271 x_return_status := FND_API.G_RET_STS_SUCCESS;
272 --
273 -- API body
274 --
275
276 -- call pvt
277 IEX_WRITEOFF_OBJECTS_PVT.delete_writeoff_objects(
278 P_Api_Version_Number =>p_Api_Version_Number
279 ,P_Init_Msg_List =>P_Init_Msg_List
280 ,P_Commit =>p_commit
281 ,P_writeoff_object_id =>p_writeoff_object_id
282 ,x_return_status =>l_return_status
283 ,x_msg_count =>l_msg_count
284 ,x_msg_data =>l_msg_data);
285
286
287 -- Check return status from the above procedure call
288 IF x_return_status = FND_API.G_RET_STS_ERROR then
289 raise FND_API.G_EXC_ERROR;
290 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
291 raise FND_API.G_EXC_UNEXPECTED_ERROR;
292 END IF;
293
294 --
295 -- End of API body
296 --
297
298 -- Standard check for p_commit
299 IF FND_API.to_Boolean( p_commit )
300 THEN
301 COMMIT WORK;
302 END IF;
303
304
305 -- Standard call to get message count and if count is 1, get message info.
306 FND_MSG_PUB.Count_And_Get
307 ( p_count => x_msg_count,
308 p_data => x_msg_data
309 );
310 EXCEPTION
311 WHEN FND_API.G_EXC_ERROR THEN
312 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PUB;
313 x_return_status := FND_API.G_RET_STS_ERROR ;
314 x_msg_count := l_msg_count ;
315 x_msg_data := l_msg_data ;
316 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
317 p_data => x_msg_data);
318 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
319 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PUB;
320 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
321 x_msg_count := l_msg_count ;
322 x_msg_data := l_msg_data ;
323 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
324 p_data => x_msg_data);
325
326 WHEN OTHERS THEN
327 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PUB;
328 x_return_status := FND_API.G_RET_STS_ERROR ;
329 x_msg_count := l_msg_count ;
330 x_msg_data := l_msg_data ;
331 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
332 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
333 p_data => x_msg_data);
334
335 End delete_writeoff_objects;
336
337
338 End IEX_WRITEOFF_OBJECTS_PUB;
339