DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_WRITEOFFS_PVT

Source


1 PACKAGE BODY IEX_WRITEOFFS_PVT as
2 /* $Header: iexvwrob.pls 120.2 2008/01/09 12:31:01 gnramasa ship $ */
3 -- Start of Comments
4 -- Package name     : IEX_writeoffs_PVT
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_WRITEOFFS_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvwrob.pls';
13 
14 
15 -- Hint: Primary key needs to be returned.
16 --PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
17 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
18 
19 PROCEDURE Create_writeoffs(
20     P_Api_Version_Number         IN   NUMBER,
21     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
22     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
23     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
24     P_writeoffs_Rec              IN    writeoffs_Rec_Type  := G_MISS_writeoffs_REC,
25     X_WRITEOFF_ID                OUT NOCOPY  NUMBER,
26     X_Return_Status              OUT NOCOPY  VARCHAR2,
27     X_Msg_Count                  OUT NOCOPY  NUMBER,
28     X_Msg_Data                   OUT NOCOPY  VARCHAR2
29     )
30 
31  IS
32 l_api_name                CONSTANT VARCHAR2(30) := 'CREATE_WRITEOFFS';
33 l_api_version_number      CONSTANT NUMBER   := 2.0;
34 l_return_status_full      VARCHAR2(1);
35 v_rowid                   VARCHAR2(24);
36 
37 v_writeoff_id             iex_writeoffs.writeoff_id%TYPE;
38 v_object_version_number   iex_writeoffs.object_version_number%TYPE;
39 v_active_flag             iex_writeoffs.active_flag%TYPE;
40 
41 Cursor c2 is SELECT IEX_WRITEOFFS_S.nextval from dual;
42  BEGIN
43 --      IF PG_DEBUG < 10  THEN
44       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
45          IEX_DEBUG_PUB.LogMessage ('Create_writeoffs: ' || '********* start of Procedure =>'||
46                     'IEX_WRITEOFFS_PVT.create_WRITEOFFS ******** ');
47       END IF;
48 
49   -- Standard Start of API savepoint
50       SAVEPOINT CREATE_WRITEOFFS_PVT;
51 
52       -- Standard call to check for call compatibility.
53       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
54                          	               p_api_version_number,
55                                            l_api_name,
56                                            G_PKG_NAME)
57       THEN
58           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59       END IF;
60 
61 
62       -- Initialize message list if p_init_msg_list is set to TRUE.
63       IF FND_API.to_Boolean( p_init_msg_list )
64       THEN
65           FND_MSG_PUB.initialize;
66       END IF;
67 
68       -- Initialize API return status to SUCCESS
69       x_return_status := FND_API.G_RET_STS_SUCCESS;
70 
71       --
72       -- API body
73       --
74       -- ******************************************************************
75       -- Validate Environment
76       -- ******************************************************************
77       IF FND_GLOBAL.User_Id IS NULL
78       THEN
79           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
80           THEN
81               FND_MESSAGE.Set_Name('IEX', 'IEX_CANNOT_GET_PROFILE_VALUE');
82               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
83               FND_MSG_PUB.ADD;
84           END IF;
85           RAISE FND_API.G_EXC_ERROR;
86       END IF;
87 --         IF PG_DEBUG < 10  THEN
88          IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
89             IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After Global user Check');
90          END IF;
91 
92       --object version Number
93          v_object_version_number :=1;
94 	    --Active_flag
95 	    v_active_flag :='Y';
96 --        IF PG_DEBUG < 10  THEN
97         IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
98            IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'Active Flag is  '|| v_active_flag);
99         END IF;
100 
101             OPEN C2;
102             FETCH C2 INTO v_writeoff_id;
103             CLOSE C2;
104 --        IF PG_DEBUG < 10  THEN
105            IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
106                IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After writeoff_id Check and writeoff_id is =>'||
107                                   v_writeoff_id);
108            END IF;
109 
110            IF (p_writeoffs_rec.writeoff_type IS NULL) OR
111                    (p_writeoffs_rec.writeoff_type= FND_API.G_MISS_CHAR) THEN
112                fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
113                fnd_message.set_token('API_NAME', l_api_name);
114                fnd_message.set_token('MISSING_PARAM', 'writeoff_type');
115                fnd_msg_pub.add;
116                RAISE FND_API.G_EXC_ERROR;
117            END IF;
118 
119            IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
120               IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After writeoff_type Check ');
121            END IF;
122 
123            IF (p_writeoffs_rec.writeoff_reason IS NULL) OR
124                    (p_writeoffs_rec.writeoff_reason= FND_API.G_MISS_CHAR) THEN
125                fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
126                fnd_message.set_token('API_NAME', l_api_name);
127                fnd_message.set_token('MISSING_PARAM', 'writeoff_reason');
128                fnd_msg_pub.add;
129                RAISE FND_API.G_EXC_ERROR;
130            END IF;
131 
132            IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
133               IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After writeoff_reason Check ');
134            END IF;
135 
136            IF (p_writeoffs_rec.party_id IS NULL) OR
137                    (p_writeoffs_rec.party_id = FND_API.G_MISS_NUM) THEN
138                fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
139                fnd_message.set_token('API_NAME', l_api_name);
140                fnd_message.set_token('MISSING_PARAM', 'party_id');
141                fnd_msg_pub.add;
142                RAISE FND_API.G_EXC_ERROR;
143            END IF;
144            IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
145               IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After party_id Check ');
146            END IF;
147 
148 
149       IEX_WRITEOFFS_PKG.Insert_Row(
150           x_rowid                   => v_rowid,
151           p_WRITEOFF_ID             => v_WRITEOFF_ID,
152           p_PARTY_ID                => p_writeoffs_rec.PARTY_ID,
153           p_DELINQUENCY_ID          => p_writeoffs_rec.DELINQUENCY_ID,
154           p_CAS_ID                  => p_writeoffs_rec.CAS_ID,
155           p_CUST_ACCOUNT_ID         => p_writeoffs_rec.CUST_ACCOUNT_ID,
156           p_DISPOSITION_CODE        => p_writeoffs_rec.DISPOSITION_CODE,
157           p_OBJECT_ID               => p_writeoffs_rec.OBJECT_ID,
158           p_OBJECT_CODE             => p_writeoffs_rec.OBJECT_CODE,
159           p_WRITEOFF_TYPE           => p_writeoffs_rec.WRITEOFF_TYPE,
160           p_ACTIVE_FLAG             => v_ACTIVE_FLAG,
161           p_OBJECT_VERSION_NUMBER   => v_OBJECT_VERSION_NUMBER,
162           p_WRITEOFF_REASON         => p_writeoffs_rec.WRITEOFF_REASON,
163           p_WRITEOFF_AMOUNT         => p_writeoffs_rec.WRITEOFF_AMOUNT,
164           p_WRITEOFF_CURRENCY_CODE  => p_writeoffs_rec.WRITEOFF_CURRENCY_CODE,
165           p_WRITEOFF_DATE           => p_writeoffs_rec.WRITEOFF_DATE,
166           p_WRITEOFF_REQUEST_DATE   => p_writeoffs_rec.WRITEOFF_REQUEST_DATE,
167           p_WRITEOFF_PROCESS        => p_writeoffs_rec.WRITEOFF_PROCESS,
168           p_WRITEOFF_SCORE          => p_writeoffs_rec.WRITEOFF_SCORE,
169           p_BAD_DEBT_REASON         => p_writeoffs_rec.BAD_DEBT_REASON,
170           p_LEASING_CODE            => p_writeoffs_rec.LEASING_CODE,
171           p_REPOSSES_SCH_DATE       => p_writeoffs_rec.REPOSSES_SCH_DATE,
172           p_REPOSSES_COMP_DATE      => p_writeoffs_rec.REPOSSES_COMP_DATE,
173           p_CREDIT_HOLD_YN          => p_writeoffs_rec.CREDIT_HOLD_YN,
174           p_APPROVER_ID             => p_writeoffs_rec.APPROVER_ID,
175           p_EXTERNAL_AGENT_ID       => p_writeoffs_rec.EXTERNAL_AGENT_ID,
176           p_PROCEDURE_CODE              => p_writeoffs_rec.PROCEDURE_CODE,
177           p_CHECKLIST_CODE              => p_writeoffs_rec.CHECKLIST_CODE,
178           p_REQUEST_ID              => p_writeoffs_rec.REQUEST_ID,
179           p_PROGRAM_APPLICATION_ID  => p_writeoffs_rec.PROGRAM_APPLICATION_ID,
180           p_PROGRAM_ID              => p_writeoffs_rec.PROGRAM_ID,
181           p_PROGRAM_UPDATE_DATE     => p_writeoffs_rec.PROGRAM_UPDATE_DATE,
182           p_ATTRIBUTE_CATEGORY      => p_writeoffs_rec.ATTRIBUTE_CATEGORY,
183           p_ATTRIBUTE1              => p_writeoffs_rec.ATTRIBUTE1,
184           p_ATTRIBUTE2              => p_writeoffs_rec.ATTRIBUTE2,
185           p_ATTRIBUTE3              => p_writeoffs_rec.ATTRIBUTE3,
186           p_ATTRIBUTE4              => p_writeoffs_rec.ATTRIBUTE4,
187           p_ATTRIBUTE5              => p_writeoffs_rec.ATTRIBUTE5,
188           p_ATTRIBUTE6              => p_writeoffs_rec.ATTRIBUTE6,
189           p_ATTRIBUTE7              => p_writeoffs_rec.ATTRIBUTE7,
190           p_ATTRIBUTE8              => p_writeoffs_rec.ATTRIBUTE8,
191           p_ATTRIBUTE9              => p_writeoffs_rec.ATTRIBUTE9,
192           p_ATTRIBUTE10             => p_writeoffs_rec.ATTRIBUTE10,
193           p_ATTRIBUTE11             => p_writeoffs_rec.ATTRIBUTE11,
194           p_ATTRIBUTE12             => p_writeoffs_rec.ATTRIBUTE12,
195           p_ATTRIBUTE13             => p_writeoffs_rec.ATTRIBUTE13,
196           p_ATTRIBUTE14             => p_writeoffs_rec.ATTRIBUTE14,
197           p_ATTRIBUTE15             => p_writeoffs_rec.ATTRIBUTE15,
198           p_CREATED_BY              => FND_GLOBAL.USER_ID,
199           p_CREATION_DATE           => SYSDATE,
200           p_LAST_UPDATED_BY         => FND_GLOBAL.USER_ID,
201           p_LAST_UPDATE_DATE        => SYSDATE,
202           p_LAST_UPDATE_LOGIN       => p_writeoffs_rec.LAST_UPDATE_LOGIN
203          ,p_CREDIT_HOLD_REQUEST_FLAG   => p_writeoffs_rec.CREDIT_HOLD_REQUEST_FLAG
204          ,p_CREDIT_HOLD_APPROVED_FLAG  => p_writeoffs_rec.CREDIT_HOLD_APPROVED_FLAG
205          ,p_SERVICE_HOLD_REQUEST_FLAG  => p_writeoffs_rec.SERVICE_HOLD_REQUEST_FLAG
206          ,p_SERVICE_HOLD_APPROVED_FLAG => p_writeoffs_rec.SERVICE_HOLD_APPROVED_FLAG
207          ,p_SUGGESTION_APPROVED_FLAG   => p_writeoffs_rec.SUGGESTION_APPROVED_FLAG
208          ,p_CUSTOMER_SITE_USE_ID      => p_writeoffs_rec.CUSTOMER_SITE_USE_ID
209          ,p_ORG_ID                    => p_writeoffs_rec.ORG_ID
210          ,p_CONTRACT_ID               => p_writeoffs_rec.CONTRACT_ID
211          ,p_CONTRACT_NUMBER           => p_writeoffs_rec.CONTRACT_NUMBER
212          );
213 
214 
215 
216         x_WRITEOFF_ID := v_WRITEOFF_ID;
217 --        IF PG_DEBUG < 10  THEN
218         IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
219            IEX_DEBUG_PUB.LogMessage('Create_writeoffs: ' || 'After Calling IEX_WRITEOFFS_PKG.'||
220                             'Insert_Row and WRITEOFF_ID is => '||x_WRITEOFF_ID);
221         END IF;
222           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
223               RAISE FND_API.G_EXC_ERROR;
224           END IF;
225 
226       --
227       -- End of API body
228       --
229 
230       -- Standard check for p_commit
231       IF FND_API.to_Boolean( p_commit )
232       THEN
233           COMMIT WORK;
234       END IF;
235 
236 
237 
238       -- Standard call to get message count and if count is 1, get message info.
239       FND_MSG_PUB.Count_And_Get
240       (  p_count          =>   x_msg_count,
241          p_data           =>   x_msg_data
242       );
243 --      IF PG_DEBUG < 10  THEN
244       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
245          IEX_DEBUG_PUB.LogMessage ('Create_writeoffs: ' || '********* end of Procedure =>'||
246                'IEX_WRITEOFFS_PVT.create_WRITEOFFS ******** ');
247       END IF;
248 
249       EXCEPTION
250           WHEN FND_API.G_EXC_ERROR THEN
251               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
252                    P_API_NAME => L_API_NAME
253                   ,P_PKG_NAME => G_PKG_NAME
254                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
255                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
256                   ,X_MSG_COUNT => X_MSG_COUNT
257                   ,X_MSG_DATA => X_MSG_DATA
258                   ,X_RETURN_STATUS => X_RETURN_STATUS);
259 
260           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
261               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
262                    P_API_NAME => L_API_NAME
263                   ,P_PKG_NAME => G_PKG_NAME
264                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
265                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
266                   ,X_MSG_COUNT => X_MSG_COUNT
267                   ,X_MSG_DATA => X_MSG_DATA
268                   ,X_RETURN_STATUS => X_RETURN_STATUS);
269 
270           WHEN OTHERS THEN
271               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
272                    P_API_NAME => L_API_NAME
273                   ,P_PKG_NAME => G_PKG_NAME
274                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
275                   ,P_SQLCODE => SQLCODE
276                   ,P_SQLERRM => SQLERRM
277                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
278                   ,X_MSG_COUNT => X_MSG_COUNT
279                   ,X_MSG_DATA => X_MSG_DATA
280                   ,X_RETURN_STATUS => X_RETURN_STATUS);
281 End Create_writeoffs;
282 
283 
284 PROCEDURE Update_writeoffs(
285     P_Api_Version_Number         IN   NUMBER,
286     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
287     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
288     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
289     P_writeoffs_Rec              IN    writeoffs_Rec_Type,
290     X_Return_Status              OUT NOCOPY  VARCHAR2,
291     X_Msg_Count                  OUT NOCOPY  NUMBER,
292     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
293     xo_object_version_number     OUT NOCOPY NUMBER
294     ) IS
295 
296 l_api_name                CONSTANT VARCHAR2(30) := 'UPDATE_WRITEOFFS';
297 l_api_version_number      CONSTANT NUMBER   := 2.0;
298 l_object_version_number   number := 1.0;
299 /*
300 l_object_version_number   iex_writeoffs.object_version_number%TYPE
301                             :=p_writeoffs_Rec.object_version_number;
302 */
303 BEGIN
304 --     IF PG_DEBUG < 10  THEN
305      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
306         IEX_DEBUG_PUB.LogMessage ('Update_writeoffs: ' || '********* start of Procedure =>'||
307             'IEX_WRITEOFFS_PVT.update_WRITEOFFS ******** ');
308      END IF;
309       -- Standard Start of API savepoint
310       SAVEPOINT UPDATE_WRITEOFFS_PVT;
311 
312       -- Standard call to check for call compatibility.
313       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
314                           	               p_api_version_number,
315                                            l_api_name,
316                                            G_PKG_NAME)
317       THEN
318           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
319       END IF;
320 
321 
322       -- Initialize message list if p_init_msg_list is set to TRUE.
323       IF FND_API.to_Boolean( p_init_msg_list )
324       THEN
325           FND_MSG_PUB.initialize;
326       END IF;
327 
328 
329 
330       -- Initialize API return status to SUCCESS
331       x_return_status := FND_API.G_RET_STS_SUCCESS;
332 
333       --
334       -- Api body
335       --
336 
337      -- Invoke table handler(IEX_CASES_ALL_B_PKG.Update_Row)
338       -- call locking table handler
339       /*
340       IEX_WRITEOFFS_PKG.lock_row (
341          P_WRITEOFFS_Rec.writeoff_id,
342          l_object_version_number
343       );
344      */
345      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
346         IEX_DEBUG_PUB.LogMessage ('IEX_WRITEOFFS_PVT.update_WRITEOFFS, before calling IEX_WRITEOFFS_PKG.Update_Row');
347       END IF;
348 
349       -- Invoke table handler(IEX_WRITEOFFS_PKG.Update_Row)
350       IEX_WRITEOFFS_PKG.Update_Row(
351           p_WRITEOFF_ID             => p_writeoffs_rec.WRITEOFF_ID,
352           p_PARTY_ID                => p_writeoffs_rec.PARTY_ID,
353           p_DELINQUENCY_ID          => p_writeoffs_rec.DELINQUENCY_ID,
354           p_CAS_ID                  => p_writeoffs_rec.CAS_ID,
355           p_CUST_ACCOUNT_ID         => p_writeoffs_rec.CUST_ACCOUNT_ID,
356           p_DISPOSITION_CODE        => p_writeoffs_rec.DISPOSITION_CODE,
357           p_OBJECT_ID               => p_writeoffs_rec.OBJECT_ID,
358           p_OBJECT_CODE             => p_writeoffs_rec.OBJECT_CODE,
359           p_WRITEOFF_TYPE           => p_writeoffs_rec.WRITEOFF_TYPE,
360           p_ACTIVE_FLAG             => p_writeoffs_rec.ACTIVE_FLAG,
361           p_OBJECT_VERSION_NUMBER   => l_OBJECT_VERSION_NUMBER + 1,
362           p_WRITEOFF_REASON         => p_writeoffs_rec.WRITEOFF_REASON,
363           p_WRITEOFF_AMOUNT         => p_writeoffs_rec.WRITEOFF_AMOUNT,
364           p_WRITEOFF_CURRENCY_CODE  => p_writeoffs_rec.WRITEOFF_CURRENCY_CODE,
365           p_WRITEOFF_DATE           => p_writeoffs_rec.WRITEOFF_DATE,
366           p_WRITEOFF_REQUEST_DATE   => p_writeoffs_rec.WRITEOFF_REQUEST_DATE,
367           p_WRITEOFF_PROCESS        => p_writeoffs_rec.WRITEOFF_PROCESS,
368           p_WRITEOFF_SCORE          => p_writeoffs_rec.WRITEOFF_SCORE,
369           p_BAD_DEBT_REASON         => p_writeoffs_rec.BAD_DEBT_REASON,
370           p_LEASING_CODE            => p_writeoffs_rec.LEASING_CODE,
371           p_REPOSSES_SCH_DATE       => p_writeoffs_rec.REPOSSES_SCH_DATE,
372           p_REPOSSES_COMP_DATE      => p_writeoffs_rec.REPOSSES_COMP_DATE,
373           p_CREDIT_HOLD_YN          => p_writeoffs_rec.CREDIT_HOLD_YN,
374           p_APPROVER_ID             => p_writeoffs_rec.APPROVER_ID,
375           p_EXTERNAL_AGENT_ID       => p_writeoffs_rec.EXTERNAL_AGENT_ID,
376           p_PROCEDURE_CODE          => p_writeoffs_rec.PROCEDURE_CODE,
377           p_CHECKLIST_CODE          => p_writeoffs_rec.CHECKLIST_CODE,
378           p_REQUEST_ID              => p_writeoffs_rec.REQUEST_ID,
379           p_PROGRAM_APPLICATION_ID  => p_writeoffs_rec.PROGRAM_APPLICATION_ID,
380           p_PROGRAM_ID              => p_writeoffs_rec.PROGRAM_ID,
381           p_PROGRAM_UPDATE_DATE     => p_writeoffs_rec.PROGRAM_UPDATE_DATE,
382           p_ATTRIBUTE_CATEGORY      => p_writeoffs_rec.ATTRIBUTE_CATEGORY,
383           p_ATTRIBUTE1              => p_writeoffs_rec.ATTRIBUTE1,
384           p_ATTRIBUTE2              => p_writeoffs_rec.ATTRIBUTE2,
385           p_ATTRIBUTE3              => p_writeoffs_rec.ATTRIBUTE3,
386           p_ATTRIBUTE4              => p_writeoffs_rec.ATTRIBUTE4,
387           p_ATTRIBUTE5              => p_writeoffs_rec.ATTRIBUTE5,
388           p_ATTRIBUTE6              => p_writeoffs_rec.ATTRIBUTE6,
389           p_ATTRIBUTE7              => p_writeoffs_rec.ATTRIBUTE7,
390           p_ATTRIBUTE8              => p_writeoffs_rec.ATTRIBUTE8,
391           p_ATTRIBUTE9              => p_writeoffs_rec.ATTRIBUTE9,
392           p_ATTRIBUTE10             => p_writeoffs_rec.ATTRIBUTE10,
393           p_ATTRIBUTE11             => p_writeoffs_rec.ATTRIBUTE11,
394           p_ATTRIBUTE12             => p_writeoffs_rec.ATTRIBUTE12,
395           p_ATTRIBUTE13             => p_writeoffs_rec.ATTRIBUTE13,
396           p_ATTRIBUTE14             => p_writeoffs_rec.ATTRIBUTE14,
397           p_ATTRIBUTE15             => p_writeoffs_rec.ATTRIBUTE15,
398           p_LAST_UPDATED_BY         => FND_GLOBAL.USER_ID,
399           p_LAST_UPDATE_DATE        => SYSDATE,
400           p_LAST_UPDATE_LOGIN       => p_writeoffs_rec.LAST_UPDATE_LOGIN
401          ,p_CREDIT_HOLD_REQUEST_FLAG   => p_writeoffs_rec.CREDIT_HOLD_REQUEST_FLAG
402          ,p_CREDIT_HOLD_APPROVED_FLAG  => p_writeoffs_rec.CREDIT_HOLD_APPROVED_FLAG
403          ,p_SERVICE_HOLD_REQUEST_FLAG  => p_writeoffs_rec.SERVICE_HOLD_REQUEST_FLAG
404          ,p_SERVICE_HOLD_APPROVED_FLAG => p_writeoffs_rec.SERVICE_HOLD_APPROVED_FLAG
405          ,p_SUGGESTION_APPROVED_FLAG   => p_writeoffs_rec.SUGGESTION_APPROVED_FLAG
406          ,p_CUSTOMER_SITE_USE_ID      => p_writeoffs_rec.CUSTOMER_SITE_USE_ID
407          ,p_ORG_ID                    => p_writeoffs_rec.ORG_ID
408          ,p_CONTRACT_ID               => p_writeoffs_rec.CONTRACT_ID
409          ,p_CONTRACT_NUMBER           => p_writeoffs_rec.CONTRACT_NUMBER
410          );
411 
412       --
413       -- End of API body.
414       --
415       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
416         IEX_DEBUG_PUB.LogMessage ('IEX_WRITEOFFS_PVT.update_WRITEOFFS is successfull');
417       END IF;
418       -- Standard check for p_commit
419       IF FND_API.to_Boolean( p_commit )
420       THEN
421           COMMIT WORK;
422       END IF;
423 
424     -- Standard call to get message count and if count is 1, get message info.
425       FND_MSG_PUB.Count_And_Get
426       (  p_count          =>   x_msg_count,
427          p_data           =>   x_msg_data
428       );
429 
430 --     IF PG_DEBUG < 10  THEN
431      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
432         IEX_DEBUG_PUB.LogMessage ('Update_writeoffs: ' || '********* END of Procedure =>'||
433              'IEX_WRITEOFFS_PVT.update_WRITEOFFS ******** ');
434      END IF;
435 
436 
437       EXCEPTION
438           WHEN FND_API.G_EXC_ERROR THEN
439               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
440                    P_API_NAME => L_API_NAME
441                   ,P_PKG_NAME => G_PKG_NAME
442                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
443                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
444                   ,X_MSG_COUNT => X_MSG_COUNT
445                   ,X_MSG_DATA => X_MSG_DATA
446                   ,X_RETURN_STATUS => X_RETURN_STATUS);
447 
448           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
449               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
450                    P_API_NAME => L_API_NAME
451                   ,P_PKG_NAME => G_PKG_NAME
452                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
453                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
454                   ,X_MSG_COUNT => X_MSG_COUNT
455                   ,X_MSG_DATA => X_MSG_DATA
456                   ,X_RETURN_STATUS => X_RETURN_STATUS);
457 
458           WHEN OTHERS THEN
459               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
460                    P_API_NAME => L_API_NAME
461                   ,P_PKG_NAME => G_PKG_NAME
462                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
463                   ,P_SQLCODE => SQLCODE
464                   ,P_SQLERRM => SQLERRM
465                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
466                   ,X_MSG_COUNT => X_MSG_COUNT
467                   ,X_MSG_DATA => X_MSG_DATA
468                   ,X_RETURN_STATUS => X_RETURN_STATUS);
469 End Update_writeoffs;
470 
471 
472 PROCEDURE Delete_writeoffs(
473     P_Api_Version_Number         IN   NUMBER,
474     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
475     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
476     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
477     P_writeoff_id                IN   NUMBER,
478     X_Return_Status              OUT NOCOPY  VARCHAR2,
479     X_Msg_Count                  OUT NOCOPY  NUMBER,
480     X_Msg_Data                   OUT NOCOPY  VARCHAR2
481     )
482 
483  IS
484 l_api_name                CONSTANT VARCHAR2(30) := 'DELETE_WRITEOFFS';
485 l_api_version_number      CONSTANT NUMBER   := 2.0;
486 
487  BEGIN
488 --       IF PG_DEBUG < 10  THEN
489        IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
490           IEX_DEBUG_PUB.LogMessage ('Delete_writeoffs: ' || '********* Start of Procedure =>'||
491                      'IEX_WRITEOFFS_PVT.DELETE_WRITEOFFS ******** ');
492        END IF;
493 
494 
495       -- Standard Start of API savepoint
496       SAVEPOINT DELETE_WRITEOFFS_PVT;
497 
498       -- Standard call to check for call compatibility.
499       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
500                             	           p_api_version_number,
501                                            l_api_name,
502                                            G_PKG_NAME)
503       THEN
504           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
505       END IF;
506 
507 
508       -- Initialize message list if p_init_msg_list is set to TRUE.
509       IF FND_API.to_Boolean( p_init_msg_list )
510       THEN
511           FND_MSG_PUB.initialize;
512       END IF;
513 
514 
515 
516       -- Initialize API return status to SUCCESS
517       x_return_status := FND_API.G_RET_STS_SUCCESS;
518 
519       --
520       -- Api body
521       --
522 
523       -- Invoke table handler(IEX_WRITEOFFS_PKG.Delete_Row)
524          IEX_WRITEOFFS_PKG.Delete_Row(
525           p_WRITEOFF_ID  => p_WRITEOFF_ID);
526       --
527       -- End of API body
528       --
529 
530       -- Standard check for p_commit
531       IF FND_API.to_Boolean( p_commit )
532       THEN
533           COMMIT WORK;
534       END IF;
535 
536 
537 --       IF PG_DEBUG < 10  THEN
538        IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
539           IEX_DEBUG_PUB.LogMessage ('Delete_writeoffs: ' || '********* End of Procedure =>'||
540                     'IEX_WRITEOFFS_PVT.DELETE_WRITEOFFS ******** ');
541        END IF;
542 
543 
544       -- Standard call to get message count and if count is 1, get message info.
545       FND_MSG_PUB.Count_And_Get
546       (  p_count          =>   x_msg_count,
547          p_data           =>   x_msg_data
548       );
549 
550       EXCEPTION
551           WHEN FND_API.G_EXC_ERROR THEN
552               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
553                    P_API_NAME => L_API_NAME
554                   ,P_PKG_NAME => G_PKG_NAME
555                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
556                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
557                   ,X_MSG_COUNT => X_MSG_COUNT
558                   ,X_MSG_DATA => X_MSG_DATA
559                   ,X_RETURN_STATUS => X_RETURN_STATUS);
560 
561           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
562               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
563                    P_API_NAME => L_API_NAME
564                   ,P_PKG_NAME => G_PKG_NAME
565                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
566                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
567                   ,X_MSG_COUNT => X_MSG_COUNT
568                   ,X_MSG_DATA => X_MSG_DATA
569                   ,X_RETURN_STATUS => X_RETURN_STATUS);
570 
571           WHEN OTHERS THEN
572               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
573                    P_API_NAME => L_API_NAME
574                   ,P_PKG_NAME => G_PKG_NAME
575                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
576                   ,P_SQLCODE => SQLCODE
577                   ,P_SQLERRM => SQLERRM
578                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
579                   ,X_MSG_COUNT => X_MSG_COUNT
580                   ,X_MSG_DATA => X_MSG_DATA
581                   ,X_RETURN_STATUS => X_RETURN_STATUS);
582 End Delete_writeoffs;
583 
584 
585 
586 End IEX_WRITEOFFS_PVT;