382: ErrStr VARCHAR2(1996);
383:
384: BEGIN
385:
386: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
387: itemkey => itemkey,
388: aname => 'ORDER_ID');
389:
390: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
386: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
387: itemkey => itemkey,
388: aname => 'ORDER_ID');
389:
390: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
391: itemkey => itemkey,
392: aname => 'LINE_ITEM_ID');
393:
394:
412:
413: t_ChildTypes(l_Counter) := 'XDPPROV';
414: t_ChildKeys(l_Counter) := l_tempKey;
415:
416: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
417: itemkey => t_ChildKeys(l_Counter),
418: process => 'SERVICE_PROCESS');
419:
420: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
416: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
417: itemkey => t_ChildKeys(l_Counter),
418: process => 'SERVICE_PROCESS');
419:
420: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
421: itemkey => t_ChildKeys(l_Counter),
422: parent_itemtype => itemtype,
423: parent_itemkey => itemkey,
424: parent_context => null);
422: parent_itemtype => itemtype,
423: parent_itemkey => itemkey,
424: parent_context => null);
425:
426: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
427: itemkey => t_ChildKeys(l_Counter),
428: aname => 'ORDER_ID',
429: avalue => l_OrderID);
430:
427: itemkey => t_ChildKeys(l_Counter),
428: aname => 'ORDER_ID',
429: avalue => l_OrderID);
430:
431: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
432: itemkey => t_ChildKeys(l_Counter),
433: aname => 'LINE_ITEM_ID',
434: avalue => l_SrvLineItemID);
435:
457:
458: t_ChildTypes(l_Counter) := 'XDPPROV';
459: t_ChildKeys(l_Counter) := l_tempKey;
460:
461: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
462: itemkey => t_ChildKeys(l_Counter),
463: process => 'DEPENDENT_SERVICE_PROCESS');
464:
465: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
461: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
462: itemkey => t_ChildKeys(l_Counter),
463: process => 'DEPENDENT_SERVICE_PROCESS');
464:
465: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
466: itemkey => t_ChildKeys(l_Counter),
467: parent_itemtype => itemtype,
468: parent_itemkey => itemkey,
469: parent_context => null);
467: parent_itemtype => itemtype,
468: parent_itemkey => itemkey,
469: parent_context => null);
470:
471: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
472: itemkey => t_ChildKeys(l_Counter),
473: aname => 'ORDER_ID',
474: avalue => l_OrderID);
475:
472: itemkey => t_ChildKeys(l_Counter),
473: aname => 'ORDER_ID',
474: avalue => l_OrderID);
475:
476: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
477: itemkey => t_ChildKeys(l_Counter),
478: aname => 'LINE_ITEM_ID',
479: avalue => l_LineItemID);
480:
500: END IF;
501:
502: /* Start the WF Process */
503: FOR i in 1..l_Counter LOOP
504: wf_engine.StartProcess(t_ChildTypes(i),
505: t_ChildKeys(i));
506: END LOOP;
507:
508:
578: x_Progress VARCHAR2(2000);
579:
580: BEGIN
581:
582: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
583: itemkey => itemkey,
584: aname => 'ORDER_ID');
585:
586: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
582: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
583: itemkey => itemkey,
584: aname => 'ORDER_ID');
585:
586: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
587: itemkey => itemkey,
588: aname => 'LINE_ITEM_ID');
589:
590: l_PrevSequence := wf_engine.GetItemAttrNumber(itemtype => itemtype,
586: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
587: itemkey => itemkey,
588: aname => 'LINE_ITEM_ID');
589:
590: l_PrevSequence := wf_engine.GetItemAttrNumber(itemtype => itemtype,
591: itemkey => itemkey,
592: aname => 'CURRENT_SRV_IN_PKG_SEQUENCE');
593:
594: IF c_GetSrcSeq%ISOPEN THEN
683:
684:
685: BEGIN
686:
687: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
688: itemkey => itemkey,
689: aname => 'ORDER_ID');
690:
691: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
687: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
688: itemkey => itemkey,
689: aname => 'ORDER_ID');
690:
691: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
692: itemkey => itemkey,
693: aname => 'LINE_ITEM_ID');
694:
695: l_PrevSequence := wf_engine.GetItemAttrNumber(itemtype => itemtype,
691: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
692: itemkey => itemkey,
693: aname => 'LINE_ITEM_ID');
694:
695: l_PrevSequence := wf_engine.GetItemAttrNumber(itemtype => itemtype,
696: itemkey => itemkey,
697: aname => 'CURRENT_SRV_IN_PKG_SEQUENCE');
698:
699: IF c_GetSrcSeq%ISOPEN THEN
715:
716: t_ChildTypes(l_Counter) := 'XDPPROV';
717: t_ChildKeys(l_Counter) := l_tempKey;
718:
719: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
720: itemkey => t_ChildKeys(l_Counter),
721: process => 'SERVICE_PROCESS');
722:
723: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
719: wf_engine.CreateProcess(itemtype => t_ChildTypes(l_Counter),
720: itemkey => t_ChildKeys(l_Counter),
721: process => 'SERVICE_PROCESS');
722:
723: wf_engine.SetItemParent(itemtype => t_ChildTypes(l_Counter),
724: itemkey => t_ChildKeys(l_Counter),
725: parent_itemtype => itemtype,
726: parent_itemkey => itemkey,
727: parent_context => 'WAITFORFLOW-SERVICE-DEP');
725: parent_itemtype => itemtype,
726: parent_itemkey => itemkey,
727: parent_context => 'WAITFORFLOW-SERVICE-DEP');
728:
729: wf_engine.SetItemAttrText(itemtype => 'XDPPROV',
730: itemkey => l_tempKey,
731: aname => 'MASTER_TO_CONTINUE',
732: avalue => 'WAITFORFLOW-SERVICE-DEP');
733:
730: itemkey => l_tempKey,
731: aname => 'MASTER_TO_CONTINUE',
732: avalue => 'WAITFORFLOW-SERVICE-DEP');
733:
734: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
735: itemkey => t_ChildKeys(l_Counter),
736: aname => 'ORDER_ID',
737: avalue => l_OrderID);
738:
735: itemkey => t_ChildKeys(l_Counter),
736: aname => 'ORDER_ID',
737: avalue => l_OrderID);
738:
739: wf_engine.SetItemAttrNumber(itemtype => t_ChildTypes(l_Counter),
740: itemkey => t_ChildKeys(l_Counter),
741: aname => 'LINE_ITEM_ID',
742: avalue => l_SvcLineItemID);
743:
764: /* Launch the Service Process */
765:
766: FOR i in 1..l_Counter LOOP
767:
768: wf_engine.StartProcess(itemtype => t_ChildTypes(i),
769: itemkey => t_ChildKeys(i));
770:
771: END LOOP;
772:
808: x_Progress VARCHAR2(2000);
809:
810: BEGIN
811:
812: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
813: itemkey => itemkey,
814: aname => 'ORDER_ID');
815:
816: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
812: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
813: itemkey => itemkey,
814: aname => 'ORDER_ID');
815:
816: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => itemtype,
817: itemkey => itemkey,
818: aname => 'LINE_ITEM_ID');
819:
820: IF l_OrderID is not null and l_LineItemID is not null THEN
865: x_Progress VARCHAR2(2000);
866:
867: BEGIN
868:
869: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => ResolveIndDepPkgs.itemtype,
870: itemkey => ResolveIndDepPkgs.itemkey,
871: aname => 'LINE_ITEM_ID');
872:
873: FOR c_PkgRec in c_GetIndServices( l_LineItemID ) LOOP
929: ErrStr VARCHAR2(1996);
930:
931: BEGIN
932:
933: l_OrderID := wf_engine.GetItemAttrNumber(itemtype => LaunchAllIndServices.itemtype,
934: itemkey => LaunchAllIndServices.itemkey,
935: aname => 'ORDER_ID');
936:
937:
934: itemkey => LaunchAllIndServices.itemkey,
935: aname => 'ORDER_ID');
936:
937:
938: l_LineItemID := wf_engine.GetItemAttrNumber(itemtype => LaunchAllIndServices.itemtype,
939: itemkey => LaunchAllIndServices.itemkey,
940: aname => 'LINE_ITEM_ID');
941:
942:
949: l_tempKey := to_char(l_OrderID) || '-PKG-' || to_char(l_SrvLineItemID) || '-SVC-' || to_char(l_SrvLineItemID) || '-' || l_tempKey;
950:
951: t_ChildKeys(l_Counter) := l_tempKey;
952:
953: wf_engine.CreateProcess(itemtype => 'XDPPROV',
954: itemkey => t_ChildKeys(l_Counter),
955: process => 'SERVICE_PROCESS');
956:
957: wf_engine.SetItemParent(itemtype => 'XDPPROV',
953: wf_engine.CreateProcess(itemtype => 'XDPPROV',
954: itemkey => t_ChildKeys(l_Counter),
955: process => 'SERVICE_PROCESS');
956:
957: wf_engine.SetItemParent(itemtype => 'XDPPROV',
958: itemkey => t_ChildKeys(l_Counter),
959: parent_itemtype => itemtype,
960: parent_itemkey => itemkey,
961: parent_context => 'WAITFORFLOW-SERVICE-IND');
959: parent_itemtype => itemtype,
960: parent_itemkey => itemkey,
961: parent_context => 'WAITFORFLOW-SERVICE-IND');
962:
963: wf_engine.SetItemAttrText(itemtype => 'XDPPROV',
964: itemkey => t_ChildKeys(l_Counter),
965: aname => 'MASTER_TO_CONTINUE',
966: avalue => 'WAITFORFLOW-SERVICE-IND');
967:
964: itemkey => t_ChildKeys(l_Counter),
965: aname => 'MASTER_TO_CONTINUE',
966: avalue => 'WAITFORFLOW-SERVICE-IND');
967:
968: wf_engine.SetItemAttrNumber(itemtype => 'XDPPROV',
969: itemkey => t_ChildKeys(l_Counter),
970: aname => 'ORDER_ID',
971: avalue => l_OrderID);
972:
969: itemkey => t_ChildKeys(l_Counter),
970: aname => 'ORDER_ID',
971: avalue => l_OrderID);
972:
973: wf_engine.SetItemAttrNumber(itemtype => 'XDPPROV',
974: itemkey => t_ChildKeys(l_Counter),
975: aname => 'LINE_ITEM_ID',
976: avalue => l_SrvLineItemID);
977:
979:
980: END LOOP;
981:
982: FOR i in 1..l_Counter LOOP
983: wf_engine.StartProcess('XDPPROV', t_ChildKeys(i));
984: END LOOP;
985:
986: return l_result;
987: EXCEPTION