DBA Data[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;