DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_ACCTNG_EVENTS_PVT

Source


1 PACKAGE BODY OZF_Acctng_Events_PVT as
2 /* $Header: ozfvaceb.pls 115.4 2004/07/13 10:26:03 upoluri ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --          OZF_Acctng_Events_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15 
16 
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'OZF_Acctng_Events_PVT';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfvaceb.pls';
19 
20 G_DEBUG BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_high);
21 
22 -- Hint: Primary key needs to be returned.
23 PROCEDURE Create_Acctng_Events(
24     p_api_version_number         IN   NUMBER,
25     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
26     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
27     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
28 
29     x_return_status              OUT NOCOPY  VARCHAR2,
30     x_msg_count                  OUT NOCOPY  NUMBER,
31     x_msg_data                   OUT NOCOPY  VARCHAR2,
32 
33     p_acctng_event_rec               IN   acctng_event_rec_type  := g_miss_acctng_event_rec,
34     x_accounting_event_id                   OUT NOCOPY  NUMBER
35      )
36 
37  IS
38 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Create_Acctng_Events';
39 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
40    l_return_status_full        VARCHAR2(1);
41    l_object_version_number     NUMBER := 1;
42    l_org_id                    NUMBER := p_acctng_event_rec.org_id;
43    l_ACCOUNTING_EVENT_ID                  NUMBER;
44    l_dummy       NUMBER;
45 
46    CURSOR c_id IS
47       SELECT OZF_ACCTNG_EVENTS_ALL_s.NEXTVAL
48       FROM dual;
49 
50    CURSOR c_id_exists (l_id IN NUMBER) IS
51       SELECT count(accounting_event_id) FROM OZF_ACCTNG_EVENTS_ALL
52       WHERE ACCOUNTING_EVENT_ID = l_id;
53 
54 BEGIN
55       -- Standard Start of API savepoint
56       SAVEPOINT CREATE_Acctng_Events_PVT;
57 
58       -- Standard call to check for call compatibility.
59       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
60                                            p_api_version_number,
61                                            l_api_name,
62                                            G_PKG_NAME)
63       THEN
64           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65       END IF;
66 
67       -- Initialize message list if p_init_msg_list is set to TRUE.
68       IF FND_API.to_Boolean( p_init_msg_list )
69       THEN
70          FND_MSG_PUB.initialize;
71       END IF;
72 
73       -- Debug Message
74       IF g_debug THEN
75          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
76       END IF;
77 
78 
79       -- Initialize API return status to SUCCESS
80       x_return_status := FND_API.G_RET_STS_SUCCESS;
81 
82       -- Local variable initialization
83 
84       IF p_acctng_event_rec.ACCOUNTING_EVENT_ID IS NULL OR p_acctng_event_rec.ACCOUNTING_EVENT_ID = FND_API.g_miss_num THEN
85          LOOP
86             l_dummy := NULL;
87             OPEN c_id;
88             FETCH c_id INTO l_ACCOUNTING_EVENT_ID;
89             CLOSE c_id;
90 
91             OPEN c_id_exists(l_ACCOUNTING_EVENT_ID);
92             FETCH c_id_exists INTO l_dummy;
93             CLOSE c_id_exists;
94             -- Exit when the identifier uniqueness is established
95             EXIT WHEN l_dummy = 0;
96          END LOOP;
97       END IF;
98 
99       -- =========================================================================
100       -- Validate Environment
101       -- =========================================================================
102 
103       IF FND_GLOBAL.User_Id IS NULL
104       THEN
105           OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_USER_PROFILE_MISSING');
106           RAISE FND_API.G_EXC_ERROR;
107       END IF;
108 
109 /*
110       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
111       THEN
112           -- Debug message
113           IF g_debug THEN
114              OZF_UTILITY_PVT.debug_message('Private API: Validate_Acctng_Events');
115           END IF;
116 
117           -- Invoke validation procedures
118           Validate_acctng_events(
119             p_api_version_number     => 1.0,
120             p_init_msg_list    => FND_API.G_FALSE,
121             p_validation_level => p_validation_level,
122             p_acctng_event_rec  =>  p_acctng_event_rec,
123             x_return_status    => x_return_status,
124             x_msg_count        => x_msg_count,
125             x_msg_data         => x_msg_data);
126       END IF;
127 
128       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
129           RAISE FND_API.G_EXC_ERROR;
130       END IF;
131 */
132 
133       -- Debug Message
134       IF g_debug THEN
135          OZF_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
136       END IF;
137 
138       -- Invoke table handler(OZF_ACCTNG_EVENTS_PKG.Insert_Row)
139       OZF_ACCTNG_EVENTS_PKG.Insert_Row(
140           px_accounting_event_id  => l_accounting_event_id,
141           px_object_version_number  => l_object_version_number,
142           p_last_update_date  => SYSDATE,
143           p_last_updated_by  => FND_GLOBAL.USER_ID,
144           p_creation_date  => SYSDATE,
145           p_created_by  => FND_GLOBAL.USER_ID,
146           p_last_update_login  => FND_GLOBAL.CONC_LOGIN_ID,
147           p_request_id  => p_acctng_event_rec.request_id,
148           p_program_application_id  => p_acctng_event_rec.program_application_id,
149           p_program_update_date  => p_acctng_event_rec.program_update_date,
150           p_program_id  => p_acctng_event_rec.program_id,
151           p_accounting_date  => p_acctng_event_rec.accounting_date,
152           p_event_number  => p_acctng_event_rec.event_number,
153           p_event_status_code  => p_acctng_event_rec.event_status_code,
154           p_event_type_code  => p_acctng_event_rec.event_type_code,
155           px_org_id  => l_org_id,
156           p_source_id  => p_acctng_event_rec.source_id,
157           p_source_table  => p_acctng_event_rec.source_table,
158           p_attribute_category  => p_acctng_event_rec.attribute_category,
159           p_attribute1  => p_acctng_event_rec.attribute1,
160           p_attribute2  => p_acctng_event_rec.attribute2,
161           p_attribute3  => p_acctng_event_rec.attribute3,
162           p_attribute4  => p_acctng_event_rec.attribute4,
163           p_attribute5  => p_acctng_event_rec.attribute5,
164           p_attribute6  => p_acctng_event_rec.attribute6,
165           p_attribute7  => p_acctng_event_rec.attribute7,
166           p_attribute8  => p_acctng_event_rec.attribute8,
167           p_attribute9  => p_acctng_event_rec.attribute9,
168           p_attribute10  => p_acctng_event_rec.attribute10,
169           p_attribute11  => p_acctng_event_rec.attribute11,
170           p_attribute12  => p_acctng_event_rec.attribute12,
171           p_attribute13  => p_acctng_event_rec.attribute13,
172           p_attribute14  => p_acctng_event_rec.attribute14,
173           p_attribute15  => p_acctng_event_rec.attribute15);
174       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
175           RAISE FND_API.G_EXC_ERROR;
176       END IF;
177       x_accounting_event_id := l_accounting_event_id;
178       --
179       -- End of API body
180       --
181 
182       -- Standard check for p_commit
183       IF FND_API.to_Boolean( p_commit )
184       THEN
185          COMMIT WORK;
186       END IF;
187 
188       -- Debug Message
189       IF g_debug THEN
190          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
191       END IF;
192 
193       -- Standard call to get message count and if count is 1, get message info.
194       FND_MSG_PUB.Count_And_Get
195         (p_count          =>   x_msg_count,
196          p_data           =>   x_msg_data
197       );
198 EXCEPTION
199    WHEN OZF_Utility_PVT.resource_locked THEN
200      x_return_status := FND_API.g_ret_sts_error;
201      OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
202    WHEN FND_API.G_EXC_ERROR THEN
203      ROLLBACK TO CREATE_Acctng_Events_PVT;
204      x_return_status := FND_API.G_RET_STS_ERROR;
205      -- Standard call to get message count and if count=1, get the message
206      FND_MSG_PUB.Count_And_Get (
207             p_encoded => FND_API.G_FALSE,
208             p_count   => x_msg_count,
209             p_data    => x_msg_data
210      );
211    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
212      ROLLBACK TO CREATE_Acctng_Events_PVT;
213      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
214      -- Standard call to get message count and if count=1, get the message
215      FND_MSG_PUB.Count_And_Get (
216             p_encoded => FND_API.G_FALSE,
217             p_count => x_msg_count,
218             p_data  => x_msg_data
219      );
220    WHEN OTHERS THEN
221      ROLLBACK TO CREATE_Acctng_Events_PVT;
222      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
223      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
224      THEN
225         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
226      END IF;
227      -- Standard call to get message count and if count=1, get the message
228      FND_MSG_PUB.Count_And_Get (
229             p_encoded => FND_API.G_FALSE,
230             p_count => x_msg_count,
231             p_data  => x_msg_data
232      );
233 End Create_Acctng_Events;
234 
235 PROCEDURE Update_Acctng_Events(
236     p_api_version_number         IN   NUMBER,
237     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
238     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
239     p_validation_level           IN  NUMBER       := FND_API.G_VALID_LEVEL_FULL,
240 
241     x_return_status              OUT NOCOPY  VARCHAR2,
242     x_msg_count                  OUT NOCOPY  NUMBER,
243     x_msg_data                   OUT NOCOPY  VARCHAR2,
244 
245     p_acctng_event_rec               IN    acctng_event_rec_type,
246     x_object_version_number      OUT NOCOPY  NUMBER
247     )
248 
249  IS
250 
251 CURSOR c_get_acctng_events(p_accounting_event_id NUMBER) IS
252     SELECT *
253     FROM   OZF_ACCTNG_EVENTS_ALL
254     WHERE  accounting_event_id  = p_accounting_event_id;
255 
256 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Update_Acctng_Events';
257 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
258 -- Local Variables
259 l_object_version_number     NUMBER;
260 l_ACCOUNTING_EVENT_ID    NUMBER;
261 l_ref_acctng_event_rec  c_get_Acctng_Events%ROWTYPE ;
262 l_tar_acctng_event_rec  OZF_Acctng_Events_PVT.acctng_event_rec_type := P_acctng_event_rec;
263 l_rowid  ROWID;
264 
265  BEGIN
266       -- Standard Start of API savepoint
267       SAVEPOINT UPDATE_Acctng_Events_PVT;
268 
269       -- Standard call to check for call compatibility.
270       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
271                                            p_api_version_number,
272                                            l_api_name,
273                                            G_PKG_NAME)
274       THEN
275           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
276       END IF;
277 
278       -- Initialize message list if p_init_msg_list is set to TRUE.
279       IF FND_API.to_Boolean( p_init_msg_list )
280       THEN
281          FND_MSG_PUB.initialize;
282       END IF;
283 
284       -- Debug Message
285       IF g_debug THEN
286          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
287       END IF;
288 
289 
290       -- Initialize API return status to SUCCESS
291       x_return_status := FND_API.G_RET_STS_SUCCESS;
292 
293       -- Debug Message
294       IF g_debug THEN
295          OZF_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
296       END IF;
297 
298 /*
299       OPEN c_get_Acctng_Events( l_tar_acctng_event_rec.accounting_event_id);
300 
301       FETCH c_get_Acctng_Events INTO l_ref_acctng_event_rec  ;
302 
303        If ( c_get_Acctng_Events%NOTFOUND) THEN
304            OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RECORD_NOT_FOUND');
305            RAISE FND_API.G_EXC_ERROR;
306        END IF;
307        -- Debug Message
308        IF g_debug THEN
309           OZF_UTILITY_PVT.debug_message('Private API: - Close Cursor');
310        END IF;
311        CLOSE     c_get_Acctng_Events;
312 */
313 
314 
315       If (l_tar_acctng_event_rec.object_version_number is NULL or
316           l_tar_acctng_event_rec.object_version_number = FND_API.G_MISS_NUM ) Then
317           OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_NO_OBJ_VER_NUM');
318           raise FND_API.G_EXC_ERROR;
319       End if;
320       -- Check Whether record has been changed by someone else
321       If (l_tar_acctng_event_rec.object_version_number <> l_ref_acctng_event_rec.object_version_number) Then
322           OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
323           raise FND_API.G_EXC_ERROR;
324       End if;
325       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
326       THEN
327           -- Debug message
328           IF g_debug THEN
329              OZF_UTILITY_PVT.debug_message('Private API: Validate_Acctng_Events');
330           END IF;
331 
332           -- Invoke validation procedures
333           Validate_acctng_events(
334             p_api_version_number     => 1.0,
335             p_init_msg_list    => FND_API.G_FALSE,
336             p_validation_level => p_validation_level,
337             p_acctng_event_rec  =>  p_acctng_event_rec,
338             x_return_status    => x_return_status,
339             x_msg_count        => x_msg_count,
340             x_msg_data         => x_msg_data);
341       END IF;
342 
343       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
344           RAISE FND_API.G_EXC_ERROR;
345       END IF;
346 
347 
348       -- Debug Message
349       IF g_debug THEN
350          OZF_UTILITY_PVT.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
351       END IF;
352 
353       -- Invoke table handler(OZF_ACCTNG_EVENTS_PKG.Update_Row)
354       OZF_ACCTNG_EVENTS_PKG.Update_Row(
355           p_accounting_event_id  => p_acctng_event_rec.accounting_event_id,
356           p_object_version_number  => p_acctng_event_rec.object_version_number,
357           p_last_update_date  => SYSDATE,
358           p_last_updated_by  => FND_GLOBAL.USER_ID,
359           p_last_update_login  => FND_GLOBAL.CONC_LOGIN_ID,
360           p_request_id  => p_acctng_event_rec.request_id,
361           p_program_application_id  => p_acctng_event_rec.program_application_id,
362           p_program_update_date  => p_acctng_event_rec.program_update_date,
363           p_program_id  => p_acctng_event_rec.program_id,
364           p_accounting_date  => p_acctng_event_rec.accounting_date,
365           p_event_number  => p_acctng_event_rec.event_number,
366           p_event_status_code  => p_acctng_event_rec.event_status_code,
367           p_event_type_code  => p_acctng_event_rec.event_type_code,
368           p_org_id  => p_acctng_event_rec.org_id,
369           p_source_id  => p_acctng_event_rec.source_id,
370           p_source_table  => p_acctng_event_rec.source_table,
371           p_attribute_category  => p_acctng_event_rec.attribute_category,
372           p_attribute1  => p_acctng_event_rec.attribute1,
373           p_attribute2  => p_acctng_event_rec.attribute2,
374           p_attribute3  => p_acctng_event_rec.attribute3,
375           p_attribute4  => p_acctng_event_rec.attribute4,
376           p_attribute5  => p_acctng_event_rec.attribute5,
377           p_attribute6  => p_acctng_event_rec.attribute6,
378           p_attribute7  => p_acctng_event_rec.attribute7,
379           p_attribute8  => p_acctng_event_rec.attribute8,
380           p_attribute9  => p_acctng_event_rec.attribute9,
381           p_attribute10  => p_acctng_event_rec.attribute10,
382           p_attribute11  => p_acctng_event_rec.attribute11,
383           p_attribute12  => p_acctng_event_rec.attribute12,
384           p_attribute13  => p_acctng_event_rec.attribute13,
385           p_attribute14  => p_acctng_event_rec.attribute14,
386           p_attribute15  => p_acctng_event_rec.attribute15);
387       --
388       -- End of API body.
389       --
390 
391       -- Standard check for p_commit
392       IF FND_API.to_Boolean( p_commit )
393       THEN
394          COMMIT WORK;
395       END IF;
396 
397 
398       -- Debug Message
399       IF g_debug THEN
400          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
401       END IF;
402 
403       -- Standard call to get message count and if count is 1, get message info.
404       FND_MSG_PUB.Count_And_Get
405         (p_count          =>   x_msg_count,
406          p_data           =>   x_msg_data
407       );
408 EXCEPTION
409 
410    WHEN OZF_Utility_PVT.resource_locked THEN
411      x_return_status := FND_API.g_ret_sts_error;
412  OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
413 
414    WHEN FND_API.G_EXC_ERROR THEN
415      ROLLBACK TO UPDATE_Acctng_Events_PVT;
416      x_return_status := FND_API.G_RET_STS_ERROR;
417      -- Standard call to get message count and if count=1, get the message
418      FND_MSG_PUB.Count_And_Get (
419             p_encoded => FND_API.G_FALSE,
420             p_count   => x_msg_count,
421             p_data    => x_msg_data
422      );
423 
424    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
425      ROLLBACK TO UPDATE_Acctng_Events_PVT;
426      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
427      -- Standard call to get message count and if count=1, get the message
428      FND_MSG_PUB.Count_And_Get (
429             p_encoded => FND_API.G_FALSE,
430             p_count => x_msg_count,
431             p_data  => x_msg_data
432      );
433 
434    WHEN OTHERS THEN
435      ROLLBACK TO UPDATE_Acctng_Events_PVT;
436      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
437      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
438      THEN
439         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
440      END IF;
441      -- Standard call to get message count and if count=1, get the message
442      FND_MSG_PUB.Count_And_Get (
443             p_encoded => FND_API.G_FALSE,
444             p_count => x_msg_count,
445             p_data  => x_msg_data
446      );
447 End Update_Acctng_Events;
448 
449 
450 PROCEDURE Delete_Acctng_Events(
451     p_api_version_number         IN   NUMBER,
452     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
453     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
454     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
455     x_return_status              OUT NOCOPY  VARCHAR2,
456     x_msg_count                  OUT NOCOPY  NUMBER,
457     x_msg_data                   OUT NOCOPY  VARCHAR2,
458     p_accounting_event_id                   IN  NUMBER,
459     p_object_version_number      IN   NUMBER
460     )
461 
462  IS
463 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Delete_Acctng_Events';
464 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
465 l_object_version_number     NUMBER;
466 
467  BEGIN
468       -- Standard Start of API savepoint
469       SAVEPOINT DELETE_Acctng_Events_PVT;
470 
471       -- Standard call to check for call compatibility.
472       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
473                                            p_api_version_number,
474                                            l_api_name,
475                                            G_PKG_NAME)
476       THEN
477           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
478       END IF;
479 
480       -- Initialize message list if p_init_msg_list is set to TRUE.
481       IF FND_API.to_Boolean( p_init_msg_list )
482       THEN
483          FND_MSG_PUB.initialize;
484       END IF;
485 
486       -- Debug Message
487       IF g_debug THEN
488          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
489       END IF;
490 
491 
492       -- Initialize API return status to SUCCESS
493       x_return_status := FND_API.G_RET_STS_SUCCESS;
494 
495       --
496       -- Api body
497       --
498       -- Debug Message
499       IF g_debug THEN
500          OZF_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
501       END IF;
502 
503       -- Invoke table handler(OZF_ACCTNG_EVENTS_PKG.Delete_Row)
504       OZF_ACCTNG_EVENTS_PKG.Delete_Row(
505           p_ACCOUNTING_EVENT_ID  => p_ACCOUNTING_EVENT_ID);
506       --
507       -- End of API body
508       --
509 
510       -- Standard check for p_commit
511       IF FND_API.to_Boolean( p_commit )
512       THEN
513          COMMIT WORK;
514       END IF;
515 
516 
517       -- Debug Message
518       IF g_debug THEN
519          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
520       END IF;
521 
522       -- Standard call to get message count and if count is 1, get message info.
523       FND_MSG_PUB.Count_And_Get
524         (p_count          =>   x_msg_count,
525          p_data           =>   x_msg_data
526       );
527 EXCEPTION
528 
529    WHEN OZF_Utility_PVT.resource_locked THEN
530      x_return_status := FND_API.g_ret_sts_error;
531  OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
532 
533    WHEN FND_API.G_EXC_ERROR THEN
534      ROLLBACK TO DELETE_Acctng_Events_PVT;
535      x_return_status := FND_API.G_RET_STS_ERROR;
536      -- Standard call to get message count and if count=1, get the message
537      FND_MSG_PUB.Count_And_Get (
538             p_encoded => FND_API.G_FALSE,
539             p_count   => x_msg_count,
540             p_data    => x_msg_data
541      );
542 
543    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
544      ROLLBACK TO DELETE_Acctng_Events_PVT;
545      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
546      -- Standard call to get message count and if count=1, get the message
547      FND_MSG_PUB.Count_And_Get (
548             p_encoded => FND_API.G_FALSE,
549             p_count => x_msg_count,
550             p_data  => x_msg_data
551      );
552 
553    WHEN OTHERS THEN
554      ROLLBACK TO DELETE_Acctng_Events_PVT;
555      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
556      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
557      THEN
558         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
559      END IF;
560      -- Standard call to get message count and if count=1, get the message
561      FND_MSG_PUB.Count_And_Get (
562             p_encoded => FND_API.G_FALSE,
563             p_count => x_msg_count,
564             p_data  => x_msg_data
565      );
566 End Delete_Acctng_Events;
567 
568 
569 
570 -- Hint: Primary key needs to be returned.
571 PROCEDURE Lock_Acctng_Events(
572     p_api_version_number         IN   NUMBER,
573     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
574 
575     x_return_status              OUT NOCOPY  VARCHAR2,
576     x_msg_count                  OUT NOCOPY  NUMBER,
577     x_msg_data                   OUT NOCOPY  VARCHAR2,
578 
579     p_accounting_event_id                   IN  NUMBER,
580     p_object_version             IN  NUMBER
581     )
582 
583  IS
584 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Lock_Acctng_Events';
585 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
586 L_FULL_NAME                 CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
587 l_ACCOUNTING_EVENT_ID                  NUMBER;
588 
589 CURSOR c_Acctng_Events IS
590    SELECT ACCOUNTING_EVENT_ID
591    FROM OZF_ACCTNG_EVENTS_ALL
592    WHERE ACCOUNTING_EVENT_ID = p_ACCOUNTING_EVENT_ID
593    AND object_version_number = p_object_version
594    FOR UPDATE NOWAIT;
595 
596 BEGIN
597 
598       -- Debug Message
599       IF g_debug THEN
600          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
601       END IF;
602 
603       -- Initialize message list if p_init_msg_list is set to TRUE.
604       IF FND_API.to_Boolean( p_init_msg_list )
605       THEN
606          FND_MSG_PUB.initialize;
607       END IF;
608 
609       -- Standard call to check for call compatibility.
610       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
611                                            p_api_version_number,
612                                            l_api_name,
613                                            G_PKG_NAME)
614       THEN
615           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
616       END IF;
617 
618 
619       -- Initialize API return status to SUCCESS
620       x_return_status := FND_API.G_RET_STS_SUCCESS;
621 
622 
623 ------------------------ lock -------------------------
624 
625   IF g_debug THEN
626      OZF_Utility_PVT.debug_message(l_full_name||': start');
627   END IF;
628   OPEN c_Acctng_Events;
629 
630   FETCH c_Acctng_Events INTO l_ACCOUNTING_EVENT_ID;
631 
632   IF (c_Acctng_Events%NOTFOUND) THEN
633     CLOSE c_Acctng_Events;
634     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
635        FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
636        FND_MSG_PUB.add;
637     END IF;
638     RAISE FND_API.g_exc_error;
639   END IF;
640 
641   CLOSE c_Acctng_Events;
642 
643  -------------------- finish --------------------------
644   FND_MSG_PUB.count_and_get(
645     p_encoded => FND_API.g_false,
646     p_count   => x_msg_count,
647     p_data    => x_msg_data);
648   IF g_debug THEN
649      OZF_Utility_PVT.debug_message(l_full_name ||': end');
650   END IF;
651 EXCEPTION
652 
653    WHEN OZF_Utility_PVT.resource_locked THEN
654      x_return_status := FND_API.g_ret_sts_error;
655  OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
656 
657    WHEN FND_API.G_EXC_ERROR THEN
658      ROLLBACK TO LOCK_Acctng_Events_PVT;
659      x_return_status := FND_API.G_RET_STS_ERROR;
660      -- Standard call to get message count and if count=1, get the message
661      FND_MSG_PUB.Count_And_Get (
662             p_encoded => FND_API.G_FALSE,
663             p_count   => x_msg_count,
664             p_data    => x_msg_data
665      );
666 
667    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
668      ROLLBACK TO LOCK_Acctng_Events_PVT;
669      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
670      -- Standard call to get message count and if count=1, get the message
671      FND_MSG_PUB.Count_And_Get (
672             p_encoded => FND_API.G_FALSE,
673             p_count => x_msg_count,
674             p_data  => x_msg_data
675      );
676 
677    WHEN OTHERS THEN
678      ROLLBACK TO LOCK_Acctng_Events_PVT;
679      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
680      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
681      THEN
682         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
683      END IF;
684      -- Standard call to get message count and if count=1, get the message
685      FND_MSG_PUB.Count_And_Get (
686             p_encoded => FND_API.G_FALSE,
687             p_count => x_msg_count,
688             p_data  => x_msg_data
689      );
690 End Lock_Acctng_Events;
691 
692 
693 PROCEDURE check_acctng_event_uk_items(
694     p_acctng_event_rec               IN   acctng_event_rec_type,
695     p_validation_mode            IN  VARCHAR2 := JTF_PLSQL_API.g_create,
696     x_return_status              OUT NOCOPY VARCHAR2)
697 IS
698 l_valid_flag  VARCHAR2(1);
699 
700 BEGIN
701       x_return_status := FND_API.g_ret_sts_success;
702       IF p_validation_mode = JTF_PLSQL_API.g_create THEN
703          l_valid_flag := OZF_Utility_PVT.check_uniqueness(
704          'OZF_ACCTNG_EVENTS_ALL',
705          'ACCOUNTING_EVENT_ID = ''' || p_acctng_event_rec.ACCOUNTING_EVENT_ID ||''''
706          );
707       ELSE
708          l_valid_flag := OZF_Utility_PVT.check_uniqueness(
709          'OZF_ACCTNG_EVENTS_ALL',
710          'ACCOUNTING_EVENT_ID = ''' || p_acctng_event_rec.ACCOUNTING_EVENT_ID ||
711          ''' AND ACCOUNTING_EVENT_ID <> ' || p_acctng_event_rec.ACCOUNTING_EVENT_ID
712          );
713       END IF;
714 
715       IF l_valid_flag = FND_API.g_false THEN
716          OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ACCT_EVENT_ID_DUPLICATE');
717          x_return_status := FND_API.g_ret_sts_error;
718          RETURN;
719       END IF;
720 
721 END check_acctng_event_uk_items;
722 
723 PROCEDURE check_acctng_event_req_items(
724     p_acctng_event_rec               IN  acctng_event_rec_type,
725     p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
726     x_return_status	         OUT NOCOPY VARCHAR2
727 )
728 IS
729 BEGIN
730    x_return_status := FND_API.g_ret_sts_success;
731 
732    IF p_validation_mode = JTF_PLSQL_API.g_create THEN
733 
734 
735       IF p_acctng_event_rec.accounting_event_id = FND_API.g_miss_num OR p_acctng_event_rec.accounting_event_id IS NULL THEN
736          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'ACCOUNTING_EVENT_ID' );
737          x_return_status := FND_API.g_ret_sts_error;
738          RETURN;
739       END IF;
740 
741 
742       IF p_acctng_event_rec.object_version_number = FND_API.g_miss_num OR p_acctng_event_rec.object_version_number IS NULL THEN
743           OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
744          x_return_status := FND_API.g_ret_sts_error;
745          RETURN;
746       END IF;
747 
748 
749       IF p_acctng_event_rec.last_update_date = FND_API.g_miss_date OR p_acctng_event_rec.last_update_date IS NULL THEN
750           OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'LAST_UPDATE_DATE' );
751          x_return_status := FND_API.g_ret_sts_error;
752          RETURN;
753       END IF;
754 
755 
756       IF p_acctng_event_rec.last_updated_by = FND_API.g_miss_num OR p_acctng_event_rec.last_updated_by IS NULL THEN
757          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'LAST_UPDATED_BY' );
758          x_return_status := FND_API.g_ret_sts_error;
759          RETURN;
760       END IF;
761 
762 
763       IF p_acctng_event_rec.creation_date = FND_API.g_miss_date OR p_acctng_event_rec.creation_date IS NULL THEN
764          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'CREATION_DATE' );
765          x_return_status := FND_API.g_ret_sts_error;
766          RETURN;
767       END IF;
768 
769 
770       IF p_acctng_event_rec.created_by = FND_API.g_miss_num OR p_acctng_event_rec.created_by IS NULL THEN
771          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'CREATED_BY' );
772          x_return_status := FND_API.g_ret_sts_error;
773          RETURN;
774       END IF;
775 
776 
777       IF p_acctng_event_rec.accounting_date = FND_API.g_miss_date OR p_acctng_event_rec.accounting_date IS NULL THEN
778          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'ACCOUNTING_DATE' );
779          x_return_status := FND_API.g_ret_sts_error;
780          RETURN;
781       END IF;
782 
783 
784       IF p_acctng_event_rec.event_status_code = FND_API.g_miss_char OR p_acctng_event_rec.event_status_code IS NULL THEN
785          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'EVENT_STATUS_CODE' );
786          x_return_status := FND_API.g_ret_sts_error;
787          RETURN;
788       END IF;
789 
790 
791       IF p_acctng_event_rec.event_type_code = FND_API.g_miss_char OR p_acctng_event_rec.event_type_code IS NULL THEN
792          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'EVENT_TYPE_CODE' );
793          x_return_status := FND_API.g_ret_sts_error;
794          RETURN;
795       END IF;
796 
797 
798       IF p_acctng_event_rec.source_id = FND_API.g_miss_num OR p_acctng_event_rec.source_id IS NULL THEN
799          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'SOURCE_ID' );
800          x_return_status := FND_API.g_ret_sts_error;
801          RETURN;
802       END IF;
803 
804 
805       IF p_acctng_event_rec.source_table = FND_API.g_miss_char OR p_acctng_event_rec.source_table IS NULL THEN
806          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'SOURCE_TABLE' );
807          x_return_status := FND_API.g_ret_sts_error;
808          RETURN;
809       END IF;
810    ELSE
811 
812 
813       IF p_acctng_event_rec.accounting_event_id IS NULL THEN
814          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'ACCOUNTING_EVENT_ID' );
815          x_return_status := FND_API.g_ret_sts_error;
816          RETURN;
817       END IF;
818 
819 
820       IF p_acctng_event_rec.object_version_number IS NULL THEN
821          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
822          x_return_status := FND_API.g_ret_sts_error;
823          RETURN;
824       END IF;
825 
826 
827       IF p_acctng_event_rec.last_update_date IS NULL THEN
828          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'LAST_UPDATE_DATE' );
829          x_return_status := FND_API.g_ret_sts_error;
830          RETURN;
831       END IF;
832 
833 
834       IF p_acctng_event_rec.last_updated_by IS NULL THEN
835          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'LAST_UPDATED_BY' );
836          x_return_status := FND_API.g_ret_sts_error;
837          RETURN;
838       END IF;
839 
840 
841       IF p_acctng_event_rec.creation_date IS NULL THEN
842          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'CREATION_DATE' );
843          x_return_status := FND_API.g_ret_sts_error;
844          RETURN;
845       END IF;
846 
847 
848       IF p_acctng_event_rec.created_by IS NULL THEN
849          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'CREATED_BY' );
850          x_return_status := FND_API.g_ret_sts_error;
851          RETURN;
852       END IF;
853 
854 
855       IF p_acctng_event_rec.accounting_date IS NULL THEN
856          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'ACCOUNTING_DATE' );
857          x_return_status := FND_API.g_ret_sts_error;
858          RETURN;
859       END IF;
860 
861 
862       IF p_acctng_event_rec.event_status_code IS NULL THEN
863          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'EVENT_STATUS_CODE' );
864          x_return_status := FND_API.g_ret_sts_error;
865          RETURN;
866       END IF;
867 
868 
869       IF p_acctng_event_rec.event_type_code IS NULL THEN
870          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'EVENT_TYPE_CODE' );
871          x_return_status := FND_API.g_ret_sts_error;
872          RETURN;
873       END IF;
874 
875 
876       IF p_acctng_event_rec.source_id IS NULL THEN
877          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'SOURCE_ID' );
878          x_return_status := FND_API.g_ret_sts_error;
879          RETURN;
880       END IF;
881 
882 
883       IF p_acctng_event_rec.source_table IS NULL THEN
884          OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'SOURCE_TABLE' );
885          x_return_status := FND_API.g_ret_sts_error;
886          RETURN;
887       END IF;
888    END IF;
889 
890 END check_acctng_event_req_items;
891 
892 PROCEDURE check_acctng_event_FK_items(
893     p_acctng_event_rec IN acctng_event_rec_type,
894     x_return_status OUT NOCOPY VARCHAR2
895 )
896 IS
897 BEGIN
898    x_return_status := FND_API.g_ret_sts_success;
899 
900    -- Enter custom code here
901 
902 END check_acctng_event_FK_items;
903 
904 PROCEDURE check_acctng_event_Lk_items(
905     p_acctng_event_rec IN acctng_event_rec_type,
906     x_return_status OUT NOCOPY VARCHAR2
907 )
908 IS
909 BEGIN
910    x_return_status := FND_API.g_ret_sts_success;
911 
912    -- Enter custom code here
913 
914 END check_acctng_event_Lk_items;
915 
916 PROCEDURE Check_acctng_event_Items (
917     P_acctng_event_rec     IN    acctng_event_rec_type,
918     p_validation_mode  IN    VARCHAR2,
919     x_return_status    OUT NOCOPY   VARCHAR2
920     )
921 IS
922 BEGIN
923 
924    -- Check Items Uniqueness API calls
925 
926    check_acctng_event_uk_items(
927       p_acctng_event_rec => p_acctng_event_rec,
928       p_validation_mode => p_validation_mode,
929       x_return_status => x_return_status);
930    IF x_return_status <> FND_API.g_ret_sts_success THEN
931       RETURN;
932    END IF;
933 
934    -- Check Items Required/NOT NULL API calls
935 
936    check_acctng_event_req_items(
937       p_acctng_event_rec => p_acctng_event_rec,
938       p_validation_mode => p_validation_mode,
939       x_return_status => x_return_status);
940    IF x_return_status <> FND_API.g_ret_sts_success THEN
941       RETURN;
942    END IF;
943    -- Check Items Foreign Keys API calls
944 
945    check_acctng_event_FK_items(
946       p_acctng_event_rec => p_acctng_event_rec,
947       x_return_status => x_return_status);
948    IF x_return_status <> FND_API.g_ret_sts_success THEN
949       RETURN;
950    END IF;
951    -- Check Items Lookups
952 
953    check_acctng_event_Lk_items(
954       p_acctng_event_rec => p_acctng_event_rec,
955       x_return_status => x_return_status);
956    IF x_return_status <> FND_API.g_ret_sts_success THEN
957       RETURN;
958    END IF;
959 
960 END Check_acctng_event_Items;
961 
962 PROCEDURE Complete_acctng_event_Rec (
963    p_acctng_event_rec IN acctng_event_rec_type,
964    x_complete_rec OUT NOCOPY acctng_event_rec_type)
965 IS
966    l_return_status  VARCHAR2(1);
967 
968    CURSOR c_complete IS
969       SELECT *
970       FROM ozf_acctng_events_all
971       WHERE accounting_event_id = p_acctng_event_rec.accounting_event_id;
972    l_acctng_event_rec c_complete%ROWTYPE;
973 BEGIN
974    x_complete_rec := p_acctng_event_rec;
975 
976 
977    OPEN c_complete;
978    FETCH c_complete INTO l_acctng_event_rec;
979    CLOSE c_complete;
980 
981    -- accounting_event_id
982    IF p_acctng_event_rec.accounting_event_id = FND_API.g_miss_num THEN
983       x_complete_rec.accounting_event_id := NULL;
984    END IF;
985    IF p_acctng_event_rec.accounting_event_id IS NULL THEN
986       x_complete_rec.accounting_event_id := l_acctng_event_rec.accounting_event_id;
987    END IF;
988 
989    -- object_version_number
990    IF p_acctng_event_rec.object_version_number = FND_API.g_miss_num THEN
991       x_complete_rec.object_version_number := NULL;
992    END IF;
993    IF p_acctng_event_rec.object_version_number IS NULL THEN
994       x_complete_rec.object_version_number := l_acctng_event_rec.object_version_number;
995    END IF;
996 
997    -- last_update_date
998    IF p_acctng_event_rec.last_update_date = FND_API.g_miss_date THEN
999       x_complete_rec.last_update_date := NULL;
1000    END IF;
1001    IF p_acctng_event_rec.last_update_date IS NULL THEN
1002       x_complete_rec.last_update_date := l_acctng_event_rec.last_update_date;
1003    END IF;
1004 
1005    -- last_updated_by
1006    IF p_acctng_event_rec.last_updated_by = FND_API.g_miss_num THEN
1007       x_complete_rec.last_updated_by := NULL;
1008    END IF;
1009    IF p_acctng_event_rec.last_updated_by IS NULL THEN
1010       x_complete_rec.last_updated_by := l_acctng_event_rec.last_updated_by;
1011    END IF;
1012 
1013    -- creation_date
1014    IF p_acctng_event_rec.creation_date = FND_API.g_miss_date THEN
1015       x_complete_rec.creation_date := NULL;
1016    END IF;
1017    IF p_acctng_event_rec.creation_date IS NULL THEN
1018       x_complete_rec.creation_date := l_acctng_event_rec.creation_date;
1019    END IF;
1020 
1021    -- created_by
1022    IF p_acctng_event_rec.created_by = FND_API.g_miss_num THEN
1023       x_complete_rec.created_by := NULL;
1024    END IF;
1025    IF p_acctng_event_rec.created_by IS NULL THEN
1026       x_complete_rec.created_by := l_acctng_event_rec.created_by;
1027    END IF;
1028 
1029    -- last_update_login
1030    IF p_acctng_event_rec.last_update_login = FND_API.g_miss_num THEN
1031       x_complete_rec.last_update_login := NULL;
1032    END IF;
1033    IF p_acctng_event_rec.last_update_login IS NULL THEN
1034       x_complete_rec.last_update_login := l_acctng_event_rec.last_update_login;
1035    END IF;
1036 
1037    -- request_id
1038    IF p_acctng_event_rec.request_id = FND_API.g_miss_num THEN
1039       x_complete_rec.request_id := NULL;
1040    END IF;
1041    IF p_acctng_event_rec.request_id IS NULL THEN
1042       x_complete_rec.request_id := l_acctng_event_rec.request_id;
1043    END IF;
1044 
1045    -- program_application_id
1046    IF p_acctng_event_rec.program_application_id = FND_API.g_miss_num THEN
1047       x_complete_rec.program_application_id := NULL;
1048    END IF;
1049    IF p_acctng_event_rec.program_application_id IS NULL THEN
1050       x_complete_rec.program_application_id := l_acctng_event_rec.program_application_id;
1051    END IF;
1052 
1053    -- program_update_date
1054    IF p_acctng_event_rec.program_update_date = FND_API.g_miss_date THEN
1055       x_complete_rec.program_update_date := NULL;
1056    END IF;
1057    IF p_acctng_event_rec.program_update_date IS NULL THEN
1058       x_complete_rec.program_update_date := l_acctng_event_rec.program_update_date;
1059    END IF;
1060 
1061    -- program_id
1062    IF p_acctng_event_rec.program_id = FND_API.g_miss_num THEN
1063       x_complete_rec.program_id := NULL;
1064    END IF;
1065    IF p_acctng_event_rec.program_id IS NULL THEN
1066       x_complete_rec.program_id := l_acctng_event_rec.program_id;
1067    END IF;
1068 
1069    -- accounting_date
1070    IF p_acctng_event_rec.accounting_date = FND_API.g_miss_date THEN
1071       x_complete_rec.accounting_date := NULL;
1072    END IF;
1073    IF p_acctng_event_rec.accounting_date IS NULL THEN
1074       x_complete_rec.accounting_date := l_acctng_event_rec.accounting_date;
1075    END IF;
1076 
1077    -- event_number
1078    IF p_acctng_event_rec.event_number = FND_API.g_miss_num THEN
1079       x_complete_rec.event_number := NULL;
1080    END IF;
1081    IF p_acctng_event_rec.event_number IS NULL THEN
1082       x_complete_rec.event_number := l_acctng_event_rec.event_number;
1083    END IF;
1084 
1085    -- event_status_code
1086    IF p_acctng_event_rec.event_status_code = FND_API.g_miss_char THEN
1087       x_complete_rec.event_status_code := NULL;
1088    END IF;
1089    IF p_acctng_event_rec.event_status_code IS NULL THEN
1090       x_complete_rec.event_status_code := l_acctng_event_rec.event_status_code;
1091    END IF;
1092 
1093    -- event_type_code
1094    IF p_acctng_event_rec.event_type_code = FND_API.g_miss_char THEN
1095       x_complete_rec.event_type_code := NULL;
1096    END IF;
1097    IF p_acctng_event_rec.event_type_code IS NULL THEN
1098       x_complete_rec.event_type_code := l_acctng_event_rec.event_type_code;
1099    END IF;
1100 
1101    -- org_id
1102    IF p_acctng_event_rec.org_id = FND_API.g_miss_num THEN
1103       x_complete_rec.org_id := NULL;
1104    END IF;
1105    IF p_acctng_event_rec.org_id IS NULL THEN
1106       x_complete_rec.org_id := l_acctng_event_rec.org_id;
1107    END IF;
1108 
1109    -- source_id
1110    IF p_acctng_event_rec.source_id = FND_API.g_miss_num THEN
1111       x_complete_rec.source_id := NULL;
1112    END IF;
1113    IF p_acctng_event_rec.source_id IS NULL THEN
1114       x_complete_rec.source_id := l_acctng_event_rec.source_id;
1115    END IF;
1116 
1117    -- source_table
1118    IF p_acctng_event_rec.source_table = FND_API.g_miss_char THEN
1119       x_complete_rec.source_table := NULL;
1120    END IF;
1121    IF p_acctng_event_rec.source_table IS NULL THEN
1122       x_complete_rec.source_table := l_acctng_event_rec.source_table;
1123    END IF;
1124 
1125    -- attribute_category
1126    IF p_acctng_event_rec.attribute_category = FND_API.g_miss_char THEN
1127       x_complete_rec.attribute_category := NULL;
1128    END IF;
1129    IF p_acctng_event_rec.attribute_category IS NULL THEN
1130       x_complete_rec.attribute_category := l_acctng_event_rec.attribute_category;
1131    END IF;
1132 
1133    -- attribute1
1134    IF p_acctng_event_rec.attribute1 = FND_API.g_miss_char THEN
1135       x_complete_rec.attribute1 := NULL;
1136    END IF;
1137    IF p_acctng_event_rec.attribute1 IS NULL THEN
1138       x_complete_rec.attribute1 := l_acctng_event_rec.attribute1;
1139    END IF;
1140 
1141    -- attribute2
1142    IF p_acctng_event_rec.attribute2 = FND_API.g_miss_char THEN
1143       x_complete_rec.attribute2 := NULL;
1144    END IF;
1145    IF p_acctng_event_rec.attribute2 IS NULL THEN
1146       x_complete_rec.attribute2 := l_acctng_event_rec.attribute2;
1147    END IF;
1148 
1149    -- attribute3
1150    IF p_acctng_event_rec.attribute3 = FND_API.g_miss_char THEN
1151       x_complete_rec.attribute3 := NULL;
1152    END IF;
1153    IF p_acctng_event_rec.attribute3 IS NULL THEN
1154       x_complete_rec.attribute3 := l_acctng_event_rec.attribute3;
1155    END IF;
1156 
1157    -- attribute4
1158    IF p_acctng_event_rec.attribute4 = FND_API.g_miss_char THEN
1159       x_complete_rec.attribute4 := NULL;
1160    END IF;
1161    IF p_acctng_event_rec.attribute4 IS NULL THEN
1162       x_complete_rec.attribute4 := l_acctng_event_rec.attribute4;
1163    END IF;
1164 
1165    -- attribute5
1166    IF p_acctng_event_rec.attribute5 = FND_API.g_miss_char THEN
1167       x_complete_rec.attribute5 := NULL;
1168    END IF;
1169    IF p_acctng_event_rec.attribute5 IS NULL THEN
1170       x_complete_rec.attribute5 := l_acctng_event_rec.attribute5;
1171    END IF;
1172 
1173    -- attribute6
1174    IF p_acctng_event_rec.attribute6 = FND_API.g_miss_char THEN
1175       x_complete_rec.attribute6 := NULL;
1176    END IF;
1177    IF p_acctng_event_rec.attribute6 IS NULL THEN
1178       x_complete_rec.attribute6 := l_acctng_event_rec.attribute6;
1179    END IF;
1180 
1181    -- attribute7
1182    IF p_acctng_event_rec.attribute7 = FND_API.g_miss_char THEN
1183       x_complete_rec.attribute7 := NULL;
1184    END IF;
1185    IF p_acctng_event_rec.attribute7 IS NULL THEN
1186       x_complete_rec.attribute7 := l_acctng_event_rec.attribute7;
1187    END IF;
1188 
1189    -- attribute8
1190    IF p_acctng_event_rec.attribute8 = FND_API.g_miss_char THEN
1191       x_complete_rec.attribute8 := NULL;
1192    END IF;
1193    IF p_acctng_event_rec.attribute8 IS NULL THEN
1194       x_complete_rec.attribute8 := l_acctng_event_rec.attribute8;
1195    END IF;
1196 
1197    -- attribute9
1198    IF p_acctng_event_rec.attribute9 = FND_API.g_miss_char THEN
1199       x_complete_rec.attribute9 := NULL;
1200    END IF;
1201    IF p_acctng_event_rec.attribute9 IS NULL THEN
1202       x_complete_rec.attribute9 := l_acctng_event_rec.attribute9;
1203    END IF;
1204 
1205    -- attribute10
1206    IF p_acctng_event_rec.attribute10 = FND_API.g_miss_char THEN
1207       x_complete_rec.attribute10 := NULL;
1208    END IF;
1209    IF p_acctng_event_rec.attribute10 IS NULL THEN
1210       x_complete_rec.attribute10 := l_acctng_event_rec.attribute10;
1211    END IF;
1212 
1213    -- attribute11
1214    IF p_acctng_event_rec.attribute11 = FND_API.g_miss_char THEN
1215       x_complete_rec.attribute11 := NULL;
1216    END IF;
1217    IF p_acctng_event_rec.attribute11 IS NULL THEN
1218       x_complete_rec.attribute11 := l_acctng_event_rec.attribute11;
1219    END IF;
1220 
1221    -- attribute12
1222    IF p_acctng_event_rec.attribute12 = FND_API.g_miss_char THEN
1223       x_complete_rec.attribute12 := NULL;
1224    END IF;
1225    IF p_acctng_event_rec.attribute12 IS NULL THEN
1226       x_complete_rec.attribute12 := l_acctng_event_rec.attribute12;
1227    END IF;
1228 
1229    -- attribute13
1230    IF p_acctng_event_rec.attribute13 = FND_API.g_miss_char THEN
1231       x_complete_rec.attribute13 := NULL;
1232    END IF;
1233    IF p_acctng_event_rec.attribute13 IS NULL THEN
1234       x_complete_rec.attribute13 := l_acctng_event_rec.attribute13;
1235    END IF;
1236 
1237    -- attribute14
1238    IF p_acctng_event_rec.attribute14 = FND_API.g_miss_char THEN
1239       x_complete_rec.attribute14 := NULL;
1240    END IF;
1241    IF p_acctng_event_rec.attribute14 IS NULL THEN
1242       x_complete_rec.attribute14 := l_acctng_event_rec.attribute14;
1243    END IF;
1244 
1245    -- attribute15
1246    IF p_acctng_event_rec.attribute15 = FND_API.g_miss_char THEN
1247       x_complete_rec.attribute15 := NULL;
1248    END IF;
1249    IF p_acctng_event_rec.attribute15 IS NULL THEN
1250       x_complete_rec.attribute15 := l_acctng_event_rec.attribute15;
1251    END IF;
1252 
1253    -- Note: Developers need to modify the procedure
1254    -- to handle any business specific requirements.
1255 END Complete_acctng_event_Rec;
1256 PROCEDURE Validate_acctng_events(
1257     p_api_version_number         IN   NUMBER,
1258     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
1259     p_validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
1260     p_acctng_event_rec               IN   acctng_event_rec_type,
1261     x_return_status              OUT NOCOPY  VARCHAR2,
1262     x_msg_count                  OUT NOCOPY  NUMBER,
1263     x_msg_data                   OUT NOCOPY  VARCHAR2
1264     )
1265  IS
1266 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Validate_Acctng_Events';
1267 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
1268 l_object_version_number     NUMBER;
1269 l_acctng_event_rec  OZF_Acctng_Events_PVT.acctng_event_rec_type;
1270 
1271  BEGIN
1272       -- Standard Start of API savepoint
1273       SAVEPOINT VALIDATE_Acctng_Events_;
1274 
1275       -- Standard call to check for call compatibility.
1276       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1277                                            p_api_version_number,
1278                                            l_api_name,
1279                                            G_PKG_NAME)
1280       THEN
1281           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1282       END IF;
1283 
1284       -- Initialize message list if p_init_msg_list is set to TRUE.
1285       IF FND_API.to_Boolean( p_init_msg_list )
1286       THEN
1287          FND_MSG_PUB.initialize;
1288       END IF;
1289       IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1290               Check_acctng_event_Items(
1291                  p_acctng_event_rec        => p_acctng_event_rec,
1292                  p_validation_mode   => JTF_PLSQL_API.g_update,
1293                  x_return_status     => x_return_status
1294               );
1295 
1296               IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1297                   RAISE FND_API.G_EXC_ERROR;
1298               ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1299                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1300               END IF;
1301       END IF;
1302 
1303       Complete_acctng_event_Rec(
1304          p_acctng_event_rec        => p_acctng_event_rec,
1305          x_complete_rec        => l_acctng_event_rec
1306       );
1307 
1308       IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1309          Validate_acctng_event_Rec(
1310            p_api_version_number     => 1.0,
1311            p_init_msg_list          => FND_API.G_FALSE,
1312            x_return_status          => x_return_status,
1313            x_msg_count              => x_msg_count,
1314            x_msg_data               => x_msg_data,
1315            p_acctng_event_rec           =>    l_acctng_event_rec);
1316 
1317               IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1318                  RAISE FND_API.G_EXC_ERROR;
1319               ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1320                  RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1321               END IF;
1322       END IF;
1323 
1324 
1325       -- Debug Message
1326       IF g_debug THEN
1327          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1328       END IF;
1329 
1330 
1331       -- Initialize API return status to SUCCESS
1332       x_return_status := FND_API.G_RET_STS_SUCCESS;
1333 
1334 
1335       -- Debug Message
1336       IF g_debug THEN
1337          OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1338       END IF;
1339 
1340       -- Standard call to get message count and if count is 1, get message info.
1341       FND_MSG_PUB.Count_And_Get
1342         (p_count          =>   x_msg_count,
1343          p_data           =>   x_msg_data
1344       );
1345 EXCEPTION
1346 
1347    WHEN OZF_Utility_PVT.resource_locked THEN
1348      x_return_status := FND_API.g_ret_sts_error;
1349  OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1350 
1351    WHEN FND_API.G_EXC_ERROR THEN
1352      ROLLBACK TO VALIDATE_Acctng_Events_;
1353      x_return_status := FND_API.G_RET_STS_ERROR;
1354      -- Standard call to get message count and if count=1, get the message
1355      FND_MSG_PUB.Count_And_Get (
1356             p_encoded => FND_API.G_FALSE,
1357             p_count   => x_msg_count,
1358             p_data    => x_msg_data
1359      );
1360 
1361    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1362      ROLLBACK TO VALIDATE_Acctng_Events_;
1363      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1364      -- Standard call to get message count and if count=1, get the message
1365      FND_MSG_PUB.Count_And_Get (
1366             p_encoded => FND_API.G_FALSE,
1367             p_count => x_msg_count,
1368             p_data  => x_msg_data
1369      );
1370 
1371    WHEN OTHERS THEN
1372      ROLLBACK TO VALIDATE_Acctng_Events_;
1373      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1374      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1375      THEN
1376         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1377      END IF;
1378      -- Standard call to get message count and if count=1, get the message
1379      FND_MSG_PUB.Count_And_Get (
1380             p_encoded => FND_API.G_FALSE,
1381             p_count => x_msg_count,
1382             p_data  => x_msg_data
1383      );
1384 End Validate_Acctng_Events;
1385 
1386 
1387 PROCEDURE Validate_acctng_event_rec(
1388     p_api_version_number         IN   NUMBER,
1389     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
1390     x_return_status              OUT NOCOPY  VARCHAR2,
1391     x_msg_count                  OUT NOCOPY  NUMBER,
1392     x_msg_data                   OUT NOCOPY  VARCHAR2,
1393     p_acctng_event_rec               IN    acctng_event_rec_type
1394     )
1395 IS
1396 BEGIN
1397       -- Initialize message list if p_init_msg_list is set to TRUE.
1398       IF FND_API.to_Boolean( p_init_msg_list )
1399       THEN
1400          FND_MSG_PUB.initialize;
1401       END IF;
1402 
1403       -- Initialize API return status to SUCCESS
1404       x_return_status := FND_API.G_RET_STS_SUCCESS;
1405 
1406       -- Hint: Validate data
1407       -- If data not valid
1408       -- THEN
1409       -- x_return_status := FND_API.G_RET_STS_ERROR;
1410 
1411       -- Debug Message
1412       IF g_debug THEN
1413          OZF_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1414       END IF;
1415       -- Standard call to get message count and if count is 1, get message info.
1416       FND_MSG_PUB.Count_And_Get
1417         (p_count          =>   x_msg_count,
1418          p_data           =>   x_msg_data
1419       );
1420 END Validate_acctng_event_Rec;
1421 
1422 END OZF_Acctng_Events_PVT;