3055: SELECT count(1)
3056: INTO l_count_rows
3057: FROM mtl_material_transactions_temp mmtt
3058: WHERE NVL(mmtt.transaction_status,0) <> 2
3059: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(mmtt.organization_id) = 'Y'
3060: AND mmtt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3061: AND ROWNUM = 1;
3062:
3063:
3079:
3080: SELECT count(1)
3081: INTO l_count_rows
3082: FROM mtl_transactions_interface mti
3083: WHERE CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(mti.organization_id) = 'Y'
3084: AND mti.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3085: AND ROWNUM = 1;
3086:
3087: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3102:
3103: SELECT count(1)
3104: INTO l_count_rows
3105: FROM wip_cost_txn_interface wcti
3106: WHERE CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(wcti.organization_id) = 'Y'
3107: AND wcti.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3108: AND ROWNUM = 1;
3109:
3110: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3128: FROM rcv_transactions_interface rti
3129: WHERE rti.to_organization_code IN
3130: (SELECT ood.organization_code
3131: FROM cst_organization_definitions ood
3132: WHERE CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(ood.organization_id) = 'Y'
3133: )
3134: AND rti.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3135: AND ROWNUM = 1;
3136:
3160: WHERE
3161: ( (cppp.process_phase <= 4 OR cppp.process_phase = 7)
3162: AND cppp.process_upto_date IS NOT NULL)
3163: AND cppp.pac_period_id = p_pac_period_id
3164: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3165: )
3166: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(mmt.organization_id) = 'Y'
3167: AND mmt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3168: AND ROWNUM = 1;
3162: AND cppp.process_upto_date IS NOT NULL)
3163: AND cppp.pac_period_id = p_pac_period_id
3164: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3165: )
3166: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(mmt.organization_id) = 'Y'
3167: AND mmt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3168: AND ROWNUM = 1;
3169:
3170: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3191: WHERE
3192: ( (cppp.process_phase <= 4 OR cppp.process_phase = 7)
3193: AND cppp.process_upto_date IS NOT NULL)
3194: AND cppp.pac_period_id = p_pac_period_id
3195: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3196: )
3197: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(wt.organization_id) = 'Y'
3198: AND wt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3199: AND ROWNUM = 1;
3193: AND cppp.process_upto_date IS NOT NULL)
3194: AND cppp.pac_period_id = p_pac_period_id
3195: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3196: )
3197: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(wt.organization_id) = 'Y'
3198: AND wt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3199: AND ROWNUM = 1;
3200:
3201: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3222: WHERE
3223: ( (cppp.process_phase <= 4 OR cppp.process_phase = 7)
3224: AND cppp.process_upto_date IS NOT NULL)
3225: AND cppp.pac_period_id = p_pac_period_id
3226: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3227: )
3228: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(rt.organization_id) = 'Y'
3229: AND rt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3230: AND ROWNUM = 1;
3224: AND cppp.process_upto_date IS NOT NULL)
3225: AND cppp.pac_period_id = p_pac_period_id
3226: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3227: )
3228: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(rt.organization_id) = 'Y'
3229: AND rt.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3230: AND ROWNUM = 1;
3231:
3232: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
3253: WHERE
3254: ( (cppp.process_phase <= 4 OR cppp.process_phase = 7)
3255: AND cppp.process_upto_date IS NOT NULL)
3256: AND cppp.pac_period_id = p_pac_period_id
3257: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3258: )
3259: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(rae.organization_id) = 'Y'
3260: AND rae.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3261: AND rae.event_type_id IN (7,8, 9, 10)
3255: AND cppp.process_upto_date IS NOT NULL)
3256: AND cppp.pac_period_id = p_pac_period_id
3257: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group(cppp.cost_group_id) = 'Y'
3258: )
3259: AND CST_PAC_ITERATION_PROCESS_PVT.Check_Cst_Group_Org(rae.organization_id) = 'Y'
3260: AND rae.transaction_date BETWEEN p_period_start_date AND p_period_end_date
3261: AND rae.event_type_id IN (7,8, 9, 10)
3262: AND ROWNUM = 1;
3263:
3531: END IF;
3532:
3533: -- Initialize Global PL/SQL tables used in PAC interorg
3534: -- iteration process for each run
3535: CST_PAC_ITERATION_PROCESS_PVT.Initialize
3536: (p_legal_entity_id => p_legal_entity
3537: );
3538: -- TAB is used as a delimiter in output which can be viewed in spreadsheet application to see the progress through iterations.
3539: FND_MESSAGE.Set_Name('BOM', 'CST_PAC_OUTPUT_MESSAGE');
3542:
3543: FND_MESSAGE.Set_Name('BOM', 'CST_PAC_PMAC_ITR_PROMPT');
3544: l_message := FND_MESSAGE.Get;
3545: FND_FILE.put_line(FND_FILE.OUTPUT, l_message);
3546: /* Storing the translated messages in global variable since in CST_PAC_ITERATION_PROCESS_PVT.Verify_Tolerance_Of_Item
3547: it need not be translated for each item */
3548: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_TOLERANCE');
3549: CST_PAC_ITERATION_PROCESS_PVT.G_TOL_ACHIEVED_MESSAGE := FND_MESSAGE.GET;
3550: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_NO_TOL');
3545: FND_FILE.put_line(FND_FILE.OUTPUT, l_message);
3546: /* Storing the translated messages in global variable since in CST_PAC_ITERATION_PROCESS_PVT.Verify_Tolerance_Of_Item
3547: it need not be translated for each item */
3548: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_TOLERANCE');
3549: CST_PAC_ITERATION_PROCESS_PVT.G_TOL_ACHIEVED_MESSAGE := FND_MESSAGE.GET;
3550: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_NO_TOL');
3551: CST_PAC_ITERATION_PROCESS_PVT.G_TOL_NOT_ACHIEVED_MESSAGE := FND_MESSAGE.GET;
3552:
3553: -- Get the iteration process flag to check whether an iteration is an
3547: it need not be translated for each item */
3548: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_TOLERANCE');
3549: CST_PAC_ITERATION_PROCESS_PVT.G_TOL_ACHIEVED_MESSAGE := FND_MESSAGE.GET;
3550: FND_MESSAGE.SET_NAME('BOM', 'CST_PAC_INTORG_NO_TOL');
3551: CST_PAC_ITERATION_PROCESS_PVT.G_TOL_NOT_ACHIEVED_MESSAGE := FND_MESSAGE.GET;
3552:
3553: -- Get the iteration process flag to check whether an iteration is an
3554: -- optional process
3555:
3777: -- Perform Item Iteration LOOP
3778: -- Item --> Iteration --> Optimal Seq cost Group --> interorg Transactions
3779: -- Item --> Iteration_Process
3780: -- =======================================================================
3781: CST_PAC_ITERATION_PROCESS_PVT.Iteration_Process
3782: (p_init_msg_list => l_init_msg_list
3783: ,p_validation_level => l_validation_level
3784: ,p_legal_entity_id => p_legal_entity
3785: ,p_cost_type_id => p_cost_type_id
3976: IF l_interorg_non_tol_lp_cnt <> 0 THEN
3977: -- Set Periodic Absorption Cost Processor status to Resume
3978: -- Set process status to 5 - Resume for all the valid cost groups
3979: -- in Legal Entity
3980: CST_PAC_ITERATION_PROCESS_PVT.Set_Process_Status( p_legal_entity_id => p_legal_entity
3981: , p_period_id => p_period_id
3982: , p_period_end_date => p_end_date
3983: , p_phase_status => 5
3984: );
3984: );
3985:
3986: -- Set Phase 5 status to 5 - Resume for all the CGs to display
3987: -- the Phase 7 status on the screen
3988: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status
3989: ( p_legal_entity_id => p_legal_entity
3990: , p_period_id => p_period_id
3991: , p_period_end_date => p_end_date
3992: , p_phase_status => 5
4043: -- ====================================================================================
4044: -- Set Phase 7 status to 4 - complete for all valid cost groups
4045: -- Set Phase 5 status to 1 - unprocessed for all valid cost groups
4046: -- ====================================================================================
4047: CST_PAC_ITERATION_PROCESS_PVT.Set_Process_Status(p_legal_entity_id => p_legal_entity
4048: ,p_period_id => p_period_id
4049: ,p_period_end_date => p_end_date
4050: ,p_phase_status => 4
4051: );
4051: );
4052:
4053: -- Set Phase 5 status to 1 - Un Processed for all the valid cost
4054: -- groups in Legal Entity
4055: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4056: ,p_period_id => p_period_id
4057: ,p_period_end_date => p_end_date
4058: ,p_phase_status => 1
4059: );
4067: -- ====================================================================================
4068: -- Set Phase 7 status to 4 - complete for all valid cost groups
4069: -- Set Phase 5 status to 1 - unprocessed for all valid cost groups
4070: -- ====================================================================================
4071: CST_PAC_ITERATION_PROCESS_PVT.Set_Process_Status(p_legal_entity_id => p_legal_entity
4072: ,p_period_id => p_period_id
4073: ,p_period_end_date => p_end_date
4074: ,p_phase_status => 4
4075: );
4075: );
4076:
4077: -- Set Phase 5 status to 1 - Un Processed for all the valid cost
4078: -- groups in Legal Entity
4079: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4080: ,p_period_id => p_period_id
4081: ,p_period_end_date => p_end_date
4082: ,p_phase_status => 1
4083: );
4095: EXCEPTION
4096: WHEN FND_API.G_EXC_ERROR THEN
4097: ROLLBACK;
4098: -- Set Phase 7 Status to error
4099: CST_PAC_ITERATION_PROCESS_PVT.Set_Process_Status(p_legal_entity_id => p_legal_entity
4100: ,p_period_id => p_period_id
4101: ,p_period_end_date => p_end_date
4102: ,p_phase_status => 3
4103: );
4106:
4107: WHEN OTHERS THEN
4108: ROLLBACK;
4109: -- Set Phase 7 Status to error
4110: CST_PAC_ITERATION_PROCESS_PVT.Set_Process_Status(p_legal_entity_id => p_legal_entity
4111: ,p_period_id => p_period_id
4112: ,p_period_end_date => p_end_date
4113: ,p_phase_status => 3
4114: );
4264: FND_MESSAGE.set_token('MESSAGE', 'CSTPPINV.cost_acct_events for cost group '||p_cost_group_id||' logical txn id '||l_logical_txn_tab(i).transaction_id
4265: ||' item id '||l_logical_txn_tab(i).inventory_item_id||' org id '||l_logical_txn_tab(i).organization_id||' ('||l_error_code||') '||l_error_msg);
4266: FND_MSG_PUB.Add;
4267: -- Set Phase 5 status to Error
4268: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity_id
4269: ,p_period_id => p_period_id
4270: ,p_period_end_date => p_end_date
4271: ,p_phase_status => 3
4272: );
4517: --========================================================================================
4518: -- To arrange different cost groups in incresing order of On Hand quantities for each item
4519: --========================================================================================
4520:
4521: CST_PAC_ITERATION_PROCESS_PVT.Process_Optimal_Sequence(p_period_id => p_period_id);
4522:
4523: -- ====================================================================
4524: -- Absorption Cost Rollup Process
4525: -- ====================================================================
4563: -- Process Phase 5 for all Cost Groups
4564: -- ========================================================
4565:
4566: -- Set Phase 5 status to 2 - Running for all Cost Groups
4567: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4568: ,p_period_id => p_period_id
4569: ,p_period_end_date => p_end_date
4570: ,p_phase_status => 2
4571: );
4609: FND_MESSAGE.set_token('MESSAGE', 'CST_MGD_LIFO_COST_PROCESSOR.Lifo_Cost_Processor for cost group '||
4610: p_cg_tab(l_current_index).cost_group_id||' ('||l_error_code||') '||l_error_msg);
4611: FND_MSG_PUB.Add;
4612: -- Set Phase 5 status to Error
4613: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4614: ,p_period_id => p_period_id
4615: ,p_period_end_date => p_end_date
4616: ,p_phase_status => 3
4617: );
4661: FND_MESSAGE.set_token('MESSAGE', 'CSTPPWCL.process_wip_close_txns for cost group '||
4662: p_cg_tab(l_current_index).cost_group_id||' ('||l_error_code||') '||l_error_msg);
4663: FND_MSG_PUB.Add;
4664: -- Set Phase 5 status to Error
4665: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4666: ,p_period_id => p_period_id
4667: ,p_period_end_date => p_end_date
4668: ,p_phase_status => 3
4669: );
4677:
4678: END LOOP;
4679:
4680: -- Set Phase 5 completion for all cost groups
4681: CST_PAC_ITERATION_PROCESS_PVT.Set_Phase5_Status(p_legal_entity_id => p_legal_entity
4682: ,p_period_id => p_period_id
4683: ,p_period_end_date => p_end_date
4684: ,p_phase_status => 4
4685: );