1: PACKAGE BODY CST_PAC_ITERATION_PROCESS_PVT AS
2: -- $Header: CSTVIIPB.pls 120.62.12020000.3 2012/10/15 23:24:03 fayang 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
2859: );
2860: END IF;
2861:
2862: -- Delete records from PL/SQL table
2863: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL.delete;
2864: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.delete;
2865:
2866: -- +================================================================*
2867: -- Get valid cost groups and store it in PL/SQL table
2860: END IF;
2861:
2862: -- Delete records from PL/SQL table
2863: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL.delete;
2864: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL.delete;
2865:
2866: -- +================================================================*
2867: -- Get valid cost groups and store it in PL/SQL table
2868: -- G_CST_GROUP_TBL
2875:
2876: -- store the valid Cost Groups in PL/SQL table
2877: WHILE cst_group_le_cursor%FOUND LOOP
2878: l_cost_group_id_idx := cst_group_row.cost_group_id;
2879: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2880: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2881: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2882: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2883:
2876: -- store the valid Cost Groups in PL/SQL table
2877: WHILE cst_group_le_cursor%FOUND LOOP
2878: l_cost_group_id_idx := cst_group_row.cost_group_id;
2879: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2880: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2881: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2882: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2883:
2884: FETCH cst_group_le_cursor
2877: WHILE cst_group_le_cursor%FOUND LOOP
2878: l_cost_group_id_idx := cst_group_row.cost_group_id;
2879: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2880: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2881: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2882: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2883:
2884: FETCH cst_group_le_cursor
2885: INTO cst_group_row;
2878: l_cost_group_id_idx := cst_group_row.cost_group_id;
2879: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group_id := cst_group_row.cost_group_id;
2880: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group := cst_group_row.cost_group;
2881: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).master_organization_id := cst_group_row.master_organization_id;
2882: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).period_new_quantity := 0;
2883:
2884: FETCH cst_group_le_cursor
2885: INTO cst_group_row;
2886:
2907:
2908: -- Store all the organizations across valid cost groups
2909: WHILE cst_group_org_cursor%FOUND LOOP
2910: l_organization_id_idx := cst_group_org_row.organization_id;
2911: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id := cst_group_org_row.cost_group_id;
2912:
2913: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).organization_id := cst_group_org_row.organization_id;
2914:
2915: FETCH cst_group_org_cursor
2909: WHILE cst_group_org_cursor%FOUND LOOP
2910: l_organization_id_idx := cst_group_org_row.organization_id;
2911: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).cost_group_id := cst_group_org_row.cost_group_id;
2912:
2913: CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_ORG_TBL(l_organization_id_idx).organization_id := cst_group_org_row.organization_id;
2914:
2915: FETCH cst_group_org_cursor
2916: INTO cst_group_org_row;
2917:
5635: EXCEPTION
5636: WHEN l_diverging_exception THEN
5637: -- Just a warning. No need to raise an exception. The process can continue for other cost groups for the item.
5638: l_cost_group_id_idx := p_cost_group_id;
5639: l_cost_group_name := CST_PAC_ITERATION_PROCESS_PVT.G_CST_GROUP_TBL(l_cost_group_id_idx).cost_group;
5640: FND_MESSAGE.Set_Name('BOM', 'CST_PAC_DIVERGE_WARNING');
5641: FND_MESSAGE.set_token('ITEM', p_inventory_item_number);
5642: FND_MESSAGE.set_token('COSTGROUP', l_cost_group_name);
5643: fnd_file.put_line(FND_FILE.OUTPUT, FND_MESSAGE.GET);
6418: FND_MSG_PUB.Add;
6419: RAISE FND_API.G_EXC_ERROR;
6420: END Iteration_Process;
6421:
6422: END CST_PAC_ITERATION_PROCESS_PVT;