477: FETCH c_seq_num INTO ln_seq_val ;
478: CLOSE c_seq_num ;
479:
480: -- Create the process
481: Wf_Engine.createprocess( ItemType => lv_item_type,
482: ItemKey => 'AS004'||ln_seq_val,
483: process => 'P_AS004'
484: );
485: -- Attach the item attribute IA_USER_ROLE
482: ItemKey => 'AS004'||ln_seq_val,
483: process => 'P_AS004'
484: );
485: -- Attach the item attribute IA_USER_ROLE
486: Wf_Engine.SetItemAttrText( ItemType => lv_item_type,
487: ItemKey => 'AS004'||ln_seq_val,
488: aname => 'IA_USERROLE',
489: avalue => p_user
490: );
489: avalue => p_user
490: );
491:
492: -- Attach the item attribute IA_USER_NAME
493: Wf_Engine.SetItemAttrText( ItemType => lv_item_type,
494: ItemKey => 'AS004'||ln_seq_val,
495: aname => 'IA_USERNAME',
496: avalue => p_user
497: );
496: avalue => p_user
497: );
498:
499: -- Pass the work flow event key
500: Wf_Engine.SetItemAttrText( ItemType => lv_item_type,
501: ItemKey => 'AS004'||ln_seq_val,
502: aname => 'IA_EVENT_KEY',
503: avalue => 'BEAS004'||ln_seq_val
504: );
503: avalue => 'BEAS004'||ln_seq_val
504: );
505:
506: -- Pass the date of production
507: Wf_Engine.SetItemAttrText( ItemType => lv_item_type,
508: ItemKey => 'AS004'||ln_seq_val,
509: aname => 'EA_DATE_PRODUCED',
510: avalue => p_date_produced
511: );
509: aname => 'EA_DATE_PRODUCED',
510: avalue => p_date_produced
511: );
512: -- Pass the date of production
513: Wf_Engine.SetItemAttrText( ItemType => lv_item_type,
514: ItemKey => 'AS004'||ln_seq_val,
515: aname => 'EA_DOC_TYPE',
516: avalue => p_doc_type
517: );
516: avalue => p_doc_type
517: );
518:
519: -- Start the doc type
520: Wf_Engine.StartProcess ( ItemType => lv_item_type,
521: ItemKey => 'AS004'||ln_seq_val
522: );
523:
524: -- Handle the exception using WF_CORE.Context
603: Wf_Directory.CreateAdHocRole (role_name => l_role_name,
604: role_display_name => l_role_display_name
605: );
606:
607: l_date_prod := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DATE_PRODUCED');
608: l_doc_type := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DOC_TYPE');
609:
610: -- set the item attribute of the workflow with date produced
611: Wf_Engine.SetItemAttrText( ItemType => itemtype,
604: role_display_name => l_role_display_name
605: );
606:
607: l_date_prod := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DATE_PRODUCED');
608: l_doc_type := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DOC_TYPE');
609:
610: -- set the item attribute of the workflow with date produced
611: Wf_Engine.SetItemAttrText( ItemType => itemtype,
612: ItemKey => itemkey,
607: l_date_prod := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DATE_PRODUCED');
608: l_doc_type := Wf_Engine.GetItemAttrText(itemtype,itemkey,'EA_DOC_TYPE');
609:
610: -- set the item attribute of the workflow with date produced
611: Wf_Engine.SetItemAttrText( ItemType => itemtype,
612: ItemKey => itemkey,
613: aname => 'IA_DATE_PROD',
614: avalue => l_date_prod
615: );
613: aname => 'IA_DATE_PROD',
614: avalue => l_date_prod
615: );
616: -- set the item attribute of the workflow with doc type
617: Wf_Engine.SetItemAttrText( ItemType => itemtype,
618: ItemKey => itemkey,
619: aname => 'IA_DOC_TYPE',
620: avalue => l_doc_type
621: );
659: END IF;
660: END LOOP;
661: CLOSE c_person_id;
662: -- now set this role to the workflow
663: Wf_Engine.SetItemAttrText( ItemType => itemtype,
664: ItemKey => itemkey,
665: aname => 'IA_ROLE',
666: avalue => l_role_name
667: );