[Home] [Help]
169: l_req_line_details_tbl csp_parts_requirement.Line_detail_Tbl_Type;
170: j NUMBER;
171:
172: --Record types and tbl types for finding availability of parts
173: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
174: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
175: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
176: l_resource_rec csp_sch_int_pvt.csp_sch_resources_rec_typ;
177: l_req_line_Dtl_id NUMBER;
170: j NUMBER;
171:
172: --Record types and tbl types for finding availability of parts
173: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
174: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
175: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
176: l_resource_rec csp_sch_int_pvt.csp_sch_resources_rec_typ;
177: l_req_line_Dtl_id NUMBER;
178: l_timezone_id NUMBER;
171:
172: --Record types and tbl types for finding availability of parts
173: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
174: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
175: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
176: l_resource_rec csp_sch_int_pvt.csp_sch_resources_rec_typ;
177: l_req_line_Dtl_id NUMBER;
178: l_timezone_id NUMBER;
179:
172: --Record types and tbl types for finding availability of parts
173: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
174: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
175: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
176: l_resource_rec csp_sch_int_pvt.csp_sch_resources_rec_typ;
177: l_req_line_Dtl_id NUMBER;
178: l_timezone_id NUMBER;
179:
180: CURSOR rs_loc_cur(p_resource_type VARCHAR2, p_resource_id NUMBER) IS
262: END LOOP;
263: IF l_parts_list_tbl.count > 0 THEN
264:
265: IF sysdate < l_header_rec.need_by_date THEN
266: -- call csp_sch_int_pvt.check_parts_availability()
267: csp_sch_int_pvt.check_parts_availability(
268: p_resource => l_resource_rec,
269: p_organization_id => l_header_rec.dest_organization_id,
270: p_subinv_code => null,
263: IF l_parts_list_tbl.count > 0 THEN
264:
265: IF sysdate < l_header_rec.need_by_date THEN
266: -- call csp_sch_int_pvt.check_parts_availability()
267: csp_sch_int_pvt.check_parts_availability(
268: p_resource => l_resource_rec,
269: p_organization_id => l_header_rec.dest_organization_id,
270: p_subinv_code => null,
271: p_need_by_date => l_header_rec.need_by_date,
821: l_resource_att NUMBER := 0;
822: l_resource_onhand NUMBER := 0;
823: l_resource_org_id NUMBER;
824: l_resource_subinv VARCHAR2(30);
825: l_reservation_rec CSP_SCH_INT_PVT.RESERVATION_REC_TYP;
826: l_local_reservation_id NUMBER;
827:
828: l_rqmt_line_Rec csp_requirement_lines_pvt.requirement_line_rec_type;
829: l_rqmt_line_Tbl csp_requirement_lines_pvt.requirement_line_tbl_type;
882:
883: l_qty_to_Reserve := l_line_Rec.quantity - l_line_rec.ordered_quantity;
884:
885: IF (l_resource_org_id IS NOT NULL AND l_resource_subinv IS NOT NULL) THEN
886: csp_sch_int_pvt.check_local_inventory(p_org_id => l_resource_org_id,
887: p_subinv_code => l_resource_subinv,
888: p_item_id => l_line_rec.inventory_item_id,
889: p_revision => l_line_Rec.revision,
890: x_att => l_resource_att,
907: l_reservation_rec.item_uom_code := l_line_rec.unit_of_measure;
908: l_reservation_rec.quantity_needed := l_qty_to_reserve;
909: l_reservation_rec.sub_inventory_code := l_resource_subinv;
910:
911: l_local_reservation_id := csp_sch_int_pvt.create_reservation(
912: p_reservation_parts => l_reservation_rec,
913: x_return_status => l_return_status,
914: --x_msg_count => l_msg_Count,
915: x_msg_data => l_msg_data
1156: l_oe_line_rec Line_rec_type;
1157: l_po_line_tbl Line_Tbl_type;
1158: l_po_line_Rec Line_Rec_Type;
1159:
1160: l_reservation_rec CSP_SCH_INT_PVT.RESERVATION_REC_TYP;
1161: l_reservation_id NUMBER;
1162:
1163: l_req_line_dtl_id NUMBER;
1164:
1297: l_reservation_rec.item_uom_code := l_line_rec.unit_of_measure;
1298: l_reservation_rec.quantity_needed := l_line_rec.ordered_quantity;
1299: l_reservation_rec.sub_inventory_code := l_line_rec.source_subinventory;
1300:
1301: l_reservation_id := csp_sch_int_pvt.create_reservation(
1302: p_reservation_parts => l_reservation_rec,
1303: x_return_status => l_return_status,
1304: x_msg_data => l_msg_data
1305: );
2125: l_line_rec csp_parts_requirement.line_rec_type;
2126: l_line_tbl csp_parts_Requirement.line_Tbl_type;
2127: l_rqmt_line_Tbl csp_requirement_lines_pvt.requirement_line_tbl_type;
2128: EXCP_USER_DEFINED EXCEPTION;
2129: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
2130: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
2131: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
2132: I NUMBER;
2133: J NUMBER;
2126: l_line_tbl csp_parts_Requirement.line_Tbl_type;
2127: l_rqmt_line_Tbl csp_requirement_lines_pvt.requirement_line_tbl_type;
2128: EXCP_USER_DEFINED EXCEPTION;
2129: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
2130: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
2131: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
2132: I NUMBER;
2133: J NUMBER;
2134: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2127: l_rqmt_line_Tbl csp_requirement_lines_pvt.requirement_line_tbl_type;
2128: EXCP_USER_DEFINED EXCEPTION;
2129: l_parts_list_rec csp_sch_int_pvt.csp_parts_rec_type;
2130: l_parts_list_tbl csp_sch_int_pvt.csp_parts_tbl_typ1;
2131: l_avail_list_tbl csp_sch_int_pvt.available_parts_tbl_typ1;
2132: I NUMBER;
2133: J NUMBER;
2134: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2135: l_msg_count NUMBER;
2216: END LOOP;
2217:
2218: IF (l_parts_list_Tbl.count > 0) THEN
2219: FND_MSG_PUB.initialize;
2220: -- call csp_sch_int_pvt.check_parts_availability()
2221: csp_sch_int_pvt.check_parts_availability(
2222: p_resource => null,
2223: p_organization_id => l_header_rec.dest_organization_id,
2224: p_subinv_code => l_header_rec.dest_subinventory,
2217:
2218: IF (l_parts_list_Tbl.count > 0) THEN
2219: FND_MSG_PUB.initialize;
2220: -- call csp_sch_int_pvt.check_parts_availability()
2221: csp_sch_int_pvt.check_parts_availability(
2222: p_resource => null,
2223: p_organization_id => l_header_rec.dest_organization_id,
2224: p_subinv_code => l_header_rec.dest_subinventory,
2225: p_need_by_date => l_header_rec.need_by_date,
2858: AND oel.booked_flag = 'N'
2859: AND oel.cancelled_flag = 'N'
2860: AND oel.open_flag = 'Y';
2861:
2862: l_sch_option CSP_SCH_INT_PVT.csp_sch_options_rec_typ;
2863: l_booking_start_date date;
2864: l_partial_line number;
2865: l_fl_rcvd_lines number;
2866: l_fl_rcvd_multi_source number;
3076: AND organization_id = l_dest_org_id
3077: AND subinventory_code = l_dest_subinv;
3078:
3079: if l_res_same_org > 0 then
3080: CSP_SCH_INT_PVT.CANCEL_RESERVATION(l_source_id, x_return_status, x_msg_data, x_msg_count);
3081: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3082: rollback to csp_correct_req_record;
3083: FND_MESSAGE.SET_NAME('CSP', 'CSP_MAN_NOT_CANCEL_RESERV');
3084: FND_MESSAGE.SET_TOKEN('REQ_NUM', l_rqmt_header_id, TRUE);
3096:
3097: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3098: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3099: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3100: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3101: end if;
3102: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3103: p_api_version_number => 1.0,
3104: p_task_id => l_task_id,
3098: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3099: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3100: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3101: end if;
3102: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3103: p_api_version_number => 1.0,
3104: p_task_id => l_task_id,
3105: p_task_assignment_id => l_task_assignment_id,
3106: p_likelihood => 0,
3114: );
3115: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3116: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3117: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3118: 'after calling CSP_SCH_INT_PVT.CHOOSE_OPTION...x_return_status=' || x_return_status);
3119: end if;
3120:
3121: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3122: -- now try to find the part in warehouse
3122: -- now try to find the part in warehouse
3123: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3124: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3125: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3126: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3127: end if;
3128: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3129: p_api_version_number => 1.0,
3130: p_task_id => l_task_id,
3124: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3125: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3126: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3127: end if;
3128: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3129: p_api_version_number => 1.0,
3130: p_task_id => l_task_id,
3131: p_task_assignment_id => l_task_assignment_id,
3132: p_likelihood => 0,
3140: );
3141: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3142: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
3143: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
3144: 'after calling CSP_SCH_INT_PVT.CHOOSE_OPTION...x_return_status=' || x_return_status);
3145: end if;
3146: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3147: rollback to csp_correct_req_record;
3148: raise EXCP_USER_DEFINED;
3471: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3472: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3473: 'before calling move_parts_on_reassign...');
3474: end if;
3475: CSP_SCH_INT_PVT.move_parts_on_reassign(
3476: p_task_id => l_task_id,
3477: p_task_asgn_id => l_Task_Assignment_id,
3478: p_new_task_asgn_id => l_Task_Assignment_id,
3479: p_new_need_by_date => l_booking_start_date,
3746: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3747: 'before making call to CLEAN_REQUIREMENT...');
3748: end if;
3749:
3750: CSP_SCH_INT_PVT.CLEAN_REQUIREMENT(
3751: p_api_version_number => 1.0,
3752: p_task_assignment_id => l_Task_Assignment_id,
3753: x_return_status => x_return_status,
3754: x_msg_count => x_msg_count,
3768: l_sch_option.transfer_cost := 9999999; --- this should be a high number to avoid cost check in choose option
3769:
3770: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3771: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3772: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3773: end if;
3774: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3775: p_api_version_number => 1.0,
3776: p_task_id => l_task_id,
3770: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3771: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3772: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3773: end if;
3774: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3775: p_api_version_number => 1.0,
3776: p_task_id => l_task_id,
3777: p_task_assignment_id => l_task_assignment_id,
3778: p_likelihood => 0,
3785: x_msg_count => x_msg_count
3786: );
3787: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3788: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3789: 'after calling CSP_SCH_INT_PVT.CHOOSE_OPTION...x_return_status=' || x_return_status);
3790: end if;
3791:
3792: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3793: -- now try to find the part in warehouse
3792: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3793: -- now try to find the part in warehouse
3794: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3795: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3796: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3797: end if;
3798: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3799: p_api_version_number => 1.0,
3800: p_task_id => l_task_id,
3794: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3795: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3796: 'before calling CSP_SCH_INT_PVT.CHOOSE_OPTION...');
3797: end if;
3798: CSP_SCH_INT_PVT.CHOOSE_OPTION(
3799: p_api_version_number => 1.0,
3800: p_task_id => l_task_id,
3801: p_task_assignment_id => l_task_assignment_id,
3802: p_likelihood => 0,
3809: x_msg_count => x_msg_count
3810: );
3811: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
3812: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_module,
3813: 'after calling CSP_SCH_INT_PVT.CHOOSE_OPTION...x_return_status=' || x_return_status);
3814: end if;
3815: if x_return_status <> FND_API.G_RET_STS_SUCCESS then
3816: FND_MSG_PUB.initialize;
3817: l_resource_name := csp_pick_utils.get_object_name(l_resource_type_code, l_resource_id);
4060:
4061: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
4062: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
4063: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
4064: 'before calling CSP_SCH_INT_PVT.CLEAN_REQUIREMENT...');
4065: end if;
4066:
4067: CSP_SCH_INT_PVT.CLEAN_REQUIREMENT(
4068: p_api_version_number => 1.0,
4063: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
4064: 'before calling CSP_SCH_INT_PVT.CLEAN_REQUIREMENT...');
4065: end if;
4066:
4067: CSP_SCH_INT_PVT.CLEAN_REQUIREMENT(
4068: p_api_version_number => 1.0,
4069: p_task_assignment_id => l_task_assignment_id,
4070: x_return_status => x_return_status,
4071: x_msg_count => x_msg_count,
4074:
4075: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
4076: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
4077: 'csp.plsql.CSP_PARTS_REQUIREMENT.TASK_ASSIGNMENT_POST_UPDATE',
4078: 'after calling CSP_SCH_INT_PVT.CLEAN_REQUIREMENT... x_return_status = ' || x_return_status);
4079: end if;
4080:
4081: if x_return_status = 'C' then
4082: -- bug # 16028705
4528: l_task_id := JTF_TASK_ASSIGNMENTS_PUB.p_task_assignments_user_hooks.task_id;
4529:
4530: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
4531: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4532: 'before calling CSP_SCH_INT_PVT.CLEAN_REQUIREMENT...');
4533: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4534: 'l_task_assignment_id=' || l_task_assignment_id);
4535: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4536: 'l_task_id=' || l_task_id);
4535: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4536: 'l_task_id=' || l_task_id);
4537: end if;
4538:
4539: CSP_SCH_INT_PVT.CLEAN_REQUIREMENT(
4540: p_api_version_number => 1.0,
4541: p_task_assignment_id => l_task_assignment_id,
4542: x_return_status => x_return_status,
4543: x_msg_count => x_msg_count,
4572: end if;
4573:
4574: if(FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
4575: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4576: 'after calling CSP_SCH_INT_PVT.CLEAN_REQUIREMENT... x_return_status = ' || x_return_status);
4577: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_log_module,
4578: 'done ...');
4579: end if;
4580: END;