[Home] [Help]
PACKAGE BODY: APPS.ITG_BATCHMANAGEMENT_PVT
Source
1 PACKAGE BODY ITG_BatchManagement_PVT AS
2 /* ARCS: $Header: itgbmgrb.pls 115.0 2003/01/31 18:32:31 ecoe noship $
3 * CVS: itgbmgrd.pls,v 1.13 2002/12/23 21:20:30 ecoe Exp
4 */
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ITG_BatchManagement_PVT';
7
8 PROCEDURE Get_ProcessSetId(
9 p_api_version IN NUMBER,
10 x_return_status OUT NOCOPY VARCHAR2,
11
12 p_pkg_name IN VARCHAR2,
13 x_process_set_id OUT NOCOPY NUMBER
14 ) IS
15 BEGIN
16 ITG_Debug.msg('GPSI', 'Top of debug procedure.');
17 ITG_Debug.msg('GPSI', 'p_pkg_name', p_pkg_name);
18 x_return_status := FND_API.G_RET_STS_SUCCESS;
19 x_process_set_id := 1;
20 END Get_ProcessSetId;
21
22 PROCEDURE Flush_RequestItems(
23 p_api_version IN NUMBER,
24 x_return_status OUT NOCOPY VARCHAR2,
25
26 p_pkg_name IN VARCHAR2,
27 p_get_next IN VARCHAR2 := FND_API.G_FALSE,
28 x_process_set_id OUT NOCOPY NUMBER
29 ) IS
30 BEGIN
31 ITG_Debug.msg('FRI', 'Top of debug procedure.');
32 ITG_Debug.msg('FRI', 'p_pkg_name', p_pkg_name);
33 ITG_Debug.msg('FRI', 'p_get_next', p_get_next);
34 x_return_status := FND_API.G_RET_STS_SUCCESS;
35 x_process_set_id := 1;
36 END Flush_RequestItems;
37
38 PROCEDURE Added_RequestItem(
39 p_api_version IN NUMBER,
40 x_return_status OUT NOCOPY VARCHAR2,
41
42 p_pkg_name IN VARCHAR2,
43 p_transaction_id IN NUMBER,
44 p_item_info IN VARCHAR2
45 ) IS
46 l_api_name CONSTANT VARCHAR2(30) := 'Added_RequestItem';
47
48 l_ccm_request_id NUMBER;
49 l_bool BOOLEAN;
50 l_phase VARCHAR2(400);
51 l_status VARCHAR2(400);
52 l_dev_phase VARCHAR2(400);
53 l_dev_status VARCHAR2(400);
54 l_errmsg VARCHAR2(4000);
55 l_reap_status NUMBER;
56 BEGIN
57 ITG_Debug.msg('ARI', 'Top of debug procedure.');
58 ITG_Debug.msg('ARI', 'p_pkg_name', p_pkg_name);
59 ITG_Debug.msg('ARI', 'p_transaction_id', p_transaction_id);
60
61 EXECUTE IMMEDIATE
62 'BEGIN :1 := '||p_pkg_name||'.Start_BatchProcess(1); END;'
63 USING OUT l_ccm_request_id;
64 COMMIT;
65
66 /* This was pulled from the original sync item code */
67 ITG_Debug.msg('ARI', 'Waiting for concurrent request.');
68 ITG_Debug.msg('ARI', 'l_ccm_request_id', l_ccm_request_id);
69 l_bool := FND_CONCURRENT.wait_for_request(l_ccm_request_id, 60, 600,
70 l_phase, l_status, l_dev_phase, l_dev_status, l_errmsg);
71 ITG_Debug.msg('ARI', 'Results from concurrent request.');
72 ITG_Debug.msg('ARI', 'l_phase', l_phase);
73 ITG_Debug.msg('ARI', 'l_status', l_status);
74 ITG_Debug.msg('ARI', 'l_dev_phase', l_dev_phase);
75 ITG_Debug.msg('ARI', 'l_dev_status', l_dev_status);
76 ITG_Debug.msg('ARI', 'l_errmsg', l_errmsg);
77
78 IF l_bool THEN
79 ITG_Debug.msg('ARI', 'Reaping batch results.');
80 EXECUTE IMMEDIATE
81 'BEGIN :1 := '||p_pkg_name||
82 '.Reap_BatchResults(1, :2, :3, 0); END;'
83 USING OUT l_reap_status,
84 IN l_ccm_request_id,
85 IN p_item_info;
86
87 /* Check for ITG wrapper. */
88 DECLARE
89 CURSOR check_pkg(p_pkgname VARCHAR2) IS
90 SELECT status
91 FROM user_objects
92 WHERE object_name = UPPER(p_pkgname)
93 AND object_type = 'PACKAGE';
94
95 l_pkgstat VARCHAR2(30) := NULL;
96 l_found BOOLEAN;
97 l_active NUMBER := 0;
98 BEGIN
99 ITG_Debug.msg('ARI', 'Checking for wrapper package.');
100 OPEN check_pkg('ITG_BOAPI_Wrappers');
101 FETCH check_pkg INTO l_pkgstat;
102 l_found := check_pkg%FOUND;
103 CLOSE check_pkg;
104
105 IF l_found AND l_pkgstat = 'VALID' THEN
106 ITG_Debug.msg('ARI', 'Checking for active wrapper.');
107 EXECUTE IMMEDIATE
108 'BEGIN :1 := ITG_BOAPI_Wrappers.g_active; END;'
109 USING OUT l_active;
110 IF l_active <> 0 THEN
111 ITG_Debug.msg('ARI', 'Reaping messages.');
112 EXECUTE IMMEDIATE
113 'BEGIN ITG_BOAPI_Wrappers.Reap_Messages(:1); END;'
114 USING IN p_transaction_id;
115 END IF;
116 END IF;
117 EXCEPTION
118 WHEN OTHERS THEN
119 ITG_Debug.msg('ARI', 'Other error: '||substr(sqlerrm, 1, 1800));
120 END;
121 ELSE
122 ITG_Debug.msg(substr(l_errmsg, 1, 2000), TRUE);
123 END IF;
124 x_return_status := FND_API.G_RET_STS_SUCCESS;
125
126 EXCEPTION
127 WHEN NO_DATA_FOUND THEN
128 x_return_status := FND_API.G_RET_STS_ERROR;
129 ITG_Debug.add_exc_error(
130 G_PKG_NAME, l_api_name, FND_MSG_PUB.G_MSG_LVL_ERROR);
131 ITG_Debug.msg('ARI', 'EXCEPTION, no data found.', TRUE);
132
133 WHEN FND_API.G_EXC_ERROR THEN
134 x_return_status := FND_API.G_RET_STS_ERROR;
135 ITG_Debug.add_error;
136 ITG_Debug.msg('ARI', 'EXCEPTION, checked error.', TRUE);
137
138 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
139 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
140 ITG_Debug.msg('ARI', 'EXCEPTION, un-expected error.', TRUE);
141
142 WHEN OTHERS THEN
143 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
144 ITG_Debug.add_exc_error(G_PKG_NAME, l_api_name);
145 ITG_Debug.msg('ARI', 'EXCEPTION, other error.', TRUE);
146 END Added_RequestItem;
147
148 /* WF activities */
149
150 /* In the debug/development version use of workflow is an error */
151
152 PROCEDURE wf_check_batch_timeout(
153 itemtype IN VARCHAR2,
154 itemkey IN VARCHAR2,
155 actid IN NUMBER,
156 funcmode IN VARCHAR2,
157 resultout OUT NOCOPY VARCHAR2
158 ) IS
159 BEGIN
160 resultout := 'ERROR';
161 END wf_check_batch_timeout;
162
163 PROCEDURE wf_get_batch_info(
164 itemtype IN VARCHAR2,
165 itemkey IN VARCHAR2,
166 actid IN NUMBER,
167 funcmode IN VARCHAR2,
168 resultout OUT NOCOPY VARCHAR2
169 ) IS
170 BEGIN
171 resultout := 'ERROR';
172 END wf_get_batch_info;
173
174 PROCEDURE wf_start_batch(
175 itemtype IN VARCHAR2,
176 itemkey IN VARCHAR2,
177 actid IN NUMBER,
178 funcmode IN VARCHAR2,
179 resultout OUT NOCOPY VARCHAR2
180 ) IS
181 BEGIN
182 resultout := 'ERROR';
183 END wf_start_batch;
184
185 PROCEDURE wf_restart_batch(
186 itemtype IN VARCHAR2,
187 itemkey IN VARCHAR2,
188 actid IN NUMBER,
189 funcmode IN VARCHAR2,
190 resultout OUT NOCOPY VARCHAR2
191 ) IS
192 BEGIN
193 resultout := 'ERROR';
194 END wf_restart_batch;
195
196 PROCEDURE wf_complete_batch(
197 itemtype IN VARCHAR2,
198 itemkey IN VARCHAR2,
199 actid IN NUMBER,
200 funcmode IN VARCHAR2,
201 resultout OUT NOCOPY VARCHAR2
202 ) IS
203 BEGIN
204 resultout := 'ERROR';
205 END wf_complete_batch;
206
207 END ITG_BatchManagement_PVT;