0

I have created one package.

In the package specification I declared one variable l_emp_name varchar2(100); which I am using in the package body in various procedures.

In first procedure launch_workflow() I assign a value to that variable. e.g. l_emp_name:='Sanket Katariya';

After that workflow launches.

in approver_1 procedure I get value of l_emp_name as 'sanket katariya', but in apporver_2 procedure I am getting a null value.

If I set l_emp_name:='Sanket Katariya'; in approver_1 again than I get its value in rest of procedure approver_2, approver_3,etc.

So logically that variable should be accessible in all procedures, right?

Please help me to understand this. Why do I need to set value to in approver_1 procedure?

1 Answers1

0

Can you send the code of package? the apporver_2 procedure is call in the same session as approver_1 procedure?

alvalongo
  • 523
  • 3
  • 11
  • PROCEDURE approve_1(ITEMTYPE IN VARCHAR2,ITEMKEY IN VARCHAR2,ACTID IN NUMBER,FUNCMODE IN VARCHAR2,RESULT IN OUT VARCHAR2) IS BEGIN l_emp_name := wf_engine.GetItemAttrText(itemtype => ITEMTYPE,itemkey => ITEMKEY,aname => 'INITIATOR'); mail_sub_atul_emp_no := 'Employee Master Registration Approval for Employee ' ||l_emp_name ||' to be approved by approver1'; wf_engine.SetItemAttrText(itemtype => ITEMTYPE,itemkey => ITEMKEY,aname => 'EMAIL_SUBJECT_ATUL_EMP_NO',avalue => mail_sub_atul_emp_no); END approve_1; – sanket katariya Feb 16 '18 at 05:05
  • PROCEDURE approve_2(ITEMTYPE IN VARCHAR2,ITEMKEY IN VARCHAR2,ACTID IN NUMBER,FUNCMODE IN VARCHAR2,RESULT IN OUT VARCHAR2) IS BEGIN mail_sub_atul_emp_no := 'Employee Master Registration Approval for Employee ' ||l_emp_name ||' to be approved by IT Application Head'; wf_engine.SetItemAttrText(itemtype => ITEMTYPE,itemkey => ITEMKEY,aname => 'EMAIL_SUBJECT_ATUL_EMP_NO',avalue => mail_sub_atul_emp_no); END approve_2; – sanket katariya Feb 16 '18 at 05:10