49:
50: EXCEPTION
51: WHEN OTHERS
52: THEN
53: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
54: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
55: THEN
56: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'GET_1ST_ONHAND');
57: END IF;
84: WHERE organization_id = p_organization_id
85: AND inventory_item_id = p_inventory_item_id
86: AND acct_period_id < p_acct_period_id);
87:
88: p_return_status := FND_API.G_RET_STS_SUCCESS;
89:
90: EXCEPTION
91: WHEN NO_DATA_FOUND
92: THEN
98:
99: p_prev_onhand := nvl(p_onhand - p_prev_onhand,0);
100: p_prev_wip := 0;
101: p_prev_intransit := 0;
102: p_return_status := FND_API.G_RET_STS_SUCCESS;
103: WHEN OTHERS
104: THEN
105: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
101: p_prev_intransit := 0;
102: p_return_status := FND_API.G_RET_STS_SUCCESS;
103: WHEN OTHERS
104: THEN
105: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
107: THEN
108: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'P_GET_MAX_PERIOD');
109: END IF;
127: AND acct_period_id = p_acct_period_id;
128:
129: IF SQL%NOTFOUND
130: THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
133:
134: p_return_status := FND_API.G_RET_STS_SUCCESS;
135: EXCEPTION
130: THEN
131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132: END IF;
133:
134: p_return_status := FND_API.G_RET_STS_SUCCESS;
135: EXCEPTION
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
137: THEN
138: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
132: END IF;
133:
134: p_return_status := FND_API.G_RET_STS_SUCCESS;
135: EXCEPTION
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
137: THEN
138: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139: WHEN OTHERS
140: THEN
134: p_return_status := FND_API.G_RET_STS_SUCCESS;
135: EXCEPTION
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
137: THEN
138: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139: WHEN OTHERS
140: THEN
141: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
142: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
137: THEN
138: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139: WHEN OTHERS
140: THEN
141: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
142: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
143: THEN
144: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'P_UPDATE_BOP_VALUES');
145: END IF;
169: l_prev_acct_period_id NUMBER := 0;
170: l_prev_onhand NUMBER := NULL;
171: l_prev_wip NUMBER := NULL;
172: l_prev_intransit NUMBER := NULL;
173: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
174:
175:
176: CURSOR get_closed_period_details
177: IS
212: l_prev_onhand,
213: l_prev_wip,
214: l_prev_intransit,
215: l_return_status);
216: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
217: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
218: END IF;
219:
220: update_bop_values(closed_period_details.organization_id,
213: l_prev_wip,
214: l_prev_intransit,
215: l_return_status);
216: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
217: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
218: END IF;
219:
220: update_bop_values(closed_period_details.organization_id,
221: closed_period_details.inventory_item_id,
223: l_prev_onhand,
224: l_prev_wip,
225: l_prev_intransit,
226: l_return_status);
227: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230:
231: set_prev_values (closed_period_details.onhand,
224: l_prev_wip,
225: l_prev_intransit,
226: l_return_status);
227: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230:
231: set_prev_values (closed_period_details.onhand,
232: closed_period_details.wip,
249: l_prev_onhand,
250: l_prev_wip,
251: l_prev_intransit,
252: l_return_status);
253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256: update_bop_values(closed_period_details.organization_id,
257: closed_period_details.inventory_item_id,
250: l_prev_wip,
251: l_prev_intransit,
252: l_return_status);
253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256: update_bop_values(closed_period_details.organization_id,
257: closed_period_details.inventory_item_id,
258: closed_period_details.acct_period_id,
259: l_prev_onhand,
260: l_prev_wip,
261: l_prev_intransit,
262: l_return_status);
263: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
266: set_prev_values (closed_period_details.onhand,
267: closed_period_details.wip,
260: l_prev_wip,
261: l_prev_intransit,
262: l_return_status);
263: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
266: set_prev_values (closed_period_details.onhand,
267: closed_period_details.wip,
268: closed_period_details.intransit,
280: l_prev_onhand,
281: l_prev_wip,
282: l_prev_intransit,
283: l_return_status);
284: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
286: END IF;
287: set_prev_values (closed_period_details.onhand,
288: closed_period_details.wip,
281: l_prev_wip,
282: l_prev_intransit,
283: l_return_status);
284: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
285: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
286: END IF;
287: set_prev_values (closed_period_details.onhand,
288: closed_period_details.wip,
289: closed_period_details.intransit,
294:
295: -- Condition not possible ---
296: -- Each new record in the cursor should have a unique combination of the
297: -- foll.: Organization_id, inventory_item_id, acct_period_id
298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
299: END IF;
300: END IF;
301: END IF;
302: END LOOP;
302: END LOOP;
303: COMMIT;
304: p_return_status := l_return_status;
305: EXCEPTION
306: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
307: THEN
308: ROLLBACK;
309: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310: WHEN OTHERS THEN
305: EXCEPTION
306: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
307: THEN
308: ROLLBACK;
309: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310: WHEN OTHERS THEN
311: ROLLBACK;
312: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
313: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
308: ROLLBACK;
309: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310: WHEN OTHERS THEN
311: ROLLBACK;
312: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
313: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
314: THEN
315: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CALC_CLOSED_BOP_VALUES');
316: END IF;
326: p_period_id IN NUMBER,
327: err_msg OUT NOCOPY VARCHAR2 )
328: IS
329: l_user_id NUMBER;
330: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
331:
332: BEGIN
333: FND_MSG_PUB.initialize;
334:
356: GROUP BY organization_id, acct_period_id, inventory_item_id;
357:
358: CLOSED_WIP(p_organization_id, p_period_id, l_return_status);
359:
360: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
361: RAISE FND_API.G_EXC_ERROR;
362: END IF;
363:
364: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
357:
358: CLOSED_WIP(p_organization_id, p_period_id, l_return_status);
359:
360: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
361: RAISE FND_API.G_EXC_ERROR;
362: END IF;
363:
364: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
360: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
361: RAISE FND_API.G_EXC_ERROR;
362: END IF;
363:
364: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
366: END IF;
367:
368: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
361: RAISE FND_API.G_EXC_ERROR;
362: END IF;
363:
364: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
366: END IF;
367:
368: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
369:
366: END IF;
367:
368: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
369:
370: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
367:
368: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
369:
370: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
375: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
370: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
375: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
376: END IF;
377:
378: err_msg := l_return_status;
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
375: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
376: END IF;
377:
378: err_msg := l_return_status;
379:
380: COMMIT;
381:
382: CALC_CLOSED_BOP_VALUES (p_organization_id, p_period_id, l_return_status) ;
383:
384: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
387:
388: err_msg := l_return_status;
381:
382: CALC_CLOSED_BOP_VALUES (p_organization_id, p_period_id, l_return_status) ;
383:
384: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
387:
388: err_msg := l_return_status;
389:
387:
388: err_msg := l_return_status;
389:
390: EXCEPTION
391: WHEN FND_API.G_EXC_ERROR THEN
392: ROLLBACK ;
393: err_msg := FND_API.G_RET_STS_ERROR;
394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
395: ROLLBACK;
389:
390: EXCEPTION
391: WHEN FND_API.G_EXC_ERROR THEN
392: ROLLBACK ;
393: err_msg := FND_API.G_RET_STS_ERROR;
394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
395: ROLLBACK;
396: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
397: WHEN OTHERS THEN
390: EXCEPTION
391: WHEN FND_API.G_EXC_ERROR THEN
392: ROLLBACK ;
393: err_msg := FND_API.G_RET_STS_ERROR;
394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
395: ROLLBACK;
396: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
397: WHEN OTHERS THEN
398: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
392: ROLLBACK ;
393: err_msg := FND_API.G_RET_STS_ERROR;
394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
395: ROLLBACK;
396: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
397: WHEN OTHERS THEN
398: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
399: ROLLBACK;
400: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
395: ROLLBACK;
396: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
397: WHEN OTHERS THEN
398: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
399: ROLLBACK;
400: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
401: THEN
402: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CLOSED_ONHAND_TB');
412: p_last_period_id IN NUMBER,
413: err_msg OUT NOCOPY VARCHAR2
414: ) is
415: l_user_id NUMBER;
416: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
417: -- Changes for bug2856158
418: l_period_start_date DATE;
419: l_schedule_close_date DATE;
420: -- Define a table type parameters
564: AND I_MBI.acct_period_id = p_period_id);
565: */
566: CLOSED_WIP(p_organization_id, p_period_id, l_return_status);
567:
568: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
569: RAISE FND_API.G_EXC_ERROR;
570: END IF;
571:
572: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
565: */
566: CLOSED_WIP(p_organization_id, p_period_id, l_return_status);
567:
568: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
569: RAISE FND_API.G_EXC_ERROR;
570: END IF;
571:
572: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
573: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
568: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
569: RAISE FND_API.G_EXC_ERROR;
570: END IF;
571:
572: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
573: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
574: END IF;
575:
576: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
569: RAISE FND_API.G_EXC_ERROR;
570: END IF;
571:
572: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
573: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
574: END IF;
575:
576: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
577:
574: END IF;
575:
576: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
577:
578: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
579: RAISE FND_API.G_EXC_ERROR;
580: END IF;
581:
582: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
575:
576: CLOSED_COGS(p_organization_id, p_period_id, l_return_status);
577:
578: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
579: RAISE FND_API.G_EXC_ERROR;
580: END IF;
581:
582: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
578: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
579: RAISE FND_API.G_EXC_ERROR;
580: END IF;
581:
582: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
584: END IF;
585:
586: err_msg := l_return_status;
579: RAISE FND_API.G_EXC_ERROR;
580: END IF;
581:
582: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
584: END IF;
585:
586: err_msg := l_return_status;
587:
588: COMMIT;
589:
590: CALC_CLOSED_BOP_VALUES (p_organization_id, p_period_id, l_return_status) ;
591:
592: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: END IF;
595:
596: err_msg := l_return_status;
589:
590: CALC_CLOSED_BOP_VALUES (p_organization_id, p_period_id, l_return_status) ;
591:
592: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: END IF;
595:
596: err_msg := l_return_status;
597:
595:
596: err_msg := l_return_status;
597:
598: EXCEPTION
599: WHEN FND_API.G_EXC_ERROR THEN
600: ROLLBACK ;
601: err_msg := FND_API.G_RET_STS_ERROR;
602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
603: ROLLBACK;
597:
598: EXCEPTION
599: WHEN FND_API.G_EXC_ERROR THEN
600: ROLLBACK ;
601: err_msg := FND_API.G_RET_STS_ERROR;
602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
603: ROLLBACK;
604: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
605: WHEN OTHERS THEN
598: EXCEPTION
599: WHEN FND_API.G_EXC_ERROR THEN
600: ROLLBACK ;
601: err_msg := FND_API.G_RET_STS_ERROR;
602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
603: ROLLBACK;
604: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
605: WHEN OTHERS THEN
606: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
600: ROLLBACK ;
601: err_msg := FND_API.G_RET_STS_ERROR;
602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
603: ROLLBACK;
604: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
605: WHEN OTHERS THEN
606: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
607: ROLLBACK;
608: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
603: ROLLBACK;
604: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
605: WHEN OTHERS THEN
606: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
607: ROLLBACK;
608: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
609: THEN
610: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CLOSED_ONHAND_SC');
619: ) is
620: l_user_id NUMBER;
621: l_last_period_id NUMBER;
622: l_last_wip NUMBER;
623: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
624:
625: CURSOR GET_CLOSED_WIPS IS
626: select SUM((NVL(WPB.tl_resource_in,0) +
627: NVL(WPB.tl_overhead_in,0) + NVL(WPB.tl_outside_processing_in,0) +
708: END LOOP;
709: err_msg := l_return_status;
710: EXCEPTION
711: WHEN OTHERS THEN
712: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
713: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
714: THEN
715: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CLOSED_WIP');
716: END IF;
725: l_user_id NUMBER;
726: l_period_start_date DATE;
727: l_period_close_date DATE;
728:
729: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
730:
731: CURSOR CLOSED_COGS IS
732: Select item_id, SUM(cogs) cogs
733: from(
813: err_msg := l_return_status;
814:
815: EXCEPTION
816: WHEN OTHERS THEN
817: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
818: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
819: THEN
820: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CLOSED_COGS');
821: END IF;
829: l_prev_acct_period_id NUMBER := 0;
830: l_prev_onhand NUMBER := NULL;
831: l_prev_wip NUMBER := NULL;
832: l_prev_intransit NUMBER := NULL;
833: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
834:
835: CURSOR get_open_period_details
836: IS
837: SELECT mbibp.organization_id,
873: l_prev_onhand,
874: l_prev_wip,
875: l_prev_intransit,
876: l_return_status);
877: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
878: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
879: END IF;
880:
881: update_bop_values(open_period_details.organization_id,
874: l_prev_wip,
875: l_prev_intransit,
876: l_return_status);
877: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
878: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
879: END IF;
880:
881: update_bop_values(open_period_details.organization_id,
882: open_period_details.inventory_item_id,
884: l_prev_onhand,
885: l_prev_wip,
886: l_prev_intransit,
887: l_return_status);
888: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
889: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
890: END IF;
891:
892: set_prev_values (open_period_details.onhand,
885: l_prev_wip,
886: l_prev_intransit,
887: l_return_status);
888: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
889: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
890: END IF;
891:
892: set_prev_values (open_period_details.onhand,
893: open_period_details.wip,
910: l_prev_onhand,
911: l_prev_wip,
912: l_prev_intransit,
913: l_return_status);
914: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
916: END IF;
917: update_bop_values(open_period_details.organization_id,
918: open_period_details.inventory_item_id,
911: l_prev_wip,
912: l_prev_intransit,
913: l_return_status);
914: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
916: END IF;
917: update_bop_values(open_period_details.organization_id,
918: open_period_details.inventory_item_id,
919: open_period_details.acct_period_id,
920: l_prev_onhand,
921: l_prev_wip,
922: l_prev_intransit,
923: l_return_status);
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: END IF;
927: set_prev_values (open_period_details.onhand,
928: open_period_details.wip,
921: l_prev_wip,
922: l_prev_intransit,
923: l_return_status);
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: END IF;
927: set_prev_values (open_period_details.onhand,
928: open_period_details.wip,
929: open_period_details.intransit,
941: l_prev_onhand,
942: l_prev_wip,
943: l_prev_intransit,
944: l_return_status);
945: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948: set_prev_values (open_period_details.onhand,
949: open_period_details.wip,
942: l_prev_wip,
943: l_prev_intransit,
944: l_return_status);
945: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948: set_prev_values (open_period_details.onhand,
949: open_period_details.wip,
950: open_period_details.intransit,
955:
956: -- Condition not possible ---
957: -- Each new record in the cursor should have a unique combination of the
958: -- foll.: Organization_id, inventory_item_id, acct_period_id
959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
960: END IF;
961: END IF;
962: END IF;
963: END LOOP;
963: END LOOP;
964: COMMIT;
965: p_return_status := l_return_status;
966: EXCEPTION
967: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
968: THEN
969: ROLLBACK;
970: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
971: WHEN OTHERS THEN
966: EXCEPTION
967: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
968: THEN
969: ROLLBACK;
970: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
971: WHEN OTHERS THEN
972: ROLLBACK;
973: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
974: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
969: ROLLBACK;
970: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
971: WHEN OTHERS THEN
972: ROLLBACK;
973: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
974: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
975: THEN
976: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'CALC_OPEN_BOP_VALUES');
977: END IF;
986: */
987:
988: PROCEDURE process_closed_periods
989: (p_return_status OUT NOCOPY VARCHAR2) IS
990: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
991: l_last_period_id org_acct_periods.acct_period_id%TYPE := 0;
992:
993: /* performance bug 4951748, sql 14818892
994: sql is rewritten to combine two selects from org_acct_periods
1047: THEN
1048: inv_turns.closed_tb (closed_periods_rec.organization_id,
1049: closed_periods_rec.acct_period_id,
1050: l_return_status);
1051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1053: END IF;
1054: ELSE
1055: SELECT nvl(MAX(acct_period_id),0)
1048: inv_turns.closed_tb (closed_periods_rec.organization_id,
1049: closed_periods_rec.acct_period_id,
1050: l_return_status);
1051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1053: END IF;
1054: ELSE
1055: SELECT nvl(MAX(acct_period_id),0)
1056: INTO l_last_period_id
1061: inv_turns.closed_sc (closed_periods_rec.organization_id,
1062: closed_periods_rec.acct_period_id,
1063: l_last_period_id,
1064: l_return_status);
1065: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1066: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1067: END IF;
1068: END IF;
1069: END LOOP;
1062: closed_periods_rec.acct_period_id,
1063: l_last_period_id,
1064: l_return_status);
1065: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1066: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1067: END IF;
1068: END IF;
1069: END LOOP;
1070: COMMIT;
1081: ERRBUF OUT NOCOPY VARCHAR2,
1082: RETCODE OUT NOCOPY NUMBER
1083: ) is
1084: l_user_id NUMBER;
1085: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1086: l_organization_id NUMBER := 0;
1087: l_prel_org NUMBER := 0;
1088: l_period_id NUMBER;
1089: l_period_start_date DATE;
1285: ELSE
1286: FIND_TXN_VALUES(l_return_status, l_organization_id, l_period_id,
1287: l_last_period_id, l_last_start_date, l_last_close_date);
1288:
1289: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1291: END IF;
1292:
1293: FOR OPEN_TRNS_REC IN OPEN_TRNS LOOP
1286: FIND_TXN_VALUES(l_return_status, l_organization_id, l_period_id,
1287: l_last_period_id, l_last_start_date, l_last_close_date);
1288:
1289: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1291: END IF;
1292:
1293: FOR OPEN_TRNS_REC IN OPEN_TRNS LOOP
1294:
1348:
1349: COMMIT;
1350:
1351: process_closed_periods (l_return_status);
1352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: calc_open_bop_values (l_return_status);
1349: COMMIT;
1350:
1351: process_closed_periods (l_return_status);
1352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: calc_open_bop_values (l_return_status);
1357: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1354: END IF;
1355:
1356: calc_open_bop_values (l_return_status);
1357: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1359: END IF;
1360:
1361: RETCODE := 1;
1354: END IF;
1355:
1356: calc_open_bop_values (l_return_status);
1357: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1358: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1359: END IF;
1360:
1361: RETCODE := 1;
1362: l_conc_status := fnd_concurrent.set_completion_status('NORMAL','NORMAL') ;
1361: RETCODE := 1;
1362: l_conc_status := fnd_concurrent.set_completion_status('NORMAL','NORMAL') ;
1363:
1364: EXCEPTION
1365: WHEN FND_API.G_EXC_ERROR THEN
1366: l_conc_status := fnd_concurrent.set_completion_status('ERROR' ,'ERROR');
1367: RETCODE := 2;
1368:
1369: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1365: WHEN FND_API.G_EXC_ERROR THEN
1366: l_conc_status := fnd_concurrent.set_completion_status('ERROR' ,'ERROR');
1367: RETCODE := 2;
1368:
1369: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1370: l_conc_status := fnd_concurrent.set_completion_status('ERROR' ,'ERROR');
1371: RETCODE := 2;
1372:
1373: WHEN OTHERS THEN
1390: IS
1391: l_user_id NUMBER;
1392: l_onhand NUMBER;
1393:
1394: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1395:
1396: -- performance bug 4951748, sql 14819227
1397: -- index hint is added
1398:
1475: err_msg := l_return_status;
1476:
1477: EXCEPTION
1478: WHEN OTHERS THEN
1479: err_msg := FND_API.G_RET_STS_UNEXP_ERROR;
1480: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1481: THEN
1482: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name, 'FIND_TXN_VALUES');
1483: END IF;