21: att_name varchar2(60);
22: shipment_count number;
23: begin
24:
25: shipment_count := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
26: itemkey => itemkey,
27: aname => 'NUMBER_OF_SHIPMENTS');
28:
29: shipment_count := shipment_count + 1;
31: -- Create line location id attribute.
32:
33: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
34:
35: wf_engine.AddItemAttr ( ItemType => ItemType,
36: ItemKey => ItemKey,
37: aname => att_name);
38:
39: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
35: wf_engine.AddItemAttr ( ItemType => ItemType,
36: ItemKey => ItemKey,
37: aname => att_name);
38:
39: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
40: itemkey => itemkey,
41: aname => att_name,
42: avalue => line_location_id);
43:
45:
46: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
47: att_name := att_name || '_REASON';
48:
49: wf_engine.AddItemAttr ( ItemType => ItemType,
50: ItemKey => ItemKey,
51: aname => att_name);
52:
53: wf_engine.SetItemAttrText ( itemtype => itemtype,
49: wf_engine.AddItemAttr ( ItemType => ItemType,
50: ItemKey => ItemKey,
51: aname => att_name);
52:
53: wf_engine.SetItemAttrText ( itemtype => itemtype,
54: itemkey => itemkey,
55: aname => att_name,
56: avalue => new_reason);
57:
61:
62: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
63: att_name := att_name || '_ORIG_PDATE';
64:
65: wf_engine.AddItemAttr ( ItemType => ItemType,
66: ItemKey => ItemKey,
67: aname => att_name);
68:
69: wf_engine.SetItemAttrDate ( itemtype => itemtype,
65: wf_engine.AddItemAttr ( ItemType => ItemType,
66: ItemKey => ItemKey,
67: aname => att_name);
68:
69: wf_engine.SetItemAttrDate ( itemtype => itemtype,
70: itemkey => itemkey,
71: aname => att_name,
72: avalue => orig_promised_date);
73:
75:
76: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
77: att_name := att_name || '_NEW_PDATE';
78:
79: wf_engine.AddItemAttr ( ItemType => ItemType,
80: ItemKey => ItemKey,
81: aname => att_name);
82:
83: wf_engine.SetItemAttrDate ( itemtype => itemtype,
79: wf_engine.AddItemAttr ( ItemType => ItemType,
80: ItemKey => ItemKey,
81: aname => att_name);
82:
83: wf_engine.SetItemAttrDate ( itemtype => itemtype,
84: itemkey => itemkey,
85: aname => att_name,
86: avalue => new_promised_date);
87:
89:
90: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
91: att_name := att_name || '_ORIG_NDATE';
92:
93: wf_engine.AddItemAttr ( ItemType => ItemType,
94: ItemKey => ItemKey,
95: aname => att_name);
96:
97: wf_engine.SetItemAttrDate ( itemtype => itemtype,
93: wf_engine.AddItemAttr ( ItemType => ItemType,
94: ItemKey => ItemKey,
95: aname => att_name);
96:
97: wf_engine.SetItemAttrDate ( itemtype => itemtype,
98: itemkey => itemkey,
99: aname => att_name,
100: avalue => orig_needby_date);
101:
103:
104: att_name := 'LINE_LOC_ID' || to_char(shipment_count);
105: att_name := att_name || '_NEW_NDATE';
106:
107: wf_engine.AddItemAttr ( ItemType => ItemType,
108: ItemKey => ItemKey,
109: aname => att_name);
110:
111: wf_engine.SetItemAttrDate ( itemtype => itemtype,
107: wf_engine.AddItemAttr ( ItemType => ItemType,
108: ItemKey => ItemKey,
109: aname => att_name);
110:
111: wf_engine.SetItemAttrDate ( itemtype => itemtype,
112: itemkey => itemkey,
113: aname => att_name,
114: avalue => new_needby_date);
115:
112: itemkey => itemkey,
113: aname => att_name,
114: avalue => new_needby_date);
115:
116: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
117: itemkey => itemkey,
118: aname => 'NUMBER_OF_SHIPMENTS',
119: avalue => shipment_count);
120:
148: x_po_release_id number;
149: x_org_id number;
150:
151: begin
152: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
153: itemkey => itemkey,
154: aname => 'DOCUMENT_ID');
155:
156: x_line_loc_id1 := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
152: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
153: itemkey => itemkey,
154: aname => 'DOCUMENT_ID');
155:
156: x_line_loc_id1 := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
157: itemkey => itemkey,
158: aname => 'LINE_LOC_ID1');
159:
160: select po_release_id into x_po_release_id
203: end if;
204:
205: -- Set Item Attributes.
206:
207: wf_engine.SetItemAttrText ( itemtype => itemtype,
208: itemkey => itemkey,
209: aname => 'DOCUMENT_NUM',
210: avalue => x_document_num);
211:
209: aname => 'DOCUMENT_NUM',
210: avalue => x_document_num);
211:
212:
213: wf_engine.SetItemAttrText ( itemtype => itemtype,
214: itemkey => itemkey,
215: aname => 'DOCUMENT_TYPE_CODE',
216: avalue => x_document_type_code);
217:
214: itemkey => itemkey,
215: aname => 'DOCUMENT_TYPE_CODE',
216: avalue => x_document_type_code);
217:
218: wf_engine.SetItemAttrText ( itemtype => itemtype,
219: itemkey => itemkey,
220: aname => 'DOCUMENT_TYPE',
221: avalue => x_document_type);
222:
219: itemkey => itemkey,
220: aname => 'DOCUMENT_TYPE',
221: avalue => x_document_type);
222:
223: wf_engine.SetItemAttrText ( itemtype => itemtype,
224: itemkey => itemkey,
225: aname => 'DOCUMENT_SUBTYPE',
226: avalue => x_document_subtype);
227:
224: itemkey => itemkey,
225: aname => 'DOCUMENT_SUBTYPE',
226: avalue => x_document_subtype);
227:
228: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
229: itemkey => itemkey,
230: aname => 'ORG_ID',
231: avalue => x_org_id);
232:
229: itemkey => itemkey,
230: aname => 'ORG_ID',
231: avalue => x_org_id);
232:
233: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
234: itemkey => itemkey,
235: aname => 'BUYER_ID',
236: avalue => x_agent_id);
237:
277: x_new_reason varchar2(2000);
278: x_requester_id number;
279: begin
280:
281: shipment_count := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
282: itemkey => itemkey,
283: aname => 'NUMBER_OF_SHIPMENTS');
284:
285: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
281: shipment_count := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
282: itemkey => itemkey,
283: aname => 'NUMBER_OF_SHIPMENTS');
284:
285: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
286: itemkey => itemkey,
287: aname => 'DOCUMENT_ID');
288:
289: x_document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
285: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
286: itemkey => itemkey,
287: aname => 'DOCUMENT_ID');
288:
289: x_document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
290: itemkey => itemkey,
291: aname => 'DOCUMENT_NUM');
292:
293: supplier_user_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
289: x_document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
290: itemkey => itemkey,
291: aname => 'DOCUMENT_NUM');
292:
293: supplier_user_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
294: itemkey => itemkey,
295: aname => 'SUPPLIER_USER_ID');
296:
297: x_document_type_code := wf_engine.GetItemAttrText ( itemtype => itemtype,
293: supplier_user_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
294: itemkey => itemkey,
295: aname => 'SUPPLIER_USER_ID');
296:
297: x_document_type_code := wf_engine.GetItemAttrText ( itemtype => itemtype,
298: itemkey => itemkey,
299: aname => 'DOCUMENT_TYPE_CODE');
300:
301: x_document_subtype := wf_engine.GetItemAttrText ( itemtype => itemtype,
297: x_document_type_code := wf_engine.GetItemAttrText ( itemtype => itemtype,
298: itemkey => itemkey,
299: aname => 'DOCUMENT_TYPE_CODE');
300:
301: x_document_subtype := wf_engine.GetItemAttrText ( itemtype => itemtype,
302: itemkey => itemkey,
303: aname => 'DOCUMENT_SUBTYPE');
304:
305: x_document_type := wf_engine.GetItemAttrText ( itemtype => itemtype,
301: x_document_subtype := wf_engine.GetItemAttrText ( itemtype => itemtype,
302: itemkey => itemkey,
303: aname => 'DOCUMENT_SUBTYPE');
304:
305: x_document_type := wf_engine.GetItemAttrText ( itemtype => itemtype,
306: itemkey => itemkey,
307: aname => 'DOCUMENT_TYPE');
308:
309: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
305: x_document_type := wf_engine.GetItemAttrText ( itemtype => itemtype,
306: itemkey => itemkey,
307: aname => 'DOCUMENT_TYPE');
308:
309: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
310: itemkey => itemkey,
311: aname => 'ORG_ID');
312:
313: --
320:
321: x_base_att_name := 'LINE_LOC_ID' || to_char(shipment_count);
322: x_att_name := x_base_att_name;
323:
324: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
325: itemkey => itemkey,
326: aname => x_att_name);
327:
328: -- get the requestor id from requisition lines if this line was created from
343: end;
344:
345: x_ItemKey := itemkey || '-' || to_char(x_line_location_id);
346:
347: wf_engine.createProcess ( ItemType => x_ItemType,
348: ItemKey => x_ItemKey,
349: Process => x_Process );
350:
351: -- Set Shipment Level Attributes.
350:
351: -- Set Shipment Level Attributes.
352:
353: x_att_name := x_base_att_name || '_ORIG_PDATE';
354: x_orig_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
355: itemkey => itemkey,
356: aname => x_att_name);
357: x_att_name := x_base_att_name || '_NEW_PDATE';
358: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
354: x_orig_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
355: itemkey => itemkey,
356: aname => x_att_name);
357: x_att_name := x_base_att_name || '_NEW_PDATE';
358: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
359: itemkey => itemkey,
360: aname => x_att_name);
361: x_att_name := x_base_att_name || '_ORIG_NDATE';
362: x_orig_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
358: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
359: itemkey => itemkey,
360: aname => x_att_name);
361: x_att_name := x_base_att_name || '_ORIG_NDATE';
362: x_orig_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
363: itemkey => itemkey,
364: aname => x_att_name);
365: x_att_name := x_base_att_name || '_NEW_NDATE';
366: x_new_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
362: x_orig_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
363: itemkey => itemkey,
364: aname => x_att_name);
365: x_att_name := x_base_att_name || '_NEW_NDATE';
366: x_new_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
367: itemkey => itemkey,
368: aname => x_att_name);
369: x_att_name := x_base_att_name || '_REASON';
370: x_new_reason := wf_engine.GetItemAttrText ( itemtype => itemtype,
366: x_new_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
367: itemkey => itemkey,
368: aname => x_att_name);
369: x_att_name := x_base_att_name || '_REASON';
370: x_new_reason := wf_engine.GetItemAttrText ( itemtype => itemtype,
371: itemkey => itemkey,
372: aname => x_att_name);
373:
374: wf_engine.SetItemAttrNumber ( itemtype => x_itemtype,
370: x_new_reason := wf_engine.GetItemAttrText ( itemtype => itemtype,
371: itemkey => itemkey,
372: aname => x_att_name);
373:
374: wf_engine.SetItemAttrNumber ( itemtype => x_itemtype,
375: itemkey => x_itemkey,
376: aname => 'LINE_LOCATION_ID',
377: avalue => x_line_location_id);
378:
375: itemkey => x_itemkey,
376: aname => 'LINE_LOCATION_ID',
377: avalue => x_line_location_id);
378:
379: wf_engine.SetItemAttrNumber ( itemtype => x_itemtype,
380: itemkey => x_itemkey,
381: aname => 'DOCUMENT_ID',
382: avalue => x_document_id);
383:
380: itemkey => x_itemkey,
381: aname => 'DOCUMENT_ID',
382: avalue => x_document_id);
383:
384: wf_engine.SetItemAttrDate ( itemtype => x_itemtype,
385: itemkey => x_itemkey,
386: aname => 'ORIG_PROMISED_DATE',
387: avalue => x_orig_promised_date);
388:
385: itemkey => x_itemkey,
386: aname => 'ORIG_PROMISED_DATE',
387: avalue => x_orig_promised_date);
388:
389: wf_engine.SetItemAttrDate ( itemtype => x_itemtype,
390: itemkey => x_itemkey,
391: aname => 'NEW_PROMISED_DATE',
392: avalue => x_new_promised_date);
393:
390: itemkey => x_itemkey,
391: aname => 'NEW_PROMISED_DATE',
392: avalue => x_new_promised_date);
393:
394: wf_engine.SetItemAttrDate ( itemtype => x_itemtype,
395: itemkey => x_itemkey,
396: aname => 'ORIG_NEEDBY_DATE',
397: avalue => x_orig_needby_date);
398:
395: itemkey => x_itemkey,
396: aname => 'ORIG_NEEDBY_DATE',
397: avalue => x_orig_needby_date);
398:
399: wf_engine.SetItemAttrDate ( itemtype => x_itemtype,
400: itemkey => x_itemkey,
401: aname => 'NEW_NEEDBY_DATE',
402: avalue => x_new_needby_date);
403:
400: itemkey => x_itemkey,
401: aname => 'NEW_NEEDBY_DATE',
402: avalue => x_new_needby_date);
403:
404: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
405: itemkey => x_itemkey,
406: aname => 'REASON',
407: avalue => x_new_reason);
408:
405: itemkey => x_itemkey,
406: aname => 'REASON',
407: avalue => x_new_reason);
408:
409: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
410: itemkey => x_itemkey,
411: aname => 'SUPPLIER_USER_ID',
412: avalue => supplier_user_id);
413:
410: itemkey => x_itemkey,
411: aname => 'SUPPLIER_USER_ID',
412: avalue => supplier_user_id);
413:
414: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
415: itemkey => x_itemkey,
416: aname => 'PARENT_WF_ITEMKEY',
417: avalue => itemkey);
418:
415: itemkey => x_itemkey,
416: aname => 'PARENT_WF_ITEMKEY',
417: avalue => itemkey);
418:
419: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
420: itemkey => x_itemkey,
421: aname => 'DOCUMENT_NUM',
422: avalue => x_document_num);
423:
420: itemkey => x_itemkey,
421: aname => 'DOCUMENT_NUM',
422: avalue => x_document_num);
423:
424: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
425: itemkey => x_itemkey,
426: aname => 'DOCUMENT_TYPE_CODE',
427: avalue => x_document_type_code);
428:
425: itemkey => x_itemkey,
426: aname => 'DOCUMENT_TYPE_CODE',
427: avalue => x_document_type_code);
428:
429: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
430: itemkey => x_itemkey,
431: aname => 'DOCUMENT_TYPE',
432: avalue => x_document_type);
433:
430: itemkey => x_itemkey,
431: aname => 'DOCUMENT_TYPE',
432: avalue => x_document_type);
433:
434: wf_engine.SetItemAttrText ( itemtype => x_itemtype,
435: itemkey => x_itemkey,
436: aname => 'DOCUMENT_SUBTYPE',
437: avalue => x_document_subtype);
438:
435: itemkey => x_itemkey,
436: aname => 'DOCUMENT_SUBTYPE',
437: avalue => x_document_subtype);
438:
439: wf_engine.SetItemAttrNumber ( itemtype => x_itemtype,
440: itemkey => x_itemkey,
441: aname => 'ORG_ID',
442: avalue => x_org_id);
443:
440: itemkey => x_itemkey,
441: aname => 'ORG_ID',
442: avalue => x_org_id);
443:
444: wf_engine.SetItemAttrNumber ( itemtype => x_itemtype,
445: itemkey => x_itemkey,
446: aname => 'REQUESTER_ID',
447: avalue => x_requester_id);
448:
445: itemkey => x_itemkey,
446: aname => 'REQUESTER_ID',
447: avalue => x_requester_id);
448:
449: wf_engine.StartProcess ( ItemType => x_ItemType,
450: ItemKey => x_ItemKey );
451:
452: shipment_count := shipment_count - 1;
453:
476: begin
477:
478: -- set the org context
479:
480: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
481: itemkey => itemkey,
482: aname => 'ORG_ID');
483:
484: fnd_client_info.set_org_context(to_char(x_org_id));
482: aname => 'ORG_ID');
483:
484: fnd_client_info.set_org_context(to_char(x_org_id));
485:
486: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
487: itemkey => itemkey,
488: aname => 'DOCUMENT_ID');
489:
490: x_document_type_code := wf_engine.GetItemAttrText ( itemtype => itemtype,
486: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
487: itemkey => itemkey,
488: aname => 'DOCUMENT_ID');
489:
490: x_document_type_code := wf_engine.GetItemAttrText ( itemtype => itemtype,
491: itemkey => itemkey,
492: aname => 'DOCUMENT_TYPE_CODE');
493: if x_document_type_code <> 'RELEASE' then
494: update po_headers_all
549:
550: begin
551:
552: -- set the org context
553: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
554: itemkey => itemkey,
555: aname => 'ORG_ID');
556:
557: x_employee_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
553: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
554: itemkey => itemkey,
555: aname => 'ORG_ID');
556:
557: x_employee_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
558: itemkey => itemkey,
559: aname => 'BUYER_ID');
560:
561:
560:
561:
562: fnd_client_info.set_org_context(to_char(x_org_id));
563:
564: document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
565: itemkey => itemkey,
566: aname => 'DOCUMENT_ID');
567:
568: Document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
564: document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
565: itemkey => itemkey,
566: aname => 'DOCUMENT_ID');
567:
568: Document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
569: itemkey => itemkey,
570: aname => 'DOCUMENT_NUM');
571:
572: preparer_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
568: Document_num := wf_engine.GetItemAttrText ( itemtype => itemtype,
569: itemkey => itemkey,
570: aname => 'DOCUMENT_NUM');
571:
572: preparer_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
573: itemkey => itemkey,
574: aname => 'BUYER_ID');
575:
576: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
572: preparer_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
573: itemkey => itemkey,
574: aname => 'BUYER_ID');
575:
576: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
577: itemkey => itemkey,
578: aname => 'DOCUMENT_TYPE_CODE');
579:
580: documentSubtype := wf_engine.GetItemAttrText ( itemtype => itemtype,
576: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
577: itemkey => itemkey,
578: aname => 'DOCUMENT_TYPE_CODE');
579:
580: documentSubtype := wf_engine.GetItemAttrText ( itemtype => itemtype,
581: itemkey => itemkey,
582: aname => 'DOCUMENT_SUBTYPE');
583:
584: select to_char(PO_WF_ITEMKEY_S.NEXTVAL) into l_seq from sys.dual;
706: begin
707: -- set the org context
708: --dbms_output.put_line('Inside Set Attributes');
709:
710: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
711: itemkey => itemkey,
712: aname => 'ORG_ID');
713:
714: fnd_client_info.set_org_context(to_char(x_org_id));
712: aname => 'ORG_ID');
713:
714: fnd_client_info.set_org_context(to_char(x_org_id));
715:
716: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
717: itemkey => itemkey,
718: aname => 'LINE_LOCATION_ID');
719:
720: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
716: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
717: itemkey => itemkey,
718: aname => 'LINE_LOCATION_ID');
719:
720: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
721: itemkey => itemkey,
722: aname => 'DOCUMENT_ID');
723:
724: x_supplier_username := wf_engine.GetItemAttrText ( itemtype => itemtype,
720: x_document_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
721: itemkey => itemkey,
722: aname => 'DOCUMENT_ID');
723:
724: x_supplier_username := wf_engine.GetItemAttrText ( itemtype => itemtype,
725: itemkey => itemkey,
726: aname => 'SUPPLIER_USER_NAME');
727:
728: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
724: x_supplier_username := wf_engine.GetItemAttrText ( itemtype => itemtype,
725: itemkey => itemkey,
726: aname => 'SUPPLIER_USER_NAME');
727:
728: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
729: itemkey => itemkey,
730: aname => 'DOCUMENT_TYPE_CODE');
731:
732: x_supplier_userid := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
728: DocumentTypeCode := wf_engine.GetItemAttrText ( itemtype => itemtype,
729: itemkey => itemkey,
730: aname => 'DOCUMENT_TYPE_CODE');
731:
732: x_supplier_userid := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
733: itemkey => itemkey,
734: aname => 'SUPPLIER_USER_ID');
735:
736: fnd_message.set_name ('ICX','POS_PO_WF_REJECTED_VALUE');
735:
736: fnd_message.set_name ('ICX','POS_PO_WF_REJECTED_VALUE');
737: x_acceptance_result := fnd_message.get;
738:
739: wf_engine.SetItemAttrText ( itemtype => itemtype,
740: itemkey => itemkey,
741: aname => 'ACCEPTANCE_RESULT',
742: avalue => nvl(x_acceptance_result, 'Rejected'));
743:
779:
780: -- Set Item Attributes.
781:
782:
783: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
784: itemkey => itemkey,
785: aname => 'SHIP_TO_ORGANIZATION_ID',
786: avalue => x_ship_to_organization_id);
787:
784: itemkey => itemkey,
785: aname => 'SHIP_TO_ORGANIZATION_ID',
786: avalue => x_ship_to_organization_id);
787:
788: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
789: itemkey => itemkey,
790: aname => 'ITEM_ID',
791: avalue => x_item_id);
792:
789: itemkey => itemkey,
790: aname => 'ITEM_ID',
791: avalue => x_item_id);
792:
793: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
794: itemkey => itemkey,
795: aname => 'BUYER_USER_ID',
796: avalue => x_agent_id);
797:
794: itemkey => itemkey,
795: aname => 'BUYER_USER_ID',
796: avalue => x_agent_id);
797:
798: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
799: itemkey => itemkey,
800: aname => 'LINE_NUMBER',
801: avalue => x_line_num);
802:
799: itemkey => itemkey,
800: aname => 'LINE_NUMBER',
801: avalue => x_line_num);
802:
803: wf_engine.SetItemAttrText ( itemtype => itemtype,
804: itemkey => itemkey,
805: aname => 'UOM',
806: avalue => x_uom);
807:
804: itemkey => itemkey,
805: aname => 'UOM',
806: avalue => x_uom);
807:
808: wf_engine.SetItemAttrText ( itemtype => itemtype,
809: itemkey => itemkey,
810: aname => 'ITEM_DESCRIPTION',
811: avalue => x_item_description);
812:
809: itemkey => itemkey,
810: aname => 'ITEM_DESCRIPTION',
811: avalue => x_item_description);
812:
813: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
814: itemkey => itemkey,
815: aname => 'QTY_ORDERED',
816: avalue => x_qty_ordered);
817:
814: itemkey => itemkey,
815: aname => 'QTY_ORDERED',
816: avalue => x_qty_ordered);
817:
818: wf_engine.SetItemAttrText ( itemtype => itemtype,
819: itemkey => itemkey,
820: aname => 'SUPPLIER',
821: avalue => x_vendor_name);
822:
844: x_progress := '004';
845: end if;
846: end if;
847:
848: wf_engine.SetItemAttrText ( itemtype => itemtype,
849: itemkey => itemkey,
850: aname => 'SUPPLIER_USER_NAME',
851: avalue => x_supplier_username);
852:
873: x_orig_system varchar2(4);
874: x_ship_to_org_id number;
875: begin
876:
877: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
878: itemkey => itemkey,
879: aname => 'ITEM_ID');
880:
881: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
877: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
878: itemkey => itemkey,
879: aname => 'ITEM_ID');
880:
881: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
882: itemkey => itemkey,
883: aname => 'SHIP_TO_ORGANIZATION_ID');
884:
885: x_progress := '001';
926:
927: -- May want to raise an exception as there is no role defined of the employee.
928: result := 'COMPLETE:NOT_FOUND';
929: else
930: wf_engine.SetItemAttrText ( itemtype => itemtype,
931: itemkey => itemkey,
932: aname => 'PLANNER_USER_NAME',
933: avalue => x_planner_username);
934:
960: x_orig_system varchar2(4);
961: x_ship_to_org_id number;
962: begin
963:
964: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
965: itemkey => itemkey,
966: aname => 'SHIP_TO_ORGANIZATION_ID');
967:
968: x_progress := '001';
979: end;
980:
981: if x_Shopfloor_Mgr_username is not null then
982:
983: wf_engine.SetItemAttrText ( itemtype => itemtype,
984: itemkey => itemkey,
985: aname => 'SHOPFLOORMGR_USER_NAME',
986: avalue => x_Shopfloor_Mgr_username);
987:
1013: begin
1014:
1015: -- set the org context
1016:
1017: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1018: itemkey => itemkey,
1019: aname => 'ORG_ID');
1020:
1021: fnd_client_info.set_org_context(to_char(x_org_id));
1019: aname => 'ORG_ID');
1020:
1021: fnd_client_info.set_org_context(to_char(x_org_id));
1022:
1023: x_requester_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1024: itemkey => itemkey,
1025: aname => 'REQUESTER_ID');
1026:
1027: if x_requester_id is not null then
1043:
1044: -- May want to raise an exception as there is no role defined of the employee.
1045: result := 'COMPLETE:NOT_FOUND';
1046: else
1047: wf_engine.SetItemAttrText ( itemtype => itemtype,
1048: itemkey => itemkey,
1049: aname => 'REQUESTER_USER_NAME',
1050: avalue => x_requester_username);
1051:
1074: x_osp_item_flag varchar2(1);
1075: x_ship_to_org_id number;
1076: begin
1077:
1078: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1079: itemkey => itemkey,
1080: aname => 'ITEM_ID');
1081:
1082: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1078: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1079: itemkey => itemkey,
1080: aname => 'ITEM_ID');
1081:
1082: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1083: itemkey => itemkey,
1084: aname => 'SHIP_TO_ORGANIZATION_ID');
1085:
1086: x_progress := '001';
1120: x_planning_item_flag varchar2(1);
1121: x_ship_to_org_id number;
1122: begin
1123:
1124: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1125: itemkey => itemkey,
1126: aname => 'ITEM_ID');
1127:
1128: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1124: x_item_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1125: itemkey => itemkey,
1126: aname => 'ITEM_ID');
1127:
1128: x_ship_to_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1129: itemkey => itemkey,
1130: aname => 'SHIP_TO_ORGANIZATION_ID');
1131:
1132: x_progress := '001';
1173: begin
1174:
1175: -- set the org context
1176:
1177: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1178: itemkey => itemkey,
1179: aname => 'ORG_ID');
1180:
1181: x_employee_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1177: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1178: itemkey => itemkey,
1179: aname => 'ORG_ID');
1180:
1181: x_employee_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1182: itemkey => itemkey,
1183: aname => 'BUYER_USER_ID');
1184:
1185: -- fnd_client_info.set_org_context(to_char(x_org_id));
1183: aname => 'BUYER_USER_ID');
1184:
1185: -- fnd_client_info.set_org_context(to_char(x_org_id));
1186:
1187: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1188: itemkey => itemkey,
1189: aname => 'LINE_LOCATION_ID');
1190:
1191: x_new_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1187: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1188: itemkey => itemkey,
1189: aname => 'LINE_LOCATION_ID');
1190:
1191: x_new_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1192: itemkey => itemkey,
1193: aname => 'NEW_PROMISED_DATE');
1194:
1195: initialize(x_employee_id, x_org_id);
1211: -- Update the parent WF to register the acceptance.
1212: -- The document would have to be routed for approval.
1213: --
1214:
1215: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1216: itemkey => itemkey,
1217: aname => 'PARENT_WF_ITEMKEY');
1218:
1219: wf_engine.SetItemAttrText ( itemtype => x_parent_WF_itemtype,
1215: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1216: itemkey => itemkey,
1217: aname => 'PARENT_WF_ITEMKEY');
1218:
1219: wf_engine.SetItemAttrText ( itemtype => x_parent_WF_itemtype,
1220: itemkey => x_parent_WF_itemkey,
1221: aname => 'UPDATE_ACCEPTED_FLAG',
1222: avalue => 'Y');
1223:
1245: begin
1246:
1247: -- set the org context
1248:
1249: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1250: itemkey => itemkey,
1251: aname => 'ORG_ID');
1252:
1253: fnd_client_info.set_org_context(to_char(x_org_id));
1251: aname => 'ORG_ID');
1252:
1253: fnd_client_info.set_org_context(to_char(x_org_id));
1254:
1255: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1256: itemkey => itemkey,
1257: aname => 'LINE_LOCATION_ID');
1258:
1259: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1255: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1256: itemkey => itemkey,
1257: aname => 'LINE_LOCATION_ID');
1258:
1259: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1260: itemkey => itemkey,
1261: aname => 'NEW_PROMISED_DATE');
1262:
1263: x_new_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1259: x_new_promised_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1260: itemkey => itemkey,
1261: aname => 'NEW_PROMISED_DATE');
1262:
1263: x_new_needby_date := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1264: itemkey => itemkey,
1265: aname => 'NEW_NEEDBY_DATE');
1266:
1267: UPDATE po_line_locations_all
1280: -- Update the parent WF to register the acceptance.
1281: -- The document would have to be routed for approval.
1282: --
1283:
1284: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1285: itemkey => itemkey,
1286: aname => 'PARENT_WF_ITEMKEY');
1287:
1288: wf_engine.SetItemAttrText ( itemtype => x_parent_WF_itemtype,
1284: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1285: itemkey => itemkey,
1286: aname => 'PARENT_WF_ITEMKEY');
1287:
1288: wf_engine.SetItemAttrText ( itemtype => x_parent_WF_itemtype,
1289: itemkey => x_parent_WF_itemkey,
1290: aname => 'UPDATE_ACCEPTED_FLAG',
1291: avalue => 'Y');
1292: EXCEPTION
1311: begin
1312:
1313: -- set the org context
1314:
1315: x_org_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1316: itemkey => itemkey,
1317: aname => 'ORG_ID');
1318:
1319: fnd_client_info.set_org_context(to_char(x_org_id));
1317: aname => 'ORG_ID');
1318:
1319: fnd_client_info.set_org_context(to_char(x_org_id));
1320:
1321: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1322: itemkey => itemkey,
1323: aname => 'PARENT_WF_ITEMKEY');
1324:
1325: x_num_of_shipments := wf_engine.GetItemAttrNumber ( itemtype => x_parent_WF_itemtype,
1321: x_parent_WF_itemkey := wf_engine.GetItemAttrText ( itemtype => itemtype,
1322: itemkey => itemkey,
1323: aname => 'PARENT_WF_ITEMKEY');
1324:
1325: x_num_of_shipments := wf_engine.GetItemAttrNumber ( itemtype => x_parent_WF_itemtype,
1326: itemkey => x_parent_WF_itemkey,
1327: aname => 'NUMBER_OF_SHIPMENTS');
1328:
1329: wf_engine.SetItemAttrNumber ( itemtype => x_parent_WF_itemtype,
1325: x_num_of_shipments := wf_engine.GetItemAttrNumber ( itemtype => x_parent_WF_itemtype,
1326: itemkey => x_parent_WF_itemkey,
1327: aname => 'NUMBER_OF_SHIPMENTS');
1328:
1329: wf_engine.SetItemAttrNumber ( itemtype => x_parent_WF_itemtype,
1330: itemkey => x_parent_WF_itemkey,
1331: aname => 'NUMBER_OF_SHIPMENTS',
1332: avalue => x_num_of_shipments - 1);
1333:
1334: -- Complete Parent WF Process.
1335:
1336: begin
1337:
1338: wf_engine.CompleteActivity(x_parent_WF_itemtype, x_parent_WF_itemkey, 'BLOCK-1', '');
1339: exception
1340: when others then
1341: raise;
1342: end;
1363: x_current_distribution_num number;
1364: x_deliver_to_person_id number;
1365: begin
1366:
1367: x_current_distribution_num := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1368: itemkey => itemkey,
1369: aname => 'CURRENT_DISTRIBUTION');
1370:
1371: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1367: x_current_distribution_num := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1368: itemkey => itemkey,
1369: aname => 'CURRENT_DISTRIBUTION');
1370:
1371: x_line_location_id := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1372: itemkey => itemkey,
1373: aname => 'LINE_LOCATION_ID');
1374:
1375: x_progress := '001';
1394: if nvl(x_dummy, 'null') = 'Dist Exists' then
1395:
1396: -- update dist. num. item attribute
1397:
1398: wf_engine.SetItemAttrText ( itemtype => itemtype,
1399: itemkey => itemkey,
1400: aname => 'CURRENT_DISTRIBUTION',
1401: avalue => x_current_distribution_num);
1402:
1403: if x_deliver_to_person_id is not null then
1404:
1405: -- set requester attribute
1406:
1407: wf_engine.SetItemAttrNumber ( itemtype => itemtype,
1408: itemkey => itemkey,
1409: aname => 'REQUESTER_ID',
1410: avalue => x_deliver_to_person_id);
1411:
1436:
1437: fnd_message.set_name ('ICX','POS_PO_WF_ACCEPTED_VALUE');
1438: x_acceptance_result := fnd_message.get;
1439:
1440: wf_engine.SetItemAttrText ( itemtype => itemtype,
1441: itemkey => itemkey,
1442: aname => 'ACCEPTANCE_RESULT',
1443: avalue => nvl(x_acceptance_result, 'Accepted'));
1444: EXCEPTION