[Home] [Help]
PACKAGE BODY: APPS.OKL_WF_PVT
Source
1 PACKAGE BODY OKL_WF_PVT AS
2 /* $Header: OKLRCWFB.pls 120.4 2005/10/30 04:02:27 appldev noship $ */
3
4
5 G_WF_ITM_USER_ID CONSTANT VARCHAR2(15) := 'USER_ID';
6 G_WF_ITM_EVENT_DATE CONSTANT VARCHAR2(15) := 'EVENT_DATE';
7 G_WF_ITM_EVENT_NAME CONSTANT VARCHAR2(15) := 'EVENT_NAME';
8
9
10 FUNCTION check_batch_process
11 RETURN BOOLEAN
12 IS
13 l_request_id NUMBER;
14 l_ret_value BOOLEAN := FALSE;
15 BEGIN
16 -- Check for Request ID and return true if found
17 SELECT Fnd_Global.CONC_REQUEST_ID
18 INTO l_request_id
19 FROM DUAL;
20
21 IF (l_request_id <> -1) THEN
22 l_ret_value := TRUE;
23 END IF;
24
25 RETURN l_ret_value;
26 END check_batch_process;
27
28 FUNCTION check_batch_process_enabled
29 RETURN BOOLEAN
30 IS
31 l_profile_value VARCHAR2(1);
32 l_ret_value BOOLEAN := FALSE;
33 BEGIN
34
35 l_profile_value := fnd_profile.value('OKL_ENABLE_EVENTS_FOR_BATCH');
36
37 IF l_profile_value = 'Y' THEN
38 l_ret_value := TRUE;
39 END IF;
40
41 RETURN l_ret_value;
42 END check_batch_process_enabled;
43
44 ---------------------------------------------------------------------------
45 -- FUNCTION get_event_key
46 ---------------------------------------------------------------------------
47 FUNCTION get_event_key RETURN VARCHAR2 IS
48 l_newvalue NUMBER := 1;
49 BEGIN
50 SELECT OKL_WF_ITEM_S.NEXTVAL INTO l_newvalue FROM dual;
51 RETURN(TO_CHAR(l_newvalue));
52 END get_event_key;
53
54 PROCEDURE raise_event (p_api_version IN NUMBER,
55 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
56 x_return_status OUT NOCOPY VARCHAR2,
57 x_msg_count OUT NOCOPY NUMBER,
58 x_msg_data OUT NOCOPY VARCHAR2,
59 p_event_name IN VARCHAR2,
60 p_event_key IN VARCHAR2 DEFAULT NULL,
61 p_event_data IN clob DEFAULT NULL,
62 p_parameters IN wf_parameter_list_t DEFAULT NULL,
63 p_send_date IN DATE DEFAULT NULL,
64 p_include_user_params IN VARCHAR2 DEFAULT OKL_API.G_TRUE)
65 IS
66
67 l_api_name CONSTANT VARCHAR2(30) := 'raise_event';
68 l_api_version CONSTANT NUMBER := 1.0;
69 l_return_status VARCHAR2(1) := G_RET_STS_SUCCESS;
70
71 l_raise_event BOOLEAN := FALSE;
72 l_parameter_list wf_parameter_list_t := p_parameters;
73 l_event_key VARCHAR2(1000) := p_event_key;
74
75 BEGIN
76
77 l_return_status := Okl_Api.START_ACTIVITY(p_api_name => l_api_name,
78 p_pkg_name => G_PKG_NAME,
79 p_init_msg_list => p_init_msg_list,
80 l_api_version => l_api_version,
81 p_api_version => p_api_version,
82 p_api_type => G_API_TYPE,
83 x_return_status => l_return_status);
84
85 IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
86 RAISE G_EXCEPTION_UNEXPECTED_ERROR;
87 ELSIF (l_return_status = G_RET_STS_ERROR) THEN
88 RAISE G_EXCEPTION_ERROR;
89 END IF;
90
91 l_raise_event := TRUE;
92
93 IF check_batch_process THEN
94 IF check_batch_process_enabled THEN
95 l_raise_event := TRUE;
96 ELSE
97 l_raise_event := FALSE;
98 END IF;
99 END IF;
100
101 IF l_raise_event THEN
102 IF (p_include_user_params = OKL_API.G_TRUE) THEN
103
104 Wf_Event.AddParameterToList(G_WF_ITM_USER_ID,FND_GLOBAL.USER_ID,l_parameter_list);
105 Wf_Event.AddParameterToList(G_WF_ITM_EVENT_DATE,fnd_date.date_to_canonical(SYSDATE),l_parameter_list);
106 Wf_Event.AddParameterToList(G_WF_ITM_EVENT_NAME,p_event_name,l_parameter_list);
107
108 END IF;
109
110 IF l_event_key IS NULL THEN
111 l_event_key := get_event_key;
112 END IF;
113
114 -- Raise Event
115 Wf_Event.RAISE(p_event_name => p_event_name,
116 p_event_key => l_event_key,
117 p_parameters => l_parameter_list);
118
119 l_parameter_list.DELETE;
120
121 END IF;
122
123 Okl_Api.END_ACTIVITY(x_msg_count => x_msg_count
124 ,x_msg_data => x_msg_data);
125
126 x_return_status := l_return_status;
127
128
129 EXCEPTION
130 WHEN G_EXCEPTION_ERROR THEN
131
132 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
133 p_pkg_name => G_PKG_NAME,
134 p_exc_name => G_EXC_NAME_ERROR,
135 x_msg_count => x_msg_count,
136 x_msg_data => x_msg_data,
137 p_api_type => G_API_TYPE);
138
139 WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
140
141 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
142 p_pkg_name => G_PKG_NAME,
143 p_exc_name => G_EXC_NAME_UNEXP_ERROR,
144 x_msg_count => x_msg_count,
145 x_msg_data => x_msg_data,
146 p_api_type => G_API_TYPE);
147 WHEN OTHERS THEN
148
149 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(p_api_name => l_api_name,
150 p_pkg_name => G_PKG_NAME,
151 p_exc_name => G_EXC_NAME_OTHERS,
152 x_msg_count => x_msg_count,
153 x_msg_data => x_msg_data,
154 p_api_type => G_API_TYPE);
155
156 END raise_event;
157
158
159
160 END OKL_WF_PVT;