1: PACKAGE BODY CST_PAC_ITERATION_PROCESS_PVT AS
2: -- $Header: CSTVIIPB.pls 120.51.12010000.3 2008/11/10 22:27:55 vjavli ship $
3:
4: -- API Name : Iteration_Process
5: -- Type : Private
64: l_return VARCHAR2(1) := 'N';
65:
66: BEGIN
67: l_cost_group_id_idx := p_cost_group_id;
68: IF CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL.EXISTS(l_cost_group_id_idx)
69: THEN
70: -- valid Cost Group in Legal Entity
71: l_return := 'Y';
72: ELSE
99:
100: BEGIN
101: l_cost_group_id_idx := p_cost_group_id;
102: l_master_org_id :=
103: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id;
104:
105: RETURN l_master_org_id;
106:
107: END Get_Master_Org;
127: l_cost_group_id NUMBER;
128:
129: BEGIN
130: l_organization_id_idx := p_organization_id;
131: IF CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.EXISTS(l_organization_id_idx) THEN
132: l_cost_group_id :=
133: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id;
134: ELSE
135: l_cost_group_id := -99;
129: BEGIN
130: l_organization_id_idx := p_organization_id;
131: IF CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.EXISTS(l_organization_id_idx) THEN
132: l_cost_group_id :=
133: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id;
134: ELSE
135: l_cost_group_id := -99;
136: END IF;
137:
163: l_return VARCHAR2(1) := 'N';
164:
165: BEGIN
166: l_organization_id_idx := p_organization_id;
167: IF CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.EXISTS(l_organization_id_idx)
168: THEN
169: -- Organization exists in one of the valid cost group
170: l_return := 'Y';
171: ELSE
2713: );
2714: END IF;
2715:
2716: -- Delete records from PL/SQL table
2717: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL.delete;
2718: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.delete;
2719:
2720: -- +================================================================*
2721: -- Get valid cost groups and store it in PL/SQL table
2714: END IF;
2715:
2716: -- Delete records from PL/SQL table
2717: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL.delete;
2718: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.delete;
2719:
2720: -- +================================================================*
2721: -- Get valid cost groups and store it in PL/SQL table
2722: -- G_CST_GROUP_TBL
2729:
2730: -- store the valid Cost Groups in PL/SQL table
2731: WHILE cst_group_le_cursor%FOUND LOOP
2732: l_cost_group_id_idx := cst_group_row.cost_group_id;
2733: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2734: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2735: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2736: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2737:
2730: -- store the valid Cost Groups in PL/SQL table
2731: WHILE cst_group_le_cursor%FOUND LOOP
2732: l_cost_group_id_idx := cst_group_row.cost_group_id;
2733: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2734: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2735: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2736: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2737:
2738: FETCH cst_group_le_cursor
2731: WHILE cst_group_le_cursor%FOUND LOOP
2732: l_cost_group_id_idx := cst_group_row.cost_group_id;
2733: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2734: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2735: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2736: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2737:
2738: FETCH cst_group_le_cursor
2739: INTO cst_group_row;
2732: l_cost_group_id_idx := cst_group_row.cost_group_id;
2733: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2734: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2735: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2736: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2737:
2738: FETCH cst_group_le_cursor
2739: INTO cst_group_row;
2740:
2761:
2762: -- Store all the organizations across valid cost groups
2763: WHILE cst_group_org_cursor%FOUND LOOP
2764: l_organization_id_idx := cst_group_org_row.organization_id;
2765: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id := cst_group_org_row.cost_group_id;
2766:
2767: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).organization_id := cst_group_org_row.organization_id;
2768:
2769: FETCH cst_group_org_cursor
2763: WHILE cst_group_org_cursor%FOUND LOOP
2764: l_organization_id_idx := cst_group_org_row.organization_id;
2765: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id := cst_group_org_row.cost_group_id;
2766:
2767: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).organization_id := cst_group_org_row.organization_id;
2768:
2769: FETCH cst_group_org_cursor
2770: INTO cst_group_org_row;
2771:
5360: EXCEPTION
5361: WHEN l_diverging_exception THEN
5362: -- Just a warning. No need to raise an exception. The process can continue for other cost groups for the item.
5363: l_cost_group_id_idx := p_cost_group_id;
5364: l_cost_group_name := CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group;
5365: FND_MESSAGE.Set_Name('BOM', 'CST_PAC_DIVERGE_WARNING');
5366: FND_MESSAGE.set_token('ITEM', p_inventory_item_number);
5367: FND_MESSAGE.set_token('COSTGROUP', l_cost_group_name);
5368: fnd_file.put_line(FND_FILE.OUTPUT, FND_MESSAGE.GET);
5909: FND_MSG_PUB.Add;
5910: RAISE FND_API.G_EXC_ERROR;
5911: END Iteration_Process;
5912:
5913: END CST_PAC_ITERATION_PROCESS_PVT;