DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_OA_DELAYED_REQUESTS_PVT

Source


1 PACKAGE BODY QP_OA_Delayed_Requests_PVT AS
2 /* $Header: QPXVJREB.pls 120.0 2005/06/02 01:15:30 appldev noship $ */
3 
4 
5 --  Global constant holding the package name
6 
7 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_OA_Delayed_Requests_PVT';
8 
9 PROCEDURE insert_msg (l_request system.QP_FWK_DELAYED_REQ_REC_OBJECT,
10                       l_return_status varchar2) as
11  pragma AUTONOMOUS_TRANSACTION;
12 BEGIN
13 
14   INSERT INTO qp_fwk_delayed_requests(
15    request_type,
16    entity_id,
17    entity_code,
18    status,
19    request_unique_key1,
20    request_unique_key2,
21    request_unique_key3,
22    request_unique_key4,
23    request_unique_key5,
24    param1,
25    param2,
26    param3,
27    param4,
28    param5,
29    param6,
30    param7,
31    param8,
32    param9,
33    param10,
34    param11,
35    param12,
36    param13,
37    param14,
38    param15,
39    param16,
40    param17,
41    param18,
42    param19,
43    param20,
44    param21,
45    param22,
46    param23,
47    param24,
48    param25,
49    long_param1)
50   VALUES(
51    l_request.request_type ,
52    l_request.entity_id,
53    l_request.entity_code,
54    l_return_status,
55    l_request.request_unique_key1,
56    l_request.request_unique_key2,
57    l_request.request_unique_key3,
58    l_request.request_unique_key4,
59    l_request.request_unique_key5,
60    l_request.param1,
61    l_request.param2,
62    l_request.param3,
63    l_request.param4,
64    l_request.param5,
65    l_request.param6,
66    l_request.param7,
67    l_request.param8,
68    l_request.param9,
69    l_request.param10,
70    l_request.param11,
71    l_request.param12,
72    l_request.param13,
73    l_request.param14,
74    l_request.param15,
75    l_request.param16,
76    l_request.param17,
77    l_request.param18,
78    l_request.param19,
79    l_request.param20,
80    l_request.param21,
81    l_request.param22,
82    l_request.param23,
83    l_request.param24,
84    l_request.param25,
85    l_request.long_param1);
86 
87     COMMIT;
88 
89 END insert_msg;
90 
91 PROCEDURE Execute(requestTbl IN system.QP_FWK_DELAYED_REQ_TAB_OBJECT,
92                   x_error_request_type OUT NOCOPY VARCHAR2,
93                   x_error_entity_id  OUT NOCOPY NUMBER,
94                   x_error_entity_code OUT NOCOPY VARCHAR2,
95                   x_error_type    OUT NOCOPY VARCHAR2,
96                   x_return_status OUT NOCOPY VARCHAR2,
97                   x_return_status_text OUT NOCOPY VARCHAR2) is
98 
99  l_request       system.QP_FWK_DELAYED_REQ_REC_OBJECT;
100  l_return_status VARCHAR2(30);
101 
102 BEGIN
103 
104  SAVEPOINT delayedRequestSavePoint;
105 
106  x_return_status := FND_API.G_RET_STS_SUCCESS;
107 
108  FOR i IN 1 .. requestTbl.COUNT
109  LOOP
110 
111   l_request := requestTbl(i);
112 
113   QP_Delayed_Requests_PVT.Log_Request(
114    l_request.entity_code,
115    l_request.entity_id,
116    l_request.requesting_entity_code,
117    l_request.requesting_entity_id,
118    l_request.request_type,
119    l_request.request_unique_key1,
120    l_request.request_unique_key2,
121    l_request.request_unique_key3,
122    l_request.request_unique_key4,
123    l_request.request_unique_key5,
124    l_request.param1,
125    l_request.param2,
126    l_request.param3,
127    l_request.param4,
128    l_request.param5,
129    l_request.param6,
130    l_request.param7,
131    l_request.param8,
132    l_request.param9,
133    l_request.param10,
134    l_request.param11,
135    l_request.param12,
136    l_request.param13,
137    l_request.param14,
138    l_request.param15,
139    l_request.param16,
140    l_request.param17,
141    l_request.param18,
142    l_request.param19,
143    l_request.param20,
144    l_request.param21,
145    l_request.param22,
146    l_request.param23,
147    l_request.param24,
148    l_request.param25,
149    l_request.long_param1,
150    l_return_status);
151 
152    IF (l_return_status IN (FND_API.G_RET_STS_UNEXP_ERROR,FND_API.G_RET_STS_ERROR)) THEN
153     x_error_type := 'LOGGING';
154    END IF;
155 
156    IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
157       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
158    ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
159       RAISE FND_API.G_EXC_ERROR;
160    END IF;
161 
162 
163  END LOOP;
164 
165  FOR i in 1 .. requestTbl.COUNT
166  LOOP
167 
168   l_request := requestTbl(i);
169 
170    QP_DELAYED_REQUESTS_PVT.Process_Request_For_ReqType(l_request.request_type,FND_API.G_TRUE,l_return_status);
171 
172    insert_msg(l_request,l_return_status);
173 
174    /*insert into del_request_test values(l_request.request_type,l_request.entity_id,
175                                          l_request.entity_code, l_return_status);*/
176 
177    IF (l_return_status IN (FND_API.G_RET_STS_UNEXP_ERROR,FND_API.G_RET_STS_ERROR)) THEN
178     x_error_type := 'DELAYED_REQUEST';
179     x_error_request_type := l_request.request_type;
180     x_error_entity_id := l_request.entity_id;
181     x_error_entity_code := l_request.entity_code;
182    END IF;
183 
184    IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
185       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
186    ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
187       RAISE FND_API.G_EXC_ERROR;
188    END IF;
189 
190 
191  END LOOP;
192 
193  oe_msg_pub.initialize;
194  QP_Delayed_Requests_PVT.Clear_Request(l_return_status);
195 
196 EXCEPTION
197 
198     WHEN FND_API.G_EXC_ERROR THEN
199         ROLLBACK TO delayedRequestSavePoint;
200         x_return_status := FND_API.G_RET_STS_ERROR;
201         x_return_status_text := oe_msg_pub.get(1,'F');
202         oe_msg_pub.initialize;
203         QP_Delayed_Requests_PVT.Clear_Request(l_return_status);
204 
205     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
206         ROLLBACK TO delayedRequestSavePoint;
207         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208         x_return_status_text := oe_msg_pub.get(1,'F');
209         oe_msg_pub.initialize;
210         QP_Delayed_Requests_PVT.Clear_Request(l_return_status);
211 
212    WHEN OTHERS THEN
213       ROLLBACK TO delayedRequestSavePoint;
214       IF OE_MSG_PUB.Check_MSg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
215         THEN
216          OE_MSG_PUB.Add_Exc_Msg
217            (G_PKG_NAME
218             ,'LOGREQUEST');
219       END IF;
220       x_return_status := FND_API.G_RET_STS_ERROR;
221       x_return_status_text := oe_msg_pub.get(1,'F');
222       oe_msg_pub.initialize;
223       QP_Delayed_Requests_PVT.Clear_Request(l_return_status);
224 
225 END;
226 
227 
228 END QP_OA_Delayed_Requests_PVT;