233:
234: -- Initialize API return status to SUCCESS
235: x_return_status := FND_API.G_RET_STS_SUCCESS;
236:
237: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter');
238:
239: -- api body
240: -- validate object_filter_id
241: /*
251: RAISE FND_API.G_EXC_ERROR;
252: END IF;
253: */
254:
255: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_Any_VARCHAR');
256: -- validate object_filter_name
257: IEX_UTILITIES.VALIDATE_ANY_VARCHAR(P_COL_VALUE => p_filter_rec.object_filter_name,
258: P_COL_NAME => 'OBJECT_FILTER_NAME',
259: P_TABLE_NAME => 'IEX_OBJECT_FILTERS',
261: X_Msg_Count => x_msg_count,
262: X_Msg_Data => x_msg_data,
263: p_init_msg_list => fnd_api.g_false);
264: --dbms_output.put_line('Validating Obj Filter Name ' || l_return_status);
265: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_Any_VARCHAR:'||l_return_status);
266:
267: -- if found API will return 'S' therefore we have a duplicate Filter_Name
268: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
269: x_dup_status := IEX_SCORE_PVT.IEX_DUPLICATE_NAME;
271: --dbms_output.put_line('dup=' || x_dup_status);
272: END IF;
273:
274: -- validate lookup_type/ code
275: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_lookup_Code:');
276: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:lookup_code:'||p_filter_rec.object_filter_type);
277: IEX_UTILITIES.validate_lookup_code(P_LOOKUP_TYPE => 'IEX_OBJECT_FILTERS',
278: P_LOOKUP_CODE => p_filter_rec.OBJECT_FILTER_TYPE,
279: X_Return_Status => l_return_status,
272: END IF;
273:
274: -- validate lookup_type/ code
275: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_lookup_Code:');
276: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:lookup_code:'||p_filter_rec.object_filter_type);
277: IEX_UTILITIES.validate_lookup_code(P_LOOKUP_TYPE => 'IEX_OBJECT_FILTERS',
278: P_LOOKUP_CODE => p_filter_rec.OBJECT_FILTER_TYPE,
279: X_Return_Status => l_return_status,
280: X_Msg_Count => x_msg_count,
281: X_Msg_Data => x_msg_data,
282: p_init_msg_list => fnd_api.g_false,
283: p_lookup_view => 'IEX_LOOKUPS_V');
284:
285: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_lookup_Code:'||l_return_status);
286: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
287: RAISE FND_API.G_EXC_ERROR;
288: END IF;
289: --dbms_output.put_line('Validating Obj Filter Type ' || l_return_status);
303: l_table_name := 'IEX_CUST_STATUS_RULES';
304: l_col_name := 'STATUS_RULE_ID';
305: end if;
306:
307: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_any_id:');
308: IEX_UTILITIES.VALIDATE_ANY_ID(P_COL_ID => p_filter_rec.object_id,
309: P_COL_NAME => l_col_name,
310: P_TABLE_NAME => l_table_name,
311: X_Return_Status => l_return_status,
312: X_Msg_Count => x_msg_count,
313: X_Msg_Data => x_msg_data,
314: p_init_msg_list => fnd_api.g_false);
315: --dbms_output.put_line('Validating Object ID ' || l_return_status );
316: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_any_id:'||l_return_status);
317:
318: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
319: RAISE FND_API.G_EXC_ERROR;
320: END IF;
326: * and ADMIN UI will check ENTITY and COLUMN,
327: * we dont validate entity(view) and column here.
328: *
329: -- validate entity_name
330: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_any_varchar');
331: IEX_UTILITIES.VALIDATE_ANY_VARCHAR(P_COL_VALUE => p_filter_rec.ENTITY_NAME,
332: P_COL_NAME => 'VIEW_NAME',
333: P_TABLE_NAME => 'ALL_VIEWS',
334: X_Return_Status => l_return_status,
341: RAISE FND_API.G_EXC_ERROR;
342: END IF;
343:
344: -- validate select_column
345: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:Validate_any_varchar');
346: IEX_UTILITIES.VALIDATE_ANY_VARCHAR(P_COL_VALUE => p_filter_rec.SELECT_COLUMN,
347: P_COL_NAME => 'COLUMN_NAME',
348: P_TABLE_NAME => 'ALL_TAB_COLUMNS',
349: X_Return_Status => l_return_status,
366: );
367:
368: Exception
369: WHEN FND_API.G_EXC_ERROR THEN
370: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:EXC ERROR');
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
373: FND_MSG_PUB.Count_And_Get
374: ( p_count => x_msg_count,
368: Exception
369: WHEN FND_API.G_EXC_ERROR THEN
370: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:EXC ERROR');
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
373: FND_MSG_PUB.Count_And_Get
374: ( p_count => x_msg_count,
375: p_data => x_msg_data
376: );
376: );
377:
378: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
379: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:UNEXC ERROR');
381: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
382: FND_MSG_PUB.Count_And_Get
383: ( p_count => x_msg_count,
384: p_data => x_msg_data
377:
378: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
379: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:UNEXC ERROR');
381: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
382: FND_MSG_PUB.Count_And_Get
383: ( p_count => x_msg_count,
384: p_data => x_msg_data
385: );
385: );
386:
387: WHEN OTHERS THEN
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
389: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:OTHERS ERROR');
390: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
391: FND_MSG_PUB.Count_And_Get
392: ( p_count => x_msg_count,
393: p_data => x_msg_data
386:
387: WHEN OTHERS THEN
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
389: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:OTHERS ERROR');
390: iex_dunning_pvt.WriteLog('iexpfilb:Validate_Filter:err='||SQLERRM);
391: FND_MSG_PUB.Count_And_Get
392: ( p_count => x_msg_count,
393: p_data => x_msg_data
394: );
439: FND_MSG_PUB.initialize;
440: END IF;
441:
442: -- Debug Message
443: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:Start');
444:
445:
446: -- Initialize API return status to SUCCESS
447: x_return_status := FND_API.G_RET_STS_SUCCESS;
450: -- API body
451: --
452:
453: -- Validate Data
454: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:Calling Validate_Filter');
455: Validate_FILTER(P_FILTER_rec => l_filter_rec,
456: X_Dup_Status => x_dup_status,
457: X_Return_Status => l_return_status,
458: X_Msg_Count => l_msg_count,
461: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
462: RAISE FND_API.G_EXC_ERROR;
463: END IF;
464:
465: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:get object_filter_id from seq');
466:
467: Select IEX_OBJECT_FILTERS_S.nextval into x_filter_id
468: From Dual;
469: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:object_filter_id='||x_filter_id);
465: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:get object_filter_id from seq');
466:
467: Select IEX_OBJECT_FILTERS_S.nextval into x_filter_id
468: From Dual;
469: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:object_filter_id='||x_filter_id);
470:
471: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:insert row');
472:
473: -- Create Filter
467: Select IEX_OBJECT_FILTERS_S.nextval into x_filter_id
468: From Dual;
469: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:object_filter_id='||x_filter_id);
470:
471: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:insert row');
472:
473: -- Create Filter
474: IEX_OBJECT_FILTERS_PKG.insert_row(
475: x_rowid => l_rowid
497: COMMIT WORK;
498: END IF;
499:
500: -- Debug Message
501: iex_dunning_pvt.WriteLog('iexpfilb:CreateFilter:end');
502:
503: -- Standard call to get message count and IF count is 1, get message info.
504: FND_MSG_PUB.Count_And_Get
505: ( p_count => x_msg_count,
510: EXCEPTION
511: WHEN FND_API.G_EXC_ERROR THEN
512: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
513: x_return_status := FND_API.G_RET_STS_ERROR;
514: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:EXC ERROR');
515: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
516: FND_MSG_PUB.Count_And_Get
517: ( p_count => x_msg_count,
518: p_data => x_msg_data
511: WHEN FND_API.G_EXC_ERROR THEN
512: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
513: x_return_status := FND_API.G_RET_STS_ERROR;
514: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:EXC ERROR');
515: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
516: FND_MSG_PUB.Count_And_Get
517: ( p_count => x_msg_count,
518: p_data => x_msg_data
519: );
520:
521: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
522: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
523: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
524: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:UNEXC ERROR');
525: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
526: FND_MSG_PUB.Count_And_Get
527: ( p_count => x_msg_count,
528: p_data => x_msg_data
521: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
522: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
523: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
524: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:UNEXC ERROR');
525: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
526: FND_MSG_PUB.Count_And_Get
527: ( p_count => x_msg_count,
528: p_data => x_msg_data
529: );
530:
531: WHEN OTHERS THEN
532: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
533: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
534: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:OTHER ERROR');
535: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
536: FND_MSG_PUB.Count_And_Get
537: ( p_count => x_msg_count,
538: p_data => x_msg_data
531: WHEN OTHERS THEN
532: ROLLBACK TO CREATE_OBJECT_FILTER_PVT;
533: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
534: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:OTHER ERROR');
535: iex_dunning_pvt.WriteLog('iexpfilb:CreatedFilter:err='||SQLERRM);
536: FND_MSG_PUB.Count_And_Get
537: ( p_count => x_msg_count,
538: p_data => x_msg_data
539: );
607: FND_MSG_PUB.initialize;
608: END IF;
609:
610: -- Debug Message
611: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:start');
612:
613: -- Initialize API return status to SUCCESS
614: x_return_status := FND_API.G_RET_STS_SUCCESS;
615:
614: x_return_status := FND_API.G_RET_STS_SUCCESS;
615:
616: -- added by clchang 02/25/2002
617: -- validate dup filter_Name
618: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:validation:chk_dup_filter_name');
619: Open C_chk_filter_name(l_FILTER_REC.OBJECT_FILTER_ID,
620: l_FILTER_REC.OBJECT_FILTER_NAME);
621: Fetch C_chk_filter_name into l_NAME_CNT;
622: if (l_name_cnt > 0) then
627: FND_MESSAGE.Set_Token ('VALUE', l_Filter_rec.object_filter_name, FALSE);
628: FND_MSG_PUB.Add;
629: END IF;
630: x_dup_status := IEX_SCORE_PVT.IEX_DUPLICATE_NAME;
631: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:dup object_filter_name');
632: RAISE FND_API.G_EXC_ERROR;
633: end if;
634: close C_chk_filter_name;
635:
710: (l_filter_rec.OBJECT_VERSION_NUMBER = NULL)) THEN
711: l_filter_rec.OBJECT_VERSION_NUMBER := l_filter_ref_rec.OBJECT_VERSION_NUMBER;
712: END IF;
713:
714: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:update row');
715: IEX_OBJECT_FILTERS_PKG.update_row(
716: x_rowid => l_rowid
717: ,p_object_filter_id => l_filter_rec.object_filter_id
718: ,p_object_filter_type => l_FILTER_REC.object_filter_type
738: COMMIT WORK;
739: END IF;
740:
741: -- Debug Message
742: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:end');
743:
744: -- Standard call to get message count and IF count is 1, get message info.
745: FND_MSG_PUB.Count_And_Get
746: ( p_count => x_msg_count,
751: EXCEPTION
752: WHEN FND_API.G_EXC_ERROR THEN
753: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
754: x_return_status := FND_API.G_RET_STS_ERROR;
755: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:EXC ERROR');
756: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
757: FND_MSG_PUB.Count_And_Get
758: ( p_count => x_msg_count,
759: p_data => x_msg_data
752: WHEN FND_API.G_EXC_ERROR THEN
753: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
754: x_return_status := FND_API.G_RET_STS_ERROR;
755: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:EXC ERROR');
756: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
757: FND_MSG_PUB.Count_And_Get
758: ( p_count => x_msg_count,
759: p_data => x_msg_data
760: );
761:
762: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
763: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
764: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
765: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:UNEXC ERROR');
766: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
767: FND_MSG_PUB.Count_And_Get
768: ( p_count => x_msg_count,
769: p_data => x_msg_data
762: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
763: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
764: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
765: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:UNEXC ERROR');
766: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
767: FND_MSG_PUB.Count_And_Get
768: ( p_count => x_msg_count,
769: p_data => x_msg_data
770: );
771:
772: WHEN OTHERS THEN
773: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
775: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:OTHER ERROR');
776: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
777: FND_MSG_PUB.Count_And_Get
778: ( p_count => x_msg_count,
779: p_data => x_msg_data
772: WHEN OTHERS THEN
773: ROLLBACK TO UPDATE_OBJECT_FILTER_PVT;
774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
775: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:OTHER ERROR');
776: iex_dunning_pvt.WriteLog('iexpfilb:UpdateFilter:err='||SQLERRM);
777: FND_MSG_PUB.Count_And_Get
778: ( p_count => x_msg_count,
779: p_data => x_msg_data
780: );
823: FND_MSG_PUB.initialize;
824: END IF;
825:
826: -- Debug Message
827: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:Start');
828:
829:
830: -- Initialize API return status to SUCCESS
831: x_return_status := FND_API.G_RET_STS_SUCCESS;
848: END IF;
849:
850: Close C_GET_FILTER;
851:
852: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:Delete Row');
853:
854: -- Invoke table handler
855: IEX_object_filters_PKG.Delete_Row(
856: x_rowid => l_rowid);
866: COMMIT WORK;
867: END IF;
868:
869: -- Debug Message
870: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:End');
871:
872: -- Standard call to get message count and IF count is 1, get message info.
873: FND_MSG_PUB.Count_And_Get
874: ( p_count => x_msg_count,
878:
879: EXCEPTION
880: WHEN FND_API.G_EXC_ERROR THEN
881: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
882: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:EXP ERROR');
883: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
884: x_return_status := FND_API.G_RET_STS_ERROR;
885: FND_MSG_PUB.Count_And_Get
886: ( p_count => x_msg_count,
879: EXCEPTION
880: WHEN FND_API.G_EXC_ERROR THEN
881: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
882: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:EXP ERROR');
883: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
884: x_return_status := FND_API.G_RET_STS_ERROR;
885: FND_MSG_PUB.Count_And_Get
886: ( p_count => x_msg_count,
887: p_data => x_msg_data
889:
890: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
891: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
892: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
893: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:UNEXP ERROR');
894: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
895: FND_MSG_PUB.Count_And_Get
896: ( p_count => x_msg_count,
897: p_data => x_msg_data
890: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
891: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
892: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
893: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:UNEXP ERROR');
894: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
895: FND_MSG_PUB.Count_And_Get
896: ( p_count => x_msg_count,
897: p_data => x_msg_data
898: );
899:
900: WHEN OTHERS THEN
901: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
903: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:OTHER ERROR');
904: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
905: FND_MSG_PUB.Count_And_Get
906: ( p_count => x_msg_count,
907: p_data => x_msg_data
900: WHEN OTHERS THEN
901: ROLLBACK TO DELETE_OBJECT_FILTER_PVT;
902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
903: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:OTHER ERROR');
904: iex_dunning_pvt.WriteLog('iexpfilb:DeleteFilter:err='||SQLERRM);
905: FND_MSG_PUB.Count_And_Get
906: ( p_count => x_msg_count,
907: p_data => x_msg_data
908: );