1043: response varchar2(4000);
1044: l_hrApiTxnId number;
1045: BEGIN
1046:
1047: l_hrApiTxnId := wf_engine.GetItemAttrNumber(itemtype=> itemtype,itemkey=> itemkey,aname => 'TRANSACTION_ID' );
1048:
1049: select transaction_ref_id into l_copy_entity_txn_id
1050: from hr_api_transactions
1051: where transaction_id=l_hrApiTxnId
1050: from hr_api_transactions
1051: where transaction_id=l_hrApiTxnId
1052: and process_name='HR_SP_APPROVAL_PRC';
1053:
1054: response := wf_engine.getItemAttrText(itemtype=> itemtype,itemkey=> itemkey,aname => 'WF_NOTE' );
1055: WF_ENGINE.setitemattrtext(itemtype, itemkey, 'APPROVAL_COMMENT', response);
1056:
1057: -- reset the status to work in progress
1058: update ben_copy_entity_results
1051: where transaction_id=l_hrApiTxnId
1052: and process_name='HR_SP_APPROVAL_PRC';
1053:
1054: response := wf_engine.getItemAttrText(itemtype=> itemtype,itemkey=> itemkey,aname => 'WF_NOTE' );
1055: WF_ENGINE.setitemattrtext(itemtype, itemkey, 'APPROVAL_COMMENT', response);
1056:
1057: -- reset the status to work in progress
1058: update ben_copy_entity_results
1059: set status='W', information220=response
1096: begin
1097:
1098: hr_utility.set_location('ENTERING commit_transaction', 10);
1099:
1100: l_hrApiTxnId := wf_engine.GetItemAttrNumber(itemtype=> itemtype,itemkey=> itemkey,aname => 'TRANSACTION_ID' );
1101:
1102: response := wf_engine.getItemAttrText(itemtype=> itemtype,itemkey=> itemkey,aname => 'WF_NOTE' );
1103: WF_ENGINE.setitemattrtext(itemtype, itemkey, 'APPROVAL_COMMENT', response);
1104:
1098: hr_utility.set_location('ENTERING commit_transaction', 10);
1099:
1100: l_hrApiTxnId := wf_engine.GetItemAttrNumber(itemtype=> itemtype,itemkey=> itemkey,aname => 'TRANSACTION_ID' );
1101:
1102: response := wf_engine.getItemAttrText(itemtype=> itemtype,itemkey=> itemkey,aname => 'WF_NOTE' );
1103: WF_ENGINE.setitemattrtext(itemtype, itemkey, 'APPROVAL_COMMENT', response);
1104:
1105: select transaction_ref_id into l_copy_entity_txn_id
1106: from hr_api_transactions
1099:
1100: l_hrApiTxnId := wf_engine.GetItemAttrNumber(itemtype=> itemtype,itemkey=> itemkey,aname => 'TRANSACTION_ID' );
1101:
1102: response := wf_engine.getItemAttrText(itemtype=> itemtype,itemkey=> itemkey,aname => 'WF_NOTE' );
1103: WF_ENGINE.setitemattrtext(itemtype, itemkey, 'APPROVAL_COMMENT', response);
1104:
1105: select transaction_ref_id into l_copy_entity_txn_id
1106: from hr_api_transactions
1107: where transaction_id=l_hrApiTxnId
1240:
1241:
1242:
1243:
1244: l_item_value := wf_engine.getItemAttrText(itemtype => itemtype
1245: ,itemkey => itemkey
1246: , aname => 'HR_RUNTIME_APPROVAL_REQ_FLAG');
1247:
1248:
1331: where TRANSACTION_REF_ID=p_copy_entity_txn_id
1332: and TRANSACTION_REF_TABLE='PER_SP_PLAN'
1333: and PROCESS_NAME='HR_SP_APPROVAL_PRC';
1334:
1335: WF_ENGINE.CREATEPROCESS(l_item_type, l_item_key, l_process);
1336:
1337: -- check the process status before setting
1338: -- other mandatory attributes
1339: -- check the state of the workflow
1337: -- check the process status before setting
1338: -- other mandatory attributes
1339: -- check the state of the workflow
1340: -- we need to check if the flow is in error state or not
1341: wf_engine.iteminfo(l_item_type,
1342: l_item_key,
1343: l_status,
1344: lv_result,
1345: lv_errorActid,
1358: open get_plan_name;
1359: fetch get_plan_name into l_plan_name;
1360: close get_plan_name;
1361:
1362: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CREATOR_PERSON_ID', p_person_id);
1363: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CURRENT_PERSON_ID', p_person_id);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1359: fetch get_plan_name into l_plan_name;
1360: close get_plan_name;
1361:
1362: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CREATOR_PERSON_ID', p_person_id);
1363: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CURRENT_PERSON_ID', p_person_id);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1360: close get_plan_name;
1361:
1362: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CREATOR_PERSON_ID', p_person_id);
1363: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CURRENT_PERSON_ID', p_person_id);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1362: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CREATOR_PERSON_ID', p_person_id);
1363: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CURRENT_PERSON_ID', p_person_id);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1363: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'CURRENT_PERSON_ID', p_person_id);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1364: HR_APPROVAL_WF.initialize_item_attributes(p_item_type,l_item_key,null,wf_engine.eng_run,lv_result);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1372: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PLAN_NAME', l_plan_name);
1365:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1372: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PLAN_NAME', l_plan_name);
1373:
1366: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_DISPLAY_NAME', l_process_display_name);
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1372: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PLAN_NAME', l_plan_name);
1373:
1374:
1367: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PROCESS_NAME',l_process );
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1372: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PLAN_NAME', l_plan_name);
1373:
1374:
1375:
1368: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_AME_TRAN_TYPE_ATTR','SSHRMS');
1369: WF_ENGINE.setitemattrNumber(l_item_type, l_item_key, 'HR_AME_APP_ID_ATTR', 800);
1370: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'HR_RUNTIME_APPROVAL_REQ_FLAG', p_approval_reqd);
1371: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'TRANSACTION_ID', l_hrApiTxnId);
1372: WF_ENGINE.setitemattrtext(l_item_type, l_item_key, 'PLAN_NAME', l_plan_name);
1373:
1374:
1375:
1376: --
1388: END IF;
1389: -- ---------------------------------------------------
1390: -- Set the Item Owner
1391: -- ---------------------------------------------------
1392: wf_engine.setItemOwner
1393: (itemtype => l_item_type
1394: ,itemkey => l_item_key
1395: ,owner => l_role_name);
1396: hr_utility.set_location(' l_role_name'||l_role_name,10);
1426: );
1427:
1428:
1429:
1430: WF_ENGINE.STARTPROCESS(l_item_type,l_item_key);
1431:
1432: hr_utility.set_location('started process:'||l_proc, 20);
1433:
1434:
1433:
1434:
1435: -- check the wf status before returning the status back to caller
1436: -- we need to check if the flow is in error state or not
1437: wf_engine.iteminfo(l_item_type,
1438: l_item_key,
1439: l_status,
1440: lv_result,
1441: lv_errorActid,