[Home] [Help]
PACKAGE BODY: APPS.AML_MONITOR_CONDITIONS_PVT
Source
1 PACKAGE BODY AML_MONITOR_CONDITIONS_PVT as
2 /* $Header: amlvlmcb.pls 115.6 2003/01/23 03:41:23 swkhanna noship $ */
3 -- Start of Comments
4 -- Package name : AML_MONITOR_CONDITIONS_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AML_MONITOR_CONDITIONS_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amlvlmcb.pls';
13 AS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
14
15 -- ********************************************************
16 -- PROCEDURE : Create_Monitor_Condition
17 --
18 -- ********************************************************
19 PROCEDURE Create_monitor_condition(
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_Identity_Resource_Id IN NUMBER,
25 P_CONDITION_Rec IN AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type,
26 X_MONITOR_CONDITION_ID OUT NOCOPY NUMBER,
27 X_Return_Status OUT NOCOPY VARCHAR2,
28 X_Msg_Count OUT NOCOPY NUMBER,
29 X_Msg_Data OUT NOCOPY VARCHAR2
30 )
31
32 IS
33 l_api_name CONSTANT VARCHAR2(30) := 'Create_monitor_condition';
34 l_api_version_number CONSTANT NUMBER := 2.0;
35 l_return_status_full VARCHAR2(1);
36 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
37 l_access_flag VARCHAR2(1);
38 BEGIN
39 -- Standard Start of API savepoint
40 SAVEPOINT CREATE_MONITOR_CONDITION_PVT;
41
42 -- Standard call to check for call compatibility.
43 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
44 p_api_version_number,
45 l_api_name,
46 G_PKG_NAME)
47 THEN
48 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
49 END IF;
50
51
52 -- Initialize message list if p_init_msg_list is set to TRUE.
53 IF FND_API.to_Boolean( p_init_msg_list )
54 THEN
55 FND_MSG_PUB.initialize;
56 END IF;
57
58 -- Debug Message
59 IF (AS_DEBUG_LOW_ON) THEN
60 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
61 END IF;
62
63
64 -- Initialize API return status to SUCCESS
65 x_return_status := FND_API.G_RET_STS_SUCCESS;
66
67 --
68 -- API body
69 --
70 -- ******************************************************************
71 -- Validate Environment
72 -- ******************************************************************
73 IF FND_GLOBAL.User_Id IS NULL
74 THEN
75 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
76 THEN
77 FND_MESSAGE.Set_Name('AMS', 'UT_CANNOT_GET_PROFILE_VALUE');
78 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
79 FND_MSG_PUB.ADD;
80 END IF;
81 RAISE FND_API.G_EXC_ERROR;
82 END IF;
83
84 -- Debug message
85 IF (AS_DEBUG_LOW_ON) THEN
86 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Validate_monitor_condition');
87 END IF;
88
89 -- Invoke validation procedures
90 Validate_monitor_condition(
91 p_init_msg_list => FND_API.G_FALSE,
92 p_validation_level => p_validation_level,
93 p_validation_mode => AS_UTILITY_PVT.G_CREATE,
94 P_CONDITION_Rec => P_CONDITION_Rec,
95 x_return_status => x_return_status,
96 x_msg_count => x_msg_count,
97 x_msg_data => x_msg_data);
98
99 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
100 RAISE FND_API.G_EXC_ERROR;
101 END IF;
102
103
104
105 -- Debug Message
106 IF (AS_DEBUG_LOW_ON) THEN
107 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling create table handler');
108 END IF;
109
110
111 -- Invoke table handler(AML_MONITOR_CONDITIONS_PKG.Insert_Row)
112 AML_MONITOR_CONDITIONS_PKG.Insert_Row(
113 px_MONITOR_CONDITION_ID => x_MONITOR_CONDITION_ID
114 ,p_LAST_UPDATE_DATE => SYSDATE
115 ,p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID
116 ,p_CREATION_DATE => SYSDATE
117 ,p_CREATED_BY => FND_GLOBAL.USER_ID
118 ,p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID
119 ,p_OBJECT_VERSION_NUMBER => p_CONDITION_rec.OBJECT_VERSION_NUMBER
120 ,p_REQUEST_ID => p_CONDITION_rec.REQUEST_ID
121 ,p_PROGRAM_APPLICATION_ID => p_CONDITION_rec.PROGRAM_APPLICATION_ID
122 ,p_PROGRAM_ID => p_CONDITION_rec.PROGRAM_ID
123 ,p_PROGRAM_UPDATE_DATE => p_CONDITION_rec.PROGRAM_UPDATE_DATE
124 ,p_PROCESS_RULE_ID => p_CONDITION_rec.PROCESS_RULE_ID
125 ,p_MONITOR_TYPE_CODE => p_CONDITION_rec.MONITOR_TYPE_CODE
126 ,p_TIME_LAG_NUM => p_CONDITION_rec.TIME_LAG_NUM
127 ,p_TIME_LAG_UOM_CODE => p_CONDITION_rec.TIME_LAG_UOM_CODE
128 ,p_TIME_LAG_FROM_STAGE => p_CONDITION_rec.TIME_LAG_FROM_STAGE
129 ,p_TIME_LAG_TO_STAGE => p_CONDITION_rec.TIME_LAG_TO_STAGE
130 ,p_Expiration_Relative => p_CONDITION_rec.Expiration_Relative
131 ,p_Reminder_Defined => p_CONDITION_rec.Reminder_Defined
132 ,p_Total_Reminders => p_CONDITION_rec.Total_Reminders
133 ,p_Reminder_Frequency => p_CONDITION_rec.Reminder_Frequency
134 ,p_Reminder_Freq_uom_code => p_CONDITION_rec.Reminder_Freq_uom_code
135 ,p_Timeout_Defined => p_CONDITION_rec.Timeout_Defined
136 ,p_Timeout_Duration => p_CONDITION_rec.Timeout_Duration
137 ,p_Timeout_uom_code => p_CONDITION_rec.Timeout_uom_code
138 ,p_Notify_Owner => p_CONDITION_rec.Notify_Owner
139 ,p_Notify_Owner_Manager => p_CONDITION_rec.Notify_Owner_Manager
140 ,p_ATTRIBUTE_CATEGORY => p_CONDITION_rec.ATTRIBUTE_CATEGORY
141 ,p_ATTRIBUTE1 => p_CONDITION_rec.ATTRIBUTE1
142 ,p_ATTRIBUTE2 => p_CONDITION_rec.ATTRIBUTE2
143 ,p_ATTRIBUTE3 => p_CONDITION_rec.ATTRIBUTE3
144 ,p_ATTRIBUTE4 => p_CONDITION_rec.ATTRIBUTE4
145 ,p_ATTRIBUTE5 => p_CONDITION_rec.ATTRIBUTE5
146 ,p_ATTRIBUTE6 => p_CONDITION_rec.ATTRIBUTE6
147 ,p_ATTRIBUTE7 => p_CONDITION_rec.ATTRIBUTE7
148 ,p_ATTRIBUTE8 => p_CONDITION_rec.ATTRIBUTE8
149 ,p_ATTRIBUTE9 => p_CONDITION_rec.ATTRIBUTE9
150 ,p_ATTRIBUTE10 => p_CONDITION_rec.ATTRIBUTE10
151 ,p_ATTRIBUTE11 => p_CONDITION_rec.ATTRIBUTE11
152 ,p_ATTRIBUTE12 => p_CONDITION_rec.ATTRIBUTE12
153 ,p_ATTRIBUTE13 => p_CONDITION_rec.ATTRIBUTE13
154 ,p_ATTRIBUTE14 => p_CONDITION_rec.ATTRIBUTE14
155 ,p_ATTRIBUTE15 => p_CONDITION_rec.ATTRIBUTE15
156 ); -- Hint: Primary key should be returned.
157 -- x_MONITOR_CONDITION_ID := px_MONITOR_CONDITION_ID;
158
159 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
160 RAISE FND_API.G_EXC_ERROR;
161 END IF;
162
163 --
164 -- End of API body
165 --
166
167 -- Standard check for p_commit
168 IF FND_API.to_Boolean( p_commit )
169 THEN
170 COMMIT WORK;
171 END IF;
172
173
174 -- Debug Message
175 IF (AS_DEBUG_LOW_ON) THEN
176 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
177 END IF;
178
179
180 -- Standard call to get message count and if count is 1, get message info.
181 FND_MSG_PUB.Count_And_Get
182 ( p_count => x_msg_count,
183 p_data => x_msg_data
184 );
185
186 EXCEPTION
187 WHEN FND_API.G_EXC_ERROR THEN
188 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
189 P_API_NAME => L_API_NAME
190 ,P_PKG_NAME => G_PKG_NAME
191 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
192 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
193 ,X_MSG_COUNT => X_MSG_COUNT
194 ,X_MSG_DATA => X_MSG_DATA
195 ,X_RETURN_STATUS => X_RETURN_STATUS);
196
197 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
198 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
199 P_API_NAME => L_API_NAME
200 ,P_PKG_NAME => G_PKG_NAME
201 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
202 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
203 ,X_MSG_COUNT => X_MSG_COUNT
204 ,X_MSG_DATA => X_MSG_DATA
205 ,X_RETURN_STATUS => X_RETURN_STATUS);
206
207 WHEN OTHERS THEN
208 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
209 P_API_NAME => L_API_NAME
210 ,P_PKG_NAME => G_PKG_NAME
211 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
212 ,P_SQLCODE => SQLCODE
213 ,P_SQLERRM => SQLERRM
214 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
215 ,X_MSG_COUNT => X_MSG_COUNT
216 ,X_MSG_DATA => X_MSG_DATA
217 ,X_RETURN_STATUS => X_RETURN_STATUS);
218 End Create_monitor_condition;
219 -- *******************************************************************
220 -- PROCEDURE : Update_monitor_condition
221 --
222 -- *******************************************************************
223
224 PROCEDURE Update_monitor_condition(
225 P_Api_Version_Number IN NUMBER,
226 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
227 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
228 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
229 p_identity_salesforce_id IN NUMBER,
230 P_CONDITION_Rec IN AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type,
231 X_Return_Status OUT NOCOPY VARCHAR2,
232 X_Msg_Count OUT NOCOPY NUMBER,
233 X_Msg_Data OUT NOCOPY VARCHAR2
234 )
235 IS
236
237 Cursor C_Get_monitor_condition(C_MONITOR_CONDITION_ID Number) IS
238 Select rowid,
239 MONITOR_CONDITION_ID,
240 LAST_UPDATE_DATE,
241 LAST_UPDATED_BY,
242 CREATION_DATE,
243 CREATED_BY,
244 LAST_UPDATE_LOGIN,
245 OBJECT_VERSION_NUMBER,
246 REQUEST_ID,
247 PROGRAM_APPLICATION_ID,
248 PROGRAM_ID,
249 PROGRAM_UPDATE_DATE,
250 PROCESS_RULE_ID,
251 MONITOR_TYPE_CODE,
252 TIME_LAG_NUM,
253 TIME_LAG_UOM_CODE,
254 TIME_LAG_FROM_STAGE,
255 TIME_LAG_TO_STAGE,
256 Expiration_Relative,
257 Reminder_Defined,
258 Total_Reminders,
259 Reminder_Frequency,
260 Reminder_Freq_uom_code,
261 Timeout_Defined,
262 Timeout_Duration,
263 Timeout_uom_code,
264 Notify_Owner,
265 Notify_Owner_Manager,
266 ATTRIBUTE_CATEGORY,
267 ATTRIBUTE1,
268 ATTRIBUTE2,
269 ATTRIBUTE3,
270 ATTRIBUTE4,
271 ATTRIBUTE5,
272 ATTRIBUTE6,
273 ATTRIBUTE7,
274 ATTRIBUTE8,
275 ATTRIBUTE9,
276 ATTRIBUTE10,
277 ATTRIBUTE11,
278 ATTRIBUTE12,
279 ATTRIBUTE13,
280 ATTRIBUTE14,
281 ATTRIBUTE15
282 From AML_MONITOR_CONDITIONS
283 where monitor_condition_id = c_monitor_condition_id
284 For Update NOWAIT;
285
286 l_api_name CONSTANT VARCHAR2(30) := 'Update_monitor_condition';
287 l_api_version_number CONSTANT NUMBER := 2.0;
288 -- Local Variables
289 l_ref_CONDITION_rec AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type;
290 l_tar_CONDITION_rec AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type := P_CONDITION_Rec;
291 l_rowid ROWID;
292 BEGIN
293 -- Standard Start of API savepoint
294 SAVEPOINT UPDATE_MONITOR_CONDITION_PVT;
295
296 -- Standard call to check for call compatibility.
297 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
298 p_api_version_number,
299 l_api_name,
300 G_PKG_NAME)
301 THEN
302 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303 END IF;
304
305
306 -- Initialize message list if p_init_msg_list is set to TRUE.
307 IF FND_API.to_Boolean( p_init_msg_list )
308 THEN
309 FND_MSG_PUB.initialize;
310 END IF;
311
312
313 -- Debug Message
314 IF (AS_DEBUG_LOW_ON) THEN
315 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
316 END IF;
317
318 -- Initialize API return status to SUCCESS
319 x_return_status := FND_API.G_RET_STS_SUCCESS;
320
321 --
322 -- Api body
323 --
324
325
326 -- Debug Message
327 IF (AS_DEBUG_LOW_ON) THEN
328 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: - Open Cursor to Select');
329 END IF;
330
331 Open C_Get_monitor_condition( l_tar_CONDITION_rec.MONITOR_CONDITION_ID);
332
333 Fetch C_Get_monitor_condition into
334 l_rowid,
335 l_ref_CONDITION_rec.MONITOR_CONDITION_ID,
336 l_ref_CONDITION_rec.LAST_UPDATE_DATE,
337 l_ref_CONDITION_rec.LAST_UPDATED_BY,
338 l_ref_CONDITION_rec.CREATION_DATE,
339 l_ref_CONDITION_rec.CREATED_BY,
340 l_ref_CONDITION_rec.LAST_UPDATE_LOGIN,
341 l_ref_CONDITION_rec.OBJECT_VERSION_NUMBER,
342 l_ref_CONDITION_rec.REQUEST_ID,
343 l_ref_CONDITION_rec.PROGRAM_APPLICATION_ID,
344 l_ref_CONDITION_rec.PROGRAM_ID,
345 l_ref_CONDITION_rec.PROGRAM_UPDATE_DATE,
346 l_ref_CONDITION_rec.PROCESS_RULE_ID,
347 l_ref_CONDITION_rec.MONITOR_TYPE_CODE,
348 l_ref_CONDITION_rec.TIME_LAG_NUM,
349 l_ref_CONDITION_rec.TIME_LAG_UOM_CODE,
350 l_ref_CONDITION_rec.TIME_LAG_FROM_STAGE,
351 l_ref_CONDITION_rec.TIME_LAG_TO_STAGE,
352 l_ref_CONDITION_rec.Expiration_Relative,
353 l_ref_CONDITION_rec.Reminder_Defined,
354 l_ref_CONDITION_rec.Total_Reminders,
355 l_ref_CONDITION_rec.Reminder_Frequency,
356 l_ref_CONDITION_rec.Reminder_Freq_uom_code,
357 l_ref_CONDITION_rec.Timeout_Defined,
358 l_ref_CONDITION_rec.Timeout_Duration,
359 l_ref_CONDITION_rec.Timeout_uom_code,
360 l_ref_CONDITION_rec.Notify_Owner,
361 l_ref_CONDITION_rec.Notify_Owner_Manager,
362 l_ref_CONDITION_rec.ATTRIBUTE_CATEGORY,
363 l_ref_CONDITION_rec.ATTRIBUTE1,
364 l_ref_CONDITION_rec.ATTRIBUTE2,
365 l_ref_CONDITION_rec.ATTRIBUTE3,
366 l_ref_CONDITION_rec.ATTRIBUTE4,
367 l_ref_CONDITION_rec.ATTRIBUTE5,
368 l_ref_CONDITION_rec.ATTRIBUTE6,
369 l_ref_CONDITION_rec.ATTRIBUTE7,
370 l_ref_CONDITION_rec.ATTRIBUTE8,
371 l_ref_CONDITION_rec.ATTRIBUTE9,
372 l_ref_CONDITION_rec.ATTRIBUTE10,
373 l_ref_CONDITION_rec.ATTRIBUTE11,
374 l_ref_CONDITION_rec.ATTRIBUTE12,
375 l_ref_CONDITION_rec.ATTRIBUTE13,
376 l_ref_CONDITION_rec.ATTRIBUTE14,
377 l_ref_CONDITION_rec.ATTRIBUTE15;
378
379 If ( C_Get_monitor_condition%NOTFOUND) Then
380 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
381 THEN
382 FND_MESSAGE.Set_Name('AMS', 'API_MISSING_UPDATE_TARGET');
383 FND_MESSAGE.Set_Token ('INFO', 'monitor_condition', FALSE);
384 FND_MSG_PUB.Add;
385 END IF;
386 Close C_Get_monitor_condition;
387 raise FND_API.G_EXC_ERROR;
388 END IF;
389
390 -- Debug Message
391 IF (AS_DEBUG_LOW_ON) THEN
392 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: - Close Cursor');
393 END IF;
394
395 Close C_Get_monitor_condition;
396
397
398
399 If (l_tar_CONDITION_rec.last_update_date is NULL or
400 l_tar_CONDITION_rec.last_update_date = FND_API.G_MISS_Date ) Then
401 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
402 THEN
403 FND_MESSAGE.Set_Name('AMS', 'API_MISSING_ID');
404 FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
405 FND_MSG_PUB.ADD;
406 END IF;
407 raise FND_API.G_EXC_ERROR;
408 End if;
409 -- Check Whether record has been changed by someone else
410 If (l_tar_CONDITION_rec.last_update_date <> l_ref_CONDITION_rec.last_update_date) Then
411 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
412 THEN
413 FND_MESSAGE.Set_Name('AMS', 'API_RECORD_CHANGED');
414 FND_MESSAGE.Set_Token('INFO', 'monitor_condition', FALSE);
415 FND_MSG_PUB.ADD;
416 END IF;
417 raise FND_API.G_EXC_ERROR;
418 End if;
419
420 -- Debug message
421 IF (AS_DEBUG_LOW_ON) THEN
422 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Validate_monitor_condition');
423 END IF;
424
425 -- Invoke validation procedures
426 Validate_monitor_condition(
427 p_init_msg_list => FND_API.G_FALSE,
428 p_validation_level => p_validation_level,
429 p_validation_mode => AS_UTILITY_PVT.G_UPDATE,
430 P_CONDITION_Rec => P_CONDITION_Rec,
431 x_return_status => x_return_status,
432 x_msg_count => x_msg_count,
433 x_msg_data => x_msg_data);
434
435 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
436 RAISE FND_API.G_EXC_ERROR;
437 END IF;
438
439
440
441 -- Hint: Add corresponding Master-Detail business logic here if necessary.
442
443 -- Debug Message
444 IF (AS_DEBUG_LOW_ON) THEN
445 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
446 END IF;
447
448 -- Invoke table handler(aml_MONITOR_CONDITIONS_PKG.Update_Row)
449 AML_MONITOR_CONDITIONS_PKG.Update_Row(
450 p_MONITOR_CONDITION_ID => p_CONDITION_rec.MONITOR_CONDITION_ID
451 ,p_LAST_UPDATE_DATE => SYSDATE
452 ,p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID
453 ,p_CREATION_DATE => FND_API.G_MISS_DATE
454 ,p_CREATED_BY => FND_API.G_MISS_NUM
455 ,p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID
456 ,p_OBJECT_VERSION_NUMBER => p_CONDITION_rec.OBJECT_VERSION_NUMBER
457 ,p_REQUEST_ID => p_CONDITION_rec.REQUEST_ID
458 ,p_PROGRAM_APPLICATION_ID => p_CONDITION_rec.PROGRAM_APPLICATION_ID
459 ,p_PROGRAM_ID => p_CONDITION_rec.PROGRAM_ID
460 ,p_PROGRAM_UPDATE_DATE => p_CONDITION_rec.PROGRAM_UPDATE_DATE
461 ,p_PROCESS_RULE_ID => p_CONDITION_rec.PROCESS_RULE_ID
462 ,p_MONITOR_TYPE_CODE => p_CONDITION_rec.MONITOR_TYPE_CODE
463 ,p_TIME_LAG_NUM => p_CONDITION_rec.TIME_LAG_NUM
464 ,p_TIME_LAG_UOM_CODE => p_CONDITION_rec.TIME_LAG_UOM_CODE
465 ,p_TIME_LAG_FROM_STAGE => p_CONDITION_rec.TIME_LAG_FROM_STAGE
466 ,p_TIME_LAG_TO_STAGE => p_CONDITION_rec.TIME_LAG_TO_STAGE
467 ,p_Expiration_Relative => p_CONDITION_rec.Expiration_Relative
468 ,p_Reminder_Defined => p_CONDITION_rec.Reminder_Defined
469 ,p_Total_Reminders => p_CONDITION_rec.Total_Reminders
470 ,p_Reminder_Frequency => p_CONDITION_rec.Reminder_Frequency
471 ,p_Reminder_Freq_uom_code => p_CONDITION_rec.Reminder_Freq_uom_code
472 ,p_Timeout_Defined => p_CONDITION_rec.Timeout_Defined
473 ,p_Timeout_Duration => p_CONDITION_rec.Timeout_Duration
474 ,p_Timeout_uom_code => p_CONDITION_rec.Timeout_uom_code
475 ,p_Notify_Owner => p_CONDITION_rec.Notify_Owner
476 ,p_Notify_Owner_Manager => p_CONDITION_rec.Notify_Owner_Manager
477 ,p_ATTRIBUTE_CATEGORY => p_CONDITION_rec.ATTRIBUTE_CATEGORY
478 ,p_ATTRIBUTE1 => p_CONDITION_rec.ATTRIBUTE1
479 ,p_ATTRIBUTE2 => p_CONDITION_rec.ATTRIBUTE2
480 ,p_ATTRIBUTE3 => p_CONDITION_rec.ATTRIBUTE3
481 ,p_ATTRIBUTE4 => p_CONDITION_rec.ATTRIBUTE4
482 ,p_ATTRIBUTE5 => p_CONDITION_rec.ATTRIBUTE5
483 ,p_ATTRIBUTE6 => p_CONDITION_rec.ATTRIBUTE6
484 ,p_ATTRIBUTE7 => p_CONDITION_rec.ATTRIBUTE7
485 ,p_ATTRIBUTE8 => p_CONDITION_rec.ATTRIBUTE8
486 ,p_ATTRIBUTE9 => p_CONDITION_rec.ATTRIBUTE9
487 ,p_ATTRIBUTE10 => p_CONDITION_rec.ATTRIBUTE10
488 ,p_ATTRIBUTE11 => p_CONDITION_rec.ATTRIBUTE11
489 ,p_ATTRIBUTE12 => p_CONDITION_rec.ATTRIBUTE12
490 ,p_ATTRIBUTE13 => p_CONDITION_rec.ATTRIBUTE13
491 ,p_ATTRIBUTE14 => p_CONDITION_rec.ATTRIBUTE14
492 ,p_ATTRIBUTE15 => p_CONDITION_rec.ATTRIBUTE15
493 ); --
494 -- End of API body.
495 --
496
497 -- Standard check for p_commit
498 IF FND_API.to_Boolean( p_commit )
499 THEN
500 COMMIT WORK;
501 END IF;
502
503
504 -- Debug Message
505 IF (AS_DEBUG_LOW_ON) THEN
506 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
507 END IF;
508
509
510 -- Standard call to get message count and if count is 1, get message info.
511 FND_MSG_PUB.Count_And_Get
512 ( p_count => x_msg_count,
513 p_data => x_msg_data
514 );
515
516 EXCEPTION
517 WHEN FND_API.G_EXC_ERROR THEN
518 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
519 P_API_NAME => L_API_NAME
520 ,P_PKG_NAME => G_PKG_NAME
521 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
522 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
523 ,X_MSG_COUNT => X_MSG_COUNT
524 ,X_MSG_DATA => X_MSG_DATA
525 ,X_RETURN_STATUS => X_RETURN_STATUS);
526
527 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
528 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
529 P_API_NAME => L_API_NAME
530 ,P_PKG_NAME => G_PKG_NAME
531 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
532 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
533 ,X_MSG_COUNT => X_MSG_COUNT
534 ,X_MSG_DATA => X_MSG_DATA
535 ,X_RETURN_STATUS => X_RETURN_STATUS);
536
537 WHEN OTHERS THEN
538 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
539 P_API_NAME => L_API_NAME
540 ,P_PKG_NAME => G_PKG_NAME
541 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
542 ,P_SQLCODE => SQLCODE
543 ,P_SQLERRM => SQLERRM
544 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
545 ,X_MSG_COUNT => X_MSG_COUNT
546 ,X_MSG_DATA => X_MSG_DATA
547 ,X_RETURN_STATUS => X_RETURN_STATUS);
548 End Update_monitor_condition;
549
550
551 --********************************************************************
552 PROCEDURE Delete_monitor_condition(
553 P_Api_Version_Number IN NUMBER,
554 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
555 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
556 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
557 p_identity_salesforce_id IN NUMBER,
558 P_CONDITION_Rec IN AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type,
559 X_Return_Status OUT NOCOPY VARCHAR2,
560 X_Msg_Count OUT NOCOPY NUMBER,
561 X_Msg_Data OUT NOCOPY VARCHAR2
562 )
563
564
565 IS
566 l_api_name CONSTANT VARCHAR2(30) := 'Delete_monitor_condition';
567 l_api_version_number CONSTANT NUMBER := 2.0;
568 l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
569 BEGIN
570 -- Standard Start of API savepoint
571 SAVEPOINT DELETE_MONITOR_CONDITION_PVT;
572
573 -- Standard call to check for call compatibility.
574 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
575 p_api_version_number,
576 l_api_name,
577 G_PKG_NAME)
578 THEN
579 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
580 END IF;
581
582
583 -- Initialize message list if p_init_msg_list is set to TRUE.
584 IF FND_API.to_Boolean( p_init_msg_list )
585 THEN
586 FND_MSG_PUB.initialize;
587 END IF;
588
589
590 -- Debug Message
591 IF (AS_DEBUG_LOW_ON) THEN
592 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
593 END IF;
594
595
596 -- Initialize API return status to SUCCESS
597 x_return_status := FND_API.G_RET_STS_SUCCESS;
598
599 --
600 -- Api body
601 --
602
603 -- Debug Message
604 IF (AS_DEBUG_LOW_ON) THEN
605 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling delete table handler');
606 END IF;
607
608 -- Invoke table handler(aml_MONITOR_CONDITIONS_PKG.Delete_Row)
609 AML_MONITOR_CONDITIONS_PKG.Delete_Row(
610 p_process_rule_id => p_CONDITION_rec.PROCESS_RULE_ID);
611 --
612 -- End of API body
613 --
614
615 -- Standard check for p_commit
616 IF FND_API.to_Boolean( p_commit )
617 THEN
618 COMMIT WORK;
619 END IF;
620
621
622 -- Debug Message
623 IF (AS_DEBUG_LOW_ON) THEN
624 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
625 END IF;
626
627 -- Standard call to get message count and if count is 1, get message info.
628 FND_MSG_PUB.Count_And_Get
629 ( p_count => x_msg_count,
630 p_data => x_msg_data
631 );
632
633 EXCEPTION
634 WHEN FND_API.G_EXC_ERROR THEN
635 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
636 P_API_NAME => L_API_NAME
637 ,P_PKG_NAME => G_PKG_NAME
638 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
639 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
640 ,X_MSG_COUNT => X_MSG_COUNT
641 ,X_MSG_DATA => X_MSG_DATA
642 ,X_RETURN_STATUS => X_RETURN_STATUS);
643
644 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
645 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
646 P_API_NAME => L_API_NAME
647 ,P_PKG_NAME => G_PKG_NAME
648 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
649 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
650 ,X_MSG_COUNT => X_MSG_COUNT
651 ,X_MSG_DATA => X_MSG_DATA
652 ,X_RETURN_STATUS => X_RETURN_STATUS);
653
654 WHEN OTHERS THEN
655 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
656 P_API_NAME => L_API_NAME
657 ,P_PKG_NAME => G_PKG_NAME
658 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
659 ,P_SQLCODE => SQLCODE
660 ,P_SQLERRM => SQLERRM
661 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
662 ,X_MSG_COUNT => X_MSG_COUNT
663 ,X_MSG_DATA => X_MSG_DATA
664 ,X_RETURN_STATUS => X_RETURN_STATUS);
665 End Delete_monitor_condition;
666
667 -- *******************************************************************
668 PROCEDURE Validate_MONITOR_CONDITION_ID (
669 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
670 P_Validation_mode IN VARCHAR2,
671 P_MONITOR_CONDITION_ID IN NUMBER,
672 X_Return_Status OUT NOCOPY VARCHAR2,
673 X_Msg_Count OUT NOCOPY NUMBER,
674 X_Msg_Data OUT NOCOPY VARCHAR2
675 )
676 IS
677 CURSOR C_condition_Id_Exists (C_MONITOR_CONDITION_ID NUMBER) IS
678 SELECT 'X'
679 FROM aml_monitor_conditions
680 WHERE MONITOR_CONDITION_ID = C_MONITOR_CONDITION_ID;
681
682 l_val VARCHAR2(1);
683 BEGIN
684
685 -- Initialize message list if p_init_msg_list is set to TRUE.
686 IF FND_API.to_Boolean( p_init_msg_list )
687 THEN
688 FND_MSG_PUB.initialize;
689 END IF;
690
691
692 -- Initialize API return status to SUCCESS
693 x_return_status := FND_API.G_RET_STS_SUCCESS;
694
695 IF(p_validation_mode = AS_UTILITY_PVT.G_CREATE)
696 THEN
697 IF (p_monitor_condition_id IS NOT NULL) AND
698 (p_monitor_condition_id <> FND_API.G_MISS_NUM)
699 THEN
700 OPEN C_condition_Id_Exists (p_monitor_condition_id);
701 FETCH C_condition_Id_Exists into l_val;
702
703 IF C_condition_Id_Exists%NOTFOUND
704 THEN
705 AS_UTILITY_PVT.Set_Message(
706 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
707 p_msg_name => 'API_INVALID_ID',
708 p_token1 => 'COLUMN',
709 p_token1_value => 'MONITOR_CONDITION_ID',
710 p_token2 => 'VALUE',
711 p_token2_value => p_monitor_condition_id);
712
713 x_return_status := FND_API.G_RET_STS_ERROR;
714 END IF;
715 CLOSE C_condition_Id_Exists ;
716 END IF;
717
718 ELSIF(p_validation_mode = AS_UTILITY_PVT.G_UPDATE)
719 THEN
720 -- validate NOT NULL column
721 IF (p_monitor_condition_id IS NULL) OR
722 (p_monitor_condition_id = FND_API.G_MISS_NUM)
723 THEN
724 AS_UTILITY_PVT.Set_Message(
725 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
726 p_msg_name => 'API_MISSING_ID',
727 p_token1 => 'COLUMN',
728 p_token1_value => 'MONITOR_CONDITION_ID');
729
730 x_return_status := FND_API.G_RET_STS_ERROR;
731 ELSE
732 OPEN C_condition_Id_Exists (p_monitor_condition_id);
733 FETCH C_condition_Id_Exists into l_val;
734
735 IF C_condition_Id_Exists%NOTFOUND
736 THEN
737 AS_UTILITY_PVT.Set_Message(
738 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
739 p_msg_name => 'API_INVALID_ID',
740 p_token1 => 'COLUMN',
741 p_token1_value => 'MONITOR_CONDITION_ID',
742 p_token2 => 'VALUE',
743 p_token2_value => p_monitor_condition_id);
744
745 x_return_status := FND_API.G_RET_STS_ERROR;
746 END IF;
747
748 CLOSE C_condition_Id_Exists;
749 END IF;
750 END IF;
751
752 -- Standard call to get message count and if count is 1, get message info.
753 FND_MSG_PUB.Count_And_Get
754 ( p_count => x_msg_count,
755 p_data => x_msg_data
756 );
757
758 END Validate_MONITOR_CONDITION_ID;
759
760 -- *****************************************************************
761 PROCEDURE Validate_monitor_condition(
762 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
763 P_Validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
764 P_Validation_mode IN VARCHAR2,
765 P_CONDITION_Rec IN AML_MONITOR_CONDITIONS_PUB.CONDITION_Rec_Type,
766 X_Return_Status OUT NOCOPY VARCHAR2,
767 X_Msg_Count OUT NOCOPY NUMBER,
768 X_Msg_Data OUT NOCOPY VARCHAR2
769 )
770 IS
771 l_api_name CONSTANT VARCHAR2(30) := 'Validate_monitor_condition';
772 l_val VARCHAR2(1);
773
774 CURSOR C_time_lag_to_stage_exists (c_time_lag_to_stage VARCHAR2) IS
775 SELECT 'X'
776 FROM (
777 SELECT status_code time_lag_to_stage
778 FROM as_statuses_b
779 WHERE lead_flag = 'Y' and enabled_flag = 'Y'
780 UNION ALL
781 SELECT lookup_code time_lag_to_stage
782 FROM fnd_lookup_values
783 WHERE lookup_type = 'TIME_LAG_TO_STAGE'
784 AND enabled_flag = 'Y'
785 AND (start_date_active IS NULL OR start_date_active < SYSDATE)
786 AND (end_date_active IS NULL OR end_date_active > SYSDATE))
787 WHERE time_lag_to_stage = c_time_lag_to_stage;
788
789 BEGIN
790
791 -- Debug Message
792 IF (AS_DEBUG_LOW_ON) THEN
793 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
794 END IF;
795
796 -- Initialize API return status to SUCCESS
797 x_return_status := FND_API.G_RET_STS_SUCCESS;
798
799
800 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_ITEM) THEN
801 -- validate monitor_condition_id
802 Validate_MONITOR_CONDITION_ID(
803 p_init_msg_list => FND_API.G_FALSE,
804 p_validation_mode => p_validation_mode,
805 p_MONITOR_CONDITION_ID => P_CONDITION_Rec.MONITOR_CONDITION_ID,
806 x_return_status => x_return_status,
807 x_msg_count => x_msg_count,
808 x_msg_data => x_msg_data);
809 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
810 raise FND_API.G_EXC_ERROR;
811 END IF;
812
813 -- validate OBJECT_VERSION_NUMBER
814 PV_COMMON_CHECKS_PVT.Validate_OBJECT_VERSION_NUMBER(
815 p_init_msg_list => FND_API.G_FALSE,
816 p_validation_mode => p_validation_mode,
817 p_OBJECT_VERSION_NUMBER => P_CONDITION_Rec.OBJECT_VERSION_NUMBER,
818 x_return_status => x_return_status,
819 x_msg_count => x_msg_count,
820 x_msg_data => x_msg_data);
821 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
822 raise FND_API.G_EXC_ERROR;
823 END IF;
824
825
826 -- validate PROCESS_RULE_ID
827 pv_common_checks_pvt.Validate_PROCESS_RULE_ID(
828 p_init_msg_list => FND_API.G_FALSE,
829 p_validation_mode => p_validation_mode,
830 p_PROCESS_RULE_ID => P_CONDITION_Rec.PROCESS_RULE_ID,
831 x_return_status => x_return_status,
832 x_msg_count => x_msg_count,
833 x_msg_data => x_msg_data);
834
835 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
836 raise FND_API.G_EXC_ERROR;
837 END IF;
838
839 -- validate MONITOR_TYPE_CODE
840 if P_CONDITION_Rec.MONITOR_TYPE_CODE is NOT NULL and
841 P_CONDITION_Rec.MONITOR_TYPE_CODE <> FND_API.G_MISS_CHAR then
842
843 pv_common_checks_pvt.Validate_Lookup(
844 p_init_msg_list => FND_API.G_FALSE,
845 p_validation_mode => p_validation_mode,
846 p_TABLE_NAME => 'AML_MONITOR_CONDITIONS',
847 p_COLUMN_NAME => 'MONITOR_TYPE_CODE',
848 p_lookup_type => 'MONITOR_TYPE',
849 p_lookup_code => P_CONDITION_Rec.MONITOR_TYPE_CODE,
850 x_return_status => x_return_status,
851 x_msg_count => x_msg_count,
852 x_msg_data => x_msg_data);
853
854 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
855 raise FND_API.G_EXC_ERROR;
856 END IF;
857
858 END IF;
859
860
861 -- Validate_TIME_LAG_UOM_CODE
862 if P_CONDITION_Rec.TIME_LAG_UOM_CODE is NOT NULL and
863 P_CONDITION_Rec.TIME_LAG_UOM_CODE <> FND_API.G_MISS_CHAR then
864
865 pv_common_checks_pvt.Validate_Lookup(
866 p_init_msg_list => FND_API.G_FALSE,
867 p_validation_mode => p_validation_mode,
868 p_TABLE_NAME => 'AML_MONITOR_CONDITIONS',
869 p_COLUMN_NAME => 'TIME_LAG_UOM_CODE',
870 p_lookup_type => 'PV_TIMEOUT_UOM',
871 p_lookup_code => P_CONDITION_Rec.TIME_LAG_UOM_CODE,
872 x_return_status => x_return_status,
873 x_msg_count => x_msg_count,
874 x_msg_data => x_msg_data);
875
876 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
877 raise FND_API.G_EXC_ERROR;
878 END IF;
879
880 END IF;
881
882
883 -- Time_lag_from_stage = assigned date ,Creation date
884
885
886 -- validate TIME_LAG_FROM_STAGE
887 if P_CONDITION_Rec.TIME_LAG_FROM_STAGE is NOT NULL and
888 P_CONDITION_Rec.TIME_LAG_FROM_STAGE <> FND_API.G_MISS_CHAR then
889
890 pv_common_checks_pvt.Validate_Lookup(
891 p_init_msg_list => FND_API.G_FALSE,
892 p_validation_mode => p_validation_mode,
893 p_TABLE_NAME => 'AML_MONITOR_CONDITIONS',
894 p_COLUMN_NAME => 'TIME_LAG_FROM_STAGE',
895 p_lookup_type => 'TIME_LAG_FROM_STAGE',
896 p_lookup_code => P_CONDITION_Rec.TIME_LAG_FROM_STAGE,
897 x_return_status => x_return_status,
898 x_msg_count => x_msg_count,
899 x_msg_data => x_msg_data);
900
901 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
902 raise FND_API.G_EXC_ERROR;
903 END IF;
904
905 END IF;
906
907
908 -- validate TIME_LAG_TO_STAGE
909 if P_CONDITION_Rec.TIME_LAG_TO_STAGE is NOT NULL and
910 P_CONDITION_Rec.TIME_LAG_TO_STAGE <> FND_API.G_MISS_CHAR then
911
912 OPEN C_time_lag_to_stage_exists(P_CONDITION_Rec.TIME_LAG_TO_STAGE);
913 FETCH C_time_lag_to_stage_exists INTO l_val;
914 IF C_time_lag_to_stage_exists%NOTFOUND THEN
915 AS_UTILITY_PVT.Set_Message(
916 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
917 p_msg_name => 'API_INVALID_ID',
918 p_token1 => 'COLUMN',
919 p_token1_value => 'TIME_LAG_TO_STAGE',
920 p_token2 => 'VALUE',
921 p_token2_value => P_CONDITION_Rec.TIME_LAG_TO_STAGE );
922 raise FND_API.G_EXC_ERROR;
923 END IF;
924
925 END IF;
926
927 --
928
929 -- Validate_Reminder_Freq_uom_code
930 if P_CONDITION_Rec.REMINDER_FREQ_UOM_CODE is NOT NULL and
931 P_CONDITION_Rec.REMINDER_FREQ_UOM_CODE <> FND_API.G_MISS_CHAR then
932
933 pv_common_checks_pvt.Validate_Lookup(
934 p_init_msg_list => FND_API.G_FALSE,
935 p_validation_mode => p_validation_mode,
936 p_TABLE_NAME => 'AML_MONITOR_CONDITIONS',
937 p_COLUMN_NAME => 'REMINDER_FREQ_UOM_CODE',
938 p_lookup_type => 'PV_TIMEOUT_UOM',
939 p_lookup_code => P_CONDITION_Rec.REMINDER_FREQ_UOM_CODE,
940 x_return_status => x_return_status,
941 x_msg_count => x_msg_count,
942 x_msg_data => x_msg_data);
943
944 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
945 raise FND_API.G_EXC_ERROR;
946 END IF;
947
948 END IF;
949
950
951 -- Validate_Timeout_uom_code
952 if P_CONDITION_Rec.TIMEOUT_UOM_CODE is NOT NULL and
953 P_CONDITION_Rec.TIMEOUT_UOM_CODE <> FND_API.G_MISS_CHAR then
954
955 pv_common_checks_pvt.Validate_Lookup(
956 p_init_msg_list => FND_API.G_FALSE,
957 p_validation_mode => p_validation_mode,
958 p_TABLE_NAME => 'AML_MONITOR_CONDITIONS',
959 p_COLUMN_NAME => 'TIMEOUT_UOM_CODE',
960 p_lookup_type => 'PV_TIMEOUT_UOM',
961 p_lookup_code => P_CONDITION_Rec.TIMEOUT_UOM_CODE,
962 x_return_status => x_return_status,
963 x_msg_count => x_msg_count,
964 x_msg_data => x_msg_data);
965
966 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
967 raise FND_API.G_EXC_ERROR;
968 END IF;
969
970 END IF;
971
972 END IF;
973
974
975 -- Added validation by Ajoy
976 IF ((P_CONDITION_Rec.Reminder_Defined = 'Y') AND
977 (P_CONDITION_Rec.Total_Reminders IS NULL OR P_CONDITION_Rec.Reminder_Frequency IS NULL)) THEN
978
979 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
980 THEN
981 FND_MESSAGE.Set_Name('AS', 'AS_LEAD_MNTR_REMIND_REQD');
982 FND_MSG_PUB.Add;
983 END IF;
984
985 x_return_status := FND_API.G_RET_STS_ERROR;
986 -- raise FND_API.G_EXC_ERROR;
987 END IF;
988
989
990 IF ((P_CONDITION_Rec.Reminder_Defined = 'N') AND
991 (P_CONDITION_Rec.Total_Reminders IS NOT NULL OR P_CONDITION_Rec.Reminder_Frequency IS NOT NULL)) THEN
992
993 AS_UTILITY_PVT.Set_Message(
994 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
995 p_msg_name => 'AS_LEAD_MNTR_REMIND_CLR');
996
997 x_return_status := FND_API.G_RET_STS_ERROR;
998 -- raise FND_API.G_EXC_ERROR;
999 END IF;
1000
1001 IF (P_CONDITION_Rec.Timeout_Defined = 'Y' AND P_CONDITION_Rec.Timeout_Duration IS NULL)
1002 OR (P_CONDITION_Rec.Timeout_Defined = 'Y' AND P_CONDITION_Rec.Timeout_Duration < 0) THEN
1003
1004 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1005 THEN
1006 FND_MESSAGE.Set_Name('AS', 'AS_LEAD_MNTR_TMOUT_REQD');
1007 FND_MSG_PUB.Add;
1008 END IF;
1009
1010 x_return_status := FND_API.G_RET_STS_ERROR;
1011 --raise FND_API.G_EXC_ERROR;
1012 END IF;
1013
1014 IF (P_CONDITION_Rec.Timeout_Defined = 'N' AND P_CONDITION_Rec.Timeout_Duration IS NOT NULL) THEN
1015
1016 AS_UTILITY_PVT.Set_Message(
1017 p_msg_level => FND_MSG_PUB.G_MSG_LVL_ERROR,
1018 p_msg_name => 'AS_LEAD_MNTR_TMOUT_CLR');
1019
1020 x_return_status := FND_API.G_RET_STS_ERROR;
1021 --raise FND_API.G_EXC_ERROR;
1022 END IF;
1023
1024 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_RECORD) THEN
1025 -- Hint: Inter-field level validation can be added here
1026 -- invoke record level validation procedures
1027 NULL;
1028 END IF;
1029
1030 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_INTER_RECORD) THEN
1031 -- invoke inter-record level validation procedures
1032 NULL;
1033 END IF;
1034
1035 IF (p_validation_level >= AS_UTILITY_PUB.G_VALID_LEVEL_INTER_ENTITY) THEN
1036 -- invoke inter-entity level validation procedures
1037 NULL;
1038 END IF;
1039
1040
1041 -- Debug Message
1042 IF (AS_DEBUG_LOW_ON) THEN
1043 AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
1044 END IF;
1045
1046 END Validate_monitor_condition;
1047
1048
1049 End AML_MONITOR_CONDITIONS_PVT;