DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_WORKFLOW_UTILS

Source


1 PACKAGE BODY OKE_WORKFLOW_UTILS AS
2 /* $Header: OKEWFUTB.pls 120.1 2005/06/24 10:34:54 ausmani noship $ */
3 --
4 --  Name          : OKE workflow utilities
5 --  Pre-reqs      : None
6 --  Function      : This procedure performs utility functions regard
7 --                  OKE workflow.
8 --
9 --
10 --  Parameters    :
11 --  IN            : None
12 --  OUT NOCOPY           : None
13 --
14 --  Returns       : None
15 --
16 
17    PROCEDURE Update_Chg_Status_Apv(ITEMTYPE          IN  VARCHAR2
18                               ,ITEMKEY           IN  VARCHAR2
19                               ,ACTID             IN  NUMBER
20                               ,FUNCMODE          IN  VARCHAR2
21                               ,RESULTOUT         OUT NOCOPY VARCHAR2
22                               ) IS
23 
24       l_chg_request_id  number;
25       l_last_updated_id number;
26       l_new_status_code varchar2(30);
27 
28    BEGIN
29       if (funcmode='RUN') then
30 
31          l_chg_request_id:=wf_engine.getitemattrtext(itemtype => itemtype
32                                                  ,itemkey  => itemkey
33                                                  ,aname    => 'CHG_REQUEST_ID'
34                                                  );
35 
36          l_last_updated_id:=wf_engine.getitemattrtext(itemtype => itemtype
37                                                  ,itemkey  => itemkey
38                                                  ,aname    => 'LAST_UPDATED_BY'
39                                                  );
40 
41          l_new_status_code:=wf_engine.getitemattrtext(itemtype => itemtype
42                                                  ,itemkey  => itemkey
43                                                  ,aname    => 'NEW_STATUS_CODE'
44                                                  );
45 
46          update OKE_CHG_REQUESTS
47             set CHG_STATUS_CODE ='APPROVED'
48                ,LAST_UPDATED_BY =l_last_updated_id
49                ,LAST_UPDATE_DATE=sysdate
50           where CHG_REQUEST_ID  =l_chg_request_id;
51 
52          resultout:='COMPLETE:';
53          return;
54       end if;
55       if (funcmode='CANCEL') then
56          resultout:='COMPLETE:';
57          return;
58       end if;
59       if (funcmode='TIMEOUT') then
60          resultout:='COMPLETE:';
61          return;
62       end if;
63 
64    END Update_Chg_Status_Apv;
65 
66    PROCEDURE Update_Chg_Status_Rej(ITEMTYPE          IN  VARCHAR2
67                               ,ITEMKEY           IN  VARCHAR2
68                               ,ACTID             IN  NUMBER
69                               ,FUNCMODE          IN  VARCHAR2
70                               ,RESULTOUT         OUT NOCOPY VARCHAR2
71                               ) IS
72 
73       l_chg_request_id  number;
74       l_last_updated_id number;
75       l_new_status_code varchar2(30);
76 
77    BEGIN
78       if (funcmode='RUN') then
79 
80          l_chg_request_id:=wf_engine.getitemattrtext(itemtype => itemtype
81                                                  ,itemkey  => itemkey
82                                                  ,aname    => 'CHG_REQUEST_ID'
83                                                  );
84 
85          l_last_updated_id:=wf_engine.getitemattrtext(itemtype => itemtype
86                                                  ,itemkey  => itemkey
87                                                  ,aname    => 'LAST_UPDATED_BY'
88                                                  );
89 
90          l_new_status_code:=wf_engine.getitemattrtext(itemtype => itemtype
91                                                  ,itemkey  => itemkey
92                                                  ,aname    => 'NEW_STATUS_CODE'
93                                                  );
94 
95          update OKE_CHG_REQUESTS
96             set CHG_STATUS_CODE ='REJECTED'
97                ,LAST_UPDATED_BY =l_last_updated_id
98                ,LAST_UPDATE_DATE=sysdate
99           where CHG_REQUEST_ID  =l_chg_request_id;
100 
101          resultout:='COMPLETE:';
102          return;
103       end if;
104       if (funcmode='CANCEL') then
105          resultout:='COMPLETE:';
106          return;
107       end if;
108       if (funcmode='TIMEOUT') then
109          resultout:='COMPLETE:';
110          return;
111       end if;
112 
113    END Update_Chg_Status_Rej;
114 
115    PROCEDURE Is_Impact_Funding(
116                             ITEMTYPE          IN  VARCHAR2
117                            ,ITEMKEY           IN  VARCHAR2
118                            ,ACTID             IN  NUMBER
119                            ,FUNCMODE          IN  VARCHAR2
120                            ,RESULTOUT         OUT NOCOPY VARCHAR2
121                            )
122    IS
123       xc_is_impact_funding  varchar2(1) :=
124       wf_engine.GetItemAttrText( itemtype => itemtype,
125 		                 itemkey  => itemkey,
126 			         aname    => 'IMPACT_FUNDING_FLAG');
127 
128    BEGIN
129       if (funcmode = 'RUN') then
130          if (upper(xc_is_impact_funding)='Y') then
131             resultout := 'COMPLETE:Y';
132          else
133             resultout := 'COMPLETE:N';
134          end if;
135          return;
136       end if;
137       if (funcmode = 'CANCEL') then
138          resultout := 'COMPLETE:';
139          return;
140       end if;
141       if (funcmode = 'TIMEOUT') then
142          resultout := 'COMPLETE:';
143          return;
144       end if;
145    EXCEPTION
146       when others then
147          wf_core.context('OKE_WORKFLOW_UTILS', 'IS_IMPACT_FUNDING',itemtype, itemkey, actid,funcmode,resultout);
148          raise;
149    END Is_Impact_Funding;
150 PROCEDURE Set_moac_context(Item_Type            IN      VARCHAR2 ,
151                            Item_Key             IN      VARCHAR2 ,
152                            Actvity_ID           IN      NUMBER ,
153                            Command              IN      VARCHAR2 ,
154                            ResultOut           OUT     NOCOPY VARCHAR2)
155 IS
156 ORG_ID NUMBER;
157 BEGIN
158 
159   ORG_ID := WF_Engine.GetItemAttrNumber(Item_Type , Item_Key , 'ORG_ID');
160 
161   IF (command = 'RUN') THEN
162           ResultOut := 'COMPLETE:';
163   END IF;
164 
165   IF (command = 'SET_CTX') THEN
166         mo_global.set_policy_context( 'S', Org_Id);
167   END IF;
168 
169   IF (command = 'TEST_CTX') THEN
170        IF (NVL(mo_global.get_access_mode,'NULL') <> 'S') OR
171           (NVL(mo_global.get_current_org_id,-99) <> Org_Id)    THEN
172           ResultOut := 'FALSE';
173   ELSE
174           ResultOut := 'TRUE';
175        END IF;
176   END IF;
177 END;
178 END OKE_WORKFLOW_UTILS;