DBA Data[Home] [Help]

PACKAGE BODY: APPS.WF_FUNCTION_CALL

Source


1 package body WF_FUNCTION_CALL as
2 /* $Header: wffncalb.pls 115.2 2003/03/14 05:16:51 vshanmug ship $ */
3 /*
4 ** Execute - Making static procedure calls from Workflow Code
5 */
6 procedure Execute(funcname  in     varchar2,
7                   itemtype  in     varchar2,
8                   itemkey   in     varchar2,
9                   actid     in     number,
10                   funmode   in     varchar2,
11                   resultout in out nocopy varchar2,
12                   executed  out    nocopy boolean)
13 as
14   l_funcname varchar2(240);
15 begin
16   executed := FALSE;
17   l_funcname := upper(trim(funcname));
18 
19   -- Function calls for Item Type WFSTD
20   if (itemtype = 'WFSTD') then
21      if (l_funcname = 'WF_STANDARD.ANDJOIN') then
22          WF_STANDARD.ANDJOIN(itemtype, itemkey,
23                                      actid, funmode, resultout);
24          executed := TRUE;
25          return;
26      end if;
27      if (l_funcname = 'WF_STANDARD.ASSIGN') then
28          WF_STANDARD.ASSIGN(itemtype, itemkey,
29                                      actid, funmode, resultout);
30          executed := TRUE;
31          return;
32      end if;
33      if (l_funcname = 'WF_STANDARD.BLOCK') then
34          WF_STANDARD.BLOCK(itemtype, itemkey,
35                                      actid, funmode, resultout);
36          executed := TRUE;
37          return;
38      end if;
39      if (l_funcname = 'WF_STANDARD.COMPARE') then
40          WF_STANDARD.COMPARE(itemtype, itemkey,
41                                      actid, funmode, resultout);
42          executed := TRUE;
43          return;
44      end if;
45      if (l_funcname = 'WF_STANDARD.COMPAREEVENTPROPERTY') then
46          WF_STANDARD.COMPAREEVENTPROPERTY(itemtype, itemkey,
47                                      actid, funmode, resultout);
48          executed := TRUE;
49          return;
50      end if;
51      if (l_funcname = 'WF_STANDARD.COMPAREEXECUTIONTIME') then
52          WF_STANDARD.COMPAREEXECUTIONTIME(itemtype, itemkey,
53                                      actid, funmode, resultout);
54          executed := TRUE;
55          return;
56      end if;
57      if (l_funcname = 'WF_STANDARD.CONTINUEFLOW') then
58          WF_STANDARD.CONTINUEFLOW(itemtype, itemkey,
59                                      actid, funmode, resultout);
60          executed := TRUE;
61          return;
62      end if;
63      if (l_funcname = 'WF_STANDARD.DEFER') then
64          WF_STANDARD.DEFER(itemtype, itemkey,
65                                      actid, funmode, resultout);
66          executed := TRUE;
67          return;
68      end if;
69      if (l_funcname = 'WF_STANDARD.GETEVENTPROPERTY') then
70          WF_STANDARD.GETEVENTPROPERTY(itemtype, itemkey,
71                                      actid, funmode, resultout);
72          executed := TRUE;
73          return;
74      end if;
75      if (l_funcname = 'WF_STANDARD.GETURL') then
76          WF_STANDARD.GETURL(itemtype, itemkey,
77                                      actid, funmode, resultout);
78          executed := TRUE;
79          return;
80      end if;
81      if (l_funcname = 'WF_STANDARD.LAUNCHPROCESS') then
82          WF_STANDARD.LAUNCHPROCESS(itemtype, itemkey,
83                                      actid, funmode, resultout);
84          executed := TRUE;
85          return;
86      end if;
87      if (l_funcname = 'WF_STANDARD.LOOPCOUNTER') then
88          WF_STANDARD.LOOPCOUNTER(itemtype, itemkey,
89                                      actid, funmode, resultout);
90          executed := TRUE;
91          return;
92      end if;
93      if (l_funcname = 'WF_STANDARD.NOOP') then
94          WF_STANDARD.NOOP(itemtype, itemkey,
95                                      actid, funmode, resultout);
96          executed := TRUE;
97          return;
98      end if;
99      if (l_funcname = 'WF_STANDARD.NOTIFY') then
100          WF_STANDARD.NOTIFY(itemtype, itemkey,
101                                      actid, funmode, resultout);
102          executed := TRUE;
103          return;
104      end if;
105      if (l_funcname = 'WF_STANDARD.ORJOIN') then
106          WF_STANDARD.ORJOIN(itemtype, itemkey,
107                                      actid, funmode, resultout);
108          executed := TRUE;
109          return;
110      end if;
111      if (l_funcname = 'WF_STANDARD.ROLERESOLUTION') then
112          WF_STANDARD.ROLERESOLUTION(itemtype, itemkey,
113                                      actid, funmode, resultout);
114          executed := TRUE;
115          return;
116      end if;
117      if (l_funcname = 'WF_STANDARD.SETEVENTPROPERTY') then
118          WF_STANDARD.SETEVENTPROPERTY(itemtype, itemkey,
119                                      actid, funmode, resultout);
120          executed := TRUE;
121          return;
122      end if;
123      if (l_funcname = 'WF_STANDARD.VOTEFORRESULTTYPE') then
124          WF_STANDARD.VOTEFORRESULTTYPE(itemtype, itemkey,
125                                      actid, funmode, resultout);
126          executed := TRUE;
127          return;
128      end if;
129      if (l_funcname = 'WF_STANDARD.WAIT') then
130          WF_STANDARD.WAIT(itemtype, itemkey,
131                                      actid, funmode, resultout);
132          executed := TRUE;
133          return;
134      end if;
135      if (l_funcname = 'WF_STANDARD.WAITFORFLOW') then
136          WF_STANDARD.WAITFORFLOW(itemtype, itemkey,
137                                      actid, funmode, resultout);
138          executed := TRUE;
139          return;
140      end if;
141   end if;
142 
143   -- Function calls for Item Type FNDFFWK
144   if (itemtype = 'FNDFFWK') then
145      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.ABORT_GENERATION') then
146          FND_FLEX_WORKFLOW_APIS.ABORT_GENERATION(itemtype, itemkey,
147                                      actid, funmode, resultout);
148          executed := TRUE;
149          return;
150      end if;
151      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.ASSIGN_TO_SEGMENT') then
152          FND_FLEX_WORKFLOW_APIS.ASSIGN_TO_SEGMENT(itemtype, itemkey,
153                                      actid, funmode, resultout);
154          executed := TRUE;
155          return;
156      end if;
157      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.COPY_FROM_COMBINATION') then
158          FND_FLEX_WORKFLOW_APIS.COPY_FROM_COMBINATION(itemtype, itemkey,
159                                      actid, funmode, resultout);
160          executed := TRUE;
161          return;
162      end if;
163      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.COPY_SEGMENT_FROM_COMBINATION') then
164          FND_FLEX_WORKFLOW_APIS.COPY_SEGMENT_FROM_COMBINATION(itemtype, itemkey,
165                                      actid, funmode, resultout);
166          executed := TRUE;
167          return;
168      end if;
169      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.COPY_SEGMENT_FROM_COMBINATION2') then
170          FND_FLEX_WORKFLOW_APIS.COPY_SEGMENT_FROM_COMBINATION2(itemtype, itemkey,
171                                      actid, funmode, resultout);
172          executed := TRUE;
173          return;
174      end if;
175      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.END_GENERATION') then
176          FND_FLEX_WORKFLOW_APIS.END_GENERATION(itemtype, itemkey,
177                                      actid, funmode, resultout);
178          executed := TRUE;
179          return;
180      end if;
181      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.GET_VALUE_FROM_COMBINATION') then
182          FND_FLEX_WORKFLOW_APIS.GET_VALUE_FROM_COMBINATION(itemtype, itemkey,
183                                      actid, funmode, resultout);
184          executed := TRUE;
185          return;
186      end if;
187      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.GET_VALUE_FROM_COMBINATION2') then
188          FND_FLEX_WORKFLOW_APIS.GET_VALUE_FROM_COMBINATION2(itemtype, itemkey,
189                                      actid, funmode, resultout);
190          executed := TRUE;
191          return;
192      end if;
193      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.IS_COMBINATION_COMPLETE') then
194          FND_FLEX_WORKFLOW_APIS.IS_COMBINATION_COMPLETE(itemtype, itemkey,
195                                      actid, funmode, resultout);
196          executed := TRUE;
197          return;
198      end if;
199      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.START_GENERATION') then
200          FND_FLEX_WORKFLOW_APIS.START_GENERATION(itemtype, itemkey,
201                                      actid, funmode, resultout);
202          executed := TRUE;
203          return;
204      end if;
205      if (l_funcname = 'FND_FLEX_WORKFLOW_APIS.VALIDATE_COMBINATION') then
206          FND_FLEX_WORKFLOW_APIS.VALIDATE_COMBINATION(itemtype, itemkey,
207                                      actid, funmode, resultout);
208          executed := TRUE;
209          return;
210      end if;
211   end if;
212 end Execute;
213 end WF_FUNCTION_CALL;