33: --
34: l_dummy number(1);
35: c_proc constant varchar2(60) := 'create_item_attrib_if_notexist';
36: begin
37: g_debug := hr_utility.debug_enabled;
38: if g_debug then
39: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
40: end if;
41:
35: c_proc constant varchar2(60) := 'create_item_attrib_if_notexist';
36: begin
37: g_debug := hr_utility.debug_enabled;
38: if g_debug then
39: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
40: end if;
41:
42:
43: if g_debug then
40: end if;
41:
42:
43: if g_debug then
44: hr_utility.set_location('opening cursor csr_wiav with itemtype:'|| itemtype ||' , itemkey: '|| itemkey ||' , aname: '|| aname, 1);
45: end if;
46: -- open the cursor to determine if the a
47: open csr_wiav(itemtype,itemkey,aname);
48: fetch csr_wiav into l_dummy;
49: if csr_wiav%notfound then
50: --
51: -- item attribute does not exist so create it
52: if g_debug then
53: hr_utility.set_location('calling wf_engine.additemattr for aname:'||aname,2);
54: end if;
55: wf_engine.additemattr
56: (itemtype => itemtype
57: ,itemkey => itemkey
65: if csr_wiav%found then
66: -- set the values as per the type
67: if(text_value is not null) then
68: if g_debug then
69: hr_utility.set_location('calling wf_engine.setitemattrtext for text_value:'|| text_value,3);
70: end if;
71: wf_engine.setitemattrtext(itemtype,itemkey,aname,text_value);
72: end if;
73:
72: end if;
73:
74: if(number_value is not null) then
75: if g_debug then
76: hr_utility.set_location('calling wf_engine.setitemattrnumber for text_value:'|| number_value,4);
77: end if;
78: wf_engine.setitemattrnumber(itemtype,itemkey,aname,number_value);
79: end if;
80:
79: end if;
80:
81: if(date_value is not null) then
82: if g_debug then
83: hr_utility.set_location('calling wf_engine.setitemattrDate for text_value:'|| date_value,5);
84: end if;
85: wf_engine.setitemattrDate(itemtype,itemkey,aname,date_value);
86: end if;
87:
89:
90: close csr_wiav;
91:
92: if (g_debug ) then
93: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
94: end if;
95:
96: exception
97: when others then
95:
96: exception
97: when others then
98: if g_debug then
99: hr_utility.set_location('Error in create_item_attrib_if_notexist SQLERRM' ||' '||to_char(SQLCODE),20);
100: end if;
101: raise;
102:
103: end create_item_attrib_if_notexist;
109: IS
110: -- Local Variables
111: l_proc constant varchar2(100) := g_package ||'.'|| 'set_custom_wf_globals';
112: BEGIN
113: g_debug := hr_utility.debug_enabled;
114: hr_utility.set_location('Entering: '|| l_proc,1);
115:
116: if g_debug then
117: hr_utility.set_location('Setting hr_approval_custom.g_itemtype as :'|| p_itemtype,2);
110: -- Local Variables
111: l_proc constant varchar2(100) := g_package ||'.'|| 'set_custom_wf_globals';
112: BEGIN
113: g_debug := hr_utility.debug_enabled;
114: hr_utility.set_location('Entering: '|| l_proc,1);
115:
116: if g_debug then
117: hr_utility.set_location('Setting hr_approval_custom.g_itemtype as :'|| p_itemtype,2);
118: hr_utility.set_location('Setting hr_approval_custom.g_itemkey as :'|| p_itemkey,3);
113: g_debug := hr_utility.debug_enabled;
114: hr_utility.set_location('Entering: '|| l_proc,1);
115:
116: if g_debug then
117: hr_utility.set_location('Setting hr_approval_custom.g_itemtype as :'|| p_itemtype,2);
118: hr_utility.set_location('Setting hr_approval_custom.g_itemkey as :'|| p_itemkey,3);
119: end if;
120:
121: hr_approval_custom.g_itemtype := p_itemtype;
114: hr_utility.set_location('Entering: '|| l_proc,1);
115:
116: if g_debug then
117: hr_utility.set_location('Setting hr_approval_custom.g_itemtype as :'|| p_itemtype,2);
118: hr_utility.set_location('Setting hr_approval_custom.g_itemkey as :'|| p_itemkey,3);
119: end if;
120:
121: hr_approval_custom.g_itemtype := p_itemtype;
122: hr_approval_custom.g_itemkey := p_itemkey;
119: end if;
120:
121: hr_approval_custom.g_itemtype := p_itemtype;
122: hr_approval_custom.g_itemkey := p_itemkey;
123: hr_utility.set_location('Leaving: '|| l_proc,10);
124: END set_custom_wf_globals;
125:
126: function getOAFPageActId(p_item_type in wf_items.item_type%type,
127: p_item_key in wf_items.item_key%type) return number
129: -- local variables
130: c_proc constant varchar2(30) := 'storeApproverDetails';
131: ln_activity_id WF_ITEM_ACTIVITY_STATUSES.process_activity%type;
132: begin
133: g_debug := hr_utility.debug_enabled;
134: if g_debug then
135: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
136: end if;
137:
131: ln_activity_id WF_ITEM_ACTIVITY_STATUSES.process_activity%type;
132: begin
133: g_debug := hr_utility.debug_enabled;
134: if g_debug then
135: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
136: end if;
137:
138: -- get the blockid value corresponding to the UI page
139: SELECT process_activity
165: order by begin_date desc)
166: where rownum<=1;
167:
168: if (g_debug ) then
169: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
170: end if;
171:
172: return ln_activity_id;
173:
201: lv_recipient varchar2(250);
202: lv_new_transaction varchar2(250);
203: l_cpersonId VARCHAR2(15);
204: begin
205: g_debug := hr_utility.debug_enabled;
206:
207: if g_debug then
208: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
209: end if;
204: begin
205: g_debug := hr_utility.debug_enabled;
206:
207: if g_debug then
208: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
209: end if;
210:
211: -- get the transaction id of the sshr transaction
212: c_transaction_id := wf_engine.GetItemAttrNumber(itemtype => p_item_type ,
242: null;
243: end;
244:
245: if g_debug then
246: hr_utility.set_location('processing notification response, notification_id:'||wf_engine.context_nid,2);
247: hr_utility.set_location('lv_result_code:'||lv_result_code,3);
248: end if;
249:
250: -- possible actions
243: end;
244:
245: if g_debug then
246: hr_utility.set_location('processing notification response, notification_id:'||wf_engine.context_nid,2);
247: hr_utility.set_location('lv_result_code:'||lv_result_code,3);
248: end if;
249:
250: -- possible actions
251: /* APPROVED :Approve
261: -- block update the approval action history
262: begin
263: if(lv_result_code ='APPROVED') then
264: if g_debug then
265: hr_utility.set_location('calling hr_trans_history_api.archive_approve',4);
266: end if;
267: -- use the new routing api's to handle archive
268: hr_trans_history_api.archive_approve(c_transaction_id,
269: wf_engine.context_nid,
271: lv_comments);
272:
273: elsif(lv_result_code='RESUBMIT') then
274: if g_debug then
275: hr_utility.set_location('calling hr_trans_history_api.archive_approve',4);
276: end if;
277: -- use the new routing api's to handle archive
278: hr_trans_history_api.archive_resubmit(c_transaction_id,
279: wf_engine.context_nid,
284: ,'APPROVAL_COMMENT_COPY'));
285: elsif(lv_result_code='REJECTED') then
286:
287: if g_debug then
288: hr_utility.set_location('calling hr_trans_history_api.archive_reject',5);
289: end if;
290: -- archive the action to history
291: hr_trans_history_api.archive_reject(c_transaction_id,
292: wf_engine.context_nid,
293: wf_engine.context_user,
294: lv_comments);
295: elsif(lv_result_code='RETURNEDFORCORRECTION') then
296: if g_debug then
297: hr_utility.set_location('calling hr_trans_history_api.archive_rfc',6);
298: end if;
299: -- archive the action to history
300: hr_trans_history_api.archive_rfc(c_transaction_id,
301: wf_engine.context_nid,
303: lv_comments);
304: --wf_engine.context_user_comment);
305: elsif(lv_result_code='DEL') then
306: if g_debug then
307: hr_utility.set_location('calling hr_trans_history_api.archive_delete',7);
308: end if;
309: -- archive the action to history
310: hr_trans_history_api.archive_delete(c_transaction_id,
311: wf_engine.context_nid,
350:
351: hr_multi_tenancy_pkg.set_context_for_person(l_cpersonId);
352: end if;
353: if g_debug then
354: hr_utility.set_location('calling hr_trans_history_api.archive_timeout',7);
355: end if;
356: lv_new_transaction := wf_engine.getitemattrtext(p_item_type,
357: p_item_key,
358: 'HR_NEW_TRANSACTION',true);
383: result:= 'COMPLETE:'||lv_result_code;
384: end if;
385:
386: if g_debug then
387: hr_utility.set_location('returning with the result'||result,8);
388: end if;
389:
390:
391: if (g_debug ) then
388: end if;
389:
390:
391: if (g_debug ) then
392: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
393: end if;
394: exception
395: when others then
396: hr_utility.set_location('Error:'|| g_package||'.'||c_proc, 10);
392: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
393: end if;
394: exception
395: when others then
396: hr_utility.set_location('Error:'|| g_package||'.'||c_proc, 10);
397: raise;
398:
399: end handleArchive;
400:
408: l_current_forward_to_username wf_users.name%type;
409: l_current_forward_to_disp_name wf_users.display_name%type;
410:
411: begin
412: g_debug := hr_utility.debug_enabled;
413: if g_debug then
414: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
415: end if;
416: -- get the current forward to approver details
410:
411: begin
412: g_debug := hr_utility.debug_enabled;
413: if g_debug then
414: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
415: end if;
416: -- get the current forward to approver details
417: l_current_forward_to_id :=
418: nvl(wf_engine.GetItemAttrNumber
448:
449:
450:
451: if g_debug then
452: hr_utility.set_location('calling wf_directory.GetRoleName for p_orig_system:'|| l_current_forward_to_origSys ||' and p_orig_system_id:'|| l_current_forward_to_id,2);
453: end if;
454:
455: wf_directory.GetRoleName--GetUserName
456: (p_orig_system => l_current_forward_to_origSys
516: -- Get the username and display name for forward from person
517: -- and save to item attributes
518: --
519: if g_debug then
520: hr_utility.set_location('calling wf_directory.GetRoleName for p_orig_system:'|| l_current_forward_to_origSys ||' and p_orig_system_id:'|| l_current_forward_to_id,2);
521: end if;
522: wf_directory.GetRoleName--GetUserName
523: (p_orig_system => l_current_forward_to_origSys
524: ,p_orig_system_id => l_current_forward_to_id
590: date_value=>null
591: );
592:
593: if (g_debug ) then
594: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
595: end if;
596: exception
597: when others then
598: raise;
628:
629:
630:
631: begin
632: g_debug := hr_utility.debug_enabled;
633: if g_debug then
634: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
635: end if;
636:
630:
631: begin
632: g_debug := hr_utility.debug_enabled;
633: if g_debug then
634: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
635: end if;
636:
637: --
638: l_creator_person_id := wf_engine.GetItemAttrNumber
947:
948: end if;
949:
950: if (g_debug ) then
951: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
952: end if;
953: exception
954: when others then
955: raise;
961: is
962: -- local variables
963: c_proc constant varchar2(60) := 'populateApproverDetails';
964: begin
965: g_debug := hr_utility.debug_enabled;
966:
967: if g_debug then
968: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
969: end if;
964: begin
965: g_debug := hr_utility.debug_enabled;
966:
967: if g_debug then
968: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
969: end if;
970: -- create and/or populate approver details to item attributes
971: -- same structer as ame_util.approverRecord2
972: -- HR_APR_NAME_ATTR
1159: date_value=>null);
1160:
1161:
1162: if (g_debug ) then
1163: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1164: end if;
1165:
1166: exception
1167: when others then
1178: c_proc constant varchar2(30) := 'getNextApproverRole';
1179: lv_current_approver_category varchar2(4000);
1180:
1181: begin
1182: g_debug := hr_utility.debug_enabled;
1183:
1184: if g_debug then
1185: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1186: end if;
1181: begin
1182: g_debug := hr_utility.debug_enabled;
1183:
1184: if g_debug then
1185: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1186: end if;
1187: if ( funmode = wf_engine.eng_run ) then
1188: -- HR_APR_CATEGORY_ATTR
1189: lv_current_approver_category :=wf_engine.GetItemAttrText(itemtype => p_item_type ,
1201: end if;
1202:
1203:
1204: if (g_debug ) then
1205: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1206: end if;
1207: exception
1208: when others then
1209: raise;
1215: p_item_key in varchar2) return boolean is
1216: lv_result varchar2(50);
1217: c_proc constant varchar2(60) := 'isPreNonAMEFYIComplete';
1218: begin
1219: g_debug := hr_utility.debug_enabled;
1220: if g_debug then
1221: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1222: end if;
1223:
1217: c_proc constant varchar2(60) := 'isPreNonAMEFYIComplete';
1218: begin
1219: g_debug := hr_utility.debug_enabled;
1220: if g_debug then
1221: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1222: end if;
1223:
1224: -- call the initialize code
1225: --HR_DYNAMIC_APPROVAL_WEB.INITIALIZE_ITEM_ATTRIBUTES(p_item_type,p_item_key,null,wf_engine.eng_run,lv_result);
1275: ,aname => 'HR_APR_ORIG_SYSTEM_ID_ATTR'
1276: ,avalue=>null);
1277:
1278: if (g_debug ) then
1279: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 11);
1280: end if;
1281: return false;
1282: else
1283: if (g_debug ) then
1280: end if;
1281: return false;
1282: else
1283: if (g_debug ) then
1284: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 12);
1285: end if;
1286: return true;
1287: end if;
1288: exception
1287: end if;
1288: exception
1289: when others then
1290: if g_debug then
1291: hr_utility.set_location('Error in isPreNonAMEFYIComplete SQLERRM' ||' '||to_char(SQLCODE),20);
1292: end if;
1293: raise;
1294: end isPreNonAMEFYIComplete;
1295:
1298: p_item_key in varchar2) return boolean is
1299: lv_result varchar2(50);
1300: c_proc constant varchar2(60) := 'isPostNonAMEFYIComplete';
1301: begin
1302: g_debug := hr_utility.debug_enabled;
1303:
1304: if g_debug then
1305: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1306: end if;
1301: begin
1302: g_debug := hr_utility.debug_enabled;
1303:
1304: if g_debug then
1305: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1306: end if;
1307:
1308: -- fyiApproverCategory
1309: HR_DYNAMIC_APPROVAL_WEB.CHECK_ONAPPROVAL_NOTIFIER(p_item_type,p_item_key,null,wf_engine.eng_run,lv_result);
1355: ,itemkey => p_item_key
1356: ,aname => 'HR_APR_ORIG_SYSTEM_ID_ATTR'
1357: ,avalue=>null);
1358: if (g_debug ) then
1359: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 11);
1360: end if;
1361: return false;
1362: else
1363: if (g_debug ) then
1360: end if;
1361: return false;
1362: else
1363: if (g_debug ) then
1364: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 12);
1365: end if;
1366: return true;
1367: end if;
1368: exception
1367: end if;
1368: exception
1369: when others then
1370: if g_debug then
1371: hr_utility.set_location('Error in isPostNonAMEFYIComplete SQLERRM' ||' '||to_char(SQLCODE),20);
1372: end if;
1373: raise;
1374:
1375: end isPostNonAMEFYIComplete;
1398:
1399: --
1400:
1401: BEGIN
1402: g_debug := hr_utility.debug_enabled;
1403: c_approvalprocesscompleteynout := ame_util.booleanFalse;
1404:
1405: if g_debug then
1406: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1402: g_debug := hr_utility.debug_enabled;
1403: c_approvalprocesscompleteynout := ame_util.booleanFalse;
1404:
1405: if g_debug then
1406: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1407: end if;
1408:
1409: error_message_text := wf_engine.GetItemAttrText(itemtype => p_item_type ,
1410: itemkey => p_item_key,
1442: -- expose the wf control variables to the custom package
1443: -- -----------------------------------------------------------------------
1444: -- Needed for backward compatibility
1445: if g_debug then
1446: hr_utility.set_location('calling set_custom_wf_globals with p_item_type: '|| p_item_type ||' and p_item_key:' || p_item_key,2);
1447: end if;
1448:
1449: set_custom_wf_globals
1450: (p_itemtype => p_item_type
1451: ,p_itemkey => p_item_key);
1452:
1453: -- check if the pre-notification process for non-AME FYI is completed
1454: if g_debug then
1455: hr_utility.set_location('calling isPreNonAMEFYIComplete with p_item_type: '|| p_item_type ||' and p_item_key:' || p_item_key,3);
1456: end if;
1457:
1458: if(NOT isPreNonAMEFYIComplete(p_item_type,p_item_key)) then
1459: result := 'COMPLETE:'||'N';
1469: aname => 'TRANSACTION_ID');
1470: if(c_transaction_type is not null) then
1471: begin
1472: if g_debug then
1473: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
1474: hr_utility.set_location('c_application_id:'||c_application_id,5);
1475: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
1476: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
1477: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
1470: if(c_transaction_type is not null) then
1471: begin
1472: if g_debug then
1473: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
1474: hr_utility.set_location('c_application_id:'||c_application_id,5);
1475: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
1476: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
1477: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
1478: end if;
1471: begin
1472: if g_debug then
1473: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
1474: hr_utility.set_location('c_application_id:'||c_application_id,5);
1475: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
1476: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
1477: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
1478: end if;
1479: ame_api2.getNextApprovers4
1472: if g_debug then
1473: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
1474: hr_utility.set_location('c_application_id:'||c_application_id,5);
1475: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
1476: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
1477: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
1478: end if;
1479: ame_api2.getNextApprovers4
1480: (applicationIdIn => c_application_id
1473: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
1474: hr_utility.set_location('c_application_id:'||c_application_id,5);
1475: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
1476: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
1477: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
1478: end if;
1479: ame_api2.getNextApprovers4
1480: (applicationIdIn => c_application_id
1481: ,transactionTypeIn => c_transaction_type
1484: ,approvalProcessCompleteYNOut => c_approvalprocesscompleteynout
1485: ,nextApproversOut => c_next_approvers);
1486:
1487: if g_debug then
1488: hr_utility.set_location('returned from ame_api2.getNextApprovers4, number records fetched:'||c_next_approvers.count,9);
1489: end if;
1490:
1491: -- Assumption no parallel approvers,
1492: -- to revisit for parallel approvers case
1512: p_approver_rec=>c_approver_to_notify_rec);
1513: exception
1514: when others then
1515: if g_debug then
1516: hr_utility.set_location('Error in isFinalApprover calling hr_approval_ss.getNextCustomApprover, SQLERRM' ||' '||to_char(SQLCODE),20);
1517: end if;
1518: raise;
1519: end;
1520: end if ; -- check for AME
1520: end if ; -- check for AME
1521:
1522:
1523: if g_debug then
1524: hr_utility.set_location('c_approvalprocesscompleteynout:'||c_approvalprocesscompleteynout,12);
1525: end if;
1526:
1527: -- check if the approval process is complete
1528: if(c_approvalprocesscompleteynout='Y') then
1528: if(c_approvalprocesscompleteynout='Y') then
1529: result := 'COMPLETE:'||'Y';
1530: -- check if the pre-notification process for non-AME FYI is completed
1531: if g_debug then
1532: hr_utility.set_location('calling isPostNonAMEFYIComplete',13);
1533: end if;
1534:
1535: if(NOT isPostNonAMEFYIComplete(p_item_type,p_item_key)) then
1536: result := 'COMPLETE:'||'N';
1537: return;
1538: end if;
1539: else
1540: if g_debug then
1541: hr_utility.set_location('calling populateApproverDetails',14);
1542: end if;
1543:
1544: populateApproverDetails(p_item_type,p_item_key,c_approver_to_notify_rec);
1545: result := 'COMPLETE:'||'N';
1548:
1549:
1550:
1551: if (g_debug ) then
1552: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 50);
1553: end if;
1554:
1555:
1556: EXCEPTION
1555:
1556: EXCEPTION
1557: WHEN OTHERS THEN
1558: if g_debug then
1559: hr_utility.set_location('Error in isFinalApprover , SQLERRM' ||' '||to_char(SQLCODE),30);
1560: end if;
1561: raise;
1562:
1563: END isFinalApprover ;
1580: c_approvalprocesscompleteynout ame_util.charType;
1581: l_current_forward_to_username wf_users.name%type;
1582:
1583: begin
1584: g_debug := hr_utility.debug_enabled;
1585:
1586: if g_debug then
1587: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1588: end if;
1583: begin
1584: g_debug := hr_utility.debug_enabled;
1585:
1586: if g_debug then
1587: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1588: end if;
1589: if ( funmode = wf_engine.eng_run ) then
1590: -- call PQH_SS_HISTORY.transfer_approval_to_history
1591: if g_debug then
1588: end if;
1589: if ( funmode = wf_engine.eng_run ) then
1590: -- call PQH_SS_HISTORY.transfer_approval_to_history
1591: if g_debug then
1592: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_approval_to_history ',2);
1593: hr_utility.set_location('p_item_type:'|| p_item_type,3);
1594: hr_utility.set_location('p_item_key:'|| p_item_key,4);
1595: end if;
1596:
1589: if ( funmode = wf_engine.eng_run ) then
1590: -- call PQH_SS_HISTORY.transfer_approval_to_history
1591: if g_debug then
1592: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_approval_to_history ',2);
1593: hr_utility.set_location('p_item_type:'|| p_item_type,3);
1594: hr_utility.set_location('p_item_key:'|| p_item_key,4);
1595: end if;
1596:
1597: PQH_SS_HISTORY.transfer_approval_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
1590: -- call PQH_SS_HISTORY.transfer_approval_to_history
1591: if g_debug then
1592: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_approval_to_history ',2);
1593: hr_utility.set_location('p_item_type:'|| p_item_type,3);
1594: hr_utility.set_location('p_item_key:'|| p_item_key,4);
1595: end if;
1596:
1597: PQH_SS_HISTORY.transfer_approval_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
1598: -- reset the status to pending approval
1596:
1597: PQH_SS_HISTORY.transfer_approval_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
1598: -- reset the status to pending approval
1599: if g_debug then
1600: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_approve_status ',5);
1601: hr_utility.set_location('p_item_type:'|| p_item_type,6);
1602: hr_utility.set_location('p_item_key:'|| p_item_key,7);
1603: end if;
1604:
1597: PQH_SS_HISTORY.transfer_approval_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
1598: -- reset the status to pending approval
1599: if g_debug then
1600: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_approve_status ',5);
1601: hr_utility.set_location('p_item_type:'|| p_item_type,6);
1602: hr_utility.set_location('p_item_key:'|| p_item_key,7);
1603: end if;
1604:
1605: PQH_SS_WORKFLOW.set_txn_approve_status(p_item_type,p_item_key,p_act_id,funmode,result);
1598: -- reset the status to pending approval
1599: if g_debug then
1600: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_approve_status ',5);
1601: hr_utility.set_location('p_item_type:'|| p_item_type,6);
1602: hr_utility.set_location('p_item_key:'|| p_item_key,7);
1603: end if;
1604:
1605: PQH_SS_WORKFLOW.set_txn_approve_status(p_item_type,p_item_key,p_act_id,funmode,result);
1606:
1606:
1607: end if;
1608:
1609: if (g_debug ) then
1610: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1611: end if;
1612: exception
1613: when others then
1614: raise;
1670: l_current_forward_to_username wf_users.name%type;
1671:
1672: begin
1673:
1674: g_debug := hr_utility.debug_enabled;
1675:
1676: if g_debug then
1677: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1678: end if;
1673:
1674: g_debug := hr_utility.debug_enabled;
1675:
1676: if g_debug then
1677: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1678: end if;
1679: if ( funmode = wf_engine.eng_run ) then
1680: -- check if it is AME or custom approvals
1681: c_application_id :=nvl(wf_engine.GetItemAttrNumber(itemtype => p_item_type ,
1690: itemkey => p_item_key,
1691: aname => 'HR_AME_TRAN_TYPE_ATTR');
1692: forwardToRoleReInit(p_item_type,p_item_key);
1693: if(c_transaction_type is not null) then
1694: hr_utility.set_location('In(if ( if(c_transaction_type is not null))): '|| c_proc,2);
1695: l_current_forward_to_username:= Wf_engine.GetItemAttrText(itemtype => p_item_type
1696: ,itemkey => p_item_key
1697: ,aname => 'FORWARD_TO_USERNAME');
1698: l_current_forward_to_username := nvl(l_current_forward_to_username,wf_engine.GetItemAttrText(itemtype => p_item_type ,
1698: l_current_forward_to_username := nvl(l_current_forward_to_username,wf_engine.GetItemAttrText(itemtype => p_item_type ,
1699: itemkey => p_item_key,
1700: aname => 'RETURN_TO_USERNAME'));
1701: if g_debug then
1702: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
1703: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
1704: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
1705: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
1706: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1699: itemkey => p_item_key,
1700: aname => 'RETURN_TO_USERNAME'));
1701: if g_debug then
1702: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
1703: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
1704: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
1705: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
1706: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1707: end if;
1700: aname => 'RETURN_TO_USERNAME'));
1701: if g_debug then
1702: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
1703: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
1704: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
1705: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
1706: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1707: end if;
1708:
1701: if g_debug then
1702: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
1703: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
1704: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
1705: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
1706: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1707: end if;
1708:
1709: begin
1702: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
1703: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
1704: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
1705: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
1706: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1707: end if;
1708:
1709: begin
1710: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
1721: updateItemIn =>false);
1722: exception
1723: when others then
1724: if g_debug then
1725: hr_utility.set_location('Error in updateApproveStatus SQLERRM' ||' '||to_char(SQLCODE),10);
1726: end if;
1727: hr_utility.trace('ORCL error '||SQLERRM);
1728: result := wf_engine.eng_trans_default;
1729: return;
1723: when others then
1724: if g_debug then
1725: hr_utility.set_location('Error in updateApproveStatus SQLERRM' ||' '||to_char(SQLCODE),10);
1726: end if;
1727: hr_utility.trace('ORCL error '||SQLERRM);
1728: result := wf_engine.eng_trans_default;
1729: return;
1730: end;
1731:
1729: return;
1730: end;
1731:
1732: if g_debug then
1733: hr_utility.set_location('returned from calling ame_api2.updateApprovalStatus2', 8);
1734: end if;
1735:
1736: result := wf_engine.eng_trans_default;
1737: else
1750:
1751: end if;
1752:
1753: if (g_debug ) then
1754: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 20);
1755: end if;
1756: exception
1757: when others then
1758: if g_debug then
1755: end if;
1756: exception
1757: when others then
1758: if g_debug then
1759: hr_utility.set_location('Error in updateApproveStatus SQLERRM' ||' '||to_char(SQLCODE),30);
1760: end if;
1761: raise;
1762: end updateApproveStatus;
1763:
1771: lv_current_approver_category varchar2(4000);
1772: ln_sublist_order_number number;
1773: c_proc constant varchar2(60) := 'approver_category';
1774: begin
1775: g_debug := hr_utility.debug_enabled;
1776:
1777: if g_debug then
1778: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1779: end if;
1774: begin
1775: g_debug := hr_utility.debug_enabled;
1776:
1777: if g_debug then
1778: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1779: end if;
1780:
1781: -- get the current approver category
1782: -- HR_APR_CATEGORY_ATTR
1803: result:= 'COMPLETE:'||'POST';
1804: end if;
1805:
1806: if (g_debug ) then
1807: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1808: end if;
1809:
1810: exception
1811: when others then
1809:
1810: exception
1811: when others then
1812: if g_debug then
1813: hr_utility.set_location('Error in approver_category SQLERRM' ||' '||to_char(SQLCODE),20);
1814: end if;
1815: raise;
1816:
1817: end approver_category;
1832: l_current_forward_to_username wf_users.name%type;
1833: l_curr_fwd_to_orig_system_id number;
1834:
1835: begin
1836: g_debug := hr_utility.debug_enabled;
1837:
1838: if g_debug then
1839: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1840: end if;
1835: begin
1836: g_debug := hr_utility.debug_enabled;
1837:
1838: if g_debug then
1839: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1840: end if;
1841: if ( funmode = wf_engine.eng_run ) then
1842: -- check if it is AME or custom approvals
1843: c_application_id :=nvl(wf_engine.GetItemAttrNumber(itemtype => p_item_type ,
1851: c_transaction_type := wf_engine.GetItemAttrText(itemtype => p_item_type ,
1852: itemkey => p_item_key,
1853: aname => 'HR_AME_TRAN_TYPE_ATTR');
1854: if(c_transaction_type is not null) then
1855: hr_utility.set_location('In(if ( if(c_transaction_type is not null))): '|| c_proc,15);
1856: l_current_forward_to_username:= Wf_engine.GetItemAttrText(itemtype => p_item_type
1857: ,itemkey => p_item_key
1858: ,aname => 'HR_APR_NAME_ATTR');
1859: l_curr_fwd_to_orig_system_id :=wf_engine.getItemAttrNumber
1862: ,aname => 'HR_APR_ORIG_SYSTEM_ID_ATTR');
1863: if(l_curr_fwd_to_orig_system_id is not null) then
1864:
1865: if g_debug then
1866: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1863: if(l_curr_fwd_to_orig_system_id is not null) then
1864:
1865: if g_debug then
1866: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1871: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1864:
1865: if g_debug then
1866: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1871: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1872: end if;
1865: if g_debug then
1866: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1871: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1872: end if;
1873:
1866: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1871: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1872: end if;
1873:
1874: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
1867: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1868: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1869: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1870: hr_utility.set_location('approvalStatusIn:'|| ame_util.notifiedStatus, 6);
1871: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1872: end if;
1873:
1874: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
1875: transactionTypeIn =>c_transaction_type,
1901: end if;
1902: end if;
1903:
1904: if (g_debug ) then
1905: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1906: end if;
1907: exception
1908: when others then
1909: if g_debug then
1906: end if;
1907: exception
1908: when others then
1909: if g_debug then
1910: hr_utility.set_location('Error in flagApproversAsNotified SQLERRM' ||' '||to_char(SQLCODE),20);
1911: end if;
1912: raise;
1913: end flagApproversAsNotified;
1914:
1931: c_approvalprocesscompleteynout ame_util.charType;
1932: l_current_forward_to_username wf_users.name%type;
1933:
1934: begin
1935: g_debug := hr_utility.debug_enabled;
1936:
1937: if g_debug then
1938: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1939: end if;
1934: begin
1935: g_debug := hr_utility.debug_enabled;
1936:
1937: if g_debug then
1938: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
1939: end if;
1940: if ( funmode = wf_engine.eng_run ) then
1941: -- check if it is AME or custom approvals
1942: c_application_id :=nvl(wf_engine.GetItemAttrNumber(itemtype => p_item_type ,
1950: c_transaction_type := wf_engine.GetItemAttrText(itemtype => p_item_type ,
1951: itemkey => p_item_key,
1952: aname => 'HR_AME_TRAN_TYPE_ATTR');
1953: if(c_transaction_type is not null) then
1954: hr_utility.set_location('In(if ( if(c_transaction_type is not null))): '|| c_proc,15);
1955: l_current_forward_to_username:= Wf_engine.GetItemAttrText(itemtype => p_item_type
1956: ,itemkey => p_item_key
1957: ,aname => 'FORWARD_TO_USERNAME');
1958: if g_debug then
1955: l_current_forward_to_username:= Wf_engine.GetItemAttrText(itemtype => p_item_type
1956: ,itemkey => p_item_key
1957: ,aname => 'FORWARD_TO_USERNAME');
1958: if g_debug then
1959: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1956: ,itemkey => p_item_key
1957: ,aname => 'FORWARD_TO_USERNAME');
1958: if g_debug then
1959: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1964: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1957: ,aname => 'FORWARD_TO_USERNAME');
1958: if g_debug then
1959: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1964: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1965: end if;
1958: if g_debug then
1959: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1964: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1965: end if;
1966:
1959: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1964: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1965: end if;
1966:
1967: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
1960: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
1961: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
1962: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
1963: hr_utility.set_location('approvalStatusIn:'|| ame_util.noResponseStatus, 6);
1964: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
1965: end if;
1966:
1967: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
1968: transactionTypeIn =>c_transaction_type,
1983: end if;
1984: end if;
1985:
1986: if (g_debug ) then
1987: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
1988: end if;
1989: exception
1990: when others then
1991: result := wf_engine.eng_trans_default;
2002: -- local variables
2003: c_proc constant varchar2(30) := 'setRespondedUserContext';
2004:
2005: begin
2006: g_debug := hr_utility.debug_enabled;
2007:
2008: if g_debug then
2009: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2010: end if;
2005: begin
2006: g_debug := hr_utility.debug_enabled;
2007:
2008: if g_debug then
2009: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2010: end if;
2011:
2012: if ( funmode = 'RESPOND' ) then
2013: create_item_attrib_if_notexist(itemtype=>p_item_type,
2072: return;
2073: end if;
2074:
2075: if (g_debug ) then
2076: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2077: end if;
2078:
2079:
2080:
2080:
2081: exception
2082: when others then
2083: if g_debug then
2084: hr_utility.set_location('Error in setRespondedUserContext SQLERRM' ||' '||to_char(SQLCODE),20);
2085: end if;
2086: raise;
2087: end setRespondedUserContext;
2088:
2107: lv_result varchar2(100);
2108: lv_comments wf_item_attribute_values.text_value%type;
2109:
2110: begin
2111: g_debug := hr_utility.debug_enabled;
2112:
2113: if g_debug then
2114: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2115: end if;
2110: begin
2111: g_debug := hr_utility.debug_enabled;
2112:
2113: if g_debug then
2114: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2115: end if;
2116: if ( funmode = wf_engine.eng_run ) then
2117: -- Creating attribute to check the new transaction
2118: create_item_attrib_if_notexist(itemtype => p_item_type
2142: -- call the other intialization routines needed for approval
2143: -- notification process
2144: -- PQH_SS_HISTORY.transfer_submit_to_history
2145: if g_debug then
2146: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_submit_to_history', 2);
2147: hr_utility.set_location('p_item_type:'|| p_item_type, 3);
2148: hr_utility.set_location('p_item_key:'|| p_item_key, 4);
2149: end if;
2150: -- PQH_SS_HISTORY.transfer_submit_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
2143: -- notification process
2144: -- PQH_SS_HISTORY.transfer_submit_to_history
2145: if g_debug then
2146: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_submit_to_history', 2);
2147: hr_utility.set_location('p_item_type:'|| p_item_type, 3);
2148: hr_utility.set_location('p_item_key:'|| p_item_key, 4);
2149: end if;
2150: -- PQH_SS_HISTORY.transfer_submit_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
2151: -- use the new history API's
2144: -- PQH_SS_HISTORY.transfer_submit_to_history
2145: if g_debug then
2146: hr_utility.set_location('calling PQH_SS_HISTORY.transfer_submit_to_history', 2);
2147: hr_utility.set_location('p_item_type:'|| p_item_type, 3);
2148: hr_utility.set_location('p_item_key:'|| p_item_key, 4);
2149: end if;
2150: -- PQH_SS_HISTORY.transfer_submit_to_history(p_item_type,p_item_key,p_act_id,funmode,result);
2151: -- use the new history API's
2152: -- add the code plugin transfer history
2158: lv_comments);
2159:
2160: -- HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES
2161: if g_debug then
2162: hr_utility.set_location('calling HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES', 5);
2163: hr_utility.set_location('p_item_type:'|| p_item_type, 6);
2164: hr_utility.set_location('p_item_key:'|| p_item_key, 7);
2165: end if;
2166:
2159:
2160: -- HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES
2161: if g_debug then
2162: hr_utility.set_location('calling HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES', 5);
2163: hr_utility.set_location('p_item_type:'|| p_item_type, 6);
2164: hr_utility.set_location('p_item_key:'|| p_item_key, 7);
2165: end if;
2166:
2167: HR_DYNAMIC_APPROVAL_WEB.INITIALIZE_ITEM_ATTRIBUTES(p_item_type,p_item_key,null,wf_engine.eng_run,lv_result);
2160: -- HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES
2161: if g_debug then
2162: hr_utility.set_location('calling HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES', 5);
2163: hr_utility.set_location('p_item_type:'|| p_item_type, 6);
2164: hr_utility.set_location('p_item_key:'|| p_item_key, 7);
2165: end if;
2166:
2167: HR_DYNAMIC_APPROVAL_WEB.INITIALIZE_ITEM_ATTRIBUTES(p_item_type,p_item_key,null,wf_engine.eng_run,lv_result);
2168: HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES(p_item_type,p_item_key,p_act_id,funmode,result);
2168: HR_APPROVAL_WF.INITIALIZE_ITEM_ATTRIBUTES(p_item_type,p_item_key,p_act_id,funmode,result);
2169:
2170: -- PQH_SS_WORKFLOW.set_image_source
2171: if g_debug then
2172: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_image_source', 8);
2173: hr_utility.set_location('p_item_type:'|| p_item_type, 9);
2174: hr_utility.set_location('p_item_key:'|| p_item_key, 10);
2175: end if;
2176:
2169:
2170: -- PQH_SS_WORKFLOW.set_image_source
2171: if g_debug then
2172: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_image_source', 8);
2173: hr_utility.set_location('p_item_type:'|| p_item_type, 9);
2174: hr_utility.set_location('p_item_key:'|| p_item_key, 10);
2175: end if;
2176:
2177: PQH_SS_WORKFLOW.set_image_source(p_item_type,p_item_key,p_act_id,funmode,result);
2170: -- PQH_SS_WORKFLOW.set_image_source
2171: if g_debug then
2172: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_image_source', 8);
2173: hr_utility.set_location('p_item_type:'|| p_item_type, 9);
2174: hr_utility.set_location('p_item_key:'|| p_item_key, 10);
2175: end if;
2176:
2177: PQH_SS_WORKFLOW.set_image_source(p_item_type,p_item_key,p_act_id,funmode,result);
2178: result := 'COMPLETE:'||'Y';
2185:
2186: end if;
2187:
2188: if (g_debug ) then
2189: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2190: end if;
2191: exception
2192: when others then
2193: if g_debug then
2190: end if;
2191: exception
2192: when others then
2193: if g_debug then
2194: hr_utility.set_location('Error in submit_for_approval SQLERRM' ||' '||to_char(SQLCODE),20);
2195: end if;
2196: raise;
2197: end submit_for_approval;
2198:
2216: lv_result_code WF_ITEM_ACTIVITY_STATUSES.activity_result_code%type;
2217: lv_result_display varchar2(250);
2218:
2219: begin
2220: g_debug := hr_utility.debug_enabled;
2221:
2222: if g_debug then
2223: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2224: end if;
2219: begin
2220: g_debug := hr_utility.debug_enabled;
2221:
2222: if g_debug then
2223: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2224: end if;
2225:
2226: handleArchive(p_item_type,
2227: p_item_key,
2229: funmode,
2230: result);
2231:
2232: if g_debug then
2233: hr_utility.set_location('returning with the result'||result,8);
2234: end if;
2235:
2236:
2237: if (g_debug ) then
2234: end if;
2235:
2236:
2237: if (g_debug ) then
2238: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2239: end if;
2240:
2241: exception
2242: when others then
2240:
2241: exception
2242: when others then
2243: if g_debug then
2244: hr_utility.set_location('Error in setSFLResponseContext SQLERRM' ||' '||to_char(SQLCODE),20);
2245: end if;
2246: raise;
2247: end setSFLResponseContext;
2248:
2265: lv_result_code WF_ITEM_ACTIVITY_STATUSES.activity_result_code%type;
2266: lv_result_display varchar2(250);
2267:
2268: begin
2269: g_debug := hr_utility.debug_enabled;
2270:
2271: if g_debug then
2272: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2273: end if;
2268: begin
2269: g_debug := hr_utility.debug_enabled;
2270:
2271: if g_debug then
2272: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2273: end if;
2274:
2275: --sturlapa coding starts for bug 3866581
2276: begin
2299: p_act_id,
2300: funmode,
2301: result);
2302: if g_debug then
2303: hr_utility.set_location('returning with the result'||result,8);
2304: end if;
2305:
2306:
2307:
2306:
2307:
2308:
2309: if (g_debug ) then
2310: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2311: end if;
2312:
2313: exception
2314: when others then
2312:
2313: exception
2314: when others then
2315: if g_debug then
2316: hr_utility.set_location('Error in setRFCResponseContext SQLERRM' ||' '||to_char(SQLCODE),20);
2317: end if;
2318: raise;
2319: end setRFCResponseContext;
2320:
2351: person_id = l_new_fwd_person_id;*/
2352:
2353: begin
2354:
2355: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2356:
2357: if ( funmode = 'TRANSFER' ) then
2358: -- TRANSFER - When a notification recipient transfers the notification.
2359: -- check if it is AME or custom approvals
2369: itemkey => p_item_key,
2370: aname => 'HR_AME_TRAN_TYPE_ATTR');
2371:
2372: if(c_transaction_type is not null) then
2373: hr_utility.set_location('In(if ( if(c_transaction_type is not null))): '|| c_proc,2);
2374: l_current_forward_to_username:= Wf_engine.GetItemAttrText(itemtype => p_item_type
2375: ,itemkey => p_item_key
2376: ,aname => 'FORWARD_TO_USERNAME');
2377: l_current_forward_to_username := nvl(l_current_forward_to_username,wf_engine.GetItemAttrText(itemtype => p_item_type ,
2377: l_current_forward_to_username := nvl(l_current_forward_to_username,wf_engine.GetItemAttrText(itemtype => p_item_type ,
2378: itemkey => p_item_key,
2379: aname => 'RETURN_TO_USERNAME'));
2380: if g_debug then
2381: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2378: itemkey => p_item_key,
2379: aname => 'RETURN_TO_USERNAME'));
2380: if g_debug then
2381: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2386: hr_utility.set_location('new approver:'|| wf_engine.context_new_role, 7);
2379: aname => 'RETURN_TO_USERNAME'));
2380: if g_debug then
2381: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2386: hr_utility.set_location('new approver:'|| wf_engine.context_new_role, 7);
2387: end if;
2380: if g_debug then
2381: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2386: hr_utility.set_location('new approver:'|| wf_engine.context_new_role, 7);
2387: end if;
2388:
2381: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 3);
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2386: hr_utility.set_location('new approver:'|| wf_engine.context_new_role, 7);
2387: end if;
2388:
2389: begin
2382: hr_utility.set_location('c_application_id:'|| c_application_id, 4);
2383: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 5);
2384: hr_utility.set_location('approvalStatusIn:'|| ame_util.approvedStatus, 6);
2385: hr_utility.set_location('approverNameIn:'|| l_current_forward_to_username, 7);
2386: hr_utility.set_location('new approver:'|| wf_engine.context_new_role, 7);
2387: end if;
2388:
2389: begin
2390:
2397: rec_forwardee.orig_system_id :=l_new_fwd_person_id;
2398: rec_forwardee.display_name :=l_new_fwd_display_name;
2399: --rec_forwardee.api_insertion:='Y';
2400:
2401: hr_utility.set_location('new approver person id:'|| l_new_fwd_person_id, 7);
2402:
2403:
2404:
2405: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
2421: wf_engine.setItemAttrText(p_item_type,p_item_key,'FORWARD_TO_USERNAME',wf_engine.context_new_role);
2422: wf_engine.setItemAttrText(p_item_type,p_item_key,'FORWARD_TO_DISPLAY_NAME',wf_directory.GetRoleDisplayName(wf_engine.context_new_role));
2423:
2424: if g_debug then
2425: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
2426: hr_utility.set_location('c_application_id:'||c_application_id,5);
2427: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
2428: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
2429: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
2422: wf_engine.setItemAttrText(p_item_type,p_item_key,'FORWARD_TO_DISPLAY_NAME',wf_directory.GetRoleDisplayName(wf_engine.context_new_role));
2423:
2424: if g_debug then
2425: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
2426: hr_utility.set_location('c_application_id:'||c_application_id,5);
2427: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
2428: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
2429: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
2430: end if;
2423:
2424: if g_debug then
2425: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
2426: hr_utility.set_location('c_application_id:'||c_application_id,5);
2427: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
2428: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
2429: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
2430: end if;
2431:
2424: if g_debug then
2425: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
2426: hr_utility.set_location('c_application_id:'||c_application_id,5);
2427: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
2428: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
2429: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
2430: end if;
2431:
2432: ame_api2.getNextApprovers4
2425: hr_utility.set_location('calling ame_api2.getNextApprovers4 ',4);
2426: hr_utility.set_location('c_application_id:'||c_application_id,5);
2427: hr_utility.set_location('c_transaction_type:'|| c_transaction_type,6);
2428: hr_utility.set_location('c_transaction_id:'|| c_transaction_id,7);
2429: hr_utility.set_location('flagApproversAsNotifiedIn:'|| ame_util.booleanFalse,8);
2430: end if;
2431:
2432: ame_api2.getNextApprovers4
2433: (applicationIdIn => c_application_id
2440:
2441: exception
2442: when others then
2443: if g_debug then
2444: hr_utility.set_location('Error in updateApproveStatus SQLERRM' ||' '||to_char(SQLCODE),10);
2445: end if;
2446:
2447: result := 'COMPLETE:' || 'ERROR';
2448: return;
2448: return;
2449: end ;
2450:
2451: if g_debug then
2452: hr_utility.set_location('returned from calling ame_api2.updateApprovalStatus2', 8);
2453: end if;
2454:
2455:
2456:
2462:
2463: end if;
2464:
2465:
2466: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 20);
2467: -- hr_utility.trace_off;
2468: exception
2469: when others then
2470:
2463: end if;
2464:
2465:
2466: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 20);
2467: -- hr_utility.trace_off;
2468: exception
2469: when others then
2470:
2471: hr_utility.set_location('Error in setNtfTransferCtx SQLERRM' ||' '||to_char(SQLCODE),30);
2467: -- hr_utility.trace_off;
2468: exception
2469: when others then
2470:
2471: hr_utility.set_location('Error in setNtfTransferCtx SQLERRM' ||' '||to_char(SQLCODE),30);
2472:
2473: raise;
2474: end setNtfTransferCtx;
2475:
2496: lv_comments wf_item_attribute_values.text_value%type;
2497: lv_new_transaction varchar2(240);
2498:
2499: begin
2500: g_debug := hr_utility.debug_enabled;
2501:
2502: if g_debug then
2503: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2504: end if;
2499: begin
2500: g_debug := hr_utility.debug_enabled;
2501:
2502: if g_debug then
2503: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2504: end if;
2505:
2506: -- capture the approver login context information
2507: if ( funmode = 'RESPOND' ) then
2527: result);
2528:
2529:
2530: if (g_debug ) then
2531: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2532: end if;
2533: exception
2534: when others then
2535: if g_debug then
2532: end if;
2533: exception
2534: when others then
2535: if g_debug then
2536: hr_utility.set_location('Error in setRFCResponseContext SQLERRM' ||' '||to_char(SQLCODE),20);
2537: end if;
2538:
2539: raise;
2540: end setApproverResponseContext;
2557:
2558: l_proc constant varchar2(100) := g_package || ' reset_ame_to_rfc_state';
2559: begin
2560:
2561: g_debug := hr_utility.debug_enabled;
2562: c_match_found := 'N';
2563:
2564: IF g_debug THEN
2565: hr_utility.set_location('Entering:'||l_proc, 1);
2561: g_debug := hr_utility.debug_enabled;
2562: c_match_found := 'N';
2563:
2564: IF g_debug THEN
2565: hr_utility.set_location('Entering:'||l_proc, 1);
2566: END IF;
2567: c_transaction_id := wf_engine.GetItemAttrNumber(itemtype => p_item_type ,
2568: itemkey => p_item_key,
2569: aname => 'TRANSACTION_ID',
2579: c_application_id := nvl(c_application_id,800);
2580:
2581: if(c_transaction_type is not null) then
2582: if g_debug then
2583: hr_utility.set_location('calling ame_api2.getAllApprovers7', 2);
2584: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2585: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2586: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2587: end if;
2580:
2581: if(c_transaction_type is not null) then
2582: if g_debug then
2583: hr_utility.set_location('calling ame_api2.getAllApprovers7', 2);
2584: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2585: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2586: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2587: end if;
2588:
2581: if(c_transaction_type is not null) then
2582: if g_debug then
2583: hr_utility.set_location('calling ame_api2.getAllApprovers7', 2);
2584: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2585: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2586: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2587: end if;
2588:
2589: ame_api2.getAllApprovers7(applicationIdIn =>c_application_id,
2582: if g_debug then
2583: hr_utility.set_location('calling ame_api2.getAllApprovers7', 2);
2584: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2585: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2586: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2587: end if;
2588:
2589: ame_api2.getAllApprovers7(applicationIdIn =>c_application_id,
2590: transactionTypeIn =>c_transaction_type,
2609: c_match_found := 'Y';
2610: END IF;
2611: IF (c_rfc_initiator = 'Y' OR (c_rfc_initiator = 'N' AND c_match_found = 'Y' ) ) THEN
2612: if g_debug then
2613: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2610: END IF;
2611: IF (c_rfc_initiator = 'Y' OR (c_rfc_initiator = 'N' AND c_match_found = 'Y' ) ) THEN
2612: if g_debug then
2613: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2618: hr_utility.set_location('approverNameIn:'|| c_all_approvers(i).name, 7);
2611: IF (c_rfc_initiator = 'Y' OR (c_rfc_initiator = 'N' AND c_match_found = 'Y' ) ) THEN
2612: if g_debug then
2613: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2618: hr_utility.set_location('approverNameIn:'|| c_all_approvers(i).name, 7);
2619: end if;
2612: if g_debug then
2613: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2618: hr_utility.set_location('approverNameIn:'|| c_all_approvers(i).name, 7);
2619: end if;
2620:
2613: hr_utility.set_location('calling ame_api2.updateApprovalStatus2', 2);
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2618: hr_utility.set_location('approverNameIn:'|| c_all_approvers(i).name, 7);
2619: end if;
2620:
2621: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
2614: hr_utility.set_location('c_application_id:'|| c_application_id, 3);
2615: hr_utility.set_location('c_transaction_type:'|| c_transaction_type, 4);
2616: hr_utility.set_location('c_transaction_id:'|| c_transaction_id, 5);
2617: hr_utility.set_location('approvalStatusIn:'|| null, 6);
2618: hr_utility.set_location('approverNameIn:'|| c_all_approvers(i).name, 7);
2619: end if;
2620:
2621: ame_api2.updateApprovalStatus2(applicationIdIn=>c_application_id,
2622: transactionTypeIn =>c_transaction_type,
2635: end loop;
2636: end if;
2637:
2638: IF g_debug THEN
2639: hr_utility.set_location('Leaving:'|| l_proc, 35);
2640: END IF;
2641:
2642: EXCEPTION
2643: when others then
2640: END IF;
2641:
2642: EXCEPTION
2643: when others then
2644: hr_utility.set_location('EXCEPTION: '|| l_proc,560);
2645: hr_utility.trace(' exception in '||l_proc||' : ' || sqlerrm);
2646:
2647: Wf_Core.Context(g_package, l_proc, p_item_type, p_item_key);
2648: raise;
2641:
2642: EXCEPTION
2643: when others then
2644: hr_utility.set_location('EXCEPTION: '|| l_proc,560);
2645: hr_utility.trace(' exception in '||l_proc||' : ' || sqlerrm);
2646:
2647: Wf_Core.Context(g_package, l_proc, p_item_type, p_item_key);
2648: raise;
2649: end reset_ame_to_rfc_state;
2660: c_return_user_role_info_tbl wf_directory.wf_local_roles_tbl_type;
2661: l_curr_approver_role_info_tbl wf_directory.wf_local_roles_tbl_type;
2662:
2663: begin
2664: g_debug := hr_utility.debug_enabled;
2665: if g_debug then
2666: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2667: end if;
2668:
2662:
2663: begin
2664: g_debug := hr_utility.debug_enabled;
2665: if g_debug then
2666: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2667: end if;
2668:
2669: -- functional logic
2670: -- case : notification sent to M3 for approval
2813: date_value=>null
2814: );
2815:
2816: if (g_debug ) then
2817: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2818: end if;
2819:
2820: exception
2821: when others then
2819:
2820: exception
2821: when others then
2822: if g_debug then
2823: hr_utility.set_location('Error in reset_approval_rfc_data SQLERRM' ||' '||to_char(SQLCODE),20);
2824: end if;
2825: raise;
2826: end reset_approval_rfc_data;
2827:
2849:
2850: lv_dynamicQuery varchar2(4000) ;
2851: lv_queryProcedure varchar2(4000);
2852: begin
2853: g_debug := hr_utility.debug_enabled;
2854: if g_debug then
2855: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2856: end if;
2857: if ( funmode = wf_engine.eng_run ) then
2851: lv_queryProcedure varchar2(4000);
2852: begin
2853: g_debug := hr_utility.debug_enabled;
2854: if g_debug then
2855: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
2856: end if;
2857: if ( funmode = wf_engine.eng_run ) then
2858:
2859: PQH_SS_WORKFLOW.set_txn_rfc_status(p_item_type,p_item_key,p_act_id,funmode,result);
2872: -- check if we have product overwrite which does not allow RFC and
2873: -- action would default to delete the transaction
2874: -- HR_CUSTOM_RETURN_FOR_CORR
2875: if g_debug then
2876: hr_utility.set_location('checking product specific custom RFC',2);
2877: end if;
2878: lv_customRFC:=wf_engine.getitemattrtext(p_item_type,p_item_key,'HR_CUSTOM_RETURN_FOR_CORR',true);
2879: lv_customRFC:= nvl(lv_customRFC,'N');
2880: if g_debug then
2877: end if;
2878: lv_customRFC:=wf_engine.getitemattrtext(p_item_type,p_item_key,'HR_CUSTOM_RETURN_FOR_CORR',true);
2879: lv_customRFC:= nvl(lv_customRFC,'N');
2880: if g_debug then
2881: hr_utility.set_location('lv_customRFC:'||lv_customRFC,3);
2882: end if;
2883:
2884: if(lv_customRFC='Y') then
2885: -- no more processing return to delete the transaction
2888: end if;
2889:
2890: -- call PQH_SS_HISTORY.transfer_approval_to_history
2891: if g_debug then
2892: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_rfc_status',3);
2893: hr_utility.set_location('p_item_type:'|| p_item_type,4);
2894: hr_utility.set_location('p_item_key:'|| p_item_key,5);
2895: end if;
2896:
2889:
2890: -- call PQH_SS_HISTORY.transfer_approval_to_history
2891: if g_debug then
2892: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_rfc_status',3);
2893: hr_utility.set_location('p_item_type:'|| p_item_type,4);
2894: hr_utility.set_location('p_item_key:'|| p_item_key,5);
2895: end if;
2896:
2897: PQH_SS_WORKFLOW.set_txn_rfc_status(p_item_type,p_item_key,p_act_id,funmode,result);
2890: -- call PQH_SS_HISTORY.transfer_approval_to_history
2891: if g_debug then
2892: hr_utility.set_location('calling PQH_SS_WORKFLOW.set_txn_rfc_status',3);
2893: hr_utility.set_location('p_item_type:'|| p_item_type,4);
2894: hr_utility.set_location('p_item_key:'|| p_item_key,5);
2895: end if;
2896:
2897: PQH_SS_WORKFLOW.set_txn_rfc_status(p_item_type,p_item_key,p_act_id,funmode,result);
2898:
2896:
2897: PQH_SS_WORKFLOW.set_txn_rfc_status(p_item_type,p_item_key,p_act_id,funmode,result);
2898:
2899: if g_debug then
2900: hr_utility.set_location('calling reset_approval_rfc_data',6);
2901: hr_utility.set_location('p_item_type:'|| p_item_type,7);
2902: hr_utility.set_location('p_item_key:'|| p_item_key,8);
2903: end if;
2904:
2897: PQH_SS_WORKFLOW.set_txn_rfc_status(p_item_type,p_item_key,p_act_id,funmode,result);
2898:
2899: if g_debug then
2900: hr_utility.set_location('calling reset_approval_rfc_data',6);
2901: hr_utility.set_location('p_item_type:'|| p_item_type,7);
2902: hr_utility.set_location('p_item_key:'|| p_item_key,8);
2903: end if;
2904:
2905: begin
2898:
2899: if g_debug then
2900: hr_utility.set_location('calling reset_approval_rfc_data',6);
2901: hr_utility.set_location('p_item_type:'|| p_item_type,7);
2902: hr_utility.set_location('p_item_key:'|| p_item_key,8);
2903: end if;
2904:
2905: begin
2906: reset_approval_rfc_data(p_item_type,p_item_key);
2923:
2924: if(lv_queryProcedure is not null or lv_queryProcedure<>'') then
2925:
2926: if g_debug then
2927: hr_utility.set_location('Calling queryProcedure: '||lv_queryProcedure, 20);
2928: hr_utility.set_location('p_item_type: '|| p_item_type, 21);
2929: hr_utility.set_location('p_item_key: '|| p_item_key, 22);
2930: hr_utility.set_location('p_act_id: '|| p_act_id, 23);
2931: end if;
2924: if(lv_queryProcedure is not null or lv_queryProcedure<>'') then
2925:
2926: if g_debug then
2927: hr_utility.set_location('Calling queryProcedure: '||lv_queryProcedure, 20);
2928: hr_utility.set_location('p_item_type: '|| p_item_type, 21);
2929: hr_utility.set_location('p_item_key: '|| p_item_key, 22);
2930: hr_utility.set_location('p_act_id: '|| p_act_id, 23);
2931: end if;
2932:
2925:
2926: if g_debug then
2927: hr_utility.set_location('Calling queryProcedure: '||lv_queryProcedure, 20);
2928: hr_utility.set_location('p_item_type: '|| p_item_type, 21);
2929: hr_utility.set_location('p_item_key: '|| p_item_key, 22);
2930: hr_utility.set_location('p_act_id: '|| p_act_id, 23);
2931: end if;
2932:
2933: lv_dynamicQuery :=
2926: if g_debug then
2927: hr_utility.set_location('Calling queryProcedure: '||lv_queryProcedure, 20);
2928: hr_utility.set_location('p_item_type: '|| p_item_type, 21);
2929: hr_utility.set_location('p_item_key: '|| p_item_key, 22);
2930: hr_utility.set_location('p_act_id: '|| p_act_id, 23);
2931: end if;
2932:
2933: lv_dynamicQuery :=
2934: 'begin ' ||
2941: in p_act_id,
2942: in funmode,
2943: in out result;
2944: if g_debug then
2945: hr_utility.set_location('After queryProcedure: '|| lv_queryProcedure, 40);
2946: hr_utility.set_location('result: '|| result, 41);
2947: end if;
2948:
2949: end if;
2942: in funmode,
2943: in out result;
2944: if g_debug then
2945: hr_utility.set_location('After queryProcedure: '|| lv_queryProcedure, 40);
2946: hr_utility.set_location('result: '|| result, 41);
2947: end if;
2948:
2949: end if;
2950: exception
2969: result := wf_engine.eng_completed||':YES_INIT';
2970: end if;
2971:
2972: if g_debug then
2973: hr_utility.set_location('leaving with resultcode :'|| result,9);
2974: end if;
2975:
2976:
2977: end if;
2976:
2977: end if;
2978:
2979: if (g_debug ) then
2980: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
2981: end if;
2982: exception
2983: when others then
2984: if g_debug then
2981: end if;
2982: exception
2983: when others then
2984: if g_debug then
2985: hr_utility.set_location('Error in processRFC SQLERRM' ||' '||to_char(SQLCODE),20);
2986: end if;
2987: raise;
2988: end processRFC;
2989:
2996: c_proc constant varchar2(30) := 'processRFC';
2997: lv_role_displayName wf_users.display_name%type;
2998: lv_roleName wf_users.name%type;
2999: begin
3000: g_debug := hr_utility.debug_enabled;
3001: if g_debug then
3002: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3003: end if;
3004: if(p_orig_system is null or p_orig_system_id is null) then
2998: lv_roleName wf_users.name%type;
2999: begin
3000: g_debug := hr_utility.debug_enabled;
3001: if g_debug then
3002: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3003: end if;
3004: if(p_orig_system is null or p_orig_system_id is null) then
3005: lv_role_displayName :=wf_directory.getroledisplayname(p_user_name);
3006: else
3013: return lv_role_displayName;
3014: exception
3015: when others then
3016: if g_debug then
3017: hr_utility.set_location('Error in getRoleDisplayName SQLERRM' ||' '||to_char(SQLCODE),20);
3018: end if;
3019:
3020: end getRoleDisplayName;
3021:
3033: lv_orig_systemId wf_roles.orig_system_id%type;
3034: lv_orig_system wf_roles.orig_system%type;
3035: lv_creator_person_id hr_api_transactions.creator_person_id%type;
3036: begin
3037: g_debug := hr_utility.debug_enabled;
3038: if g_debug then
3039: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3040: end if;
3041: lv_orig_system := p_orig_system;
3035: lv_creator_person_id hr_api_transactions.creator_person_id%type;
3036: begin
3037: g_debug := hr_utility.debug_enabled;
3038: if g_debug then
3039: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3040: end if;
3041: lv_orig_system := p_orig_system;
3042: lv_orig_systemId := p_orig_system_id;
3043:
3083:
3084: exception
3085: when others then
3086: if g_debug then
3087: hr_utility.set_location('Error in getRoleDisplayName SQLERRM' ||' '||to_char(SQLCODE),20);
3088: end if;
3089:
3090: end isApproverEditAllowed;
3091:
3096: lv_orig_system wf_roles.parent_orig_system%type;
3097: lv_orig_system_id wf_roles.orig_system_id%type;
3098: lv_user_name wf_roles.name%type;
3099: begin
3100: g_debug := hr_utility.debug_enabled;
3101: if g_debug then
3102: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3103: end if;
3104: if(p_notification_id is null) then
3098: lv_user_name wf_roles.name%type;
3099: begin
3100: g_debug := hr_utility.debug_enabled;
3101: if g_debug then
3102: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3103: end if;
3104: if(p_notification_id is null) then
3105: wf_directory.getroleorigsysinfo(p_user_name,lv_orig_system,lv_orig_system_id);
3106: else
3117:
3118: exception
3119: when others then
3120: if g_debug then
3121: hr_utility.set_location('Error in getRoleDisplayName SQLERRM' ||' '||to_char(SQLCODE),20);
3122: end if;
3123:
3124: end getuserOrigSystem;
3125:
3130: lv_orig_system wf_roles.parent_orig_system%type;
3131: lv_orig_system_id wf_roles.orig_system_id%type;
3132: lv_user_name wf_roles.name%type;
3133: begin
3134: g_debug := hr_utility.debug_enabled;
3135: if g_debug then
3136: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3137: end if;
3138: if(p_notification_id is null) then
3132: lv_user_name wf_roles.name%type;
3133: begin
3134: g_debug := hr_utility.debug_enabled;
3135: if g_debug then
3136: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3137: end if;
3138: if(p_notification_id is null) then
3139: wf_directory.getroleorigsysinfo(p_user_name,lv_orig_system,lv_orig_system_id);
3140: else
3151:
3152: exception
3153: when others then
3154: if g_debug then
3155: hr_utility.set_location('Error in getUserOrigSystemId SQLERRM' ||' '||to_char(SQLCODE),20);
3156: end if;
3157:
3158: end getUserOrigSystemId;
3159:
3225: )
3226: );
3227:
3228: begin
3229: g_debug := hr_utility.debug_enabled;
3230: if g_debug then
3231: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3232: end if;
3233:
3227:
3228: begin
3229: g_debug := hr_utility.debug_enabled;
3230: if g_debug then
3231: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3232: end if;
3233:
3234:
3235:
3425: null;
3426: end;
3427:
3428: if (g_debug ) then
3429: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
3430: end if;
3431:
3432: exception
3433: when others then
3431:
3432: exception
3433: when others then
3434: if g_debug then
3435: hr_utility.set_location('Error in handleRFCAction SQLERRM' ||' '||to_char(SQLCODE),20);
3436: end if;
3437:
3438: end handleRFCAction;
3439:
3737: lv_item_type wf_items.item_type%type;
3738: lv_item_key wf_items.item_key%type;
3739:
3740: begin
3741: g_debug := hr_utility.debug_enabled;
3742: if g_debug then
3743: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3744: end if;
3745:
3739:
3740: begin
3741: g_debug := hr_utility.debug_enabled;
3742: if g_debug then
3743: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
3744: end if;
3745:
3746: -- get the item type item key
3747: if(p_notification_id is not null) then
3789:
3790: exception
3791: when others then
3792: if g_debug then
3793: hr_utility.set_location('Error in reInitPerformerRoles SQLERRM' ||' '||to_char(SQLCODE),20);
3794: end if;
3795: raise;
3796:
3797: end reInitPerformerRoles;
3983: l_employee_name per_all_people_f.full_name%type;
3984: --
3985: BEGIN
3986: --
3987: hr_utility.trace('Finding Person name for person_id :' || p_person_id || ':');
3988: --
3989: open csr_full_name;
3990: fetch csr_full_name into l_employee_name;
3991: --
3993: l_employee_name := ' ';
3994: end if;
3995: close csr_full_name;
3996: --
3997: hr_utility.trace('Found :' || l_employee_name || ':');
3998: --
3999: return l_employee_name;
4000: --
4001: END getPersonNameFromID;
4024: l_role_displayname wf_roles.display_name%type;
4025: l_current_person_name per_all_people_f.full_name%type;
4026: l_manager_id per_all_people_f.person_id%type;
4027: begin
4028: g_debug := hr_utility.debug_enabled;
4029: if g_debug then
4030: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4031: end if;
4032: -- check if the transaction id is passed if not raise exception
4026: l_manager_id per_all_people_f.person_id%type;
4027: begin
4028: g_debug := hr_utility.debug_enabled;
4029: if g_debug then
4030: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4031: end if;
4032: -- check if the transaction id is passed if not raise exception
4033: -- no more iterations
4034: if(p_transaction_id is not null) then
4056: ,p_process_name => lr_transaction_rec.process_name
4057: ) then
4058: -- supply HR error message, p_process_name either does not exist or
4059: -- is NOT a runnable process
4060: hr_utility.set_message(800,'HR_52958_WKF2TSK_INC_PROCESS');
4061: hr_utility.set_message_token('ITEM_TYPE', lr_transaction_rec.item_type);
4062: hr_utility.set_message_token('PROCESS_NAME', lr_transaction_rec.process_name);
4063: hr_utility.raise_error;
4064: end if;
4057: ) then
4058: -- supply HR error message, p_process_name either does not exist or
4059: -- is NOT a runnable process
4060: hr_utility.set_message(800,'HR_52958_WKF2TSK_INC_PROCESS');
4061: hr_utility.set_message_token('ITEM_TYPE', lr_transaction_rec.item_type);
4062: hr_utility.set_message_token('PROCESS_NAME', lr_transaction_rec.process_name);
4063: hr_utility.raise_error;
4064: end if;
4065:
4058: -- supply HR error message, p_process_name either does not exist or
4059: -- is NOT a runnable process
4060: hr_utility.set_message(800,'HR_52958_WKF2TSK_INC_PROCESS');
4061: hr_utility.set_message_token('ITEM_TYPE', lr_transaction_rec.item_type);
4062: hr_utility.set_message_token('PROCESS_NAME', lr_transaction_rec.process_name);
4063: hr_utility.raise_error;
4064: end if;
4065:
4066: -- now check if we need to derive the item key from db seq
4059: -- is NOT a runnable process
4060: hr_utility.set_message(800,'HR_52958_WKF2TSK_INC_PROCESS');
4061: hr_utility.set_message_token('ITEM_TYPE', lr_transaction_rec.item_type);
4062: hr_utility.set_message_token('PROCESS_NAME', lr_transaction_rec.process_name);
4063: hr_utility.raise_error;
4064: end if;
4065:
4066: -- now check if we need to derive the item key from db seq
4067: if(p_item_key is null)then
4265: raise g_no_transaction_id;
4266: end if;
4267:
4268: if (g_debug ) then
4269: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
4270: end if;
4271:
4272: exception
4273: WHEN g_invalid_responsibility THEN
4271:
4272: exception
4273: WHEN g_invalid_responsibility THEN
4274: fnd_message.set_name('PER','HR_SSA_INVALID_RESPONSIBILITY');
4275: hr_utility.raise_error;
4276: when g_wf_error_state then
4277: -- HR_WF_TRANSACTION_ERROR_SS
4278: fnd_message.set_name('PER','HR_WF_TRANSACTION_ERROR_SS');
4279: fnd_message.set_token('ERRORMSG',p_error_message,true);
4277: -- HR_WF_TRANSACTION_ERROR_SS
4278: fnd_message.set_name('PER','HR_WF_TRANSACTION_ERROR_SS');
4279: fnd_message.set_token('ERRORMSG',p_error_message,true);
4280: fnd_message.set_token('ERRORSTACK',p_errstack,true);
4281: hr_utility.raise_error;
4282: when g_no_transaction_id then
4283: null;
4284: -- handle the proper error message propagation
4285: when others then
4379: lr_hr_api_transaction_rec hr_api_transactions%rowtype;
4380: ln_activity_id wf_item_activity_statuses.process_activity%type;
4381: begin
4382: if g_debug then
4383: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4384: end if;
4385:
4386: if(p_transaction_id is not null) then
4387:
4439: end if;
4440: end if;
4441:
4442: if (g_debug ) then
4443: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
4444: end if;
4445: exception
4446: when others then
4447: raise;
4496: ln_loginPersonId fnd_user.employee_id%type;
4497:
4498: begin
4499: if g_debug then
4500: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4501: end if;
4502:
4503: if(p_transaction_id is not null) then
4504:
4608: null; -- null transaction id throw error ??
4609: end if;
4610:
4611: if (g_debug ) then
4612: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
4613: end if;
4614: exception
4615: when others then
4616: raise;
4630: lv_item_key wf_items.item_key%type;
4631: lv_oaf_nav_attr wf_item_attribute_values.text_value%type;
4632: begin
4633: if g_debug then
4634: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4635: end if;
4636:
4637: -- code logic
4638:
4649: if(hr_multi_message.is_message_list_enabled) then
4650: fnd_message.set_name('PER', 'HR_SS_NO_TXN_DATA');
4651: hr_multi_message.add(p_message_type => hr_multi_message.G_ERROR_MSG );
4652: end if;
4653: hr_utility.raise_error;
4654: when others then
4655: raise;
4656: end; -- finished fetching record
4657:
4678: if(hr_multi_message.is_message_list_enabled) then
4679: fnd_message.set_name('PER', 'HR_SS_WF_NOT_INITIALZED');
4680: hr_multi_message.add(p_message_type => hr_multi_message.G_ERROR_MSG );
4681: end if;
4682: hr_utility.raise_error;
4683: when others then
4684: if hr_multi_message.unexpected_error_add(c_proc) then
4685: hr_utility.set_location(' Leaving:' || c_proc,40);
4686: raise;
4681: end if;
4682: hr_utility.raise_error;
4683: when others then
4684: if hr_multi_message.unexpected_error_add(c_proc) then
4685: hr_utility.set_location(' Leaving:' || c_proc,40);
4686: raise;
4687: end if;
4688: end;
4689:
4695: if(hr_multi_message.is_message_list_enabled) then
4696: fnd_message.set_name('PER', 'HR_SS_NULL_TXN_ID');
4697: hr_multi_message.add(p_message_type => hr_multi_message.G_ERROR_MSG );
4698: end if;
4699: hr_utility.raise_error;
4700: end if;
4701:
4702:
4703:
4701:
4702:
4703:
4704: if (g_debug ) then
4705: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
4706: end if;
4707:
4708: exception
4709: when others then
4787: lv_status hr_api_transactions.status%type;
4788: lv_state hr_api_transactions.transaction_state%type;
4789: begin
4790: if g_debug then
4791: hr_utility.set_location('Entering:'|| g_package||'.'||c_proc, 1);
4792: end if;
4793:
4794:
4795: begin
4802: if(lv_status in ('YS','RIS','ROS')) then
4803: -- saved transaction exists set the warning message
4804:
4805: if(hr_multi_message.is_message_list_enabled) then
4806: hr_utility.set_message(800,'HR_SS_SAVED_TXN_DATA_EXISTS');
4807: hr_multi_message.add( p_message_type => hr_multi_message.G_WARNING_MSG);
4808: hr_utility.set_warning;
4809: end if;
4810: end if;
4804:
4805: if(hr_multi_message.is_message_list_enabled) then
4806: hr_utility.set_message(800,'HR_SS_SAVED_TXN_DATA_EXISTS');
4807: hr_multi_message.add( p_message_type => hr_multi_message.G_WARNING_MSG);
4808: hr_utility.set_warning;
4809: end if;
4810: end if;
4811: if(lv_state is not null) then
4812: -- in advertant saved transaction exists set the warning message
4811: if(lv_state is not null) then
4812: -- in advertant saved transaction exists set the warning message
4813:
4814: if(hr_multi_message.is_message_list_enabled) then
4815: hr_utility.set_message(800,'HR_SS_INADV_TXN_DATA_EXISTS');
4816: hr_multi_message.add( p_message_type => hr_multi_message.G_WARNING_MSG);
4817: end if;
4818:
4819: end if;
4823: null; -- do nothing
4824: end ;
4825:
4826: if (g_debug ) then
4827: hr_utility.set_location('Leaving:'|| g_package||'.'||c_proc, 10);
4828: end if;
4829: exception
4830: when others then
4831: raise;
4914:
4915: exception
4916: when others then
4917: if g_debug then
4918: hr_utility.set_location('Error in handleApprovalErrors SQLERRM' ||' '||to_char(SQLCODE),20);
4919: end if;
4920: raise;
4921: end handleApprovalErrors;
4922: