[Home] [Help]
PACKAGE BODY: APPS.GMF_LOTCOSTADJUSTMENT_PVT
Source
1 PACKAGE BODY GMF_LOTCOSTADJUSTMENT_PVT AS
2 /* $Header: GMFVLCAB.pls 120.3.12000000.2 2007/03/15 10:15:08 pmarada ship $ */
3
4 --+==========================================================================+
5 --| Copyright (c) 1998 Oracle Corporation |
6 --| Copyright (c) 1998 Oracle Corporation |
7 --| Redwood Shores, CA, USA |
8 --| All rights reserved. |
9 --+==========================================================================+
10 --| File Name : GMFVLCAB.pls |
11 --| Package Name : GMF_LotCostAdjustment_PVT |
12 --| API name : GMF_LotCostAdjustment_PVT |
13 --| Type : Private |
14 --| Pre-reqs : N/A |
15 --| Function : Lot Cost Adjustment Creation, Updation, Query and |
16 --| Deletion |
17 --| |
18 --| Parameters : N/A |
19 --| |
20 --| Current Vers : 1.0 |
21 --| Previous Vers : None |
22 --| Initial Vers : 1.0 |
23 --| |
24 --| Notes |
25 --| This package contains public procedures relating to Lot Cost |
26 --| Adjustment Creation, Updation, Query and Deletion |
27 --| Pre-defined API message levels |
28 --| |
29 --| Valid values for message levels are from 1-50. |
30 --| 1 being least severe and 50 highest. |
31 --| |
32 --| The pre-defined levels correspond to standard API |
33 --| return status. Debug levels are used to control the amount of |
34 --| debug information a program writes to the PL/SQL message table. |
35 --| |
36 --| G_MSG_LVL_UNEXP_ERROR CONSTANT NUMBER := 60; |
37 --| G_MSG_LVL_ERROR CONSTANT NUMBER := 50; |
38 --| G_MSG_LVL_SUCCESS CONSTANT NUMBER := 40; |
39 --| G_MSG_LVL_DEBUG_HIGH CONSTANT NUMBER := 30; |
40 --| G_MSG_LVL_DEBUG_MEDIUM CONSTANT NUMBER := 20; |
41 --| G_MSG_LVL_DEBUG_LOW CONSTANT NUMBER := 10; |
42 --| |
43 --| HISTORY |
44 --| 22-Mar-2004 Anand Thiyagarajan Created |
45 --| 12-Jul-2004 BUG # 3755374 Anand Thiyagarajan |
46 --| Modified Code to insert text_code in Lot Cost Adjustment |
47 --| Details Table |
48 --| |
49 --+==========================================================================+
50
51 -- Procedure to log Error messages
52 PROCEDURE log_msg(p_msg_text IN VARCHAR2);
53
54 -- Global variables
55 G_PKG_NAME CONSTANT VARCHAR2(30) := 'GMF_LotCostAdjustment_PVT';
56 G_DEBUG_LEVEL NUMBER(2) := FND_MSG_PUB.G_Msg_Level_Threshold;
57
58 --Start of comments
59 --+========================================================================+
60 --| API Name : Create_LotCost_Adjustment |
61 --| TYPE : Private |
62 --| Function : Creates Lot Cost Adjustment based on the input |
63 --| into table GMF_LOT_COST_ADJUSTMENTS |
64 --| Pre-reqa : None |
65 --| Parameters : |
66 --| IN : |
67 --| p_api_version IN NUMBER |
68 --| p_init_msg_list IN VARCHAR2 |
69 --| p_header_rec IN OUT NOCOPY |
70 --| GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type |
71 --| p_dtl_Tbl IN OUT NOCOPY |
72 --| GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type |
73 --| |
74 --| OUT : |
75 --| x_return_status OUT NOCOPY VARCHAR2 |
76 --| x_msg_count OUT NOCOPY VARCHAR2 |
77 --| x_msg_data OUT NOCOPY VARCHAR2 |
78 --| |
79 --| Version : |
80 --| Current Version : 2.0 |
81 --| Previous Version: 1.0 |
82 --| Initial Version : 1.0 |
83 --| |
84 --| Notes : |
85 --| |
86 --| HISTORY |
87 --| 22-Mar-2004 Anand Thiyagarajan Created |
88 --| 12-Jul-2004 BUG # 3755374 Anand Thiyagarajan |
89 --| Modified Code to insert text_code in Lot Cost Adjustment |
90 --| Details Table |
91 --| 14-mar-2007 Bug 5586137 Prasad, inserting p_user instead of |
92 --| fnd_global.user_id |
93 --| |
94 --+========================================================================+
95 -- End of comments
96
97 PROCEDURE Create_LotCost_Adjustment
98 (
99 p_api_version IN NUMBER
100 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
101 , x_return_status OUT NOCOPY VARCHAR2
102 , x_msg_count OUT NOCOPY NUMBER
103 , x_msg_data OUT NOCOPY VARCHAR2
104 , p_header_rec IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type
105 , p_dtl_Tbl IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type
106 , p_user_id IN NUMBER
107 )
108 IS
109 l_api_name CONSTANT VARCHAR2(30) := 'Create_LotCost_Adjustment' ;
110 l_api_version CONSTANT NUMBER := 2.0 ;
111 l_adjustment_id GMF_LOT_COST_ADJUSTMENTS.ADJUSTMENT_ID%TYPE;
112 l_adjustment_dtl_id GMF_LOT_COST_ADJUSTMENT_DTLS.ADJUSTMENT_DTL_ID%TYPE;
113 BEGIN
114
115 -- Standard Start of API savepoint
116 SAVEPOINT Create_LotCost_Adjustment_PVT ;
117
118 -- Initialize message list if p_init_msg_list is set to TRUE.
119 IF FND_API.to_Boolean( p_init_msg_list ) THEN
120 FND_MSG_PUB.initialize;
121 END IF;
122
123 -- Standard call to check for call compatibility.
124 IF NOT FND_API.Compatible_API_Call (
125 l_api_version ,
126 p_api_version ,
127 l_api_name ,
128 G_PKG_NAME
129 ) THEN
130 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
131 END IF;
132
133 -- Initialize API return status to success
134 x_return_status := FND_API.G_RET_STS_SUCCESS;
135
136 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
137 log_msg('Beginning Private Create Lot Cost Adjustment API');
138 END IF;
139
140 IF p_header_Rec.adjustment_id IS NULL THEN
141 SELECT GMF_LOT_COST_ADJS_ID_S.NEXTVAL
142 INTO l_adjustment_id
143 FROM dual;
144 END IF;
145
146 IF p_header_Rec.adjustment_id IS NULL THEN
147
148 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
149 log_msg ('Inserting Lot Cost Adjustments for Item ' || p_header_rec.item_id ||
150 ' Legal Entity' || p_header_rec.legal_entity_id ||
151 ' Organization ' || p_header_rec.organization_id ||
152 ' Cost Type Id ' || p_header_rec.cost_type_id ||
153 ' Lot Number ' || p_header_Rec.lot_number ||
154 'Adjustment Date ' || p_header_rec.adjustment_date
155 ) ;
156 END IF;
157
158 BEGIN
159 INSERT INTO gmf_lot_cost_adjustments
160 (
161 ADJUSTMENT_ID
162 , legal_entity_id
163 , cost_type_id
164 , inventory_item_id
165 , organization_id
166 , lot_number
167 , ADJUSTMENT_DATE
168 , REASON_CODE
169 , DELETE_MARK
170 , APPLIED_IND
171 , CREATED_BY
172 , CREATION_DATE
173 , LAST_UPDATED_BY
174 , LAST_UPDATE_LOGIN
175 , LAST_UPDATE_DATE
176 , ATTRIBUTE1
177 , ATTRIBUTE2
178 , ATTRIBUTE3
179 , ATTRIBUTE4
180 , ATTRIBUTE5
181 , ATTRIBUTE6
182 , ATTRIBUTE7
183 , ATTRIBUTE8
184 , ATTRIBUTE9
185 , ATTRIBUTE10
186 , ATTRIBUTE11
187 , ATTRIBUTE12
188 , ATTRIBUTE13
189 , ATTRIBUTE14
190 , ATTRIBUTE15
191 , ATTRIBUTE16
192 , ATTRIBUTE17
193 , ATTRIBUTE18
194 , ATTRIBUTE19
195 , ATTRIBUTE20
196 , ATTRIBUTE21
197 , ATTRIBUTE22
198 , ATTRIBUTE23
199 , ATTRIBUTE24
200 , ATTRIBUTE25
201 , ATTRIBUTE26
202 , ATTRIBUTE27
203 , ATTRIBUTE28
204 , ATTRIBUTE29
205 , ATTRIBUTE30
206 , ATTRIBUTE_CATEGORY
207 )
208 VALUES
209 (
210 l_adjustment_id
211 , p_header_rec.legal_entity_id
212 , p_header_rec.cost_type_id
213 , p_header_rec.ITEM_ID
214 , p_header_rec.organization_id
215 , p_header_rec.lot_number
216 , p_header_rec.ADJUSTMENT_DATE
217 , p_header_rec.REASON_CODE
218 , 0
219 , 'N'
220 , p_user_id
221 , SYSDATE
222 , p_user_id
223 , FND_GLOBAL.LOGIN_ID
224 , SYSDATE
225 , p_header_rec.ATTRIBUTE1
226 , p_header_rec.ATTRIBUTE2
227 , p_header_rec.ATTRIBUTE3
228 , p_header_rec.ATTRIBUTE4
229 , p_header_rec.ATTRIBUTE5
230 , p_header_rec.ATTRIBUTE6
231 , p_header_rec.ATTRIBUTE7
232 , p_header_rec.ATTRIBUTE8
233 , p_header_rec.ATTRIBUTE9
234 , p_header_rec.ATTRIBUTE10
235 , p_header_rec.ATTRIBUTE11
236 , p_header_rec.ATTRIBUTE12
237 , p_header_rec.ATTRIBUTE13
238 , p_header_rec.ATTRIBUTE14
239 , p_header_rec.ATTRIBUTE15
240 , p_header_rec.ATTRIBUTE16
241 , p_header_rec.ATTRIBUTE17
242 , p_header_rec.ATTRIBUTE18
243 , p_header_rec.ATTRIBUTE19
244 , p_header_rec.ATTRIBUTE20
245 , p_header_rec.ATTRIBUTE21
246 , p_header_rec.ATTRIBUTE22
247 , p_header_rec.ATTRIBUTE23
248 , p_header_rec.ATTRIBUTE24
249 , p_header_rec.ATTRIBUTE25
250 , p_header_rec.ATTRIBUTE26
251 , p_header_rec.ATTRIBUTE27
252 , p_header_rec.ATTRIBUTE28
253 , p_header_rec.ATTRIBUTE29
254 , p_header_rec.ATTRIBUTE30
255 , p_header_rec.ATTRIBUTE_CATEGORY
256 ) RETURNING adjustment_id INTO p_header_rec.adjustment_id;
257
258 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
259 log_msg ( SQL%ROWCOUNT || 'Header Record Inserted for Lot Cost Adjustments for Item ' || p_header_rec.item_id ||
260 ' Legal Entity' || p_header_rec.legal_entity_id ||
261 ' Organization ' || p_header_rec.organization_id ||
262 ' Cost Type Id ' || p_header_rec.cost_type_id ||
263 ' Lot Number ' || p_header_Rec.lot_number ||
264 ' Adjustment Date ' || p_header_rec.adjustment_date
265 );
266 END IF;
267 EXCEPTION
268 WHEN OTHERS THEN
269 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_INS_FAILED');
270 FND_MESSAGE.SET_TOKEN('ITEM', p_header_rec.item_id);
271 FND_MESSAGE.SET_TOKEN('LEGAL_ENTITY', p_header_rec.legal_entity_id);
272 FND_MESSAGE.SET_TOKEN('ORGANIZATION', p_header_rec.organization_id);
273 FND_MESSAGE.SET_TOKEN('COST_TYPE', p_header_rec.cost_type_id);
274 FND_MESSAGE.SET_TOKEN('LOT', p_header_rec.lot_number);
275 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_DATE', p_header_rec.adjustment_date);
276 FND_MSG_PUB.Add;
277 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
278 RAISE ;
279 END;
280
281 ELSIF p_header_Rec.adjustment_id IS NOT NULL THEN
282
283 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
284 log_msg ('Lot Cost Adjustments for Item ' || p_header_rec.item_id ||
285 ' Legal Entity' || p_header_rec.legal_entity_id ||
286 ' Organization ' || p_header_rec.organization_id ||
287 ' Cost Type Id ' || p_header_rec.cost_type_id ||
288 ' Lot Number ' || p_header_Rec.lot_number ||
289 ' Adjustment Date ' || p_header_rec.adjustment_date ||
290 ' already exists '
291 ) ;
292
293 END IF;
294 END IF;
295
296 FOR i IN p_dtl_tbl.FIRST .. p_dtl_tbl.LAST
297 LOOP
298
299 IF p_dtl_tbl(i).adjustment_dtl_id IS NULL THEN
300 SELECT GMF_LOT_COST_ADJS_DTL_ID_S.NEXTVAL
301 INTO l_adjustment_dtl_id
302 FROM dual;
303 END IF;
304
305 IF p_dtl_tbl(i).adjustment_dtl_id IS NULL THEN
306 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
307 log_msg ( 'Inserting Detail Record for Cost Component Class Id ' || p_dtl_tbl(i).cost_cmpntcls_id ||
308 ' Cost Analysis Code ' || p_dtl_tbl(i).cost_analysis_code
309 );
310 END IF;
311 BEGIN
312 INSERT INTO gmf_lot_cost_adjustment_dtls
313 (
314 ADJUSTMENT_DTL_ID
315 , ADJUSTMENT_ID
316 , COST_CMPNTCLS_ID
317 , COST_ANALYSIS_CODE
318 , ADJUSTMENT_COST
319 , TEXT_CODE -- Bug # 3755374 ANTHIYAG 12-Jul-2004
320 , DELETE_MARK
321 , CREATED_BY
322 , CREATION_DATE
323 , LAST_UPDATED_BY
324 , LAST_UPDATE_LOGIN
325 , LAST_UPDATE_DATE
326 )
327 VALUES
328 (
329 l_adjustment_dtl_id
330 , p_header_rec.adjustment_id
331 , p_dtl_tbl(i).COST_CMPNTCLS_ID
332 , p_dtl_tbl(i).COST_ANALYSIS_CODE
333 , p_dtl_tbl(i).ADJUSTMENT_COST
334 , p_dtl_tbl(i).TEXT_CODE -- Bug # 3755374 ANTHIYAG 12-Jul-2004
335 , 0
336 , p_user_id
337 , SYSDATE
338 , p_user_id
339 , FND_GLOBAL.LOGIN_ID
340 , SYSDATE
341 ) RETURNING adjustment_dtl_id INTO p_dtl_tbl(i).adjustment_dtl_id;
342 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
343 log_msg ( SQL%ROWCOUNT || 'Detail Record inserted for Cost Component Class Id ' || p_dtl_tbl(i).cost_cmpntcls_id ||
344 ' Cost Analysis Code ' || p_dtl_tbl(i).cost_analysis_code
345 );
346 END IF;
347 EXCEPTION
348 WHEN OTHERS THEN
349 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DTL_INS_FAILED');
350 FND_MESSAGE.SET_TOKEN('COMPONENT_CLASS', p_dtl_tbl(i).cost_cmpntcls_id);
351 FND_MESSAGE.SET_TOKEN('ANALYSIS_CODE', p_dtl_tbl(i).cost_analysis_code);
352 FND_MSG_PUB.Add;
353 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
354 RAISE ;
355 END ;
356 ELSIF p_dtl_tbl(i).adjustment_dtl_id IS NOT NULL THEN
357
358 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
359 log_msg ('Ignoring Lot Cost Adjustment Details for Cost Component Class Id ' || p_dtl_tbl(i).cost_cmpntcls_id ||
360 ' Cost Analysis Code ' || p_dtl_tbl(i).cost_analysis_code
361 );
362 END IF;
363 END IF;
364 END LOOP;
365
366 -- Standard call to get message count and if count is 1, get message info.
367 FND_MSG_PUB.Count_And_Get (
368 p_count => x_msg_count
369 , p_data => x_msg_data
370 );
371 EXCEPTION
372 WHEN FND_API.G_EXC_ERROR THEN
373 ROLLBACK TO Create_LotCost_Adjustment_PVT;
374 x_return_status := FND_API.G_RET_STS_ERROR ;
375 FND_MSG_PUB.Count_And_Get (
376 p_count => x_msg_count
377 , p_data => x_msg_data
378 );
379 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
380 ROLLBACK TO Create_LotCost_Adjustment_PVT;
381 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
382 FND_MSG_PUB.Count_And_Get (
383 p_count => x_msg_count
384 , p_data => x_msg_data
385 );
386 WHEN OTHERS THEN
387 ROLLBACK TO Create_LotCost_Adjustment_PVT;
388 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
389 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
390 FND_MSG_PUB.Add_Exc_Msg (
391 G_PKG_NAME
392 , l_api_name
393 );
394 END IF;
395 FND_MSG_PUB.Count_And_Get (
396 p_count => x_msg_count
397 , p_data => x_msg_data
398 );
399 END Create_LotCost_Adjustment;
400
401 --+========================================================================+
402 --| API Name : Update_LotCost_Adjustment |
403 --| TYPE : Private |
404 --| Function : Updates Lot Cost Adjustment based on the input |
405 --| in table GMF_LOT_COST_ADJUSTMENTS |
406 --| Pre-reqa : None |
407 --| Parameters : |
408 --| IN : |
409 --| p_api_version IN NUMBER |
410 --| p_init_msg_list IN VARCHAR2 |
411 --| p_header_rec IN OUT NOCOPY |
412 --| GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type |
413 --| p_dtl_Tbl IN OUT NOCOPY |
414 --| GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type |
415 --| |
416 --| OUT : |
417 --| x_return_status OUT NOCOPY VARCHAR2 |
418 --| x_msg_count OUT NOCOPY VARCHAR2 |
419 --| x_msg_data OUT NOCOPY VARCHAR2 |
420 --| |
421 --| Version : |
422 --| Current Version : 2.0 |
423 --| Previous Version : 1.0 |
424 --| Initial Version : 1.0 |
425 --| |
426 --| Notes : |
427 --| |
428 --| HISTORY |
429 --| 22-Mar-2004 Anand Thiyagarajan Created |
430 --| 14-mar-2007 Bug 5586137 Prasad, inserting p_user instead of |
431 --| fnd_global.user_id |
432 --| |
433 --+========================================================================+
434
435 PROCEDURE Update_LotCost_Adjustment
436 (
437 p_api_version IN NUMBER
438 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
439 , x_return_status OUT NOCOPY VARCHAR2
440 , x_msg_count OUT NOCOPY NUMBER
441 , x_msg_data OUT NOCOPY VARCHAR2
442 , p_header_rec IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type
443 , p_dtl_Tbl IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type
444 , p_user_id IN NUMBER
445 )
446 IS
447 l_api_name CONSTANT VARCHAR2(30) := 'Update_LotCost_Adjustment' ;
448 l_api_version CONSTANT NUMBER := 2.0 ;
449 l_adjustment_id GMF_LOT_COST_ADJUSTMENTS.ADJUSTMENT_ID%TYPE;
450 l_adjustment_dtl_id GMF_LOT_COST_ADJUSTMENT_DTLS.ADJUSTMENT_DTL_ID%TYPE;
451 BEGIN
452
453 -- Standard Start of API savepoint
454 SAVEPOINT Update_LotCost_Adjustment_PVT ;
455
456 -- Initialize message list if p_init_msg_list is set to TRUE.
457 IF FND_API.to_Boolean( p_init_msg_list ) THEN
458 FND_MSG_PUB.initialize;
459 END IF;
460
461 -- Standard call to check for call compatibility.
462 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
463 p_api_version ,
464 l_api_name ,
465 G_PKG_NAME
466 ) THEN
467 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
468 END IF;
469
470 -- Initialize API return status to success
471 x_return_status := FND_API.G_RET_STS_SUCCESS;
472
473 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
474 log_msg('Beginning Private Update Lot Cost Adjustment API');
475 END IF;
476
477 FOR i IN p_dtl_tbl.FIRST .. p_dtl_tbl.LAST
478 LOOP
479 IF p_dtl_tbl(i).adjustment_dtl_id IS NOT NULL THEN
480 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
481 log_msg ( 'Updating Detail Record for Adjustment Detail Id ' || p_dtl_tbl(i).adjustment_dtl_id );
482 END IF;
483 BEGIN
484 UPDATE gmf_lot_cost_adjustment_dtls
485 SET ADJUSTMENT_COST = p_dtl_tbl(i).ADJUSTMENT_COST
486 , TEXT_CODE = decode( p_dtl_tbl(i).TEXT_CODE, FND_API.G_MISS_NUM, NULL, NULL, TEXT_CODE, p_dtl_tbl(i).TEXT_CODE )
487 , LAST_UPDATED_BY = p_user_id
488 , LAST_UPDATE_LOGIN = FND_GLOBAL.LOGIN_ID
489 , LAST_UPDATE_DATE = SYSDATE
490 WHERE adjustment_dtl_id = p_dtl_tbl(i).adjustment_dtl_id
491 AND delete_mark = 0;
492
493 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
494 log_msg ( SQL%ROWCOUNT || 'Detail Record Updated for Adjustment Detail Id ' || p_dtl_tbl(i).adjustment_dtl_id );
495 END IF;
496 EXCEPTION
497 WHEN OTHERS THEN
498 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DTL_ID_UPD_FAILED');
499 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_DTL_ID', p_dtl_tbl(i).adjustment_dtl_id);
500 FND_MSG_PUB.Add;
501 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
502 RAISE ;
503 END ;
504 ELSIF p_dtl_tbl(i).adjustment_dtl_id IS NULL THEN
505
506 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
507 log_msg ( 'Detail Record for Cost Component Class Id ' || p_dtl_tbl(i).cost_cmpntcls_id ||
508 ' Cost Analysis Code ' || p_dtl_tbl(i).cost_analysis_code ||
509 ' Doesn''t Exist'
510 );
511 END IF;
512
513 END IF;
514
515 END LOOP;
516
517
518 -- Standard call to get message count and if count is 1, get message info.
519 FND_MSG_PUB.Count_And_Get (
520 p_count => x_msg_count
521 , p_data => x_msg_data
522 );
523
524 EXCEPTION
525 WHEN FND_API.G_EXC_ERROR THEN
526 ROLLBACK TO Update_LotCost_Adjustment_PVT;
527 x_return_status := FND_API.G_RET_STS_ERROR ;
528 FND_MSG_PUB.Count_And_Get (
529 p_count => x_msg_count
530 , p_data => x_msg_data
531 );
532 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
533 ROLLBACK TO Update_LotCost_Adjustment_PVT;
534 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
535 FND_MSG_PUB.Count_And_Get (
536 p_count => x_msg_count
537 , p_data => x_msg_data
538 );
539 WHEN OTHERS THEN
540 ROLLBACK TO Update_LotCost_Adjustment_PVT;
541 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
542 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
543 FND_MSG_PUB.Add_Exc_Msg (
544 G_PKG_NAME
545 , l_api_name
546 );
547 END IF;
548 FND_MSG_PUB.Count_And_Get (
549 p_count => x_msg_count
550 , p_data => x_msg_data
551 );
552 END Update_LotCost_Adjustment;
553
554 --Start of comments
555 --+========================================================================+
556 --| API Name : Delete_LotCost_Adjustment |
557 --| TYPE : Private |
558 --| Function : Deletes Lot Cost Adjustment based on the input |
559 --| in table GMF_LOT_COST_ADJUSTMENTS |
560 --| Pre-reqa : None |
561 --| Parameters : |
562 --| IN : |
563 --| p_api_version IN NUMBER |
564 --| p_init_msg_list IN VARCHAR2 |
565 --| p_header_rec IN OUT NOCOPY |
566 --| GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type |
567 --| p_dtl_Tbl IN OUT NOCOPY |
568 --| GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type |
569 --| |
570 --| OUT : |
571 --| x_return_status OUT NOCOPY VARCHAR2 |
572 --| x_msg_count OUT NOCOPY VARCHAR2 |
573 --| x_msg_data OUT NOCOPY VARCHAR2 |
574 --| |
575 --| Version : |
576 --| Current Version : 2.0 |
577 --| Previous Version : 1.0 |
578 --| Initial Version : 1.0 |
579 --| |
580 --| Notes : |
581 --| |
582 --| HISTORY |
583 --| 22-Mar-2004 Anand Thiyagarajan Created |
584 --| |
585 --+========================================================================+
586 -- End of comments
587
588 PROCEDURE Delete_LotCost_Adjustment
589 (
590 p_api_version IN NUMBER
591 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
592 , x_return_status OUT NOCOPY VARCHAR2
593 , x_msg_count OUT NOCOPY NUMBER
594 , x_msg_data OUT NOCOPY VARCHAR2
595 , p_header_rec IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type
596 , p_dtl_Tbl IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type
597 )
598 IS
599 l_api_name CONSTANT VARCHAR2(30) := 'Delete_LotCost_Adjustment' ;
600 l_api_version CONSTANT NUMBER := 2.0 ;
601 l_adjustment_id GMF_LOT_COST_ADJUSTMENTS.ADJUSTMENT_ID%TYPE;
602 l_adjustment_dtl_id GMF_LOT_COST_ADJUSTMENT_DTLS.ADJUSTMENT_DTL_ID%TYPE;
603 l_adjustment_dtl_cnt NUMBER := 0;
604 BEGIN
605
606 -- Standard Start of API savepoint
607 SAVEPOINT Delete_LotCost_Adjustment_PVT ;
608
609 -- Initialize message list if p_init_msg_list is set to TRUE.
610 IF FND_API.to_Boolean( p_init_msg_list ) THEN
611 FND_MSG_PUB.initialize;
612 END IF;
613
614 -- Standard call to check for call compatibility.
615 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
616 p_api_version ,
617 l_api_name ,
618 G_PKG_NAME
619 ) THEN
620 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
621 END IF;
622
623 -- Initialize API return status to success
624 x_return_status := FND_API.G_RET_STS_SUCCESS;
625
626 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
627 log_msg('Beginning Private Delete Lot Cost Adjustment API');
628 END IF;
629
630 FOR i IN p_dtl_tbl.FIRST .. p_dtl_tbl.LAST
631 LOOP
632
633 IF p_dtl_tbl(i).adjustment_dtl_id IS NOT NULL THEN
634
635 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
636 log_msg ( 'Deleting Detail Record for Adjustment Detail Id ' || p_dtl_tbl(i).adjustment_dtl_id);
637 END IF;
638
639 BEGIN
640 DELETE gmf_lot_cost_adjustment_dtls
641 WHERE adjustment_dtl_id = p_dtl_tbl(i).adjustment_dtl_id;
642 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
643 log_msg ( SQL%ROWCOUNT || ' Detail Record(s) deleted for Adjustment Detail Id ' || p_dtl_tbl(i).adjustment_dtl_id);
644 END IF;
645 EXCEPTION
646 WHEN OTHERS THEN
647 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DTL_ID_DEL_FAILED');
648 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_ID', p_dtl_tbl(i).adjustment_dtl_id);
649 FND_MSG_PUB.Add;
650 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
651 RAISE ;
652 END ;
653 ELSIF p_dtl_tbl(i).adjustment_dtl_id IS NULL THEN
654
655 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
656 log_msg ( 'Detail Record for Cost Component Class Id ' || p_dtl_tbl(i).cost_cmpntcls_id ||
657 ' Cost Analysis Code ' || p_dtl_tbl(i).cost_analysis_code||
658 ' Doesn''t Exist '
659 );
660 END IF;
661 END IF;
662 END LOOP;
663
664 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
665 log_msg ('Deleting Lot Cost Adjustments for Item ' || p_header_rec.item_id ||
666 ' Legal Entity' || p_header_rec.legal_entity_id ||
667 ' Organization ' || p_header_rec.organization_id ||
668 ' Cost Type Id ' || p_header_rec.cost_type_id ||
669 ' Lot Number ' || p_header_Rec.lot_number ||
670 ' Adjustment Date ' || p_header_rec.adjustment_date
671 ) ;
672 END IF;
673
674 BEGIN
675 SELECT count(1)
676 INTO l_adjustment_dtl_cnt
677 FROM gmf_lot_cost_adjustment_dtls
678 WHERE adjustment_id = p_header_Rec.adjustment_id;
679 EXCEPTION
680 WHEN NO_DATA_FOUND THEN
681 l_adjustment_dtl_cnt := 0;
682 END;
683
684 IF NVL(l_adjustment_dtl_cnt,0) = 0 THEN
685 BEGIN
686 DELETE gmf_lot_cost_adjustments
687 WHERE adjustment_id = p_header_Rec.adjustment_id
688 AND nvl(applied_ind,'N') <> 'Y';
689 IF SQL%NOTFOUND THEN
690 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DEL_FAILED');
691 FND_MESSAGE.SET_TOKEN('ITEM', p_header_rec.item_id);
692 FND_MESSAGE.SET_TOKEN('LEGAL_ENTITY', p_header_rec.legal_entity_id);
693 FND_MESSAGE.SET_TOKEN('ORGANIZATION', p_header_rec.organization_id);
694 FND_MESSAGE.SET_TOKEN('COST_TYPE', p_header_rec.cost_type_id);
695 FND_MESSAGE.SET_TOKEN('LOT', p_header_rec.lot_number);
696 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_DATE', p_header_rec.adjustment_date);
697 FND_MSG_PUB.Add;
698 x_return_status := FND_API.G_RET_STS_ERROR ;
699 RAISE FND_API.G_EXC_ERROR;
700 ELSE
701 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
702 log_msg( SQL%ROWCOUNT || ' Record Deleted for Adjustment Id ' || p_header_rec.adjustment_id);
703 END IF;
704 END IF ;
705 EXCEPTION
706 WHEN OTHERS THEN
707 IF (p_header_rec.adjustment_id IS NOT NULL) OR (p_header_rec.adjustment_id <> FND_API.G_MISS_NUM) THEN
708 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DEL_FAILED');
709 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_ID', p_header_rec.adjustment_id);
710 FND_MSG_PUB.Add;
711 END IF ;
712 END;
713 ELSE
714 FND_MESSAGE.SET_NAME('GMF','GMF_API_LCA_DEL_IGNORE');
715 FND_MESSAGE.SET_TOKEN('ITEM', p_header_rec.item_id);
716 FND_MESSAGE.SET_TOKEN('LEGAL_ENTITY', p_header_rec.legal_entity_id);
717 FND_MESSAGE.SET_TOKEN('ORGANIZATION', p_header_rec.organization_id);
718 FND_MESSAGE.SET_TOKEN('COST_TYPE', p_header_rec.cost_type_id);
719 FND_MESSAGE.SET_TOKEN('LOT', p_header_rec.lot_number);
720 FND_MESSAGE.SET_TOKEN('ADJUSTMENT_DATE', p_header_rec.adjustment_date);
721 FND_MSG_PUB.Add;
722 END IF;
723
724 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
725 log_msg(p_dtl_tbl.COUNT || ' Lot Cost Adjustment Detail row(s) Deleted');
726 END IF;
727
728 -- Standard call to get message count and if count is 1, get message info.
729 FND_MSG_PUB.Count_And_Get (
730 p_count => x_msg_count
731 , p_data => x_msg_data
732 );
733 EXCEPTION
734 WHEN FND_API.G_EXC_ERROR THEN
735 ROLLBACK TO Delete_LotCost_Adjustment_PVT;
736 x_return_status := FND_API.G_RET_STS_ERROR ;
737 FND_MSG_PUB.Count_And_Get (
738 p_count => x_msg_count
739 , p_data => x_msg_data
740 );
741 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
742 ROLLBACK TO Delete_LotCost_Adjustment_PVT;
743 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
744 FND_MSG_PUB.Count_And_Get (
745 p_count => x_msg_count
746 , p_data => x_msg_data
747 );
748 WHEN OTHERS THEN
749 ROLLBACK TO Delete_LotCost_Adjustment_PVT;
750 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
751 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
752 FND_MSG_PUB.Add_Exc_Msg (
753 G_PKG_NAME
754 , l_api_name
755 );
756 END IF;
757 FND_MSG_PUB.Count_And_Get (
758 p_count => x_msg_count
759 , p_data => x_msg_data
760 );
761
762 END Delete_LotCost_Adjustment;
763
764 --Start of comments
765 --+========================================================================+
766 --| API Name : Get_LotCost_Adjustment |
767 --| TYPE : Private |
768 --| Function : Get Lot Cost Adjustment based on the input |
769 --| from table GMF_LOT_COST_ADJUSTMENTS |
770 --| Pre-reqa : None |
771 --| Parameters : |
772 --| IN : |
773 --| p_api_version IN NUMBER |
774 --| p_init_msg_list IN VARCHAR2 |
775 --| p_header_rec IN OUT NOCOPY |
776 --| GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type |
777 --| p_dtl_Tbl IN OUT NOCOPY |
778 --| GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type |
779 --| |
780 --| OUT : |
781 --| x_return_status OUT NOCOPY VARCHAR2 |
782 --| x_msg_count OUT NOCOPY VARCHAR2 |
783 --| x_msg_data OUT NOCOPY VARCHAR2 |
784 --| |
785 --| Version : |
786 --| Current Version : 2.0 |
787 --| Previous Version : 1.0 |
788 --| Initial Version : 1.0 |
789 --| |
790 --| Notes : |
791 --| |
792 --| HISTORY |
793 --| 22-Mar-2004 Anand Thiyagarajan Created |
794 --| |
795 --+========================================================================+
796 -- End of comments
797
798 PROCEDURE Get_LotCost_Adjustment
799 (
800 p_api_version IN NUMBER
801 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
802 , x_return_status OUT NOCOPY VARCHAR2
803 , x_msg_count OUT NOCOPY NUMBER
804 , x_msg_data OUT NOCOPY VARCHAR2
805 , p_header_rec IN OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_Adjustment_Header_Rec_Type
806 , p_dtl_Tbl OUT NOCOPY GMF_LotCostAdjustment_PUB.Lc_adjustment_dtls_Tbl_Type
807 )
808 IS
809 CURSOR Adjustment_Header_csr
810 IS
811 SELECT
812 a.ADJUSTMENT_ID
813 , a.legal_entity_id
814 , a.cost_type_id
815 , a.inventory_item_id
816 , a.organization_id
817 , a.lot_number
818 , a.ADJUSTMENT_DATE
819 , a.REASON_CODE
820 , a.DELETE_MARK
821 , a.ATTRIBUTE1
822 , a.ATTRIBUTE2
823 , a.ATTRIBUTE3
824 , a.ATTRIBUTE4
825 , a.ATTRIBUTE5
826 , a.ATTRIBUTE6
827 , a.ATTRIBUTE7
828 , a.ATTRIBUTE8
829 , a.ATTRIBUTE9
830 , a.ATTRIBUTE10
831 , a.ATTRIBUTE11
832 , a.ATTRIBUTE12
833 , a.ATTRIBUTE13
834 , a.ATTRIBUTE14
835 , a.ATTRIBUTE15
836 , a.ATTRIBUTE16
837 , a.ATTRIBUTE17
838 , a.ATTRIBUTE18
839 , a.ATTRIBUTE19
840 , a.ATTRIBUTE20
841 , a.ATTRIBUTE21
842 , a.ATTRIBUTE22
843 , a.ATTRIBUTE23
844 , a.ATTRIBUTE24
845 , a.ATTRIBUTE25
846 , a.ATTRIBUTE26
847 , a.ATTRIBUTE27
848 , a.ATTRIBUTE28
849 , a.ATTRIBUTE29
850 , a.ATTRIBUTE30
851 , a.ATTRIBUTE_CATEGORY
852 FROM gmf_lot_cost_adjustments a
853 , mtl_system_items_b b
854 , mtl_lot_numbers c
855 WHERE a.adjustment_id = nvl(p_header_rec.adjustment_id, a.adjustment_id)
856 AND a.legal_entity_id = decode(p_header_rec.adjustment_id, NULL, p_header_rec.legal_entity_id, a.legal_entity_id)
857 AND a.cost_type_id = decode(p_header_rec.adjustment_id, NULL, p_header_rec.cost_type_id, a.cost_type_id)
858 AND a.organization_id = decode(p_header_rec.adjustment_id, NULL, p_header_rec.organization_id, a.organization_id)
859 AND a.inventory_item_id = decode(p_header_rec.adjustment_id, NULL, p_header_rec.item_id, a.inventory_item_id)
860 AND a.lot_number = decode(p_header_rec.adjustment_id, NULL, p_header_rec.lot_number, a.lot_number)
861 AND a.adjustment_date = decode(p_header_rec.adjustment_id, NULL, p_header_rec.adjustment_date, a.adjustment_date)
862 AND b.inventory_item_id = a.inventory_item_id
863 AND b.organization_id = a.organization_id
864 AND c.lot_number = a.lot_number
865 AND c.inventory_item_id = a.inventory_item_id
866 AND c.organization_id = a.organization_id;
867
868 CURSOR adjustment_dtls_csr (
869 p_adjustment_id IN NUMBER
870 )
871 IS
872 SELECT
873 a.ADJUSTMENT_DTL_ID
874 , a.ADJUSTMENT_ID
875 , a.COST_CMPNTCLS_ID
876 , a.COST_ANALYSIS_CODE
877 , a.ADJUSTMENT_COST
878 , a.TEXT_CODE
879 FROM gmf_lot_cost_adjustment_dtls a
880 WHERE a.adjustment_id = NVL(p_adjustment_id, a.adjustment_id);
881
882 l_api_name CONSTANT VARCHAR2(30) := 'Get_LotCost_Adjustment' ;
883 l_api_version CONSTANT NUMBER := 2.0 ;
884 l_idx NUMBER := 0;
885
886 BEGIN
887 -- Standard Start of API savepoint
888 SAVEPOINT Get_LotCost_Adjustment_PVT;
889
890 -- Initialize message list if p_init_msg_list is set to TRUE.
891 IF FND_API.to_Boolean( p_init_msg_list ) THEN
892 FND_MSG_PUB.initialize;
893 END IF;
894
895 -- Standard call to check for call compatibility.
896 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
897 p_api_version ,
898 l_api_name ,
899 G_PKG_NAME
900 ) THEN
901 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
902 END IF;
903
904 -- Initialize API return status to success
905 x_return_status := FND_API.G_RET_STS_SUCCESS;
906
907 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
908 log_msg('Beginning Private Get Lot Cost Adjustment API.');
909 END IF;
910
911 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
912 log_msg ('Retrieving Lot Cost Adjustments for Adjustment ID ' || p_header_rec.adjustment_id ||
913 ' Item ' || p_header_rec.item_id ||
914 ' Legal Entity' || p_header_rec.legal_entity_id ||
915 ' Organization ' || p_header_rec.organization_id ||
916 ' Cost Type Id ' || p_header_rec.cost_type_id ||
917 ' Lot Number ' || p_header_Rec.lot_number ||
918 ' Adjustment Date ' || p_header_rec.adjustment_date
919 );
920 END IF;
921
922 FOR i IN adjustment_header_csr
923 LOOP
924 p_header_Rec.ADJUSTMENT_ID := i.ADJUSTMENT_ID;
925 p_header_Rec.legal_entity_id := i.legal_entity_id;
926 p_header_Rec.cost_type_id := i.cost_type_id;
927 p_header_Rec.ITEM_ID := i.inventory_item_id;
928 p_header_Rec.organization_id := i.organization_id;
929 p_header_Rec.lot_number := i.lot_number;
930 p_header_Rec.ADJUSTMENT_DATE := i.ADJUSTMENT_DATE;
931 p_header_Rec.REASON_CODE := i.REASON_CODE;
932 p_header_Rec.DELETE_MARK := i.DELETE_MARK;
933 p_header_Rec.ATTRIBUTE1 := i.ATTRIBUTE1;
934 p_header_Rec.ATTRIBUTE2 := i.ATTRIBUTE2;
935 p_header_Rec.ATTRIBUTE3 := i.ATTRIBUTE3;
936 p_header_Rec.ATTRIBUTE4 := i.ATTRIBUTE4;
937 p_header_Rec.ATTRIBUTE5 := i.ATTRIBUTE5;
938 p_header_Rec.ATTRIBUTE6 := i.ATTRIBUTE6;
939 p_header_Rec.ATTRIBUTE7 := i.ATTRIBUTE7;
940 p_header_Rec.ATTRIBUTE8 := i.ATTRIBUTE8;
941 p_header_Rec.ATTRIBUTE9 := i.ATTRIBUTE9;
942 p_header_Rec.ATTRIBUTE10 := i.ATTRIBUTE10;
943 p_header_Rec.ATTRIBUTE11 := i.ATTRIBUTE11;
944 p_header_Rec.ATTRIBUTE12 := i.ATTRIBUTE12;
945 p_header_Rec.ATTRIBUTE13 := i.ATTRIBUTE13;
946 p_header_Rec.ATTRIBUTE14 := i.ATTRIBUTE14;
947 p_header_Rec.ATTRIBUTE15 := i.ATTRIBUTE15;
948 p_header_Rec.ATTRIBUTE16 := i.ATTRIBUTE16;
949 p_header_Rec.ATTRIBUTE17 := i.ATTRIBUTE17;
950 p_header_Rec.ATTRIBUTE18 := i.ATTRIBUTE18;
951 p_header_Rec.ATTRIBUTE19 := i.ATTRIBUTE19;
952 p_header_Rec.ATTRIBUTE20 := i.ATTRIBUTE20;
953 p_header_Rec.ATTRIBUTE21 := i.ATTRIBUTE21;
954 p_header_Rec.ATTRIBUTE22 := i.ATTRIBUTE22;
955 p_header_Rec.ATTRIBUTE23 := i.ATTRIBUTE23;
956 p_header_Rec.ATTRIBUTE24 := i.ATTRIBUTE24;
957 p_header_Rec.ATTRIBUTE25 := i.ATTRIBUTE25;
958 p_header_Rec.ATTRIBUTE26 := i.ATTRIBUTE26;
959 p_header_Rec.ATTRIBUTE27 := i.ATTRIBUTE27;
960 p_header_Rec.ATTRIBUTE28 := i.ATTRIBUTE28;
961 p_header_Rec.ATTRIBUTE29 := i.ATTRIBUTE29;
962 p_header_Rec.ATTRIBUTE30 := i.ATTRIBUTE30;
963 p_header_Rec.ATTRIBUTE_CATEGORY := i.ATTRIBUTE_CATEGORY;
964
965 END LOOP;
966
967
968 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
969 log_msg ('Retrieving Lot Cost Adjustments for Adjustment ID ' || p_header_rec.adjustment_id ||
970 ' Item ' || p_header_rec.item_id ||
971 ' Legal Entity' || p_header_rec.legal_entity_id ||
972 ' Organization ' || p_header_rec.organization_id ||
973 ' Cost Type Id ' || p_header_rec.cost_type_id ||
974 ' Lot Number ' || p_header_Rec.lot_number ||
975 ' Adjustment Date ' || p_header_rec.adjustment_date
976 );
977 END IF;
978
979 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
980 log_msg( 'Retrieving Lot Cost Adjustment Records for Adjustment ID'|| p_header_Rec.adjustment_id );
981 END IF;
982
983 OPEN adjustment_dtls_csr (p_header_Rec.adjustment_id);
984 LOOP
985 l_idx := l_idx + 1;
986 FETCH adjustment_dtls_csr INTO p_dtl_tbl(l_idx).ADJUSTMENT_DTL_ID
987 , p_dtl_tbl(l_idx).ADJUSTMENT_ID
988 , p_dtl_tbl(l_idx).COST_CMPNTCLS_ID
989 , p_dtl_tbl(l_idx).COST_ANALYSIS_CODE
990 , p_dtl_tbl(l_idx).ADJUSTMENT_COST
991 , p_dtl_tbl(l_idx).TEXT_CODE ;
992 EXIT WHEN adjustment_dtls_csr%NOTFOUND;
993 END LOOP;
994 IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
995 log_msg ( adjustment_dtls_csr%rowcount||' Records retrieved for Adjustment Id ' || p_header_rec.adjustment_id );
996 END IF;
997 CLOSE adjustment_dtls_csr;
998
999
1000 -- Standard call to get message count and if count is 1, get message info.
1001 FND_MSG_PUB.Count_And_Get (
1002 p_count => x_msg_count
1003 , p_data => x_msg_data
1004 );
1005
1006 END Get_LotCost_Adjustment;
1007
1008 -- Start of comments
1009 --+==========================================================================+
1010 --| Procedure Name |
1011 --| log_msg |
1012 --| |
1013 --| DESCRIPTION |
1014 --| This procedure logs messages to message stack. |
1015 --| |
1016 --| PARAMETERS |
1017 --| p_msg_lvl IN NUMBER(10) - Message Level |
1018 --| p_msg_text IN NUMBER(10) - Actual Message Text |
1019 --| |
1020 --| RETURNS |
1021 --| |
1022 --| HISTORY |
1023 --| 22-MAR-2004 Anand Thiyagarajan - Created |
1024 --| |
1025 --+==========================================================================+
1026 -- End of comments
1027
1028 PROCEDURE log_msg
1029 (
1030 p_msg_text IN VARCHAR2
1031 )
1032 IS
1033 BEGIN
1034 FND_MESSAGE.SET_NAME('GMF','GMF_API_DEBUG');
1035 FND_MESSAGE.SET_TOKEN('MSG',p_msg_text);
1036 FND_MSG_PUB.Add;
1037 END log_msg ;
1038
1039 END GMF_LotCostAdjustment_PVT;