DBA Data[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