[Home] [Help]
PACKAGE BODY: APPS.GMI_TRAN_PND_DB_PVT
Source
1 PACKAGE BODY GMI_TRAN_PND_DB_PVT AS
2 /* $Header: GMIVPNDB.pls 115.12 2004/04/16 05:29:31 mkalyani ship $ */
3 /* +=========================================================================+
4 | Copyright (c) 2000 Oracle Corporation |
5 | TVP, Reading, England |
6 | All rights reserved |
7 +=========================================================================+
8 | FILENAME |
9 | GMIVPNDB.pls |
10 | |
11 | DESCRIPTION |
12 | This package contains private definitions For DML Actions |
13 | For IC_TRAN_PND |
14 | |
15 | HISTORY |
16 | 12-JAN-2000 H.Verdding |
17 | 24-AUG-2001 NC Added line_detail_id.BUG#1675561 |
18 | Piyush K. Mishra 6-Jun-2002 Bug#2385934 |
19 | Commented the line that updates the creation_date in the procedure |
20 | update_ic_tran_pnd as the creation date should not change during |
21 | updation. |
22 | 30-OCT-2002 J.DiIorio Bug#2643440 11.5.1J - added nocopy and |
23 | changed out to in out. |
24 | 15_AUG-2003 J.DiIorio Bug#3090255 11.5.10L |
25 | Added field intorder_posted_ind. |
26 | 2-APR-2004 V.Anitha BUG#3526733 |
27 | Added code to insert reverse_id into IC_TRAN_PND table |
28 | 14-APR-2004 V.Anita BUG#3526733 |
29 | Modified the value passed to the reverse_id from |
30 | p_tran_row.tran_id to p_tran_row.reverse_id when |
31 | inserting into IC_TRAN_PND table. |
32 +=========================================================================+
33 API Name : GMI_TRAN_PND_DB_PVT
34 Type : Public
35 Function : This package contains private procedures used to create
36 IC_TRAN_PND transactions
37 Pre-reqs : N/A
38 Parameters: Per function
39
40 Current Vers : 1.0
41
42 Previous Vers : 1.0
43
44 Initial Vers : 1.0
45 Notes
46
47 Body end of comments
48 */
49 /* Global variables */
50 G_PKG_NAME CONSTANT VARCHAR2(30):='GMI_TRAN_PND_DB_PVT';
51 /* Api start of comments */
52
53
54 FUNCTION INSERT_IC_TRAN_PND
55 (
56 p_tran_row IN IC_TRAN_PND%ROWTYPE,
57 x_tran_row IN OUT NOCOPY IC_TRAN_PND%ROWTYPE
58 )
59 RETURN BOOLEAN
60 IS
61 err_num NUMBER;
62 err_msg VARCHAR2(100);
63 l_trans_id NUMBER;
64
65 CURSOR C ( v_trans_id IN NUMBER) IS
66 SELECT trans_id FROM IC_TRAN_PND
67 WHERE trans_id = v_trans_id;
68
69
70 BEGIN
71
72 SELECT gem5_trans_id_s.nextval
73 INTO l_trans_id FROM dual;
74
75 INSERT INTO IC_TRAN_PND
76 (
77 trans_id
78 , item_id
79 , line_id
80 , co_code
81 , orgn_code
82 , whse_code
83 , lot_id
84 , location
85 , doc_id
86 , doc_type
87 , doc_line
88 , line_type
89 , reason_code
90 , creation_date
91 , trans_date
92 , trans_qty
93 , trans_qty2
94 , qc_grade
95 , lot_status
96 , trans_stat
97 , trans_um
98 , trans_um2
99 , op_code
100 , gl_posted_ind
101 , completed_ind
102 , delete_mark
103 , event_id
104 , staged_ind
105 , text_code
106 , last_update_date
107 , created_by
108 , last_updated_by
109 , line_detail_id
110 , intorder_posted_ind
111 , reverse_id --BUG#3526733
112 )
113 VALUES
114 ( l_trans_id
115 , p_tran_row.item_id
116 , p_tran_row.line_id
117 , p_tran_row.co_code
118 , p_tran_row.orgn_code
119 , p_tran_row.whse_code
120 , p_tran_row.lot_id
121 , p_tran_row.location
122 , p_tran_row.doc_id
123 , p_tran_row.doc_type
124 , p_tran_row.doc_line
125 , p_tran_row.line_type
126 , p_tran_row.reason_code
127 , p_tran_row.creation_date
128 , p_tran_row.trans_date
129 , p_tran_row.trans_qty
130 , p_tran_row.trans_qty2
131 , p_tran_row.qc_grade
132 , p_tran_row.lot_status
133 , p_tran_row.trans_stat
134 , p_tran_row.trans_um
135 , p_tran_row.trans_um2
136 , p_tran_row.op_code
137 , p_tran_row.gl_posted_ind
138 , p_tran_row.completed_ind
139 , p_tran_row.delete_mark
140 , p_tran_row.event_id
141 , p_tran_row.staged_ind
142 , p_tran_row.text_code
143 , p_tran_row.last_update_date
144 , p_tran_row.created_by
145 , p_tran_row.last_updated_by
146 , p_tran_row.line_detail_id
147 , p_tran_row.intorder_posted_ind
148 , p_tran_row.reverse_id --BUG#3526733
149 );
150
151 OPEN C(l_trans_id);
152 FETCH C into l_trans_id;
153
154 IF (C%NOTFOUND) THEN
155 CLOSE C;
156 RAISE NO_DATA_FOUND;
157 END IF;
158
159 CLOSE C;
160
161 x_tran_row := p_tran_row;
162 x_tran_row.trans_id := l_trans_id;
163 RETURN TRUE;
164
165 EXCEPTION
166
167 WHEN NO_DATA_FOUND THEN
168 RETURN FALSE;
169
170 WHEN OTHERS THEN
171
172 FND_MESSAGE.Set_Name('GMI','GMI_SQL_ERROR');
173 FND_MESSAGE.Set_Token('SQL_CODE', err_num);
174 FND_MESSAGE.Set_Token('SQL_ERRM', sqlerrm);
175 FND_MSG_PUB.Add;
176
177
178 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME
179 , 'insert_ic_tran_pnd'
180 );
181 RETURN FALSE;
182
183 END INSERT_IC_TRAN_PND;
184
185 FUNCTION FETCH_IC_TRAN_PND
186 (
187 p_tran_rec IN GMI_TRANS_ENGINE_PUB.ictran_rec
188 ,x_tran_fetch_rec IN OUT NOCOPY GMI_TRANS_ENGINE_PUB.ictran_rec
189 )
190 RETURN BOOLEAN
191 IS
192 err_num NUMBER;
193 err_msg VARCHAR2(100);
194
195 BEGIN
196
197 IF ( ( p_tran_rec.trans_id =FND_API.G_MISS_NUM ) OR
198 ( p_tran_rec.trans_id is NULL ) ) THEN
199
200 /* Select by item_id, doc_type, line_id,lot_id , location */
201
202 SELECT
203 trans_id
204 , item_id
205 , line_id
206 , co_code
207 , orgn_code
208 , whse_code
209 , lot_id
210 , location
211 , doc_id
212 , doc_type
213 , doc_line
214 , line_type
215 , reason_code
216 , trans_date
217 , trans_qty
218 , trans_qty2
219 , qc_grade
220 , lot_status
221 , trans_stat
222 , trans_um
223 , trans_um2
224 , event_id
225 , staged_ind
226 , text_code
227 , op_code
228 , line_detail_id
229 , intorder_posted_ind
230 INTO
231 x_tran_fetch_rec.trans_id
232 , x_tran_fetch_rec.item_id
233 , x_tran_fetch_rec.line_id
234 , x_tran_fetch_rec.co_code
235 , x_tran_fetch_rec.orgn_code
236 , x_tran_fetch_rec.whse_code
237 , x_tran_fetch_rec.lot_id
238 , x_tran_fetch_rec.location
239 , x_tran_fetch_rec.doc_id
240 , x_tran_fetch_rec.doc_type
241 , x_tran_fetch_rec.doc_line
242 , x_tran_fetch_rec.line_type
243 , x_tran_fetch_rec.reason_code
244 , x_tran_fetch_rec.trans_date
245 , x_tran_fetch_rec.trans_qty
246 , x_tran_fetch_rec.trans_qty2
247 , x_tran_fetch_rec.qc_grade
248 , x_tran_fetch_rec.lot_status
249 , x_tran_fetch_rec.trans_stat
250 , x_tran_fetch_rec.trans_um
251 , x_tran_fetch_rec.trans_um2
252 , x_tran_fetch_rec.event_id
253 , x_tran_fetch_rec.staged_ind
254 , x_tran_fetch_rec.text_code
255 , x_tran_fetch_rec.user_id
256 , x_tran_fetch_rec.line_detail_id
257 , x_tran_fetch_rec.intorder_posted_ind
258 FROM IC_TRAN_PND
259 WHERE
260 doc_type = p_tran_rec.doc_type
261 AND doc_id = p_tran_rec.doc_id
262 AND line_id = p_tran_rec.line_id
263 AND item_id = p_tran_rec.item_id
264 AND lot_id = p_tran_rec.lot_id
265 AND location = p_tran_rec.location
266 AND completed_ind= 0
267 AND delete_mark = 0
268 FOR UPDATE NOWAIT;
269
270 ELSE
271
272 SELECT
273 trans_id
274 , item_id
275 , line_id
276 , co_code
277 , orgn_code
278 , whse_code
279 , lot_id
280 , location
281 , doc_id
282 , doc_type
283 , doc_line
284 , line_type
285 , reason_code
286 , trans_date
287 , trans_qty
288 , trans_qty2
289 , qc_grade
290 , lot_status
291 , trans_stat
292 , trans_um
293 , trans_um2
294 , event_id
295 , staged_ind
296 , text_code
297 , op_code
298 , line_detail_id
299 , intorder_posted_ind
300 INTO
301 x_tran_fetch_rec.trans_id
302 , x_tran_fetch_rec.item_id
303 , x_tran_fetch_rec.line_id
304 , x_tran_fetch_rec.co_code
305 , x_tran_fetch_rec.orgn_code
306 , x_tran_fetch_rec.whse_code
307 , x_tran_fetch_rec.lot_id
308 , x_tran_fetch_rec.location
309 , x_tran_fetch_rec.doc_id
310 , x_tran_fetch_rec.doc_type
311 , x_tran_fetch_rec.doc_line
312 , x_tran_fetch_rec.line_type
313 , x_tran_fetch_rec.reason_code
314 , x_tran_fetch_rec.trans_date
315 , x_tran_fetch_rec.trans_qty
316 , x_tran_fetch_rec.trans_qty2
317 , x_tran_fetch_rec.qc_grade
318 , x_tran_fetch_rec.lot_status
319 , x_tran_fetch_rec.trans_stat
320 , x_tran_fetch_rec.trans_um
321 , x_tran_fetch_rec.trans_um2
322 , x_tran_fetch_rec.event_id
323 , x_tran_fetch_rec.staged_ind
324 , x_tran_fetch_rec.text_code
325 , x_tran_fetch_rec.user_id
326 , x_tran_fetch_rec.line_detail_id
327 , x_tran_fetch_rec.intorder_posted_ind
328 FROM IC_TRAN_PND
329 WHERE
330 trans_id = p_tran_rec.trans_id
331 AND delete_mark =0
332 FOR UPDATE NOWAIT;
333
334 END IF;
335
336 IF (SQL%NOTFOUND) THEN
337 RAISE NO_DATA_FOUND;
338 ELSE
339 RETURN TRUE;
340 END IF;
341
342
343 EXCEPTION
344
345 WHEN NO_DATA_FOUND THEN
346
347 RETURN FALSE;
348
349 WHEN OTHERS THEN
350
351
352 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME
353 , 'fetch_ic_tran_pnd'
354 );
355 RETURN FALSE;
356
357 END FETCH_IC_TRAN_PND;
358
359 FUNCTION DELETE_IC_TRAN_PND
360 (
361 p_tran_row IN IC_TRAN_PND%ROWTYPE
362 )
363 RETURN BOOLEAN
364 IS
365 err_num NUMBER;
366 err_msg VARCHAR2(100);
367
368 BEGIN
369
370 UPDATE IC_TRAN_PND
371 SET delete_mark = 1,
372 event_id = p_tran_row.event_id,
373 last_update_date = p_tran_row.last_update_date,
374 last_updated_by = p_tran_row.last_updated_by
375 WHERE trans_id = p_tran_row.trans_id;
376
377 IF (SQL%NOTFOUND) THEN
378 RAISE NO_DATA_FOUND;
379 ELSE
380 RETURN TRUE;
381 END IF;
382
383
384 EXCEPTION
385 WHEN NO_DATA_FOUND THEN
386 RETURN FALSE;
387
388 WHEN OTHERS THEN
389
390
391 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME
392 , 'delete_ic_tran_pnd'
393 );
394 RETURN FALSE;
395
396 END DELETE_IC_TRAN_PND;
397
398 FUNCTION UPDATE_IC_TRAN_PND
399 (
400 p_tran_row IN IC_TRAN_PND%ROWTYPE
401 )
402 RETURN BOOLEAN
403 IS
404 err_num NUMBER;
405 err_msg VARCHAR2(100);
406
407 BEGIN
408
409 UPDATE IC_TRAN_PND
410 SET
411 item_id = p_tran_row.item_id,
412 line_id = p_tran_row.line_id,
413 co_code = p_tran_row.co_code,
414 orgn_code = p_tran_row.orgn_code,
415 whse_code = p_tran_row.whse_code,
416 lot_id = p_tran_row.lot_id,
417 location = p_tran_row.location,
418 doc_id = p_tran_row.doc_id,
419 doc_type = p_tran_row.doc_type,
420 doc_line = p_tran_row.doc_line,
421 line_type = p_tran_row.line_type,
422 reason_code = p_tran_row.reason_code,
423 --Begin Bug#2385934 Piyush K. Mishra.
424 --Commented the creation_date as updation of creation_date should not be done.
425 --creation_date = p_tran_row.creation_date,
426 --End Bug#2385934
427 trans_date = p_tran_row.trans_date,
428 trans_qty = p_tran_row.trans_qty,
429 trans_qty2 = p_tran_row.trans_qty2,
430 qc_grade = p_tran_row.qc_grade,
431 lot_status = p_tran_row.lot_status,
432 trans_stat = p_tran_row.trans_stat,
433 trans_um = p_tran_row.trans_um,
434 trans_um2 = p_tran_row.trans_um2,
435 gl_posted_ind = p_tran_row.gl_posted_ind,
436 completed_ind = p_tran_row.completed_ind,
437 delete_mark = p_tran_row.delete_mark,
438 event_id = p_tran_row.event_id,
439 staged_ind = p_tran_row.staged_ind,
440 text_code = p_tran_row.text_code,
441 last_update_date = p_tran_row.last_update_date,
442 last_updated_by = p_tran_row.last_updated_by,
443 op_code = p_tran_row.op_code,
444 line_detail_id = p_tran_row.line_detail_id,
445 intorder_posted_ind = p_tran_row.intorder_posted_ind
446 WHERE trans_id = p_tran_row.trans_id;
447
448 IF (SQL%NOTFOUND) THEN
449 RAISE NO_DATA_FOUND;
450 ELSE
451 RETURN TRUE;
452 END IF;
453
454 EXCEPTION
455
456 WHEN NO_DATA_FOUND THEN
457 RETURN FALSE;
458
459 WHEN OTHERS THEN
460
461 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME
462 , 'UPDATE_ic_tran_pnd'
463 );
464 RETURN FALSE;
465
466 END UPDATE_IC_TRAN_PND;
467
468 END GMI_TRAN_PND_DB_PVT;