[Home] [Help]
39: itemkey in varchar2) is
40: i integer;
41: begin
42: FOR I IN 1..9 LOOP
43: wf_engine.SetItemAttrText (itemtype => itemtype,
44: itemkey => itemkey,
45: aname => 'MESSAGE'||i,
46: avalue => '');
47: END LOOP;
64: j := NVL(FND_MSG_PUB.Count_Msg,0);
65: if (j=0) then return; end if;
66: if (j>9) then j:=9; end if;
67: FOR I IN 1..J LOOP
68: wf_engine.SetItemAttrText (itemtype => itemtype,
69: itemkey => itemkey,
70: aname => 'MESSAGE'||i,
71: avalue => FND_MSG_PUB.Get(i,p_encoded =>FND_API.G_FALSE ));
72: END LOOP;
97: FND_LOG.STRING( FND_LOG.LEVEL_STATEMENT ,G_MODULE||l_api_name,
98: 'itemtype: ' || itemtype ||
99: ' itemkey: ' || itemkey);
100: END IF;
101: l_chr_id := wf_engine.GetItemAttrNumber(
102: itemtype => itemtype,
103: itemkey => itemkey,
104: aname => 'CONTRACT_ID');
105:
130: ' x_user_name ='||l_salesrep_name);
131: END IF;
132: -- Check if SALESREP_HD_NAME item attribute exists, if not create one
133: BEGIN
134: l_dummy := wf_engine.GetItemAttrText
135: (
136: itemtype => itemtype,
137: itemkey => itemkey,
138: aname => 'SALESREP_HD_NAME'
138: aname => 'SALESREP_HD_NAME'
139: );
140: EXCEPTION
141: WHEN OTHERS THEN
142: wf_engine.AddItemAttr
143: (
144: itemtype => itemtype,
145: itemkey => itemkey,
146: aname => 'SALESREP_HD_NAME'
148: END;
149: -- In case of errors in deriving salesrep or help desk, send the
150: -- notification to the person who initiated the process
151: IF x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_salesrep_name IS NULL THEN
152: wf_engine.SetItemAttrText (
153: itemtype => itemtype,
154: itemkey => itemkey,
155: aname => 'SALESREP_HD_NAME',
156: avalue => wf_engine.GetItemAttrText(
152: wf_engine.SetItemAttrText (
153: itemtype => itemtype,
154: itemkey => itemkey,
155: aname => 'SALESREP_HD_NAME',
156: avalue => wf_engine.GetItemAttrText(
157: itemtype => itemtype,
158: itemkey => itemkey,
159: aname => 'INITIATOR_NAME')
160: );
158: itemkey => itemkey,
159: aname => 'INITIATOR_NAME')
160: );
161: ELSE
162: wf_engine.SetItemAttrText (
163: itemtype => itemtype,
164: itemkey => itemkey,
165: aname => 'SALESREP_HD_NAME',
166: avalue => l_salesrep_name);
166: avalue => l_salesrep_name);
167: END IF;
168: EXCEPTION
169: WHEN OTHERS THEN
170: wf_engine.SetItemAttrText (
171: itemtype => itemtype,
172: itemkey => itemkey,
173: aname => 'SALESREP_HD_NAME',
174: avalue => wf_engine.GetItemAttrText(
170: wf_engine.SetItemAttrText (
171: itemtype => itemtype,
172: itemkey => itemkey,
173: aname => 'SALESREP_HD_NAME',
174: avalue => wf_engine.GetItemAttrText(
175: itemtype => itemtype,
176: itemkey => itemkey,
177: aname => 'INITIATOR_NAME')
178: );
200: x_name out nocopy varchar2
201: ) is
202:
203: l_api_name CONSTANT VARCHAR2(30) := 'select_next';
204: l_initiator varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'INITIATOR_NAME');
205: l_approver varchar2(100) :=
206: NVL(wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME'),
207: wf_engine.GetItemAttrText(itemtype,itemkey,'FINAL_APPROVER_UNAME'));
208: l_id number;
202:
203: l_api_name CONSTANT VARCHAR2(30) := 'select_next';
204: l_initiator varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'INITIATOR_NAME');
205: l_approver varchar2(100) :=
206: NVL(wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME'),
207: wf_engine.GetItemAttrText(itemtype,itemkey,'FINAL_APPROVER_UNAME'));
208: l_id number;
209: l_item_classes ame_util.stringList;
210: l_item_ids ame_util.stringList;
203: l_api_name CONSTANT VARCHAR2(30) := 'select_next';
204: l_initiator varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'INITIATOR_NAME');
205: l_approver varchar2(100) :=
206: NVL(wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME'),
207: wf_engine.GetItemAttrText(itemtype,itemkey,'FINAL_APPROVER_UNAME'));
208: l_id number;
209: l_item_classes ame_util.stringList;
210: l_item_ids ame_util.stringList;
211: l_completed ame_util.charList;
267: --
268: -- Administrator is backup guy - here = initiator
269: --
270: if (p_role_type = 'ADMINISTRATOR') then
271: x_role := wf_engine.GetItemAttrText(
272: itemtype => itemtype,
273: itemkey => itemkey,
274: aname => 'INITIATOR_NAME');
275: x_name := wf_engine.GetItemAttrText(
271: x_role := wf_engine.GetItemAttrText(
272: itemtype => itemtype,
273: itemkey => itemkey,
274: aname => 'INITIATOR_NAME');
275: x_name := wf_engine.GetItemAttrText(
276: itemtype => itemtype,
277: itemkey => itemkey,
278: aname => 'INITIATOR_DISPLAY_NAME');
279: --
279: --
280: -- Signotory here = initiator
281: --
282: elsif (p_role_type = 'SIGNATORY') then
283: x_role := wf_engine.GetItemAttrText(
284: itemtype => itemtype,
285: itemkey => itemkey,
286: aname => 'INITIATOR_NAME');
287: x_name := wf_engine.GetItemAttrText(
283: x_role := wf_engine.GetItemAttrText(
284: itemtype => itemtype,
285: itemkey => itemkey,
286: aname => 'INITIATOR_NAME');
287: x_name := wf_engine.GetItemAttrText(
288: itemtype => itemtype,
289: itemkey => itemkey,
290: aname => 'INITIATOR_DISPLAY_NAME');
291: --
291: --
292: -- Approver - in cursor
293: --
294: elsif (p_role_type = 'APPROVER') then
295: l_id := wf_engine.GetItemAttrNumber(
296: itemtype => itemtype,
297: itemkey => itemkey,
298: aname => 'CONTRACT_ID');
299:
430: --
431: -- RUN mode - normal process execution
432: --
433: if (funcmode = 'RUN') then
434: open c1(wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME'));
435: fetch c1 into l_dummy;
436: close c1;
437: resultout := 'COMPLETE:'||l_dummy;
438: end if;
538: itemkey in varchar2,
539: actid in number,
540: funcmode in varchar2,
541: resultout out nocopy varchar2 ) is
542: l_name varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
543: l_display_name varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'N_PERFORMER_DISPLAY_NAME');
544: l_context varchar2(100);
545: l_id varchar2(100);
546: l_original varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
539: actid in number,
540: funcmode in varchar2,
541: resultout out nocopy varchar2 ) is
542: l_name varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
543: l_display_name varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'N_PERFORMER_DISPLAY_NAME');
544: l_context varchar2(100);
545: l_id varchar2(100);
546: l_original varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
547:
542: l_name varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
543: l_display_name varchar2(100) := wf_engine.GetItemAttrText(itemtype,itemkey,'N_PERFORMER_DISPLAY_NAME');
544: l_context varchar2(100);
545: l_id varchar2(100);
546: l_original varchar2(100):=wf_engine.GetItemAttrText(itemtype,itemkey,'NEXT_PERFORMER_USERNAME');
547:
548: /* the cursor changed because of bug#2316572 -- INCORRECT APPROVER NAME FOR FORWARDED CONTRACT APPROVAL
549: cursor Actual_Performer_csr is
550: select --+ORDERED
590: -- RESPOND mode
591: -- and TRANSFER mode added after the bug#2316572
592: -- if (funcmode = 'RESPOND') then -- also bug#2316572 - we need handle TRANSFER as well
593: if (funcmode in('RESPOND','TRANSFER')) then
594: l_context := wf_engine.context_text;
595:
596: IF l_context like 'email:%' THEN
597: OPEN csr_actual_performer_1(l_context);
598: FETCH csr_actual_performer_1 INTO l_name, l_display_name;
602: FETCH csr_actual_performer_2 INTO l_name, l_display_name;
603: CLOSE csr_actual_performer_2;
604: END IF;
605:
606: wf_engine.SetItemAttrText (itemtype => itemtype,
607: itemkey => itemkey,
608: aname => 'ACTUAL_PERFORMER',
609: avalue => l_name);
610: wf_engine.SetItemAttrText (itemtype => itemtype,
606: wf_engine.SetItemAttrText (itemtype => itemtype,
607: itemkey => itemkey,
608: aname => 'ACTUAL_PERFORMER',
609: avalue => l_name);
610: wf_engine.SetItemAttrText (itemtype => itemtype,
611: itemkey => itemkey,
612: aname => 'ACTUAL_PERFORMER_D',
613: avalue => l_display_name);
614: wf_engine.SetItemAttrText (itemtype => itemtype,
610: wf_engine.SetItemAttrText (itemtype => itemtype,
611: itemkey => itemkey,
612: aname => 'ACTUAL_PERFORMER_D',
613: avalue => l_display_name);
614: wf_engine.SetItemAttrText (itemtype => itemtype,
615: itemkey => itemkey,
616: aname => 'FROM',
617: avalue => l_name);
618:
708: begin
709:
710: /*Added for bug 12348624*/
711:
712: l_context := wf_engine.context_text;
713:
714: IF l_context like 'email:%' THEN
715: OPEN csr_actual_performer_1(l_context);
716: FETCH csr_actual_performer_1 INTO l_name, l_display_name;
723: /*Added for bug 12348624*/
724:
725: if (funcmode in('RESPOND','TRANSFER')) then
726:
727: wf_engine.SetItemAttrText (itemtype => itemtype,
728: itemkey => itemkey,
729: aname => 'SIGNATORY_USERNAME',
730: avalue => l_name);
731: wf_engine.SetItemAttrText (itemtype => itemtype,
727: wf_engine.SetItemAttrText (itemtype => itemtype,
728: itemkey => itemkey,
729: aname => 'SIGNATORY_USERNAME',
730: avalue => l_name);
731: wf_engine.SetItemAttrText (itemtype => itemtype,
732: itemkey => itemkey,
733: aname => 'SIGNATORY_DISPLAY_NAME',
734: avalue => l_display_name);
735: wf_engine.SetItemAttrText (itemtype => itemtype,
731: wf_engine.SetItemAttrText (itemtype => itemtype,
732: itemkey => itemkey,
733: aname => 'SIGNATORY_DISPLAY_NAME',
734: avalue => l_display_name);
735: wf_engine.SetItemAttrText (itemtype => itemtype,
736: itemkey => itemkey,
737: aname => 'FROM',
738: avalue => l_name);
739: return;
751: CLOSE csr_vr_approval;
752:
753: IF G_APPROVER_EXISTS ='F' OR l_vr_app_value='RESPOND' THEN
754: IF l_vr_value ='RESPOND' THEN
755: wf_engine.threshold :=20;
756: END IF;
757: END IF;
758: /*Added for bug 8558419 and 12348624*/
759:
787: /* commented by GunA
788: cursor c1 is
789: select 'T'
790: from OKC_K_REL_OBJS_V R, ASO_Quote_Headers_ALL Q
791: where R.chr_id = wf_engine.GetItemAttrNumber(itemtype,itemkey,'CONTRACT_ID')
792: -- and R.RTY_CODE = 'CONTRACTNEGOTIATESQUOTE'
793: and R.RTY_CODE like 'CONTRACT%IS%TERM%FOR%QUOTE'
794: and R.CLE_ID IS NULL
795: and Q.QUOTE_HEADER_ID = R.OBJECT1_ID1
799: -- Bug#2208391 - added check of profile option 'OKC_CREATE_ORDER_FROM_K'
800: CURSOR c1 is
801: select 'T'
802: from okc_k_rel_objs
803: where chr_id = wf_engine.GetItemAttrNumber(itemtype,itemkey,'CONTRACT_ID')
804: and JTOT_OBJECT1_CODE = G_OBJECT_CODE
805: ---and RTY_CODE = G_TERMSFORQUOTE ;
806: -- and RTY_CODE in (G_TERMSFORQUOTE, G_NEGOTIATESQUOTE);
807: and (RTY_CODE=G_TERMSFORQUOTE OR RTY_CODE=G_NEGOTIATESQUOTE
867: --
868: -- RUN mode - normal process execution
869: --
870: if (funcmode = 'RUN') then
871: if (wf_engine.GetItemAttrText(itemtype,itemkey,'NOTE') is NULL) then
872: resultout := 'COMPLETE:F';
873: else
874: resultout := 'COMPLETE:T';
875: end if;
921: -- Cursor to check if contract is a template
922: CURSOR c1 is
923: select 'T'
924: from okc_k_headers_v
925: where id = wf_engine.GetItemAttrNumber(itemtype,itemkey,'CONTRACT_ID')
926: and template_yn = 'Y';
927: --
928: BEGIN
929: --
1042: if (funcmode = 'RUN') then
1043: --
1044: -- Initiator/Initial
1045: --
1046: l_id := wf_engine.GetItemAttrNumber(
1047: itemtype => itemtype,
1048: itemkey => itemkey,
1049: aname => 'USER_ID');
1050: open C_INITIATOR_DISPLAY_NAME(l_id);
1054: IF (l_debug = 'Y') THEN
1055: okc_debug.log('OKSWCAPB: Initialize() USER_ID='||l_id, 2);
1056: END IF;
1057:
1058: wf_engine.SetItemAttrText (
1059: itemtype => itemtype,
1060: itemkey => itemkey,
1061: aname => 'INITIATOR_NAME',
1062: avalue => L_INITIATOR_NAME);
1059: itemtype => itemtype,
1060: itemkey => itemkey,
1061: aname => 'INITIATOR_NAME',
1062: avalue => L_INITIATOR_NAME);
1063: wf_engine.SetItemAttrText (
1064: itemtype => itemtype,
1065: itemkey => itemkey,
1066: aname => 'INITIATOR_DISPLAY_NAME',
1067: avalue => L_INITIATOR_DISPLAY_NAME);
1064: itemtype => itemtype,
1065: itemkey => itemkey,
1066: aname => 'INITIATOR_DISPLAY_NAME',
1067: avalue => L_INITIATOR_DISPLAY_NAME);
1068: wf_engine.SetItemAttrText (
1069: itemtype => itemtype,
1070: itemkey => itemkey,
1071: aname => 'FROM',
1072: avalue => L_INITIATOR_NAME);
1077: itemkey => itemkey,
1078: p_role_type => 'ADMINISTRATOR',
1079: x_role => L_CONTRACT_ADMIN_USERNAME,
1080: x_name => V_DUMMY);
1081: wf_engine.SetItemAttrText (
1082: itemtype => itemtype,
1083: itemkey => itemkey,
1084: aname => 'CONTRACT_ADMIN_USERNAME',
1085: avalue => L_CONTRACT_ADMIN_USERNAME);
1090: itemkey => itemkey,
1091: p_role_type => 'SIGNATORY',
1092: x_role => L_SIGNATORY_USERNAME,
1093: x_name => L_SIGNATORY_DISPLAY_NAME);
1094: wf_engine.SetItemAttrText (
1095: itemtype => itemtype,
1096: itemkey => itemkey,
1097: aname => 'SIGNATORY_USERNAME',
1098: avalue => L_SIGNATORY_USERNAME);
1096: itemkey => itemkey,
1097: aname => 'SIGNATORY_USERNAME',
1098: avalue => L_SIGNATORY_USERNAME);
1099:
1100: wf_engine.SetItemAttrText (
1101: itemtype => itemtype,
1102: itemkey => itemkey,
1103: aname => 'SIGNATORY_DISPLAY_NAME',
1104: avalue => L_SIGNATORY_DISPLAY_NAME);
1102: itemkey => itemkey,
1103: aname => 'SIGNATORY_DISPLAY_NAME',
1104: avalue => L_SIGNATORY_DISPLAY_NAME);
1105: --
1106: l_id := wf_engine.GetItemAttrNumber(
1107: itemtype => itemtype,
1108: itemkey => itemkey,
1109: aname => 'CONTRACT_ID');
1110: IF (l_debug = 'Y') THEN
1121:
1122: open C_K_SHORT_DESCRIPTION(l_id);
1123: fetch C_K_SHORT_DESCRIPTION into L_K_SHORT_DESCRIPTION;
1124: close C_K_SHORT_DESCRIPTION;
1125: wf_engine.SetItemAttrText (
1126: itemtype => itemtype,
1127: itemkey => itemkey,
1128: aname => 'K_SHORT_DESCRIPTION',
1129: avalue => L_K_SHORT_DESCRIPTION);
1217: --
1218: -- RUN mode - normal process execution
1219: --
1220: if (funcmode = 'RUN') then
1221: L_NEXT_PERFORMER_USERNAME := wf_engine.GetItemAttrText(
1222: itemtype => itemtype,
1223: itemkey => itemkey,
1224: aname => 'NEXT_PERFORMER_USERNAME');
1225: if (L_NEXT_PERFORMER_USERNAME is NULL) then -- just start
1222: itemtype => itemtype,
1223: itemkey => itemkey,
1224: aname => 'NEXT_PERFORMER_USERNAME');
1225: if (L_NEXT_PERFORMER_USERNAME is NULL) then -- just start
1226: L_INITIATOR_DISPLAY_NAME := wf_engine.GetItemAttrText(
1227: itemtype => itemtype,
1228: itemkey => itemkey,
1229: aname => 'INITIATOR_DISPLAY_NAME');
1230: -- Empty message attributes so that we can push new messages in case of errors
1257: END;
1258: -- just for common situation if no approvers at all
1259: -- then Contract is considered as approved by initiator
1260: if (L_NEXT_PERFORMER_USERNAME is NULL) then
1261: wf_engine.SetItemAttrText (
1262: itemtype => itemtype,
1263: itemkey => itemkey,
1264: aname => 'N_PERFORMER_DISPLAY_NAME',
1265: avalue => L_INITIATOR_DISPLAY_NAME);
1262: itemtype => itemtype,
1263: itemkey => itemkey,
1264: aname => 'N_PERFORMER_DISPLAY_NAME',
1265: avalue => L_INITIATOR_DISPLAY_NAME);
1266: wf_engine.SetItemAttrText (
1267: itemtype => itemtype,
1268: itemkey => itemkey,
1269: aname => 'FINAL_APPROVER_UNAME',
1270: avalue => NULL);
1269: aname => 'FINAL_APPROVER_UNAME',
1270: avalue => NULL);
1271: resultout := 'COMPLETE:F';
1272: else
1273: wf_engine.SetItemAttrText (
1274: itemtype => itemtype,
1275: itemkey => itemkey,
1276: aname => 'P_PERFORMER_DISPLAY_NAME',
1277: avalue => L_INITIATOR_DISPLAY_NAME);
1274: itemtype => itemtype,
1275: itemkey => itemkey,
1276: aname => 'P_PERFORMER_DISPLAY_NAME',
1277: avalue => L_INITIATOR_DISPLAY_NAME);
1278: wf_engine.SetItemAttrText (
1279: itemtype => itemtype,
1280: itemkey => itemkey,
1281: aname => 'NEXT_PERFORMER_USERNAME',
1282: avalue => L_NEXT_PERFORMER_USERNAME);
1279: itemtype => itemtype,
1280: itemkey => itemkey,
1281: aname => 'NEXT_PERFORMER_USERNAME',
1282: avalue => L_NEXT_PERFORMER_USERNAME);
1283: wf_engine.SetItemAttrText(itemtype => itemtype,
1284: itemkey => itemkey,
1285: aname => 'N_PERFORMER_DISPLAY_NAME',
1286: avalue => L_N_PERFORMER_DISPLAY_NAME);
1287: resultout := 'COMPLETE:T';
1288: G_APPROVER_EXISTS :='T'; ----ADDED FOR BUG 8558419
1289: end if;
1290: return;
1291: else
1292: wf_engine.SetItemAttrText
1293: (
1294: itemtype => itemtype,
1295: itemkey => itemkey,
1296: aname => 'P_PERFORMER_DISPLAY_NAME',
1293: (
1294: itemtype => itemtype,
1295: itemkey => itemkey,
1296: aname => 'P_PERFORMER_DISPLAY_NAME',
1297: avalue => wf_engine.GetItemAttrText(
1298: itemtype => itemtype,
1299: itemkey => itemkey,
1300: aname => 'N_PERFORMER_DISPLAY_NAME')
1301: );
1328: resultout := 'COMPLETE:';
1329: return;
1330: END;
1331: if (L_NEXT_PERFORMER_USERNAME_OUT is NULL) then
1332: wf_engine.SetItemAttrText (
1333: itemtype => itemtype,
1334: itemkey => itemkey,
1335: aname => 'FINAL_APPROVER_UNAME',
1336: avalue => wf_engine.GetItemAttrText(
1332: wf_engine.SetItemAttrText (
1333: itemtype => itemtype,
1334: itemkey => itemkey,
1335: aname => 'FINAL_APPROVER_UNAME',
1336: avalue => wf_engine.GetItemAttrText(
1337: itemtype => itemtype,
1338: itemkey => itemkey,
1339: aname => 'NEXT_PERFORMER_USERNAME'));
1340:
1337: itemtype => itemtype,
1338: itemkey => itemkey,
1339: aname => 'NEXT_PERFORMER_USERNAME'));
1340:
1341: wf_engine.SetItemAttrText (
1342: itemtype => itemtype,
1343: itemkey => itemkey,
1344: aname => 'NEXT_PERFORMER_USERNAME',
1345: avalue => NULL);
1346: resultout := 'COMPLETE:F';
1347:
1348: else
1349:
1350: wf_engine.SetItemAttrText (
1351: itemtype => itemtype,
1352: itemkey => itemkey,
1353: aname => 'NEXT_PERFORMER_USERNAME',
1354: avalue => L_NEXT_PERFORMER_USERNAME_OUT);
1352: itemkey => itemkey,
1353: aname => 'NEXT_PERFORMER_USERNAME',
1354: avalue => L_NEXT_PERFORMER_USERNAME_OUT);
1355:
1356: wf_engine.SetItemAttrText(
1357: itemtype => itemtype,
1358: itemkey => itemkey,
1359: aname => 'N_PERFORMER_DISPLAY_NAME',
1360: avalue => L_N_PERFORMER_DISPLAY_NAME);
1420:
1421: ame_api2.updateApprovalStatus2(
1422: applicationIdIn => G_APPLICATION_ID,
1423: transactionTypeIn => G_TRANSACTION_TYPE,
1424: transactionIdIn => wf_engine.GetItemAttrText(itemtype,itemkey,'CONTRACT_ID'),
1425: approvalStatusIn => ame_util.approvedStatus,
1426: approverNameIn => wf_engine.GetItemAttrText(itemtype,itemkey,'ACTUAL_PERFORMER'),
1427: forwardeeIn => ame_util.emptyApproverRecord2
1428: );
1422: applicationIdIn => G_APPLICATION_ID,
1423: transactionTypeIn => G_TRANSACTION_TYPE,
1424: transactionIdIn => wf_engine.GetItemAttrText(itemtype,itemkey,'CONTRACT_ID'),
1425: approvalStatusIn => ame_util.approvedStatus,
1426: approverNameIn => wf_engine.GetItemAttrText(itemtype,itemkey,'ACTUAL_PERFORMER'),
1427: forwardeeIn => ame_util.emptyApproverRecord2
1428: );
1429:
1430: end;
1452: -- RUN mode - normal process execution
1453: --
1454: if (funcmode = 'RUN') then
1455:
1456: L_NEXT_INFORMED_USERNAME := wf_engine.GetItemAttrText(
1457: itemtype => itemtype,
1458: itemkey => itemkey,
1459: aname => 'NEXT_INFORMED_USERNAME');
1460:
1464: p_current => L_NEXT_INFORMED_USERNAME,
1465: x_role => L_NEXT_INFORMED_USERNAME_OUT,
1466: x_name => V_DUMMY);
1467:
1468: wf_engine.SetItemAttrText (
1469: itemtype => itemtype,
1470: itemkey => itemkey,
1471: aname => 'NEXT_INFORMED_USERNAME',
1472: avalue => L_NEXT_INFORMED_USERNAME_OUT);
1585: if (funcmode = 'RUN') then
1586:
1587: empty_mess( itemtype,
1588: itemkey );
1589: L_CONTRACT_ID := wf_engine.GetItemAttrNumber(
1590: itemtype => itemtype,
1591: itemkey => itemkey,
1592: aname => 'CONTRACT_ID');
1593: OKC_CONTRACT_APPROVAL_PUB.k_approved(
1595: x_return_status => x_return_status);
1596: if (x_return_status = OKC_API.G_RET_STS_SUCCESS)
1597: then
1598: --
1599: wf_engine.SetItemAttrDate (
1600: itemtype => itemtype,
1601: itemkey => itemkey,
1602: aname => 'DATE_SIGNED',
1603: avalue => sysdate);
1666: if (funcmode = 'RUN') then
1667: --
1668: empty_mess( itemtype,
1669: itemkey );
1670: L_CONTRACT_ID := wf_engine.GetItemAttrNumber(
1671: itemtype => itemtype,
1672: itemkey => itemkey,
1673: aname => 'CONTRACT_ID');
1674: OKC_CONTRACT_APPROVAL_PUB.k_erase_approved(
1743: if (funcmode = 'RUN') then
1744: --
1745: empty_mess( itemtype,
1746: itemkey );
1747: L_DATE_SIGNED := wf_engine.GetItemAttrDate (
1748: itemtype => itemtype,
1749: itemkey => itemkey,
1750: aname => 'DATE_SIGNED');
1751: L_CONTRACT_ID := wf_engine.GetItemAttrNumber(
1747: L_DATE_SIGNED := wf_engine.GetItemAttrDate (
1748: itemtype => itemtype,
1749: itemkey => itemkey,
1750: aname => 'DATE_SIGNED');
1751: L_CONTRACT_ID := wf_engine.GetItemAttrNumber(
1752: itemtype => itemtype,
1753: itemkey => itemkey,
1754: aname => 'CONTRACT_ID');
1755: OKC_CONTRACT_APPROVAL_PUB.k_signed(
1760: if (x_return_status = OKC_API.G_RET_STS_SUCCESS)
1761: then
1762: --
1763: resultout := 'COMPLETE:T';
1764: wf_engine.threshold :=50; ---Added for bug 8558419
1765: return;
1766: --
1767: else
1768: --
1829:
1830: empty_mess(itemtype,
1831: itemkey );
1832:
1833: l_contract_id := wf_engine.GetItemAttrNumber(
1834: itemtype => itemtype,
1835: itemkey => itemkey,
1836: aname => 'CONTRACT_ID');
1837:
1914: --
1915: -- RUN mode - normal process execution
1916: --
1917: if (funcmode = 'RUN') then
1918: if (wf_engine.GetItemAttrText(itemtype,itemkey,'FINAL_APPROVER_UNAME') is NULL) then
1919: resultout := 'COMPLETE:F';
1920: else
1921: resultout := 'COMPLETE:T';
1922: end if;
1983: --
1984: If (funcmode = 'RUN') then
1985: --
1986:
1987: l_contract_id := wf_engine.GetItemAttrNumber(
1988: itemtype => itemtype,
1989: itemkey => itemkey,
1990: aname => 'CONTRACT_ID');
1991: empty_mess( itemtype,
2051: if (funcmode = 'RUN') then
2052: --
2053: empty_mess( itemtype,
2054: itemkey );
2055: L_CONTRACT_ID := wf_engine.GetItemAttrNumber(
2056: itemtype => itemtype,
2057: itemkey => itemkey,
2058: aname => 'CONTRACT_ID');
2059: OKC_CONTRACT_APPROVAL_PUB.activate_template(
2139: OPEN csr_session_id;
2140: FETCH csr_session_id INTO l_session_id;
2141: CLOSE csr_session_id;
2142:
2143: wf_engine.SetItemAttrNumber (
2144: itemtype => itemtype,
2145: itemkey=> itemkey,
2146: aname => 'QUOTE_SESSION_ID',
2147: avalue=> l_session_id);
2145: itemkey=> itemkey,
2146: aname => 'QUOTE_SESSION_ID',
2147: avalue=> l_session_id);
2148: --
2149: l_contract_id := wf_engine.GetItemAttrNumber(
2150: itemtype => itemtype,
2151: itemkey => itemkey,
2152: aname => 'CONTRACT_ID');
2153:
2251: --
2252: IF (funcmode = 'RUN') THEN
2253: empty_mess( itemtype, itemkey );
2254:
2255: l_contract_id := wf_engine.GetItemAttrNumber(
2256: itemtype => itemtype,
2257: itemkey => itemkey,
2258: aname => 'CONTRACT_ID');
2259:
2357: --
2358: IF (funcmode = 'RUN') THEN
2359: empty_mess( itemtype, itemkey );
2360:
2361: l_contract_id := wf_engine.GetItemAttrNumber(
2362: itemtype => itemtype,
2363: itemkey => itemkey,
2364: aname => 'CONTRACT_ID');
2365: