DBA Data[Home] [Help]

APPS.PON_AWARD_APPROVAL_PKG dependencies on PON_AUCTION_PKG

Line 122: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

118:
119: -- check if a transaction already exists and has been submitted for approval
120: IF l_award_approval_status = 'INPROCESS' THEN
121: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'award ' || p_auction_header_id || ' is already in the approval process');
122: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
123: END IF;
124:
125: l_last_update_date := SYSDATE;
126:

Line 234: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

230: EXCEPTION
231: WHEN lock_not_acquired THEN
232: -- a lock could not be acquired on the transaction; another user may be submitting it for approval
233: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'a lock could not be acquired on award ' || p_auction_header_id);
234: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
235: WHEN transaction_modified THEN
236: -- the transaction has been modified by another user session
237: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'award ' || p_auction_header_id || ' has been modified by another user session');
238: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

Line 238: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

234: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
235: WHEN transaction_modified THEN
236: -- the transaction has been modified by another user session
237: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'award ' || p_auction_header_id || ' has been modified by another user session');
238: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
239: WHEN already_in_approval THEN
240: -- the transaction is in the approval process
241: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'award ' || p_auction_header_id || ' is already in the approval process');
242: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

Line 242: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));

238: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
239: WHEN already_in_approval THEN
240: -- the transaction is in the approval process
241: log_string(l_exception_log_level, l_current_log_level, l_module_name, 'award ' || p_auction_header_id || ' is already in the approval process');
242: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_CANNOT_SBMT_AWARD_APPROVAL'));
243: END validate_transaction;
244:
245: /*
246: Adds a row into the PON_AUCTION_HISTORY table.

Line 377: l_msg_suffix := PON_AUCTION_PKG.get_message_suffix(l_doctype_group_name);

373: WHERE
374: dt.doctype_id= auc.doctype_id
375: AND auc.auction_header_id = p_auction_header_id;
376:
377: l_msg_suffix := PON_AUCTION_PKG.get_message_suffix(l_doctype_group_name);
378:
379: -- set standard notification header attributes
380: PON_WF_UTL_PKG.set_hdr_attributes(p_item_type,
381: p_item_key,

Line 406: avalue => PON_AUCTION_PKG.replaceHtmlChars(p_note_to_approvers));

402:
403: wf_engine.SetItemAttrText(itemtype => p_item_type,
404: itemkey => p_item_key,
405: aname => 'NOTE_TO_APPROVERS',
406: avalue => PON_AUCTION_PKG.replaceHtmlChars(p_note_to_approvers));
407:
408: wf_engine.SetItemAttrText(itemtype => p_item_type,
409: itemkey => p_item_key,
410: aname => 'AWARD_SUMMARY_URL',

Line 483: PON_AUCTION_PKG.set_session_language(null, l_language_code);

479: BEGIN
480:
481: -- set the db session language
482: PON_PROFILE_UTIL_PKG.get_wf_language(p_user_name, l_language_code);
483: PON_AUCTION_PKG.set_session_language(null, l_language_code);
484:
485: l_msg_suffix := wf_engine.getItemAttrText(itemtype => p_item_type,
486: itemkey => p_item_key,
487: aname => 'MESSAGE_SUFFIX');

Line 505: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVAL_1',

501: -- as well as the subject for the reminder notification
502: wf_engine.SetItemAttrText(itemtype => p_item_type,
503: itemkey => p_item_key,
504: aname => 'APPROVAL_REQUEST_SUBJECT',
505: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVAL_1',
506: l_msg_suffix,
507: 'DOC_NUMBER',
508: l_document_number,
509: 'DOC_TITLE',

Line 514: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVAL_2',

510: l_auction_title));
511: wf_engine.SetItemAttrText(itemtype => p_item_type,
512: itemkey => p_item_key,
513: aname => 'REQUEST_REMINDER_SUBJECT',
514: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVAL_2',
515: l_msg_suffix,
516: 'DOC_NUMBER',
517: l_document_number,
518: 'DOC_TITLE',

Line 524: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVED_1',

520: ELSIF p_notification_type = AWARD_APPROVED THEN
521: wf_engine.SetItemAttrText(itemtype => p_item_type,
522: itemkey => p_item_key,
523: aname => 'APPROVAL_SUBJECT',
524: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_APPROVED_1',
525: l_msg_suffix,
526: 'DOC_NUMBER',
527: l_document_number,
528: 'DOC_TITLE',

Line 534: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_REJECTED_1',

530: ELSIF p_notification_type = AWARD_REJECTED THEN
531: wf_engine.SetItemAttrText(itemtype => p_item_type,
532: itemkey => p_item_key,
533: aname => 'REJECTION_SUBJECT',
534: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_AWARD_REJECTED_1',
535: l_msg_suffix,
536: 'DOC_NUMBER',
537: l_document_number,
538: 'DOC_TITLE',

Line 544: avalue => PON_AUCTION_PKG.getMessage('PON_AWARD_REJECTED_ERROR_1',

540: ELSIF p_notification_type = ERROR THEN
541: wf_engine.SetItemAttrText(itemtype => p_item_type,
542: itemkey => p_item_key,
543: aname => 'ERROR_SUBJECT',
544: avalue => PON_AUCTION_PKG.getMessage('PON_AWARD_REJECTED_ERROR_1',
545: l_msg_suffix,
546: 'DOC_NUMBER',
547: l_document_number,
548: 'DOC_TITLE',

Line 554: avalue => PON_AUCTION_PKG.getMessage('PON_AWARD_REJECTED_ERROR_2',

550: ELSIF p_notification_type = ERROR_FOR_ADMIN THEN
551: wf_engine.SetItemAttrText(itemtype => p_item_type,
552: itemkey => p_item_key,
553: aname => 'ERROR_SUBJECT_FOR_ADMIN',
554: avalue => PON_AUCTION_PKG.getMessage('PON_AWARD_REJECTED_ERROR_2',
555: l_msg_suffix,
556: 'DOC_NUMBER',
557: l_document_number,
558: 'DOC_TITLE',

Line 564: l_user_timezone := PON_AUCTION_PKG.get_time_zone(p_user_name);

560: END IF;
561:
562: -- convert the open bidding date, close bidding date, award by date, approval date, and rejection_date
563: -- to dates in the user's timezone
564: l_user_timezone := PON_AUCTION_PKG.get_time_zone(p_user_name);
565: l_server_timezone := PON_AUCTION_PKG.get_oex_time_zone;
566:
567: l_open_bidding_date := wf_engine.getItemAttrDate(itemtype => p_item_type,
568: itemkey => p_item_key,

Line 565: l_server_timezone := PON_AUCTION_PKG.get_oex_time_zone;

561:
562: -- convert the open bidding date, close bidding date, award by date, approval date, and rejection_date
563: -- to dates in the user's timezone
564: l_user_timezone := PON_AUCTION_PKG.get_time_zone(p_user_name);
565: l_server_timezone := PON_AUCTION_PKG.get_oex_time_zone;
566:
567: l_open_bidding_date := wf_engine.getItemAttrDate(itemtype => p_item_type,
568: itemkey => p_item_key,
569: aname => 'OPEN_BIDDING_DATE');

Line 633: l_user_timezone_desc := PON_AUCTION_PKG.get_timezone_description(l_user_timezone, l_language_code);

629: l_rejection_date_tz := l_rejection_date;
630: END IF;
631: END IF;
632:
633: l_user_timezone_desc := PON_AUCTION_PKG.get_timezone_description(l_user_timezone, l_language_code);
634:
635: wf_engine.setItemAttrText(itemtype => p_item_type,
636: itemkey => p_item_key,
637: aname => 'USER_TIMEZONE',

Line 703: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_PREVIEW_DATE_NOTSPEC'));

699:
700: wf_engine.SetItemAttrText (itemtype => p_item_type,
701: itemkey => p_item_key,
702: aname => 'PREVIEW_DATE_NOTSPECIFIED',
703: avalue => PON_AUCTION_PKG.getMessage('PON_AUC_PREVIEW_DATE_NOTSPEC'));
704: END IF;
705:
706: END set_common_user_attributes;
707:

Line 928: avalue => PON_AUCTION_PKG.getMessage('PON_OAM_ERROR_OCCURRED'));

924: -- this message can be seen by any buyer
925: wf_engine.SetItemAttrText(itemtype => itemtype,
926: itemkey => itemkey,
927: aname => 'APPLICATION_ERROR',
928: avalue => PON_AUCTION_PKG.getMessage('PON_OAM_ERROR_OCCURRED'));
929:
930: log_string(l_exception_log_level, l_current_log_level, l_module_name, SQLERRM);
931: END;
932:

Line 942: avalue => PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));

938: -- this message can be seen only by admin.
939: wf_engine.SetItemAttrText(itemtype => itemtype,
940: itemkey => itemkey,
941: aname => 'OAM_ERROR',
942: avalue => PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));
943:
944: -- this message can be seen by any buyer.
945: wf_engine.SetItemAttrText(itemtype => itemtype,
946: itemkey => itemkey,

Line 948: avalue => PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));

944: -- this message can be seen by any buyer.
945: wf_engine.SetItemAttrText(itemtype => itemtype,
946: itemkey => itemkey,
947: aname => 'APPLICATION_ERROR',
948: avalue => PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));
949:
950: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));
951:
952: END IF;

Line 950: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));

946: itemkey => itemkey,
947: aname => 'APPLICATION_ERROR',
948: avalue => PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));
949:
950: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_AME_PARALLEL_NOT_SUPPORTED'));
951:
952: END IF;
953:
954:

Line 1005: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));

1001: -- this message can be seen only by admin.
1002: wf_engine.SetItemAttrText(itemtype => itemtype,
1003: itemkey => itemkey,
1004: aname => 'OAM_ERROR',
1005: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));
1006:
1007: -- this message can be seen by any buyer.
1008: wf_engine.SetItemAttrText(itemtype => itemtype,
1009: itemkey => itemkey,

Line 1011: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));

1007: -- this message can be seen by any buyer.
1008: wf_engine.SetItemAttrText(itemtype => itemtype,
1009: itemkey => itemkey,
1010: aname => 'APPLICATION_ERROR',
1011: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));
1012:
1013: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));
1014: RETURN;
1015: ELSE

Line 1013: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));

1009: itemkey => itemkey,
1010: aname => 'APPLICATION_ERROR',
1011: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));
1012:
1013: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_next_approver.display_name ));
1014: RETURN;
1015: ELSE
1016: get_employee_info_for_person(l_person_id, l_next_approver_employee);
1017: END IF;

Line 1079: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_NEXT_APPROVER',

1075: END IF;
1076: wf_engine.SetItemAttrText(itemtype => itemtype,
1077: itemkey => itemkey,
1078: aname => 'APPLICATION_ERROR',
1079: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_NEXT_APPROVER',
1080: NULL,
1081: 'NAME',
1082: l_next_approver_name));
1083: END IF;

Line 1338: PON_AUCTION_PKG.getMessage('PON_AWARD_IS_APPROVED'),

1334: -- record that document as been approved (by all required approvers, if any)
1335: add_action_history(l_auction_header_id,
1336: l_transaction_id,
1337: 'AWARD_APPROVE',
1338: PON_AUCTION_PKG.getMessage('PON_AWARD_IS_APPROVED'),
1339: l_approval_date,
1340: 0,
1341: NULL);
1342:

Line 1495: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));

1491: -- this message can be seen only by admin.
1492: wf_engine.SetItemAttrText( itemtype => itemtype,
1493: itemkey => itemkey,
1494: aname => 'OAM_ERROR',
1495: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));
1496:
1497: -- this message can be seen by any buyer.
1498: wf_engine.SetItemAttrText( itemtype => itemtype,
1499: itemkey => itemkey,

Line 1501: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));

1497: -- this message can be seen by any buyer.
1498: wf_engine.SetItemAttrText( itemtype => itemtype,
1499: itemkey => itemkey,
1500: aname => 'APPLICATION_ERROR',
1501: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));
1502:
1503: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));
1504: RETURN;
1505: END IF;

Line 1503: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));

1499: itemkey => itemkey,
1500: aname => 'APPLICATION_ERROR',
1501: avalue => PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));
1502:
1503: log_string(l_exception_log_level, l_current_log_level, l_module_name, PON_AUCTION_PKG.getMessage('PON_NO_PERSON_FOR_POSITION', '', 'POSITION_NAME', l_approver.display_name ));
1504: RETURN;
1505: END IF;
1506:
1507: get_employee_info_for_person(l_person_id, l_approver_employee);

Line 1569: avalue => PON_AUCTION_PKG.getMessage('PON_NO_FORWARDEE_SPECIFIED'));

1565: -- set the Application Error workflow attribute
1566: wf_engine.SetItemAttrText(itemtype => itemtype,
1567: itemkey => itemkey,
1568: aname => 'APPLICATION_ERROR',
1569: avalue => PON_AUCTION_PKG.getMessage('PON_NO_FORWARDEE_SPECIFIED'));
1570: -- otherwise
1571: ELSE
1572: -- validate that the forwardee is an active employee and has a user account
1573: get_employee_info_for_user(l_forwardee_user_name, l_forwardee_employee);

Line 1587: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME', get_display_name_for_user(l_forwardee_user_name)));

1583: -- set the Application Error workflow attribute
1584: wf_engine.SetItemAttrText(itemtype => itemtype,
1585: itemkey => itemkey,
1586: aname => 'APPLICATION_ERROR',
1587: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME', get_display_name_for_user(l_forwardee_user_name)));
1588: END IF;
1589: END IF;
1590: END IF;
1591:

Line 1643: avalue => PON_AUCTION_PKG.getMessage('PON_NO_POSITION_FOR_PERSON', '', 'PERSON_NAME', l_forwardee.display_name ));

1639: -- this message can be seen only by admin.
1640: wf_engine.SetItemAttrText( itemtype => itemtype,
1641: itemkey => itemkey,
1642: aname => 'OAM_ERROR',
1643: avalue => PON_AUCTION_PKG.getMessage('PON_NO_POSITION_FOR_PERSON', '', 'PERSON_NAME', l_forwardee.display_name ));
1644:
1645: -- this message can be seen by any buyer.
1646: wf_engine.SetItemAttrText( itemtype => itemtype,
1647: itemkey => itemkey,

Line 1649: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME',l_forwardee.display_name ));

1645: -- this message can be seen by any buyer.
1646: wf_engine.SetItemAttrText( itemtype => itemtype,
1647: itemkey => itemkey,
1648: aname => 'APPLICATION_ERROR',
1649: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME',l_forwardee.display_name ));
1650:
1651: RETURN;
1652: END IF;
1653: END IF;

Line 1673: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME',l_forwardee.display_name ));

1669: -- this message can be seen only by admin.
1670: wf_engine.SetItemAttrText( itemtype => itemtype,
1671: itemkey => itemkey,
1672: aname => 'OAM_ERROR',
1673: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME',l_forwardee.display_name ));
1674:
1675: -- this message can be seen by any buyer.
1676: wf_engine.SetItemAttrText( itemtype => itemtype,
1677: itemkey => itemkey,

Line 1679: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME', l_forwardee.display_name ));

1675: -- this message can be seen by any buyer.
1676: wf_engine.SetItemAttrText( itemtype => itemtype,
1677: itemkey => itemkey,
1678: aname => 'APPLICATION_ERROR',
1679: avalue => PON_AUCTION_PKG.getMessage('PON_INVALID_FORWARDEE', NULL, 'NAME', l_forwardee.display_name ));
1680:
1681: RETURN;
1682: END IF;
1683: ELSE

Line 1723: avalue => PON_AUCTION_PKG.getMessage('PON_OAM_ERROR_OCCURRED'));

1719: -- this message can be seen by any buyer
1720: wf_engine.SetItemAttrText(itemtype => itemtype,
1721: itemkey => itemkey,
1722: aname => 'APPLICATION_ERROR',
1723: avalue => PON_AUCTION_PKG.getMessage('PON_OAM_ERROR_OCCURRED'));
1724:
1725: log_string(l_exception_log_level, l_current_log_level, l_module_name, SQLERRM);
1726: END;
1727: END IF;

Line 2029: raise_application_error(-20001,PON_AUCTION_PKG.getMessage('PON_NO_POSITION_FOR_PERSON', '', 'PERSON_NAME', l_approver.display_name ));

2025: l_approver.orig_system_id := NULL;
2026: END;
2027:
2028: IF l_approver.orig_system_id IS NULL THEN
2029: raise_application_error(-20001,PON_AUCTION_PKG.getMessage('PON_NO_POSITION_FOR_PERSON', '', 'PERSON_NAME', l_approver.display_name ));
2030: END IF;
2031: END IF;
2032: END IF;
2033:

Line 2372: wf_notification.SetAttrText(l_notification_id, 'NOTE_TO_BUYER', PON_AUCTION_PKG.replaceHtmlChars(p_note_to_buyer));

2368:
2369: -- if the notification was found, then respond to it with user's decision
2370: IF l_notification_found THEN
2371: wf_notification.SetAttrText(l_notification_id, 'RESULT', p_decision);
2372: wf_notification.SetAttrText(l_notification_id, 'NOTE_TO_BUYER', PON_AUCTION_PKG.replaceHtmlChars(p_note_to_buyer));
2373: wf_notification.SetAttrText(l_notification_id, 'APPROVER_FORWARDEE_USER', p_forwardee_user_name);
2374: wf_notification.respond(l_notification_id, p_decision, p_user_name);
2375: -- otherwise, raise an exception that the notification has already been responded to
2376: ELSE

Line 2377: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_NOTIF_ALREADY_RESPONDED'));

2373: wf_notification.SetAttrText(l_notification_id, 'APPROVER_FORWARDEE_USER', p_forwardee_user_name);
2374: wf_notification.respond(l_notification_id, p_decision, p_user_name);
2375: -- otherwise, raise an exception that the notification has already been responded to
2376: ELSE
2377: raise_application_error(-20001, PON_AUCTION_PKG.getMessage('PON_NOTIF_ALREADY_RESPONDED'));
2378: END IF;
2379:
2380: p_error_message := NULL;
2381: