120:
121:
122: Procedure process_part (
123: P_API_Version In Number:= 1.0,
124: P_Init_Msg_List In Varchar2:= Fnd_API.G_False,
125: P_Commit In Varchar2:= Fnd_API.G_False,
126: P_Validation_Level In Number:= Fnd_API.G_Valid_Level_Full,
127: p_module_type In VarChar2 := NULL,
128: p_default In Varchar2 := FND_API.G_TRUE,
121:
122: Procedure process_part (
123: P_API_Version In Number:= 1.0,
124: P_Init_Msg_List In Varchar2:= Fnd_API.G_False,
125: P_Commit In Varchar2:= Fnd_API.G_False,
126: P_Validation_Level In Number:= Fnd_API.G_Valid_Level_Full,
127: p_module_type In VarChar2 := NULL,
128: p_default In Varchar2 := FND_API.G_TRUE,
129: p_x_parts_rec_tbl In Out NOCOPY Ahl_Parts_tbl_type,
122: Procedure process_part (
123: P_API_Version In Number:= 1.0,
124: P_Init_Msg_List In Varchar2:= Fnd_API.G_False,
125: P_Commit In Varchar2:= Fnd_API.G_False,
126: P_Validation_Level In Number:= Fnd_API.G_Valid_Level_Full,
127: p_module_type In VarChar2 := NULL,
128: p_default In Varchar2 := FND_API.G_TRUE,
129: p_x_parts_rec_tbl In Out NOCOPY Ahl_Parts_tbl_type,
130: X_Error_Code Out NOCOPY Varchar2,
124: P_Init_Msg_List In Varchar2:= Fnd_API.G_False,
125: P_Commit In Varchar2:= Fnd_API.G_False,
126: P_Validation_Level In Number:= Fnd_API.G_Valid_Level_Full,
127: p_module_type In VarChar2 := NULL,
128: p_default In Varchar2 := FND_API.G_TRUE,
129: p_x_parts_rec_tbl In Out NOCOPY Ahl_Parts_tbl_type,
130: X_Error_Code Out NOCOPY Varchar2,
131: X_Return_Status Out NOCOPY Varchar2,
132: X_Msg_Count Out NOCOPY Number,
166: -- Standard start of API savepoint
167: Savepoint perform_part_changes_pvt;
168:
169: -- Standard call to check for call compatibility
170: IF NOT FND_API.Compatible_API_Call(l_api_version,
171: p_api_version,
172: l_api_name,
173: G_PKG_NAME) THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
170: IF NOT FND_API.Compatible_API_Call(l_api_version,
171: p_api_version,
172: l_api_name,
173: G_PKG_NAME) THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
177: -- Initialize message list if p_init_msg_list is set to TRUE
178: IF FND_API.To_Boolean(p_init_msg_list) THEN
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
175: END IF;
176:
177: -- Initialize message list if p_init_msg_list is set to TRUE
178: IF FND_API.To_Boolean(p_init_msg_list) THEN
179: FND_MSG_PUB.Initialize;
180: END IF;
181:
182: -- Initialize API return status to success
179: FND_MSG_PUB.Initialize;
180: END IF;
181:
182: -- Initialize API return status to success
183: x_return_status := FND_API.G_RET_STS_SUCCESS;
184:
185: -- Enable Debug.
186: IF G_DEBUG = 'Y' THEN
187: AHL_DEBUG_PUB.enable_debug;
247: END IF;
248: -- Part change operations are not allowed for a Component Visit.
249: FND_MESSAGE.Set_Name('AHL', 'AHL_CMP_PART_CNG_INVLD');
250: FND_MSG_PUB.ADD;
251: RAISE FND_API.G_EXC_ERROR;
252: END IF;
253: CLOSE chk_comp_visit_csr;
254: -- SATHAPLI::Component Maintenance Planning Project, 14-Nov-2011, end
255:
274:
275: -- Check Error Message stack.
276: l_msg_count := FND_MSG_PUB.count_msg;
277: IF l_msg_count > 0 THEN
278: RAISE FND_API.G_EXC_ERROR;
279: END IF;
280:
281: -- dbms_output.put_line('After convert_value_to_id');
282: IF G_DEBUG = 'Y' THEN
293: -- Check Error Message stack.
294: l_msg_count := FND_MSG_PUB.count_msg;
295:
296: IF l_msg_count > 0 THEN
297: RAISE FND_API.G_EXC_ERROR;
298: END IF;
299:
300: ------**************Get csi_transaction_rec.
301: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
298: END IF;
299:
300: ------**************Get csi_transaction_rec.
301: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
302: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
303: RAISE FND_API.G_EXC_ERROR;
304: END IF;
305:
306: -- Check if config_header_id was provided. If not check if unit_config_name exists.
299:
300: ------**************Get csi_transaction_rec.
301: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
302: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
303: RAISE FND_API.G_EXC_ERROR;
304: END IF;
305:
306: -- Check if config_header_id was provided. If not check if unit_config_name exists.
307: -- If yes then perform UC processing else do IB processing
340:
341: END IF; -- if l_uc_processing
342:
343: -- error checking after UC or IB processing
344: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
345: RAISE FND_API.G_EXC_ERROR;
346: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348: END IF;
341: END IF; -- if l_uc_processing
342:
343: -- error checking after UC or IB processing
344: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
345: RAISE FND_API.G_EXC_ERROR;
346: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348: END IF;
349:
342:
343: -- error checking after UC or IB processing
344: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
345: RAISE FND_API.G_EXC_ERROR;
346: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348: END IF;
349:
350:
343: -- error checking after UC or IB processing
344: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
345: RAISE FND_API.G_EXC_ERROR;
346: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
348: END IF;
349:
350:
351: ---*********** Update item location to WIP if operation is remove or swap***********---
355: update_item_location(
356: p_x_parts_rec => p_x_parts_rec_tbl(i),
357: p_x_csi_transaction_rec => l_csi_transaction_rec,
358: x_return_status => x_return_status);
359: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
360: RAISE FND_API.G_EXC_ERROR;
361:
362:
363:
356: p_x_parts_rec => p_x_parts_rec_tbl(i),
357: p_x_csi_transaction_rec => l_csi_transaction_rec,
358: x_return_status => x_return_status);
359: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
360: RAISE FND_API.G_EXC_ERROR;
361:
362:
363:
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
360: RAISE FND_API.G_EXC_ERROR;
361:
362:
363:
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
366: END IF;
367:
368: END IF;*/
361:
362:
363:
364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
366: END IF;
367:
368: END IF;*/
369:
382: p_x_parts_rec => p_x_parts_rec_tbl(i),
383: p_module_type => p_module_type,
384: x_return_status => x_return_status);
385:
386: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
387: RAISE FND_API.G_EXC_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390: END IF;
383: p_module_type => p_module_type,
384: x_return_status => x_return_status);
385:
386: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
387: RAISE FND_API.G_EXC_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390: END IF;
391: END IF;
384: x_return_status => x_return_status);
385:
386: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
387: RAISE FND_API.G_EXC_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390: END IF;
391: END IF;
392: */
385:
386: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
387: RAISE FND_API.G_EXC_ERROR;
388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
390: END IF;
391: END IF;
392: */
393:
488: p_x_parts_rec_tbl => p_x_parts_rec_tbl,
489: p_module_type => p_module_type,
490: x_return_status => x_return_status);
491:
492: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
493: RAISE FND_API.G_EXC_ERROR;
494: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
496: END IF;
489: p_module_type => p_module_type,
490: x_return_status => x_return_status);
491:
492: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
493: RAISE FND_API.G_EXC_ERROR;
494: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
496: END IF;
497:
490: x_return_status => x_return_status);
491:
492: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
493: RAISE FND_API.G_EXC_ERROR;
494: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
496: END IF;
497:
498: */
491:
492: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
493: RAISE FND_API.G_EXC_ERROR;
494: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
496: END IF;
497:
498: */
499:
497:
498: */
499:
500: -- Standard check of p_commit
501: IF FND_API.To_Boolean(p_commit) THEN
502: COMMIT WORK;
503: END IF;
504:
505: -- Initialize API return status to success
502: COMMIT WORK;
503: END IF;
504:
505: -- Initialize API return status to success
506: x_return_status := FND_API.G_RET_STS_SUCCESS;
507:
508: IF G_DEBUG = 'Y' THEN
509: AHL_DEBUG_PUB.debug('Completed Processing. Checking for errors', '');
510: END IF;
512: -- Standard call to get message count and if count is 1, get message
513: FND_MSG_PUB.Count_And_Get
514: ( p_count => x_msg_count,
515: p_data => x_msg_data,
516: p_encoded => fnd_api.g_false);
517:
518: -- Disable debug (if enabled)
519: IF G_DEBUG = 'Y' THEN
520: AHL_DEBUG_PUB.disable_debug;
520: AHL_DEBUG_PUB.disable_debug;
521: END IF;
522:
523: EXCEPTION
524: WHEN FND_API.G_EXC_ERROR THEN
525: x_return_status := FND_API.G_RET_STS_ERROR;
526: Rollback to perform_part_changes_pvt;
527: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
528: p_data => x_msg_data,
521: END IF;
522:
523: EXCEPTION
524: WHEN FND_API.G_EXC_ERROR THEN
525: x_return_status := FND_API.G_RET_STS_ERROR;
526: Rollback to perform_part_changes_pvt;
527: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
528: p_data => x_msg_data,
529: p_encoded => fnd_api.g_false);
525: x_return_status := FND_API.G_RET_STS_ERROR;
526: Rollback to perform_part_changes_pvt;
527: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
528: p_data => x_msg_data,
529: p_encoded => fnd_api.g_false);
530: -- Disable debug
531: IF G_DEBUG = 'Y' THEN
532: AHL_DEBUG_PUB.disable_debug;
533: END IF;
532: AHL_DEBUG_PUB.disable_debug;
533: END IF;
534:
535:
536: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
537: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
538: Rollback to perform_part_changes_pvt;
539: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
540: p_data => x_msg_data,
533: END IF;
534:
535:
536: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
537: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
538: Rollback to perform_part_changes_pvt;
539: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
540: p_data => x_msg_data,
541: p_encoded => fnd_api.g_false);
537: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
538: Rollback to perform_part_changes_pvt;
539: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
540: p_data => x_msg_data,
541: p_encoded => fnd_api.g_false);
542: -- Disable debug
543: IF G_DEBUG = 'Y' THEN
544: AHL_DEBUG_PUB.disable_debug;
545: END IF;
543: IF G_DEBUG = 'Y' THEN
544: AHL_DEBUG_PUB.disable_debug;
545: END IF;
546: WHEN OTHERS THEN
547: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
548: Rollback to perform_part_changes_pvt;
549: --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
550: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
551: p_procedure_name => 'process_parts',
552: p_error_text => SQLERRM);
553: --END IF;
554: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
555: p_data => x_msg_data,
556: p_encoded => fnd_api.g_false);
557:
558: -- Disable debug
559: IF G_DEBUG = 'Y' THEN
560: AHL_DEBUG_PUB.disable_debug;
674:
675: BEGIN
676:
677: -- Initialize API return status to success
678: x_return_status := FND_API.G_RET_STS_SUCCESS;
679:
680:
681:
682: --********Test that the workorder_id is not null -----
679:
680:
681:
682: --********Test that the workorder_id is not null -----
683: IF ( p_x_parts_rec.workorder_id is null or p_x_parts_rec.workorder_id =FND_API.G_MISS_NUM) then
684:
685: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_WO_ID_MISSIN');
686: FND_MSG_PUB.ADD;
687: RAISE FND_API.G_EXC_ERROR;
683: IF ( p_x_parts_rec.workorder_id is null or p_x_parts_rec.workorder_id =FND_API.G_MISS_NUM) then
684:
685: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_WO_ID_MISSIN');
686: FND_MSG_PUB.ADD;
687: RAISE FND_API.G_EXC_ERROR;
688: END IF;
689:
690: --rroy
691: -- ACL Changes
692: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => p_x_parts_rec.workorder_id,
693: p_ue_id => NULL,
694: p_visit_id => NULL,
695: p_item_instance_id => NULL);
696: IF l_return_status = FND_API.G_TRUE THEN
697: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_PRTCHG_UNTLCKD');
698: FND_MSG_PUB.ADD;
699: RAISE FND_API.G_EXC_ERROR;
700: END IF;
695: p_item_instance_id => NULL);
696: IF l_return_status = FND_API.G_TRUE THEN
697: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_PRTCHG_UNTLCKD');
698: FND_MSG_PUB.ADD;
699: RAISE FND_API.G_EXC_ERROR;
700: END IF;
701:
702: --rroy
703: -- ACL Changes
705: --******** Test that operation type is not null -----
706: IF ( p_x_parts_rec.operation_type is null ) then
707: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_OP_TYPE_MISSIN');
708: FND_MSG_PUB.ADD;
709: RAISE FND_API.G_EXC_ERROR;
710: END IF;
711:
712: --*********** Operation Seq ********** -----
713: IF (p_x_parts_rec.operation_sequence_num is null ) then
714: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_INVALID_OPERATION');
715: FND_MESSAGE.Set_Token('OPSEQ', p_x_parts_rec.operation_sequence_num);
716: --FND_MESSAGE.Set_Token('WOID', p_x_parts_rec.workorder_id);
717: FND_MSG_PUB.ADD;
718: RAISE FND_API.G_EXC_ERROR;
719: END IF;
720:
721: --*********** Check that the operation sequence exists for the work order. ---
722: OPEN ahl_wo_oper_csr(p_x_parts_rec.workorder_id,p_x_parts_rec.operation_sequence_num );
728:
729: --FND_MESSAGE.Set_Token('WOID', p_x_parts_rec.workorder_id);
730: FND_MSG_PUB.ADD;
731: CLOSE ahl_wo_oper_csr;
732: RAISE FND_API.G_EXC_ERROR;
733: END IF;
734: CLOSE ahl_wo_oper_csr;
735:
736: -- Validate that the job is not closed.
740: CLOSE ahl_job_csr;
741: FND_MESSAGE.set_name('AHL', 'AHL_PRD_WO_INVALID');
742: FND_MESSAGE.set_token('WOID', p_x_parts_rec.workorder_id);
743: FND_MSG_PUB.ADD;
744: RAISE FND_API.G_EXC_ERROR;
745: END IF;
746: CLOSE ahl_job_csr;
747:
748: IF (l_junk <> '3' and l_junk <> '19') THEN
747:
748: IF (l_junk <> '3' and l_junk <> '19') THEN
749: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_JOB_CLOSED');
750: FND_MSG_PUB.ADD;
751: RAISE FND_API.G_EXC_ERROR;
752: END IF;
753:
754: -- To test pending transactions in WIP interface.
755: /*IF (AHL_WIP_JOB_PVT.wip_massload_pending(l_wip_entity_id)) THEN
752: END IF;
753:
754: -- To test pending transactions in WIP interface.
755: /*IF (AHL_WIP_JOB_PVT.wip_massload_pending(l_wip_entity_id)) THEN
756: RAISE FND_API.G_EXC_ERROR;
757: END IF;*/
758:
759: --Check if the UC header id is valid.
760: IF (p_x_parts_rec.Unit_Config_Header_Id is not null) then
765: CLOSE ahl_uc_header_csr;
766: FND_MESSAGE.set_name('AHL', 'AHL_PRD_UC_HEADER_INVALID');
767: FND_MESSAGE.set_token('UCID', p_x_parts_rec.unit_config_header_id);
768: FND_MSG_PUB.ADD;
769: RAISE FND_API.G_EXC_ERROR;
770: END IF;
771: END IF;
772:
773: --********* Position *************--
820: CLOSE ahl_location_type_csr;
821: IF l_junk is null then
822: FND_MESSAGE.Set_Name('AHL','AHL_PRD_INST_STATUS_INVALID');
823: FND_MSG_PUB.ADD;
824: --RAISE FND_API.G_EXC_ERROR;
825: END IF;
826: */
827: FETCH ahl_location_type_csr into l_inst_job_id, l_wip_job_name;
828: IF (ahl_location_type_csr%NOTFOUND) THEN
880: AHL_PRD_UTIL_PKG.validate_reason(
881: p_reason_id => p_x_parts_rec.removal_reason_id,
882: x_return_status => x_return_status,
883: x_msg_data => l_msg_data);
884: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
885: RAISE FND_API.G_EXC_ERROR;
886: END IF;
887:
888: END IF;
881: p_reason_id => p_x_parts_rec.removal_reason_id,
882: x_return_status => x_return_status,
883: x_msg_data => l_msg_data);
884: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
885: RAISE FND_API.G_EXC_ERROR;
886: END IF;
887:
888: END IF;
889:
904: AHL_PRD_UTIL_PKG.validate_condition(
905: p_condition_id => p_x_parts_rec.condition_id ,
906: x_return_status => x_return_status,
907: x_msg_data => l_msg_data );
908: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
909: RAISE FND_API.G_EXC_ERROR;
910: END IF;
911: END IF;
912:
905: p_condition_id => p_x_parts_rec.condition_id ,
906: x_return_status => x_return_status,
907: x_msg_data => l_msg_data );
908: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
909: RAISE FND_API.G_EXC_ERROR;
910: END IF;
911: END IF;
912:
913: */
957: CLOSE ahl_visit_csr;
958: IF l_junk = 'CLOSED' THEN
959: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_VISIT_INVALID');
960: FND_MSG_PUB.ADD;
961: RAISE FND_API.G_EXC_ERROR;
962: END IF;
963: END IF;
964: -- dbms_output.put_line('target viist id is valid');
965: END IF;--end sr validation
981: p_Subinventory_Code => p_x_parts_rec.subinventory_code,
982: p_Condition_id => p_x_parts_rec.condition_id,
983: x_return_status => x_return_status);
984:
985: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
986: RAISE FND_API.G_EXC_ERROR;
987: END IF;
988:
989: -- The following procedure call will decide if a qa plan is atatched.
982: p_Condition_id => p_x_parts_rec.condition_id,
983: x_return_status => x_return_status);
984:
985: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
986: RAISE FND_API.G_EXC_ERROR;
987: END IF;
988:
989: -- The following procedure call will decide if a qa plan is atatched.
990: AHL_QA_RESULTS_PVT.get_qa_plan(
988:
989: -- The following procedure call will decide if a qa plan is atatched.
990: AHL_QA_RESULTS_PVT.get_qa_plan(
991: p_api_version => '1.0',
992: p_init_msg_list => FND_API.G_False,
993: p_commit => FND_API.G_FALSE,
994: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
995: p_default => FND_API.G_FALSE,
996: --p_module_type => p_module_type,
989: -- The following procedure call will decide if a qa plan is atatched.
990: AHL_QA_RESULTS_PVT.get_qa_plan(
991: p_api_version => '1.0',
992: p_init_msg_list => FND_API.G_False,
993: p_commit => FND_API.G_FALSE,
994: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
995: p_default => FND_API.G_FALSE,
996: --p_module_type => p_module_type,
997: p_organization_id => l_org_id,
990: AHL_QA_RESULTS_PVT.get_qa_plan(
991: p_api_version => '1.0',
992: p_init_msg_list => FND_API.G_False,
993: p_commit => FND_API.G_FALSE,
994: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
995: p_default => FND_API.G_FALSE,
996: --p_module_type => p_module_type,
997: p_organization_id => l_org_id,
998: p_transaction_number => 2004,
991: p_api_version => '1.0',
992: p_init_msg_list => FND_API.G_False,
993: p_commit => FND_API.G_FALSE,
994: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
995: p_default => FND_API.G_FALSE,
996: --p_module_type => p_module_type,
997: p_organization_id => l_org_id,
998: p_transaction_number => 2004,
999: p_col_trigger_value => fnd_profile.value('AHL_MRB_DISP_PLAN_TYPE'),
1008: and p_x_parts_rec.collection_id is null)
1009: THEN
1010: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_COLLECT_ID_MISSIN');
1011: FND_MSG_PUB.ADD;
1012: RAISE FND_API.G_EXC_ERROR;
1013: END IF;
1014:
1015: END IF; -- operation type.
1016: END IF; -- sub-inventory null.
1039: p_org_id => l_org_id,
1040: p_subinventory_code => p_x_parts_rec.subinventory_code,
1041: X_Return_Status => x_return_status,
1042: x_msg_data => l_msg_data);
1043: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1044: RAISE FND_API.G_EXC_ERROR;
1045: END IF;
1046: END IF;
1047:
1040: p_subinventory_code => p_x_parts_rec.subinventory_code,
1041: X_Return_Status => x_return_status,
1042: x_msg_data => l_msg_data);
1043: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1044: RAISE FND_API.G_EXC_ERROR;
1045: END IF;
1046: END IF;
1047:
1048: */
1047:
1048: */
1049:
1050: --***********Removal Date *************--
1051: IF (p_x_parts_rec.Removal_date is null or p_x_parts_rec.Removal_date = FND_API.G_MISS_DATE) THEN
1052:
1053: p_x_parts_rec.Removal_date := sysdate;
1054: ELSIF (trunc(p_x_parts_rec.Removal_date) > trunc(sysdate)) THEN
1055: FND_MESSAGE.Set_Name('AHL','AHL_PRD_REMOVAL_DATE_INVALID');
1059:
1060:
1061:
1062: --***********Default Installation Date is null *************--
1063: IF (p_x_parts_rec.Installation_Date is null OR p_x_parts_rec.Installation_Date = FND_API.G_MISS_DATE) THEN
1064:
1065: p_x_parts_rec.Installation_Date := sysdate;
1066: END IF;
1067:
1107:
1108: END IF;
1109:
1110: EXCEPTION
1111: WHEN FND_API.G_EXC_ERROR THEN
1112: x_return_status := FND_API.G_RET_STS_ERROR;
1113: WHEN NO_DATA_FOUND THEN
1114: x_return_status := FND_API.G_RET_STS_ERROR;
1115: -- dbms_output.put_line('No data found');
1108: END IF;
1109:
1110: EXCEPTION
1111: WHEN FND_API.G_EXC_ERROR THEN
1112: x_return_status := FND_API.G_RET_STS_ERROR;
1113: WHEN NO_DATA_FOUND THEN
1114: x_return_status := FND_API.G_RET_STS_ERROR;
1115: -- dbms_output.put_line('No data found');
1116:
1110: EXCEPTION
1111: WHEN FND_API.G_EXC_ERROR THEN
1112: x_return_status := FND_API.G_RET_STS_ERROR;
1113: WHEN NO_DATA_FOUND THEN
1114: x_return_status := FND_API.G_RET_STS_ERROR;
1115: -- dbms_output.put_line('No data found');
1116:
1117:
1118: END Validate_Part_Record; -- validate_part_record
1374: BEGIN
1375:
1376: -- Initialize API return status to success
1377: FND_MSG_PUB.Initialize;
1378: x_return_status := FND_API.G_RET_STS_SUCCESS;
1379:
1380: l_item_instance_id := p_item_instance_id;
1381:
1382: IF p_workorder_id IS NOT NULL
1400: IF (l_unit_config_status_code = 'DRAFT') THEN
1401: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_UC_DRAFT');
1402: FND_MSG_PUB.ADD;
1403: CLOSE ahl_uc_name_csr;
1404: RAISE FND_API.G_EXC_ERROR;
1405: ELSIF ((p_validation_mode = 'PARTS_CHG') AND (l_active_uc_status_code <> 'APPROVED')) THEN
1406: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_UC_UNAPPROVED');
1407: FND_MSG_PUB.ADD;
1408: CLOSE ahl_uc_name_csr;
1405: ELSIF ((p_validation_mode = 'PARTS_CHG') AND (l_active_uc_status_code <> 'APPROVED')) THEN
1406: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_UC_UNAPPROVED');
1407: FND_MSG_PUB.ADD;
1408: CLOSE ahl_uc_name_csr;
1409: RAISE FND_API.G_EXC_ERROR;
1410: END IF;
1411: END IF;
1412: CLOSE ahl_uc_name_csr;
1413: END IF;
1418: IF (ahl_location_type_csr%NOTFOUND) THEN
1419: CLOSE ahl_location_type_csr;
1420: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_PC_INST_EXPIRED');
1421: FND_MSG_PUB.ADD;
1422: RAISE FND_API.G_EXC_ERROR;
1423: ELSE
1424: IF (l_location_type_code IN ('PO','IN-TRANSIT','PROJECT','INVENTORY')) THEN
1425: FND_MESSAGE.Set_Name('AHL','AHL_PRD_INST_STATUS_INVALID');
1426: FND_MESSAGE.Set_Token('STATUS',l_location_meaning);
1424: IF (l_location_type_code IN ('PO','IN-TRANSIT','PROJECT','INVENTORY')) THEN
1425: FND_MESSAGE.Set_Name('AHL','AHL_PRD_INST_STATUS_INVALID');
1426: FND_MESSAGE.Set_Token('STATUS',l_location_meaning);
1427: FND_MSG_PUB.ADD;
1428: RAISE FND_API.G_EXC_ERROR;
1429: END IF;
1430: END IF;
1431:
1432:
1431:
1432:
1433: EXCEPTION
1434: WHEN NO_DATA_FOUND THEN
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: x_return_status := FND_API.G_RET_STS_ERROR;
1439:
1433: EXCEPTION
1434: WHEN NO_DATA_FOUND THEN
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: x_return_status := FND_API.G_RET_STS_ERROR;
1439:
1440: WHEN OTHERS THEN
1441: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1434: WHEN NO_DATA_FOUND THEN
1435: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1436:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: x_return_status := FND_API.G_RET_STS_ERROR;
1439:
1440: WHEN OTHERS THEN
1441: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1442:
1437: WHEN FND_API.G_EXC_ERROR THEN
1438: x_return_status := FND_API.G_RET_STS_ERROR;
1439:
1440: WHEN OTHERS THEN
1441: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1442:
1443: END; -- procedure get_unit_config_information
1444: ------------------------------------------
1445:
1452: l_transaction_type_id number;
1453: l_return_val boolean;
1454:
1455: BEGIN
1456: x_return_status := FND_API.G_RET_STS_SUCCESS;
1457:
1458: -- csi transaction record.
1459: p_x_csi_transaction_rec.source_transaction_date := sysdate;
1460:
1461: -- get transaction_type_id .
1462: AHL_Util_UC_Pkg.GetCSI_Transaction_ID('UC_UPDATE',l_transaction_type_id, l_return_val);
1463:
1464: IF NOT(l_return_val) THEN
1465: x_return_status := FND_API.G_RET_STS_ERROR;
1466: END IF;
1467:
1468: -- use the transaction id from the header record.
1469: p_x_csi_transaction_rec.transaction_type_id := l_transaction_type_id;
1532: l_validate_rule_flag VARCHAR2(1);
1533:
1534: BEGIN
1535: IF(p_module_type = 'OAF') THEN
1536: l_validate_rule_flag := FND_API.G_FALSE;
1537: ELSE
1538: l_validate_rule_flag := FND_API.G_TRUE;
1539: END IF;
1540:
1534: BEGIN
1535: IF(p_module_type = 'OAF') THEN
1536: l_validate_rule_flag := FND_API.G_FALSE;
1537: ELSE
1538: l_validate_rule_flag := FND_API.G_TRUE;
1539: END IF;
1540:
1541: -- Initialize.
1542: x_path_position_id := p_x_parts_rec.mc_relationship_id;
1560: p_csi_item_instance_id => p_x_parts_rec.removed_instance_id,
1561: x_path_position_id => x_path_position_id);
1562:
1563:
1564: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1565: RAISE FND_API.G_EXC_ERROR;
1566: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568: END IF;
1561: x_path_position_id => x_path_position_id);
1562:
1563:
1564: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1565: RAISE FND_API.G_EXC_ERROR;
1566: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568: END IF;
1569: l_serialized := FND_API.G_FALSE;
1562:
1563:
1564: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1565: RAISE FND_API.G_EXC_ERROR;
1566: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568: END IF;
1569: l_serialized := FND_API.G_FALSE;
1570: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
1563:
1564: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1565: RAISE FND_API.G_EXC_ERROR;
1566: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568: END IF;
1569: l_serialized := FND_API.G_FALSE;
1570: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
1571: FETCH check_inst_nonserial INTO l_junk;
1565: RAISE FND_API.G_EXC_ERROR;
1566: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1568: END IF;
1569: l_serialized := FND_API.G_FALSE;
1570: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
1571: FETCH check_inst_nonserial INTO l_junk;
1572: IF(check_inst_nonserial%NOTFOUND)THEN
1573: l_serialized := FND_API.G_TRUE;
1569: l_serialized := FND_API.G_FALSE;
1570: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
1571: FETCH check_inst_nonserial INTO l_junk;
1572: IF(check_inst_nonserial%NOTFOUND)THEN
1573: l_serialized := FND_API.G_TRUE;
1574: END IF;
1575: CLOSE check_inst_nonserial;
1576:
1577: IF( l_serialized = FND_API.G_FALSE) THEN
1573: l_serialized := FND_API.G_TRUE;
1574: END IF;
1575: CLOSE check_inst_nonserial;
1576:
1577: IF( l_serialized = FND_API.G_FALSE) THEN
1578: OPEN get_curr_quantity_csr(p_x_parts_rec.Removed_Instance_Id);
1579: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
1580: CLOSE get_curr_quantity_csr;
1581: END IF;
1579: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
1580: CLOSE get_curr_quantity_csr;
1581: END IF;
1582: --Call remove_instance
1583: IF( l_serialized = FND_API.G_TRUE OR p_x_parts_rec.Removed_Quantity = l_curr_config_qty)THEN
1584: AHL_UC_INSTANCE_PVT.remove_instance(
1585: p_api_version => 1.0,
1586: p_init_msg_list => FND_API.G_TRUE,
1587: p_commit => FND_API.G_FALSE,
1582: --Call remove_instance
1583: IF( l_serialized = FND_API.G_TRUE OR p_x_parts_rec.Removed_Quantity = l_curr_config_qty)THEN
1584: AHL_UC_INSTANCE_PVT.remove_instance(
1585: p_api_version => 1.0,
1586: p_init_msg_list => FND_API.G_TRUE,
1587: p_commit => FND_API.G_FALSE,
1588: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1589: x_return_status => x_return_status,
1590: x_msg_count => l_msg_count,
1583: IF( l_serialized = FND_API.G_TRUE OR p_x_parts_rec.Removed_Quantity = l_curr_config_qty)THEN
1584: AHL_UC_INSTANCE_PVT.remove_instance(
1585: p_api_version => 1.0,
1586: p_init_msg_list => FND_API.G_TRUE,
1587: p_commit => FND_API.G_FALSE,
1588: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1589: x_return_status => x_return_status,
1590: x_msg_count => l_msg_count,
1591: x_msg_data => l_msg_data,
1584: AHL_UC_INSTANCE_PVT.remove_instance(
1585: p_api_version => 1.0,
1586: p_init_msg_list => FND_API.G_TRUE,
1587: p_commit => FND_API.G_FALSE,
1588: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1589: x_return_status => x_return_status,
1590: x_msg_count => l_msg_count,
1591: x_msg_data => l_msg_data,
1592: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1594: p_csi_ii_ovn => p_x_parts_rec.CSI_II_OBJECT_VERSION_NUM,
1595: p_prod_user_flag => 'Y');
1596:
1597:
1598: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1599: RAISE FND_API.G_EXC_ERROR;
1600: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1602: END IF;
1595: p_prod_user_flag => 'Y');
1596:
1597:
1598: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1599: RAISE FND_API.G_EXC_ERROR;
1600: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1602: END IF;
1603:
1596:
1597:
1598: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1599: RAISE FND_API.G_EXC_ERROR;
1600: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1602: END IF;
1603:
1604: update_item_location(
1597:
1598: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1599: RAISE FND_API.G_EXC_ERROR;
1600: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1602: END IF;
1603:
1604: update_item_location(
1605: p_x_parts_rec => p_x_parts_rec,
1604: update_item_location(
1605: p_x_parts_rec => p_x_parts_rec,
1606: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1607: x_return_status => x_return_status);
1608: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1609: RAISE FND_API.G_EXC_ERROR;
1610: END IF;
1611: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
1612: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
1605: p_x_parts_rec => p_x_parts_rec,
1606: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1607: x_return_status => x_return_status);
1608: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1609: RAISE FND_API.G_EXC_ERROR;
1610: END IF;
1611: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
1612: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
1613: l_move_item_instance_tbl(1).to_workorder_id := p_x_parts_rec.workorder_id;
1613: l_move_item_instance_tbl(1).to_workorder_id := p_x_parts_rec.workorder_id;
1614:
1615: move_instance_location(
1616: P_API_Version => 1.0,
1617: P_Init_Msg_List => Fnd_API.G_False,
1618: P_Commit => Fnd_API.G_False,
1619: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1620: p_module_type => 'API',
1621: p_default => FND_API.G_TRUE,
1614:
1615: move_instance_location(
1616: P_API_Version => 1.0,
1617: P_Init_Msg_List => Fnd_API.G_False,
1618: P_Commit => Fnd_API.G_False,
1619: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1620: p_module_type => 'API',
1621: p_default => FND_API.G_TRUE,
1622: p_move_item_instance_tbl => l_move_item_instance_tbl,
1615: move_instance_location(
1616: P_API_Version => 1.0,
1617: P_Init_Msg_List => Fnd_API.G_False,
1618: P_Commit => Fnd_API.G_False,
1619: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1620: p_module_type => 'API',
1621: p_default => FND_API.G_TRUE,
1622: p_move_item_instance_tbl => l_move_item_instance_tbl,
1623: x_return_status => x_return_status,
1617: P_Init_Msg_List => Fnd_API.G_False,
1618: P_Commit => Fnd_API.G_False,
1619: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1620: p_module_type => 'API',
1621: p_default => FND_API.G_TRUE,
1622: p_move_item_instance_tbl => l_move_item_instance_tbl,
1623: x_return_status => x_return_status,
1624: x_msg_count => l_msg_count,
1625: x_msg_data => l_msg_data);
1622: p_move_item_instance_tbl => l_move_item_instance_tbl,
1623: x_return_status => x_return_status,
1624: x_msg_count => l_msg_count,
1625: x_msg_data => l_msg_data);
1626: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1627: RAISE FND_API.G_EXC_ERROR;
1628: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1629: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1630: END IF;
1623: x_return_status => x_return_status,
1624: x_msg_count => l_msg_count,
1625: x_msg_data => l_msg_data);
1626: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1627: RAISE FND_API.G_EXC_ERROR;
1628: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1629: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1630: END IF;
1631: IF( l_serialized = FND_API.G_FALSE)THEN
1624: x_msg_count => l_msg_count,
1625: x_msg_data => l_msg_data);
1626: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1627: RAISE FND_API.G_EXC_ERROR;
1628: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1629: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1630: END IF;
1631: IF( l_serialized = FND_API.G_FALSE)THEN
1632: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
1625: x_msg_data => l_msg_data);
1626: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1627: RAISE FND_API.G_EXC_ERROR;
1628: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1629: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1630: END IF;
1631: IF( l_serialized = FND_API.G_FALSE)THEN
1632: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
1633: FETCH removal_instance_id INTO l_final_removed_inst_id;
1627: RAISE FND_API.G_EXC_ERROR;
1628: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1629: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1630: END IF;
1631: IF( l_serialized = FND_API.G_FALSE)THEN
1632: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
1633: FETCH removal_instance_id INTO l_final_removed_inst_id;
1634: IF(removal_instance_id%FOUND)THEN
1635: p_x_parts_rec.Removed_Instance_Id := l_final_removed_inst_id;
1644: ELSE -- non-serialized incomplete removal
1645:
1646: AHL_UC_INSTANCE_PVT.remove_instance(
1647: p_api_version => 1.0,
1648: p_init_msg_list => FND_API.G_TRUE,
1649: p_commit => FND_API.G_FALSE,
1650: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1651: x_return_status => x_return_status,
1652: x_msg_count => l_msg_count,
1645:
1646: AHL_UC_INSTANCE_PVT.remove_instance(
1647: p_api_version => 1.0,
1648: p_init_msg_list => FND_API.G_TRUE,
1649: p_commit => FND_API.G_FALSE,
1650: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1651: x_return_status => x_return_status,
1652: x_msg_count => l_msg_count,
1653: x_msg_data => l_msg_data,
1646: AHL_UC_INSTANCE_PVT.remove_instance(
1647: p_api_version => 1.0,
1648: p_init_msg_list => FND_API.G_TRUE,
1649: p_commit => FND_API.G_FALSE,
1650: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1651: x_return_status => x_return_status,
1652: x_msg_count => l_msg_count,
1653: x_msg_data => l_msg_data,
1654: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1656: p_csi_ii_ovn => p_x_parts_rec.CSI_II_OBJECT_VERSION_NUM,
1657: p_prod_user_flag => 'Y');
1658:
1659:
1660: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1661: RAISE FND_API.G_EXC_ERROR;
1662: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1664: END IF;
1657: p_prod_user_flag => 'Y');
1658:
1659:
1660: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1661: RAISE FND_API.G_EXC_ERROR;
1662: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1664: END IF;
1665:
1658:
1659:
1660: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1661: RAISE FND_API.G_EXC_ERROR;
1662: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1664: END IF;
1665:
1666: update_item_location(
1659:
1660: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1661: RAISE FND_API.G_EXC_ERROR;
1662: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1664: END IF;
1665:
1666: update_item_location(
1667: p_x_parts_rec => p_x_parts_rec,
1682: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1683: x_return_status => x_return_status
1684: );
1685:
1686: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1687: RAISE FND_API.G_EXC_ERROR;
1688: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1689: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1690: END IF;
1683: x_return_status => x_return_status
1684: );
1685:
1686: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1687: RAISE FND_API.G_EXC_ERROR;
1688: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1689: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1690: END IF;
1691: --create same instance with removed qty
1684: );
1685:
1686: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1687: RAISE FND_API.G_EXC_ERROR;
1688: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1689: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1690: END IF;
1691: --create same instance with removed qty
1692: create_similar_instance(
1685:
1686: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1687: RAISE FND_API.G_EXC_ERROR;
1688: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1689: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1690: END IF;
1691: --create same instance with removed qty
1692: create_similar_instance(
1693: p_source_instance_id => p_x_parts_rec.Removed_Instance_Id,
1696: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1697: x_dest_instance_id => l_dest_instance_id,
1698: x_return_status => x_return_status
1699: );
1700: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1701: RAISE FND_API.G_EXC_ERROR;
1702: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1704: END IF;
1697: x_dest_instance_id => l_dest_instance_id,
1698: x_return_status => x_return_status
1699: );
1700: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1701: RAISE FND_API.G_EXC_ERROR;
1702: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1704: END IF;
1705: --Call install_existing_instance
1698: x_return_status => x_return_status
1699: );
1700: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1701: RAISE FND_API.G_EXC_ERROR;
1702: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1704: END IF;
1705: --Call install_existing_instance
1706: AHL_UC_INSTANCE_PVT.install_existing_instance(
1699: );
1700: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1701: RAISE FND_API.G_EXC_ERROR;
1702: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1703: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1704: END IF;
1705: --Call install_existing_instance
1706: AHL_UC_INSTANCE_PVT.install_existing_instance(
1707: p_api_version => 1.0,
1704: END IF;
1705: --Call install_existing_instance
1706: AHL_UC_INSTANCE_PVT.install_existing_instance(
1707: p_api_version => 1.0,
1708: p_init_msg_list => FND_API.G_TRUE,
1709: p_commit => FND_API.G_FALSE,
1710: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1711: x_return_status => x_return_status,
1712: x_msg_count => l_msg_count,
1705: --Call install_existing_instance
1706: AHL_UC_INSTANCE_PVT.install_existing_instance(
1707: p_api_version => 1.0,
1708: p_init_msg_list => FND_API.G_TRUE,
1709: p_commit => FND_API.G_FALSE,
1710: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1711: x_return_status => x_return_status,
1712: x_msg_count => l_msg_count,
1713: x_msg_data => l_msg_data,
1706: AHL_UC_INSTANCE_PVT.install_existing_instance(
1707: p_api_version => 1.0,
1708: p_init_msg_list => FND_API.G_TRUE,
1709: p_commit => FND_API.G_FALSE,
1710: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1711: x_return_status => x_return_status,
1712: x_msg_count => l_msg_count,
1713: x_msg_data => l_msg_data,
1714: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1724: IF G_DEBUG = 'Y' THEN
1725: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.install_existing_instance.');
1726: END IF;
1727:
1728: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1729: RAISE FND_API.G_EXC_ERROR;
1730: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1731: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1732: END IF;
1725: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.install_existing_instance.');
1726: END IF;
1727:
1728: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1729: RAISE FND_API.G_EXC_ERROR;
1730: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1731: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1732: END IF;
1733:
1726: END IF;
1727:
1728: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1729: RAISE FND_API.G_EXC_ERROR;
1730: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1731: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1732: END IF;
1733:
1734: p_x_parts_rec.Removed_Instance_Id := l_dest_instance_id;
1727:
1728: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1729: RAISE FND_API.G_EXC_ERROR;
1730: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1731: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1732: END IF;
1733:
1734: p_x_parts_rec.Removed_Instance_Id := l_dest_instance_id;
1735: IF G_DEBUG = 'Y' THEN
1738: /*update_item_location(
1739: p_x_parts_rec => p_x_parts_rec,
1740: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1741: x_return_status => x_return_status);
1742: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1743: RAISE FND_API.G_EXC_ERROR;
1744: END IF;*/
1745:
1746: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
1739: p_x_parts_rec => p_x_parts_rec,
1740: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1741: x_return_status => x_return_status);
1742: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1743: RAISE FND_API.G_EXC_ERROR;
1744: END IF;*/
1745:
1746: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
1747: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
1750: AHL_DEBUG_PUB.debug('moving it');
1751: END IF;
1752: move_instance_location(
1753: P_API_Version => 1.0,
1754: P_Init_Msg_List => Fnd_API.G_False,
1755: P_Commit => Fnd_API.G_False,
1756: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1757: p_module_type => 'API',
1758: p_default => FND_API.G_TRUE,
1751: END IF;
1752: move_instance_location(
1753: P_API_Version => 1.0,
1754: P_Init_Msg_List => Fnd_API.G_False,
1755: P_Commit => Fnd_API.G_False,
1756: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1757: p_module_type => 'API',
1758: p_default => FND_API.G_TRUE,
1759: p_move_item_instance_tbl => l_move_item_instance_tbl,
1752: move_instance_location(
1753: P_API_Version => 1.0,
1754: P_Init_Msg_List => Fnd_API.G_False,
1755: P_Commit => Fnd_API.G_False,
1756: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1757: p_module_type => 'API',
1758: p_default => FND_API.G_TRUE,
1759: p_move_item_instance_tbl => l_move_item_instance_tbl,
1760: x_return_status => x_return_status,
1754: P_Init_Msg_List => Fnd_API.G_False,
1755: P_Commit => Fnd_API.G_False,
1756: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1757: p_module_type => 'API',
1758: p_default => FND_API.G_TRUE,
1759: p_move_item_instance_tbl => l_move_item_instance_tbl,
1760: x_return_status => x_return_status,
1761: x_msg_count => l_msg_count,
1762: x_msg_data => l_msg_data);
1759: p_move_item_instance_tbl => l_move_item_instance_tbl,
1760: x_return_status => x_return_status,
1761: x_msg_count => l_msg_count,
1762: x_msg_data => l_msg_data);
1763: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1764: RAISE FND_API.G_EXC_ERROR;
1765: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1760: x_return_status => x_return_status,
1761: x_msg_count => l_msg_count,
1762: x_msg_data => l_msg_data);
1763: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1764: RAISE FND_API.G_EXC_ERROR;
1765: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1768:
1761: x_msg_count => l_msg_count,
1762: x_msg_data => l_msg_data);
1763: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1764: RAISE FND_API.G_EXC_ERROR;
1765: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1768:
1769: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
1762: x_msg_data => l_msg_data);
1763: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1764: RAISE FND_API.G_EXC_ERROR;
1765: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1768:
1769: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
1770: FETCH removal_instance_id INTO l_final_removed_inst_id;
1785: IF G_DEBUG = 'Y' THEN
1786: AHL_DEBUG_PUB.debug('Before making a call to AHL_UC_INSTANCE_PVT.install_existing_instance.');
1787: END IF;
1788:
1789: l_serialized := FND_API.G_FALSE;
1790: OPEN check_inst_nonserial(p_x_parts_rec.Installed_Instance_Id);
1791: FETCH check_inst_nonserial INTO l_junk;
1792: IF(check_inst_nonserial%NOTFOUND)THEN
1793: l_serialized := FND_API.G_TRUE;
1789: l_serialized := FND_API.G_FALSE;
1790: OPEN check_inst_nonserial(p_x_parts_rec.Installed_Instance_Id);
1791: FETCH check_inst_nonserial INTO l_junk;
1792: IF(check_inst_nonserial%NOTFOUND)THEN
1793: l_serialized := FND_API.G_TRUE;
1794: END IF;
1795: CLOSE check_inst_nonserial;
1796:
1797: l_curr_config_qty := 0;
1794: END IF;
1795: CLOSE check_inst_nonserial;
1796:
1797: l_curr_config_qty := 0;
1798: IF( l_serialized = FND_API.G_FALSE AND p_x_parts_rec.Removed_Instance_Id IS NOT NULL) THEN
1799: OPEN get_curr_quantity_csr(p_x_parts_rec.Removed_Instance_Id);
1800: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
1801: CLOSE get_curr_quantity_csr;
1802: END IF;
1800: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
1801: CLOSE get_curr_quantity_csr;
1802: END IF;
1803:
1804: IF( l_serialized = FND_API.G_FALSE AND p_x_parts_rec.Installed_Instance_Id IS NOT NULL) THEN
1805: OPEN get_curr_quantity_csr(p_x_parts_rec.Installed_Instance_Id);
1806: FETCH get_curr_quantity_csr INTO l_curr_job_qty;
1807: CLOSE get_curr_quantity_csr;
1808: END IF;
1806: FETCH get_curr_quantity_csr INTO l_curr_job_qty;
1807: CLOSE get_curr_quantity_csr;
1808: END IF;
1809:
1810: IF( l_serialized = FND_API.G_FALSE
1811: AND l_curr_job_qty <> p_x_parts_rec.Installed_Quantity AND l_curr_config_qty = 0)THEN
1812: -- create new instance with remaining qty
1813: l_remaining_qty := l_curr_job_qty - p_x_parts_rec.Installed_Quantity;
1814: create_similar_instance(
1818: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1819: x_dest_instance_id => l_dest_instance_id,
1820: x_return_status => x_return_status
1821: );
1822: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1823: RAISE FND_API.G_EXC_ERROR;
1824: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1826: END IF;
1819: x_dest_instance_id => l_dest_instance_id,
1820: x_return_status => x_return_status
1821: );
1822: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1823: RAISE FND_API.G_EXC_ERROR;
1824: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1826: END IF;
1827: -- update installed instance qty to equal to installed qty
1820: x_return_status => x_return_status
1821: );
1822: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1823: RAISE FND_API.G_EXC_ERROR;
1824: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1826: END IF;
1827: -- update installed instance qty to equal to installed qty
1828: l_instance_rec.instance_id := p_x_parts_rec.Installed_Instance_Id;
1821: );
1822: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1823: RAISE FND_API.G_EXC_ERROR;
1824: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1826: END IF;
1827: -- update installed instance qty to equal to installed qty
1828: l_instance_rec.instance_id := p_x_parts_rec.Installed_Instance_Id;
1829: l_instance_rec.quantity := p_x_parts_rec.Installed_Quantity;
1836: p_instance_rec => l_instance_rec,
1837: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1838: x_return_status => x_return_status
1839: );
1840: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1841: RAISE FND_API.G_EXC_ERROR;
1842: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1843: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1844: END IF;
1837: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1838: x_return_status => x_return_status
1839: );
1840: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1841: RAISE FND_API.G_EXC_ERROR;
1842: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1843: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1844: END IF;
1845: END IF;
1838: x_return_status => x_return_status
1839: );
1840: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1841: RAISE FND_API.G_EXC_ERROR;
1842: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1843: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1844: END IF;
1845: END IF;
1846:
1839: );
1840: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1841: RAISE FND_API.G_EXC_ERROR;
1842: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1843: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1844: END IF;
1845: END IF;
1846:
1847:
1844: END IF;
1845: END IF;
1846:
1847:
1848: IF( l_serialized = FND_API.G_TRUE OR l_curr_config_qty = 0) THEN
1849: --Call install_existing_instance
1850: AHL_UC_INSTANCE_PVT.install_existing_instance(
1851: p_api_version => 1.0,
1852: p_init_msg_list => FND_API.G_TRUE,
1848: IF( l_serialized = FND_API.G_TRUE OR l_curr_config_qty = 0) THEN
1849: --Call install_existing_instance
1850: AHL_UC_INSTANCE_PVT.install_existing_instance(
1851: p_api_version => 1.0,
1852: p_init_msg_list => FND_API.G_TRUE,
1853: p_commit => FND_API.G_FALSE,
1854: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1855: x_return_status => x_return_status,
1856: x_msg_count => l_msg_count,
1849: --Call install_existing_instance
1850: AHL_UC_INSTANCE_PVT.install_existing_instance(
1851: p_api_version => 1.0,
1852: p_init_msg_list => FND_API.G_TRUE,
1853: p_commit => FND_API.G_FALSE,
1854: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1855: x_return_status => x_return_status,
1856: x_msg_count => l_msg_count,
1857: x_msg_data => l_msg_data,
1850: AHL_UC_INSTANCE_PVT.install_existing_instance(
1851: p_api_version => 1.0,
1852: p_init_msg_list => FND_API.G_TRUE,
1853: p_commit => FND_API.G_FALSE,
1854: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1855: x_return_status => x_return_status,
1856: x_msg_count => l_msg_count,
1857: x_msg_data => l_msg_data,
1858: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1864: p_prod_user_flag => 'Y',
1865: p_validate_rule_flag => l_validate_rule_flag,
1866: x_warning_msg_tbl => x_warning_msg_tbl);
1867:
1868: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1869: RAISE FND_API.G_EXC_ERROR;
1870: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1872: END IF;
1865: p_validate_rule_flag => l_validate_rule_flag,
1866: x_warning_msg_tbl => x_warning_msg_tbl);
1867:
1868: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1869: RAISE FND_API.G_EXC_ERROR;
1870: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1872: END IF;
1873:
1866: x_warning_msg_tbl => x_warning_msg_tbl);
1867:
1868: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1869: RAISE FND_API.G_EXC_ERROR;
1870: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1872: END IF;
1873:
1874: IF G_DEBUG = 'Y' THEN
1867:
1868: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1869: RAISE FND_API.G_EXC_ERROR;
1870: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1872: END IF;
1873:
1874: IF G_DEBUG = 'Y' THEN
1875: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.install_existing_instance.');
1878: -- Arunjk added for WO - WO cancellation for given instance
1879: CANCEL_WO_RESERVATION(P_X_PARTS_REC.INSTALLED_INSTANCE_ID);
1880: -- Arunjk added for WO - WO cancellation for given instance End
1881:
1882: ELSIF( l_serialized = FND_API.G_FALSE AND l_curr_config_qty <> 0) THEN
1883: AHL_UC_INSTANCE_PVT.remove_instance(
1884: p_api_version => 1.0,
1885: p_init_msg_list => FND_API.G_TRUE,
1886: p_commit => FND_API.G_FALSE,
1881:
1882: ELSIF( l_serialized = FND_API.G_FALSE AND l_curr_config_qty <> 0) THEN
1883: AHL_UC_INSTANCE_PVT.remove_instance(
1884: p_api_version => 1.0,
1885: p_init_msg_list => FND_API.G_TRUE,
1886: p_commit => FND_API.G_FALSE,
1887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1888: x_return_status => x_return_status,
1889: x_msg_count => l_msg_count,
1882: ELSIF( l_serialized = FND_API.G_FALSE AND l_curr_config_qty <> 0) THEN
1883: AHL_UC_INSTANCE_PVT.remove_instance(
1884: p_api_version => 1.0,
1885: p_init_msg_list => FND_API.G_TRUE,
1886: p_commit => FND_API.G_FALSE,
1887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1888: x_return_status => x_return_status,
1889: x_msg_count => l_msg_count,
1890: x_msg_data => l_msg_data,
1883: AHL_UC_INSTANCE_PVT.remove_instance(
1884: p_api_version => 1.0,
1885: p_init_msg_list => FND_API.G_TRUE,
1886: p_commit => FND_API.G_FALSE,
1887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1888: x_return_status => x_return_status,
1889: x_msg_count => l_msg_count,
1890: x_msg_data => l_msg_data,
1891: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1893: p_csi_ii_ovn => p_x_parts_rec.CSI_II_OBJECT_VERSION_NUM,
1894: p_prod_user_flag => 'Y');
1895:
1896:
1897: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1898: RAISE FND_API.G_EXC_ERROR;
1899: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1901: END IF;
1894: p_prod_user_flag => 'Y');
1895:
1896:
1897: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1898: RAISE FND_API.G_EXC_ERROR;
1899: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1901: END IF;
1902:
1895:
1896:
1897: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1898: RAISE FND_API.G_EXC_ERROR;
1899: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1901: END IF;
1902:
1903: update_item_location(
1896:
1897: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1898: RAISE FND_API.G_EXC_ERROR;
1899: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1900: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1901: END IF;
1902:
1903: update_item_location(
1904: p_x_parts_rec => p_x_parts_rec,
1912: AHL_DEBUG_PUB.debug('moving it');
1913: END IF;
1914: move_instance_location(
1915: P_API_Version => 1.0,
1916: P_Init_Msg_List => Fnd_API.G_False,
1917: P_Commit => Fnd_API.G_False,
1918: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1919: p_module_type => 'API',
1920: p_default => FND_API.G_TRUE,
1913: END IF;
1914: move_instance_location(
1915: P_API_Version => 1.0,
1916: P_Init_Msg_List => Fnd_API.G_False,
1917: P_Commit => Fnd_API.G_False,
1918: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1919: p_module_type => 'API',
1920: p_default => FND_API.G_TRUE,
1921: p_move_item_instance_tbl => l_move_item_instance_tbl,
1914: move_instance_location(
1915: P_API_Version => 1.0,
1916: P_Init_Msg_List => Fnd_API.G_False,
1917: P_Commit => Fnd_API.G_False,
1918: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1919: p_module_type => 'API',
1920: p_default => FND_API.G_TRUE,
1921: p_move_item_instance_tbl => l_move_item_instance_tbl,
1922: x_return_status => x_return_status,
1916: P_Init_Msg_List => Fnd_API.G_False,
1917: P_Commit => Fnd_API.G_False,
1918: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
1919: p_module_type => 'API',
1920: p_default => FND_API.G_TRUE,
1921: p_move_item_instance_tbl => l_move_item_instance_tbl,
1922: x_return_status => x_return_status,
1923: x_msg_count => l_msg_count,
1924: x_msg_data => l_msg_data);
1921: p_move_item_instance_tbl => l_move_item_instance_tbl,
1922: x_return_status => x_return_status,
1923: x_msg_count => l_msg_count,
1924: x_msg_data => l_msg_data);
1925: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1926: RAISE FND_API.G_EXC_ERROR;
1927: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1929: END IF;
1922: x_return_status => x_return_status,
1923: x_msg_count => l_msg_count,
1924: x_msg_data => l_msg_data);
1925: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1926: RAISE FND_API.G_EXC_ERROR;
1927: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1929: END IF;
1930: -- create new instance with net qty on job
1923: x_msg_count => l_msg_count,
1924: x_msg_data => l_msg_data);
1925: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1926: RAISE FND_API.G_EXC_ERROR;
1927: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1929: END IF;
1930: -- create new instance with net qty on job
1931: l_remaining_qty := l_curr_job_qty - p_x_parts_rec.Installed_Quantity;
1924: x_msg_data => l_msg_data);
1925: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1926: RAISE FND_API.G_EXC_ERROR;
1927: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1929: END IF;
1930: -- create new instance with net qty on job
1931: l_remaining_qty := l_curr_job_qty - p_x_parts_rec.Installed_Quantity;
1932:
1946: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1947: x_dest_instance_id => l_dest_instance_id,
1948: x_return_status => x_return_status
1949: );
1950: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1951: RAISE FND_API.G_EXC_ERROR;
1952: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1954: END IF;
1947: x_dest_instance_id => l_dest_instance_id,
1948: x_return_status => x_return_status
1949: );
1950: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1951: RAISE FND_API.G_EXC_ERROR;
1952: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1954: END IF;
1955: END IF;
1948: x_return_status => x_return_status
1949: );
1950: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1951: RAISE FND_API.G_EXC_ERROR;
1952: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1954: END IF;
1955: END IF;
1956: -- now install the previously removed instance back
1949: );
1950: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1951: RAISE FND_API.G_EXC_ERROR;
1952: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1954: END IF;
1955: END IF;
1956: -- now install the previously removed instance back
1957: p_x_parts_rec.Installed_Instance_Id := p_x_parts_rec.Removed_Instance_Id;
1967: p_instance_rec => l_instance_rec,
1968: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1969: x_return_status => x_return_status
1970: );
1971: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1972: RAISE FND_API.G_EXC_ERROR;
1973: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1975: END IF;
1968: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
1969: x_return_status => x_return_status
1970: );
1971: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1972: RAISE FND_API.G_EXC_ERROR;
1973: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1975: END IF;
1976: -- install the instance back
1969: x_return_status => x_return_status
1970: );
1971: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1972: RAISE FND_API.G_EXC_ERROR;
1973: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1975: END IF;
1976: -- install the instance back
1977: AHL_UC_INSTANCE_PVT.install_existing_instance(
1970: );
1971: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1972: RAISE FND_API.G_EXC_ERROR;
1973: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1975: END IF;
1976: -- install the instance back
1977: AHL_UC_INSTANCE_PVT.install_existing_instance(
1978: p_api_version => 1.0,
1975: END IF;
1976: -- install the instance back
1977: AHL_UC_INSTANCE_PVT.install_existing_instance(
1978: p_api_version => 1.0,
1979: p_init_msg_list => FND_API.G_TRUE,
1980: p_commit => FND_API.G_FALSE,
1981: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1982: x_return_status => x_return_status,
1983: x_msg_count => l_msg_count,
1976: -- install the instance back
1977: AHL_UC_INSTANCE_PVT.install_existing_instance(
1978: p_api_version => 1.0,
1979: p_init_msg_list => FND_API.G_TRUE,
1980: p_commit => FND_API.G_FALSE,
1981: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1982: x_return_status => x_return_status,
1983: x_msg_count => l_msg_count,
1984: x_msg_data => l_msg_data,
1977: AHL_UC_INSTANCE_PVT.install_existing_instance(
1978: p_api_version => 1.0,
1979: p_init_msg_list => FND_API.G_TRUE,
1980: p_commit => FND_API.G_FALSE,
1981: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1982: x_return_status => x_return_status,
1983: x_msg_count => l_msg_count,
1984: x_msg_data => l_msg_data,
1985: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
1991: p_prod_user_flag => 'Y',
1992: p_validate_rule_flag => l_validate_rule_flag,
1993: x_warning_msg_tbl => x_warning_msg_tbl);
1994:
1995: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1996: RAISE FND_API.G_EXC_ERROR;
1997: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1999: END IF;
1992: p_validate_rule_flag => l_validate_rule_flag,
1993: x_warning_msg_tbl => x_warning_msg_tbl);
1994:
1995: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1996: RAISE FND_API.G_EXC_ERROR;
1997: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1999: END IF;
2000:
1993: x_warning_msg_tbl => x_warning_msg_tbl);
1994:
1995: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1996: RAISE FND_API.G_EXC_ERROR;
1997: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1999: END IF;
2000:
2001: IF G_DEBUG = 'Y' THEN
1994:
1995: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
1996: RAISE FND_API.G_EXC_ERROR;
1997: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1998: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1999: END IF;
2000:
2001: IF G_DEBUG = 'Y' THEN
2002: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.install_existing_instance.');
2010: END IF;
2011: --Call swap_instance
2012: AHL_UC_INSTANCE_PVT.swap_instance(
2013: p_api_version => 1.0,
2014: p_init_msg_list => FND_API.G_TRUE,
2015: p_commit => FND_API.G_FALSE,
2016: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2017: x_return_status => x_return_status,
2018: x_msg_count => l_msg_count,
2011: --Call swap_instance
2012: AHL_UC_INSTANCE_PVT.swap_instance(
2013: p_api_version => 1.0,
2014: p_init_msg_list => FND_API.G_TRUE,
2015: p_commit => FND_API.G_FALSE,
2016: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2017: x_return_status => x_return_status,
2018: x_msg_count => l_msg_count,
2019: x_msg_data => l_msg_data,
2012: AHL_UC_INSTANCE_PVT.swap_instance(
2013: p_api_version => 1.0,
2014: p_init_msg_list => FND_API.G_TRUE,
2015: p_commit => FND_API.G_FALSE,
2016: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2017: x_return_status => x_return_status,
2018: x_msg_count => l_msg_count,
2019: x_msg_data => l_msg_data,
2020: p_uc_header_id => p_x_parts_rec.unit_config_header_id,
2030: IF G_DEBUG = 'Y' THEN
2031: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.swap_instance.');
2032: END IF;
2033:
2034: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2035: RAISE FND_API.G_EXC_ERROR;
2036: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2038: END IF;
2031: AHL_DEBUG_PUB.debug('After making a call to AHL_UC_INSTANCE_PVT.swap_instance.');
2032: END IF;
2033:
2034: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2035: RAISE FND_API.G_EXC_ERROR;
2036: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2038: END IF;
2039:
2032: END IF;
2033:
2034: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2035: RAISE FND_API.G_EXC_ERROR;
2036: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2038: END IF;
2039:
2040: update_item_location(
2033:
2034: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2035: RAISE FND_API.G_EXC_ERROR;
2036: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2038: END IF;
2039:
2040: update_item_location(
2041: p_x_parts_rec => p_x_parts_rec,
2041: p_x_parts_rec => p_x_parts_rec,
2042: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2043: x_return_status => x_return_status);
2044:
2045: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2046: RAISE FND_API.G_EXC_ERROR;
2047: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2048: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2049: END IF;
2042: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2043: x_return_status => x_return_status);
2044:
2045: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2046: RAISE FND_API.G_EXC_ERROR;
2047: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2048: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2049: END IF;
2050:
2043: x_return_status => x_return_status);
2044:
2045: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2046: RAISE FND_API.G_EXC_ERROR;
2047: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2048: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2049: END IF;
2050:
2051: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2044:
2045: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2046: RAISE FND_API.G_EXC_ERROR;
2047: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2048: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2049: END IF;
2050:
2051: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2052: l_move_item_instance_tbl(1).quantity := 1;
2053: l_move_item_instance_tbl(1).to_workorder_id := p_x_parts_rec.workorder_id;
2054: -- move removed item to work order's locator
2055: move_instance_location(
2056: P_API_Version => 1.0,
2057: P_Init_Msg_List => Fnd_API.G_False,
2058: P_Commit => Fnd_API.G_False,
2059: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2060: p_module_type => 'API',
2061: p_default => FND_API.G_TRUE,
2054: -- move removed item to work order's locator
2055: move_instance_location(
2056: P_API_Version => 1.0,
2057: P_Init_Msg_List => Fnd_API.G_False,
2058: P_Commit => Fnd_API.G_False,
2059: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2060: p_module_type => 'API',
2061: p_default => FND_API.G_TRUE,
2062: p_move_item_instance_tbl => l_move_item_instance_tbl,
2055: move_instance_location(
2056: P_API_Version => 1.0,
2057: P_Init_Msg_List => Fnd_API.G_False,
2058: P_Commit => Fnd_API.G_False,
2059: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2060: p_module_type => 'API',
2061: p_default => FND_API.G_TRUE,
2062: p_move_item_instance_tbl => l_move_item_instance_tbl,
2063: x_return_status => x_return_status,
2057: P_Init_Msg_List => Fnd_API.G_False,
2058: P_Commit => Fnd_API.G_False,
2059: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2060: p_module_type => 'API',
2061: p_default => FND_API.G_TRUE,
2062: p_move_item_instance_tbl => l_move_item_instance_tbl,
2063: x_return_status => x_return_status,
2064: x_msg_count => l_msg_count,
2065: x_msg_data => l_msg_data);
2062: p_move_item_instance_tbl => l_move_item_instance_tbl,
2063: x_return_status => x_return_status,
2064: x_msg_count => l_msg_count,
2065: x_msg_data => l_msg_data);
2066: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2067: RAISE FND_API.G_EXC_ERROR;
2068: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2069: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2070: END IF;
2063: x_return_status => x_return_status,
2064: x_msg_count => l_msg_count,
2065: x_msg_data => l_msg_data);
2066: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2067: RAISE FND_API.G_EXC_ERROR;
2068: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2069: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2070: END IF;
2071:
2064: x_msg_count => l_msg_count,
2065: x_msg_data => l_msg_data);
2066: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2067: RAISE FND_API.G_EXC_ERROR;
2068: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2069: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2070: END IF;
2071:
2072: -- Arunjk added for WO - WO cancellation for given instance
2065: x_msg_data => l_msg_data);
2066: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2067: RAISE FND_API.G_EXC_ERROR;
2068: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2069: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2070: END IF;
2071:
2072: -- Arunjk added for WO - WO cancellation for given instance
2073: CANCEL_WO_RESERVATION(P_X_PARTS_REC.INSTALLED_INSTANCE_ID);
2091: AHL_DEBUG_PUB.debug('p_x_parts_rec.Installed_Instance_Id ' ||p_x_parts_rec.Installed_Instance_Id);
2092: AHL_DEBUG_PUB.debug('After Install/swap AHL_UC_INSTANCE_PVT' || x_path_position_id);
2093: END IF;
2094:
2095: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2096: RAISE FND_API.G_EXC_ERROR;
2097: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2099: END IF;
2092: AHL_DEBUG_PUB.debug('After Install/swap AHL_UC_INSTANCE_PVT' || x_path_position_id);
2093: END IF;
2094:
2095: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2096: RAISE FND_API.G_EXC_ERROR;
2097: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2099: END IF;
2100:
2093: END IF;
2094:
2095: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2096: RAISE FND_API.G_EXC_ERROR;
2097: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2099: END IF;
2100:
2101: END IF;
2094:
2095: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2096: RAISE FND_API.G_EXC_ERROR;
2097: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2099: END IF;
2100:
2101: END IF;
2102:
2194: l_instance_rec.OBJECT_VERSION_NUMBER := p_x_parts_rec.Installed_instance_obj_ver_num;
2195:
2196: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2197: p_api_version =>1.0
2198: ,p_commit => fnd_api.g_false
2199: ,p_init_msg_list => fnd_api.g_false
2200: ,p_validation_level => fnd_api.g_valid_level_full
2201: ,p_instance_rec => l_instance_rec
2202: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2195:
2196: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2197: p_api_version =>1.0
2198: ,p_commit => fnd_api.g_false
2199: ,p_init_msg_list => fnd_api.g_false
2200: ,p_validation_level => fnd_api.g_valid_level_full
2201: ,p_instance_rec => l_instance_rec
2202: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2203: ,p_party_tbl =>l_party_tbl
2196: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2197: p_api_version =>1.0
2198: ,p_commit => fnd_api.g_false
2199: ,p_init_msg_list => fnd_api.g_false
2200: ,p_validation_level => fnd_api.g_valid_level_full
2201: ,p_instance_rec => l_instance_rec
2202: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2203: ,p_party_tbl =>l_party_tbl
2204: ,p_account_tbl => l_account_tbl
2230: IF G_DEBUG = 'Y' THEN
2231: AHL_DEBUG_PUB.debug('IB Processing- Create');
2232: END IF;
2233:
2234: l_serialized := FND_API.G_FALSE;
2235: OPEN check_inst_nonserial(p_x_parts_rec.Installed_Instance_Id);
2236: FETCH check_inst_nonserial INTO l_junk;
2237: IF(check_inst_nonserial%NOTFOUND)THEN
2238: l_serialized := FND_API.G_TRUE;
2234: l_serialized := FND_API.G_FALSE;
2235: OPEN check_inst_nonserial(p_x_parts_rec.Installed_Instance_Id);
2236: FETCH check_inst_nonserial INTO l_junk;
2237: IF(check_inst_nonserial%NOTFOUND)THEN
2238: l_serialized := FND_API.G_TRUE;
2239: END IF;
2240: CLOSE check_inst_nonserial;
2241:
2242: IF( l_serialized = FND_API.G_FALSE AND p_x_parts_rec.Installed_Instance_Id IS NOT NULL) THEN
2238: l_serialized := FND_API.G_TRUE;
2239: END IF;
2240: CLOSE check_inst_nonserial;
2241:
2242: IF( l_serialized = FND_API.G_FALSE AND p_x_parts_rec.Installed_Instance_Id IS NOT NULL) THEN
2243: OPEN get_curr_quantity_csr(p_x_parts_rec.Installed_Instance_Id);
2244: FETCH get_curr_quantity_csr INTO l_curr_job_qty;
2245: CLOSE get_curr_quantity_csr;
2246: END IF;
2244: FETCH get_curr_quantity_csr INTO l_curr_job_qty;
2245: CLOSE get_curr_quantity_csr;
2246: END IF;
2247:
2248: IF( l_serialized = FND_API.G_FALSE
2249: AND l_curr_job_qty <> p_x_parts_rec.Installed_Quantity)THEN
2250: -- create new instance with remaining qty
2251: l_remaining_qty := l_curr_job_qty - p_x_parts_rec.Installed_Quantity;
2252: create_similar_instance(
2256: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2257: x_dest_instance_id => l_dest_instance_id,
2258: x_return_status => x_return_status
2259: );
2260: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2261: RAISE FND_API.G_EXC_ERROR;
2262: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2264: END IF;
2257: x_dest_instance_id => l_dest_instance_id,
2258: x_return_status => x_return_status
2259: );
2260: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2261: RAISE FND_API.G_EXC_ERROR;
2262: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2264: END IF;
2265: IF G_DEBUG = 'Y' THEN
2258: x_return_status => x_return_status
2259: );
2260: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2261: RAISE FND_API.G_EXC_ERROR;
2262: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2264: END IF;
2265: IF G_DEBUG = 'Y' THEN
2266: AHL_DEBUG_PUB.debug('Sunil 1 p_x_parts_rec.Installed_Instance_Id : ' || p_x_parts_rec.Installed_Instance_Id);
2259: );
2260: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2261: RAISE FND_API.G_EXC_ERROR;
2262: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2264: END IF;
2265: IF G_DEBUG = 'Y' THEN
2266: AHL_DEBUG_PUB.debug('Sunil 1 p_x_parts_rec.Installed_Instance_Id : ' || p_x_parts_rec.Installed_Instance_Id);
2267: AHL_DEBUG_PUB.debug('Sunil p_x_parts_rec.Installed_Quantity ' || p_x_parts_rec.Installed_Quantity);
2279: p_instance_rec => l_instance_rec,
2280: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2281: x_return_status => x_return_status
2282: );
2283: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2284: RAISE FND_API.G_EXC_ERROR;
2285: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2286: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2287: END IF;
2280: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2281: x_return_status => x_return_status
2282: );
2283: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2284: RAISE FND_API.G_EXC_ERROR;
2285: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2286: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2287: END IF;
2288:
2281: x_return_status => x_return_status
2282: );
2283: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2284: RAISE FND_API.G_EXC_ERROR;
2285: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2286: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2287: END IF;
2288:
2289: l_instance_rec.instance_id := NULL;
2282: );
2283: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2284: RAISE FND_API.G_EXC_ERROR;
2285: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2286: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2287: END IF;
2288:
2289: l_instance_rec.instance_id := NULL;
2290: l_instance_rec.quantity := NULL;
2296:
2297: END IF;
2298: END IF;
2299:
2300: IF( l_serialized = FND_API.G_TRUE OR p_x_parts_rec.Removed_Instance_Id IS NULL)THEN
2301: csi_ii_relationships_pub.create_relationship(
2302: p_api_version => 1.0
2303: ,p_relationship_tbl => l_csi_relationship_tbl
2304: ,p_txn_rec => p_x_csi_transaction_rec
2308: -- Arunjk added for WO - WO cancellation for given instance
2309: CANCEL_WO_RESERVATION(P_X_PARTS_REC.INSTALLED_INSTANCE_ID);
2310: -- Arunjk added for WO - WO cancellation for given instance End
2311:
2312: ELSIF ( l_serialized = FND_API.G_FALSE AND p_x_parts_rec.Removed_Instance_Id IS NOT NULL)THEN
2313:
2314: -- update qty for wo to 0
2315: l_instance_rec.instance_id := p_x_parts_rec.Installed_Instance_Id;
2316: l_instance_rec.quantity := 0 ;
2326: x_return_status => x_return_status
2327: );
2328:
2329:
2330: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2331: RAISE FND_API.G_EXC_ERROR;
2332: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2334: END IF;
2327: );
2328:
2329:
2330: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2331: RAISE FND_API.G_EXC_ERROR;
2332: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2334: END IF;
2335:
2328:
2329:
2330: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2331: RAISE FND_API.G_EXC_ERROR;
2332: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2334: END IF;
2335:
2336: l_instance_rec.instance_id := NULL;
2329:
2330: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2331: RAISE FND_API.G_EXC_ERROR;
2332: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2334: END IF;
2335:
2336: l_instance_rec.instance_id := NULL;
2337: l_instance_rec.quantity := NULL;
2371: IF G_DEBUG = 'Y' THEN
2372: AHL_DEBUG_PUB.debug('Sunil : Updated qty on config to : ' || l_instance_rec.quantity);
2373: END IF;
2374:
2375: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2376: RAISE FND_API.G_EXC_ERROR;
2377: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2372: AHL_DEBUG_PUB.debug('Sunil : Updated qty on config to : ' || l_instance_rec.quantity);
2373: END IF;
2374:
2375: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2376: RAISE FND_API.G_EXC_ERROR;
2377: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2380:
2373: END IF;
2374:
2375: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2376: RAISE FND_API.G_EXC_ERROR;
2377: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2380:
2381: l_instance_rec.instance_id := NULL;
2374:
2375: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2376: RAISE FND_API.G_EXC_ERROR;
2377: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2380:
2381: l_instance_rec.instance_id := NULL;
2382: l_instance_rec.quantity := NULL;
2402:
2403: IF (l_unit_config_header_name is not null ) then
2404: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_RMV_PRT_INVALID');
2405: FND_MSG_PUB.ADD;
2406: RAISE FND_API.G_EXC_ERROR;
2407: END IF;
2408:
2409: l_serialized := FND_API.G_FALSE;
2410: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
2405: FND_MSG_PUB.ADD;
2406: RAISE FND_API.G_EXC_ERROR;
2407: END IF;
2408:
2409: l_serialized := FND_API.G_FALSE;
2410: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
2411: FETCH check_inst_nonserial INTO l_junk;
2412: IF(check_inst_nonserial%NOTFOUND)THEN
2413: l_serialized := FND_API.G_TRUE;
2409: l_serialized := FND_API.G_FALSE;
2410: OPEN check_inst_nonserial(p_x_parts_rec.Removed_Instance_Id);
2411: FETCH check_inst_nonserial INTO l_junk;
2412: IF(check_inst_nonserial%NOTFOUND)THEN
2413: l_serialized := FND_API.G_TRUE;
2414: END IF;
2415: CLOSE check_inst_nonserial;
2416:
2417: IF( l_serialized = FND_API.G_FALSE) THEN
2413: l_serialized := FND_API.G_TRUE;
2414: END IF;
2415: CLOSE check_inst_nonserial;
2416:
2417: IF( l_serialized = FND_API.G_FALSE) THEN
2418: OPEN get_curr_quantity_csr(p_x_parts_rec.Removed_Instance_Id);
2419: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
2420: CLOSE get_curr_quantity_csr;
2421: END IF;
2419: FETCH get_curr_quantity_csr INTO l_curr_config_qty;
2420: CLOSE get_curr_quantity_csr;
2421: END IF;
2422:
2423: IF( l_serialized = FND_API.G_TRUE OR p_x_parts_rec.Removed_Quantity = l_curr_config_qty)THEN
2424:
2425: csi_ii_relationships_pub.expire_relationship(
2426: p_api_version => 1.0
2427: ,p_relationship_rec => l_csi_relationship_rec
2429: ,x_instance_id_lst=> l_instance_id_lst-- csi_datastructures_pub.id_tbl,
2430: ,x_return_status => x_return_status
2431: ,x_msg_count => l_msg_count
2432: ,x_msg_data => l_msg_data );
2433: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2434: RAISE FND_API.G_EXC_ERROR;
2435: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2436: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2437: END IF;
2430: ,x_return_status => x_return_status
2431: ,x_msg_count => l_msg_count
2432: ,x_msg_data => l_msg_data );
2433: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2434: RAISE FND_API.G_EXC_ERROR;
2435: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2436: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2437: END IF;
2438:
2431: ,x_msg_count => l_msg_count
2432: ,x_msg_data => l_msg_data );
2433: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2434: RAISE FND_API.G_EXC_ERROR;
2435: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2436: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2437: END IF;
2438:
2439: update_item_location(
2432: ,x_msg_data => l_msg_data );
2433: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2434: RAISE FND_API.G_EXC_ERROR;
2435: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2436: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2437: END IF;
2438:
2439: update_item_location(
2440: p_x_parts_rec => p_x_parts_rec,
2439: update_item_location(
2440: p_x_parts_rec => p_x_parts_rec,
2441: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2442: x_return_status => x_return_status);
2443: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2444: RAISE FND_API.G_EXC_ERROR;
2445: END IF;
2446: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2447: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
2440: p_x_parts_rec => p_x_parts_rec,
2441: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2442: x_return_status => x_return_status);
2443: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2444: RAISE FND_API.G_EXC_ERROR;
2445: END IF;
2446: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2447: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
2448: l_move_item_instance_tbl(1).to_workorder_id := p_x_parts_rec.workorder_id;
2448: l_move_item_instance_tbl(1).to_workorder_id := p_x_parts_rec.workorder_id;
2449:
2450: move_instance_location(
2451: P_API_Version => 1.0,
2452: P_Init_Msg_List => Fnd_API.G_False,
2453: P_Commit => Fnd_API.G_False,
2454: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2455: p_module_type => 'API',
2456: p_default => FND_API.G_TRUE,
2449:
2450: move_instance_location(
2451: P_API_Version => 1.0,
2452: P_Init_Msg_List => Fnd_API.G_False,
2453: P_Commit => Fnd_API.G_False,
2454: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2455: p_module_type => 'API',
2456: p_default => FND_API.G_TRUE,
2457: p_move_item_instance_tbl => l_move_item_instance_tbl,
2450: move_instance_location(
2451: P_API_Version => 1.0,
2452: P_Init_Msg_List => Fnd_API.G_False,
2453: P_Commit => Fnd_API.G_False,
2454: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2455: p_module_type => 'API',
2456: p_default => FND_API.G_TRUE,
2457: p_move_item_instance_tbl => l_move_item_instance_tbl,
2458: x_return_status => x_return_status,
2452: P_Init_Msg_List => Fnd_API.G_False,
2453: P_Commit => Fnd_API.G_False,
2454: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2455: p_module_type => 'API',
2456: p_default => FND_API.G_TRUE,
2457: p_move_item_instance_tbl => l_move_item_instance_tbl,
2458: x_return_status => x_return_status,
2459: x_msg_count => l_msg_count,
2460: x_msg_data => l_msg_data);
2457: p_move_item_instance_tbl => l_move_item_instance_tbl,
2458: x_return_status => x_return_status,
2459: x_msg_count => l_msg_count,
2460: x_msg_data => l_msg_data);
2461: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2462: RAISE FND_API.G_EXC_ERROR;
2463: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: END IF;
2458: x_return_status => x_return_status,
2459: x_msg_count => l_msg_count,
2460: x_msg_data => l_msg_data);
2461: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2462: RAISE FND_API.G_EXC_ERROR;
2463: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: END IF;
2466: IF( l_serialized = FND_API.G_FALSE)THEN
2459: x_msg_count => l_msg_count,
2460: x_msg_data => l_msg_data);
2461: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2462: RAISE FND_API.G_EXC_ERROR;
2463: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: END IF;
2466: IF( l_serialized = FND_API.G_FALSE)THEN
2467: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
2460: x_msg_data => l_msg_data);
2461: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2462: RAISE FND_API.G_EXC_ERROR;
2463: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: END IF;
2466: IF( l_serialized = FND_API.G_FALSE)THEN
2467: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
2468: FETCH removal_instance_id INTO l_final_removed_inst_id;
2462: RAISE FND_API.G_EXC_ERROR;
2463: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: END IF;
2466: IF( l_serialized = FND_API.G_FALSE)THEN
2467: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
2468: FETCH removal_instance_id INTO l_final_removed_inst_id;
2469: IF(removal_instance_id%FOUND)THEN
2470: p_x_parts_rec.Removed_Instance_Id := l_final_removed_inst_id;
2484: ,x_instance_id_lst=> l_instance_id_lst-- csi_datastructures_pub.id_tbl,
2485: ,x_return_status => x_return_status
2486: ,x_msg_count => l_msg_count
2487: ,x_msg_data => l_msg_data );
2488: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2489: RAISE FND_API.G_EXC_ERROR;
2490: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2492: END IF;
2485: ,x_return_status => x_return_status
2486: ,x_msg_count => l_msg_count
2487: ,x_msg_data => l_msg_data );
2488: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2489: RAISE FND_API.G_EXC_ERROR;
2490: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2492: END IF;
2493:
2486: ,x_msg_count => l_msg_count
2487: ,x_msg_data => l_msg_data );
2488: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2489: RAISE FND_API.G_EXC_ERROR;
2490: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2492: END IF;
2493:
2494: update_item_location(
2487: ,x_msg_data => l_msg_data );
2488: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2489: RAISE FND_API.G_EXC_ERROR;
2490: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2492: END IF;
2493:
2494: update_item_location(
2495: p_x_parts_rec => p_x_parts_rec,
2510: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2511: x_return_status => x_return_status
2512: );
2513:
2514: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2515: RAISE FND_API.G_EXC_ERROR;
2516: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2518: END IF;
2511: x_return_status => x_return_status
2512: );
2513:
2514: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2515: RAISE FND_API.G_EXC_ERROR;
2516: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2518: END IF;
2519: l_instance_rec.instance_id := NULL;
2512: );
2513:
2514: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2515: RAISE FND_API.G_EXC_ERROR;
2516: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2518: END IF;
2519: l_instance_rec.instance_id := NULL;
2520: l_instance_rec.quantity := NULL;
2513:
2514: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2515: RAISE FND_API.G_EXC_ERROR;
2516: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2518: END IF;
2519: l_instance_rec.instance_id := NULL;
2520: l_instance_rec.quantity := NULL;
2521: l_instance_rec.object_version_number := NULL;
2527: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2528: x_dest_instance_id => l_dest_instance_id,
2529: x_return_status => x_return_status
2530: );
2531: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2528: x_dest_instance_id => l_dest_instance_id,
2529: x_return_status => x_return_status
2530: );
2531: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536:
2529: x_return_status => x_return_status
2530: );
2531: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536:
2537:
2530: );
2531: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536:
2537:
2538: l_csi_relationship_rec.relationship_type_code := 'COMPONENT-OF';
2554: IF G_DEBUG = 'Y' THEN
2555: AHL_DEBUG_PUB.debug('After making a call to csi_ii_relationships_pub.create_relationship.');
2556: END IF;
2557:
2558: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2559: RAISE FND_API.G_EXC_ERROR;
2560: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2562: END IF;
2555: AHL_DEBUG_PUB.debug('After making a call to csi_ii_relationships_pub.create_relationship.');
2556: END IF;
2557:
2558: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2559: RAISE FND_API.G_EXC_ERROR;
2560: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2562: END IF;
2563:
2556: END IF;
2557:
2558: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2559: RAISE FND_API.G_EXC_ERROR;
2560: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2562: END IF;
2563:
2564: p_x_parts_rec.Removed_Instance_Id := l_dest_instance_id;
2557:
2558: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2559: RAISE FND_API.G_EXC_ERROR;
2560: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2562: END IF;
2563:
2564: p_x_parts_rec.Removed_Instance_Id := l_dest_instance_id;
2565: IF G_DEBUG = 'Y' THEN
2568: /*update_item_location(
2569: p_x_parts_rec => p_x_parts_rec,
2570: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2571: x_return_status => x_return_status);
2572: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2573: RAISE FND_API.G_EXC_ERROR;
2574: END IF;*/
2575:
2576: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2569: p_x_parts_rec => p_x_parts_rec,
2570: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2571: x_return_status => x_return_status);
2572: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2573: RAISE FND_API.G_EXC_ERROR;
2574: END IF;*/
2575:
2576: l_move_item_instance_tbl(1).instance_id := p_x_parts_rec.Removed_Instance_Id;
2577: l_move_item_instance_tbl(1).quantity := p_x_parts_rec.Removed_Quantity;
2580: AHL_DEBUG_PUB.debug('moving it');
2581: END IF;
2582: move_instance_location(
2583: P_API_Version => 1.0,
2584: P_Init_Msg_List => Fnd_API.G_False,
2585: P_Commit => Fnd_API.G_False,
2586: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2587: p_module_type => 'API',
2588: p_default => FND_API.G_TRUE,
2581: END IF;
2582: move_instance_location(
2583: P_API_Version => 1.0,
2584: P_Init_Msg_List => Fnd_API.G_False,
2585: P_Commit => Fnd_API.G_False,
2586: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2587: p_module_type => 'API',
2588: p_default => FND_API.G_TRUE,
2589: p_move_item_instance_tbl => l_move_item_instance_tbl,
2582: move_instance_location(
2583: P_API_Version => 1.0,
2584: P_Init_Msg_List => Fnd_API.G_False,
2585: P_Commit => Fnd_API.G_False,
2586: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2587: p_module_type => 'API',
2588: p_default => FND_API.G_TRUE,
2589: p_move_item_instance_tbl => l_move_item_instance_tbl,
2590: x_return_status => x_return_status,
2584: P_Init_Msg_List => Fnd_API.G_False,
2585: P_Commit => Fnd_API.G_False,
2586: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2587: p_module_type => 'API',
2588: p_default => FND_API.G_TRUE,
2589: p_move_item_instance_tbl => l_move_item_instance_tbl,
2590: x_return_status => x_return_status,
2591: x_msg_count => l_msg_count,
2592: x_msg_data => l_msg_data);
2589: p_move_item_instance_tbl => l_move_item_instance_tbl,
2590: x_return_status => x_return_status,
2591: x_msg_count => l_msg_count,
2592: x_msg_data => l_msg_data);
2593: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2594: RAISE FND_API.G_EXC_ERROR;
2595: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2596: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2597: END IF;
2590: x_return_status => x_return_status,
2591: x_msg_count => l_msg_count,
2592: x_msg_data => l_msg_data);
2593: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2594: RAISE FND_API.G_EXC_ERROR;
2595: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2596: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2597: END IF;
2598:
2591: x_msg_count => l_msg_count,
2592: x_msg_data => l_msg_data);
2593: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2594: RAISE FND_API.G_EXC_ERROR;
2595: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2596: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2597: END IF;
2598:
2599: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
2592: x_msg_data => l_msg_data);
2593: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2594: RAISE FND_API.G_EXC_ERROR;
2595: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2596: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2597: END IF;
2598:
2599: OPEN removal_instance_id(p_x_parts_rec.Removed_Instance_Id, l_wip_job_id);
2600: FETCH removal_instance_id INTO l_final_removed_inst_id;
2617:
2618: IF (l_unit_config_header_name is not null ) then
2619: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_RMV_PRT_INVALID');
2620: FND_MSG_PUB.ADD;
2621: --RAISE FND_API.G_EXC_ERROR;
2622: end if;
2623: IF G_DEBUG = 'Y' THEN
2624: AHL_DEBUG_PUB.debug('IB Processing- Swap');
2625: END IF;
2644: p_x_parts_rec => p_x_parts_rec,
2645: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2646: x_return_status => x_return_status);
2647:
2648: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2649: RAISE FND_API.G_EXC_ERROR;
2650: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2652: END IF;
2645: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
2646: x_return_status => x_return_status);
2647:
2648: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2649: RAISE FND_API.G_EXC_ERROR;
2650: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2652: END IF;
2653:
2646: x_return_status => x_return_status);
2647:
2648: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2649: RAISE FND_API.G_EXC_ERROR;
2650: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2652: END IF;
2653:
2654: move_instance_location(
2647:
2648: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2649: RAISE FND_API.G_EXC_ERROR;
2650: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2652: END IF;
2653:
2654: move_instance_location(
2655: P_API_Version => 1.0,
2652: END IF;
2653:
2654: move_instance_location(
2655: P_API_Version => 1.0,
2656: P_Init_Msg_List => Fnd_API.G_False,
2657: P_Commit => Fnd_API.G_False,
2658: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2659: p_module_type => 'API',
2660: p_default => FND_API.G_TRUE,
2653:
2654: move_instance_location(
2655: P_API_Version => 1.0,
2656: P_Init_Msg_List => Fnd_API.G_False,
2657: P_Commit => Fnd_API.G_False,
2658: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2659: p_module_type => 'API',
2660: p_default => FND_API.G_TRUE,
2661: p_move_item_instance_tbl => l_move_item_instance_tbl,
2654: move_instance_location(
2655: P_API_Version => 1.0,
2656: P_Init_Msg_List => Fnd_API.G_False,
2657: P_Commit => Fnd_API.G_False,
2658: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2659: p_module_type => 'API',
2660: p_default => FND_API.G_TRUE,
2661: p_move_item_instance_tbl => l_move_item_instance_tbl,
2662: x_return_status => x_return_status,
2656: P_Init_Msg_List => Fnd_API.G_False,
2657: P_Commit => Fnd_API.G_False,
2658: P_Validation_Level => Fnd_API.G_Valid_Level_Full,
2659: p_module_type => 'API',
2660: p_default => FND_API.G_TRUE,
2661: p_move_item_instance_tbl => l_move_item_instance_tbl,
2662: x_return_status => x_return_status,
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data);
2661: p_move_item_instance_tbl => l_move_item_instance_tbl,
2662: x_return_status => x_return_status,
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data);
2665: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2662: x_return_status => x_return_status,
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data);
2665: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670:
2663: x_msg_count => l_msg_count,
2664: x_msg_data => l_msg_data);
2665: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670:
2671: end if;
2664: x_msg_data => l_msg_data);
2665: IF (x_return_status = FND_API.G_RET_STS_ERROR) then
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670:
2671: end if;
2672:
2752: CLOSE ahl_wip_location_csr;
2753:
2754: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2755: p_api_version =>1.0
2756: ,p_commit => fnd_api.g_false
2757: ,p_init_msg_list => fnd_api.g_false
2758: ,p_validation_level => fnd_api.g_valid_level_full
2759: ,p_instance_rec => l_instance_rec
2760: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2753:
2754: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2755: p_api_version =>1.0
2756: ,p_commit => fnd_api.g_false
2757: ,p_init_msg_list => fnd_api.g_false
2758: ,p_validation_level => fnd_api.g_valid_level_full
2759: ,p_instance_rec => l_instance_rec
2760: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2761: ,p_party_tbl =>l_party_tbl
2754: CSI_ITEM_INSTANCE_PUB. update_item_instance (
2755: p_api_version =>1.0
2756: ,p_commit => fnd_api.g_false
2757: ,p_init_msg_list => fnd_api.g_false
2758: ,p_validation_level => fnd_api.g_valid_level_full
2759: ,p_instance_rec => l_instance_rec
2760: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
2761: ,p_party_tbl =>l_party_tbl
2762: ,p_account_tbl => l_account_tbl
2883: x_return_status => x_return_status,
2884: x_msg_count=> l_msg_count,
2885: x_msg_data => l_msg_data );
2886:
2887: --IF (x_return_status = FND_API.G_RET_STS_SUCCESS) then
2888: -- p_x_parts_rec.Material_txn_id := l_mtl_txn_tbl(1). Ahl_mtltxn_Id;
2889: --END IF;
2890: END Process_material_txn;
2891:
2967:
2968: --Calling Service Request API--
2969: AHL_PRD_NONROUTINE_PVT.process_nonroutine_job (
2970: p_api_version => 1.0,
2971: p_commit => Fnd_Api.g_false,
2972: p_module_type => p_module_type,
2973: x_return_status => x_return_status,
2974: x_msg_count => l_msg_count,
2975: x_msg_data => l_msg_data,
2983: AHL_DEBUG_PUB.debug('Sangita-x_return_status after SR'|| x_return_status);
2984: END IF;
2985:
2986:
2987: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) then
2988:
2989: IF ( l_sr_task_tbl.COUNT > 0) THEN
2990: FOR i IN l_sr_task_tbl.FIRST..l_sr_task_tbl.LAST LOOP
2991:
3096:
3097: BEGIN
3098:
3099: l_found := FALSE;
3100: x_return_status := FND_API.G_RET_STS_SUCCESS;
3101:
3102: -- get the latest material issue record.
3103: OPEN ahl_part_chg_csr(p_Item_Instance_Id, p_workorder_id);
3104: FETCH ahl_part_chg_csr INTO l_part_change_id, l_object_version_number;
3118: END Update_Material_Return;
3119:
3120: -- Added for ER 5854712 - locator for servicable parts.
3121: -- Procedure will return removed instance to Visit-Workorder locator.
3122: PROCEDURE ReturnTo_Workorder_Locator( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3123: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3124: p_part_change_id IN NUMBER,
3125: p_disposition_id IN NUMBER,
3126: x_return_status OUT NOCOPY VARCHAR2,
3119:
3120: -- Added for ER 5854712 - locator for servicable parts.
3121: -- Procedure will return removed instance to Visit-Workorder locator.
3122: PROCEDURE ReturnTo_Workorder_Locator( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3123: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3124: p_part_change_id IN NUMBER,
3125: p_disposition_id IN NUMBER,
3126: x_return_status OUT NOCOPY VARCHAR2,
3127: x_msg_data OUT NOCOPY VARCHAR2,
3180: -- Standard start of API savepoint
3181: Savepoint ReturnTo_Workorder_Locator_pvt;
3182:
3183: -- Initialize message list if p_init_msg_list is set to TRUE
3184: IF FND_API.To_Boolean(p_init_msg_list) THEN
3185: FND_MSG_PUB.Initialize;
3186: END IF;
3187:
3188: -- Initialize API return status to success
3185: FND_MSG_PUB.Initialize;
3186: END IF;
3187:
3188: -- Initialize API return status to success
3189: x_return_status := FND_API.G_RET_STS_SUCCESS;
3190:
3191: -- log debug message.
3192: IF (l_debug_stmt >= l_debug_level) THEN
3193: fnd_log.string(l_debug_stmt,l_debug_module,
3205: IF (ahl_disp_csr%NOTFOUND) THEN
3206: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_DISP_INVALID');
3207: FND_MESSAGE.Set_Token('DISP_ID',p_disposition_id);
3208: FND_MSG_PUB.ADD;
3209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3210: END IF;
3211: CLOSE ahl_disp_csr;
3212:
3213: -- If visit header does not have locator information then return.
3293: 'After call to AHL_PRD_MTLTXN_PVT.PERFORM_MTL_TXN. Error count:' || x_msg_count
3294: );
3295: END IF;
3296:
3297: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3298: RAISE FND_API.G_EXC_ERROR;
3299: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3301: END IF;
3294: );
3295: END IF;
3296:
3297: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3298: RAISE FND_API.G_EXC_ERROR;
3299: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3301: END IF;
3302:
3295: END IF;
3296:
3297: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3298: RAISE FND_API.G_EXC_ERROR;
3299: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3301: END IF;
3302:
3303: -- get count of message after calling Material txn api.
3296:
3297: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3298: RAISE FND_API.G_EXC_ERROR;
3299: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3301: END IF;
3302:
3303: -- get count of message after calling Material txn api.
3304: x_msg_count := FND_MSG_PUB.Count_Msg;
3315: END IF;
3316:
3317: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3318: p_data => x_msg_data,
3319: p_encoded => fnd_api.g_false);
3320:
3321: -- Call disposition api to associate material txn.
3322: l_disp_Mtl_Txn_Tbl(1).wo_mtl_txn_id := l_mtl_txn_tbl(1).Ahl_MtlTxn_Id;
3323: l_disp_Mtl_Txn_Tbl(1).disposition_id := l_mtl_txn_tbl(1).disposition_id;
3325: l_disp_Mtl_Txn_Tbl(1).uom := l_mtl_txn_tbl(1).uom;
3326:
3327: AHL_PRD_DISP_MTL_TXN_PVT.Process_Disp_Mtl_Txn (
3328: p_api_version => 1.0,
3329: p_init_msg_list => FND_API.G_FALSE,
3330: p_commit => FND_API.G_FALSE,
3331: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3332: x_return_status => x_return_status,
3333: x_msg_count => x_msg_count,
3326:
3327: AHL_PRD_DISP_MTL_TXN_PVT.Process_Disp_Mtl_Txn (
3328: p_api_version => 1.0,
3329: p_init_msg_list => FND_API.G_FALSE,
3330: p_commit => FND_API.G_FALSE,
3331: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3332: x_return_status => x_return_status,
3333: x_msg_count => x_msg_count,
3334: x_msg_data => x_msg_data,
3327: AHL_PRD_DISP_MTL_TXN_PVT.Process_Disp_Mtl_Txn (
3328: p_api_version => 1.0,
3329: p_init_msg_list => FND_API.G_FALSE,
3330: p_commit => FND_API.G_FALSE,
3331: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3332: x_return_status => x_return_status,
3333: x_msg_count => x_msg_count,
3334: x_msg_data => x_msg_data,
3335: p_module => 'JSP',
3350: 'After call to AHL_PRD_DISP_MTL_TXN_PVT.Process_Disp_Mtl_Txn. Error count:' || x_msg_count
3351: );
3352: END IF;
3353:
3354: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3355: RAISE FND_API.G_EXC_ERROR;
3356: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358: END IF;
3351: );
3352: END IF;
3353:
3354: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3355: RAISE FND_API.G_EXC_ERROR;
3356: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358: END IF;
3359:
3352: END IF;
3353:
3354: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3355: RAISE FND_API.G_EXC_ERROR;
3356: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358: END IF;
3359:
3360: -- log debug message.
3353:
3354: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3355: RAISE FND_API.G_EXC_ERROR;
3356: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358: END IF;
3359:
3360: -- log debug message.
3361: IF (l_debug_proc >= l_debug_level) THEN
3363: 'At End of procedure AHL_PRD_PARTS_CHANGE_PVT.ReturnTo_Workorder_Locator');
3364: END IF;
3365:
3366: EXCEPTION
3367: WHEN FND_API.G_EXC_ERROR THEN
3368: x_return_status := FND_API.G_RET_STS_ERROR;
3369: Rollback to ReturnTo_Workorder_Locator_pvt;
3370: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3371: p_data => x_msg_data,
3364: END IF;
3365:
3366: EXCEPTION
3367: WHEN FND_API.G_EXC_ERROR THEN
3368: x_return_status := FND_API.G_RET_STS_ERROR;
3369: Rollback to ReturnTo_Workorder_Locator_pvt;
3370: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3371: p_data => x_msg_data,
3372: p_encoded => fnd_api.g_false);
3368: x_return_status := FND_API.G_RET_STS_ERROR;
3369: Rollback to ReturnTo_Workorder_Locator_pvt;
3370: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3371: p_data => x_msg_data,
3372: p_encoded => fnd_api.g_false);
3373: -- Disable debug
3374: IF G_DEBUG = 'Y' THEN
3375: AHL_DEBUG_PUB.disable_debug;
3376: END IF;
3375: AHL_DEBUG_PUB.disable_debug;
3376: END IF;
3377:
3378:
3379: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3381: Rollback to ReturnTo_Workorder_Locator_pvt;
3382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3383: p_data => x_msg_data,
3376: END IF;
3377:
3378:
3379: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3381: Rollback to ReturnTo_Workorder_Locator_pvt;
3382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3383: p_data => x_msg_data,
3384: p_encoded => fnd_api.g_false);
3380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3381: Rollback to ReturnTo_Workorder_Locator_pvt;
3382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3383: p_data => x_msg_data,
3384: p_encoded => fnd_api.g_false);
3385: -- Disable debug
3386: IF G_DEBUG = 'Y' THEN
3387: AHL_DEBUG_PUB.disable_debug;
3388: END IF;
3387: AHL_DEBUG_PUB.disable_debug;
3388: END IF;
3389:
3390: WHEN OTHERS THEN
3391: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3392: Rollback to ReturnTo_Workorder_Locator_pvt;
3393: --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3394: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
3395: p_procedure_name => 'process_parts',
3396: p_error_text => SQLERRM);
3397: --END IF;
3398: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3399: p_data => x_msg_data,
3400: p_encoded => fnd_api.g_false);
3401:
3402: -- Disable debug
3403: IF G_DEBUG = 'Y' THEN
3404: AHL_DEBUG_PUB.disable_debug;
3408:
3409:
3410: PROCEDURE move_instance_location(
3411: P_API_Version In Number Default 1.0,
3412: P_Init_Msg_List In Varchar2 Default Fnd_API.G_False,
3413: P_Commit In Varchar2 Default Fnd_API.G_False,
3414: P_Validation_Level In Number Default Fnd_API.G_Valid_Level_Full,
3415: p_module_type In Varchar2 Default NULL,
3416: p_default In Varchar2 Default FND_API.G_TRUE,
3409:
3410: PROCEDURE move_instance_location(
3411: P_API_Version In Number Default 1.0,
3412: P_Init_Msg_List In Varchar2 Default Fnd_API.G_False,
3413: P_Commit In Varchar2 Default Fnd_API.G_False,
3414: P_Validation_Level In Number Default Fnd_API.G_Valid_Level_Full,
3415: p_module_type In Varchar2 Default NULL,
3416: p_default In Varchar2 Default FND_API.G_TRUE,
3417: p_move_item_instance_tbl In AHL_PRD_PARTS_CHANGE_PVT.move_item_instance_tbl_type,
3410: PROCEDURE move_instance_location(
3411: P_API_Version In Number Default 1.0,
3412: P_Init_Msg_List In Varchar2 Default Fnd_API.G_False,
3413: P_Commit In Varchar2 Default Fnd_API.G_False,
3414: P_Validation_Level In Number Default Fnd_API.G_Valid_Level_Full,
3415: p_module_type In Varchar2 Default NULL,
3416: p_default In Varchar2 Default FND_API.G_TRUE,
3417: p_move_item_instance_tbl In AHL_PRD_PARTS_CHANGE_PVT.move_item_instance_tbl_type,
3418: X_Return_Status Out NOCOPY Varchar2,
3412: P_Init_Msg_List In Varchar2 Default Fnd_API.G_False,
3413: P_Commit In Varchar2 Default Fnd_API.G_False,
3414: P_Validation_Level In Number Default Fnd_API.G_Valid_Level_Full,
3415: p_module_type In Varchar2 Default NULL,
3416: p_default In Varchar2 Default FND_API.G_TRUE,
3417: p_move_item_instance_tbl In AHL_PRD_PARTS_CHANGE_PVT.move_item_instance_tbl_type,
3418: X_Return_Status Out NOCOPY Varchar2,
3419: X_Msg_Count Out NOCOPY Number,
3420: X_Msg_Data Out NOCOPY Varchar2) IS
3443: );
3444: END IF;
3445:
3446: -- Standard call to check for call compatibility
3447: IF NOT FND_API.Compatible_API_Call(l_api_version,
3448: p_api_version,
3449: l_api_name,
3450: G_PKG_NAME) THEN
3451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3447: IF NOT FND_API.Compatible_API_Call(l_api_version,
3448: p_api_version,
3449: l_api_name,
3450: G_PKG_NAME) THEN
3451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3452: END IF;
3453:
3454: -- Initialize message list if p_init_msg_list is set to TRUE
3455: IF FND_API.To_Boolean(p_init_msg_list) THEN
3451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3452: END IF;
3453:
3454: -- Initialize message list if p_init_msg_list is set to TRUE
3455: IF FND_API.To_Boolean(p_init_msg_list) THEN
3456: FND_MSG_PUB.Initialize;
3457: END IF;
3458:
3459: -- Initialize API return status to success
3456: FND_MSG_PUB.Initialize;
3457: END IF;
3458:
3459: -- Initialize API return status to success
3460: x_return_status := FND_API.G_RET_STS_SUCCESS;
3461:
3462: ------**************Get csi_transaction_rec.
3463: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
3464: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3460: x_return_status := FND_API.G_RET_STS_SUCCESS;
3461:
3462: ------**************Get csi_transaction_rec.
3463: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
3464: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3465: RAISE FND_API.G_EXC_ERROR;
3466: END IF;
3467:
3468: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
3461:
3462: ------**************Get csi_transaction_rec.
3463: Create_csi_transaction_rec(l_csi_transaction_rec,x_return_status);
3464: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3465: RAISE FND_API.G_EXC_ERROR;
3466: END IF;
3467:
3468: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
3469: fnd_log.string
3502: x_instance_rec => l_instance_rec,
3503: x_serialized => l_serialized,
3504: x_Return_Status => X_Return_Status
3505: );
3506: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3507: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
3508: fnd_log.string
3509: (
3510: fnd_log.level_error,
3511: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
3512: 'get_dest_instance_rec returned error'
3513: );
3514: END IF;
3515: RAISE FND_API.G_EXC_ERROR;
3516: END IF;
3517:
3518: /*l_instance_rec.location_id := l_location_id;
3519: l_instance_rec.LOCATION_TYPE_CODE := 'WIP';
3518: /*l_instance_rec.location_id := l_location_id;
3519: l_instance_rec.LOCATION_TYPE_CODE := 'WIP';
3520: l_instance_rec.instance_usage_code := 'IN_WIP';*/
3521:
3522: IF FND_API.To_Boolean(l_serialized) THEN
3523: update_csi_item_instance(
3524: p_instance_rec => l_instance_rec,
3525: p_x_csi_transaction_rec => l_csi_transaction_rec,
3526: x_Return_Status => X_Return_Status
3524: p_instance_rec => l_instance_rec,
3525: p_x_csi_transaction_rec => l_csi_transaction_rec,
3526: x_Return_Status => X_Return_Status
3527: );
3528: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3529: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
3530: fnd_log.string
3531: (
3532: fnd_log.level_error,
3533: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
3534: 'serialized move: update_csi_item_instance returned error'
3535: );
3536: END IF;
3537: RAISE FND_API.G_EXC_ERROR;
3538: END IF;
3539: ELSE
3540:
3541:
3545: p_dest_wip_job_id => l_instance_rec.wip_job_id,
3546: p_x_csi_transaction_rec => l_csi_transaction_rec,
3547: x_Return_Status => X_Return_Status
3548: );
3549: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3550: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
3551: fnd_log.string
3552: (
3553: fnd_log.level_error,
3554: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
3555: 'non serialized move: move_nonser_instance returned error'
3556: );
3557: END IF;
3558: RAISE FND_API.G_EXC_ERROR;
3559: END IF;
3560: END IF;
3561: END LOOP;
3562:
3560: END IF;
3561: END LOOP;
3562:
3563: -- Standard check of p_commit
3564: IF FND_API.To_Boolean(p_commit) THEN
3565: COMMIT WORK;
3566: END IF;
3567:
3568:
3570: -- Standard call to get message count and if count is 1, get message
3571: FND_MSG_PUB.Count_And_Get
3572: ( p_count => x_msg_count,
3573: p_data => x_msg_data,
3574: p_encoded => fnd_api.g_false);
3575:
3576: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
3577: fnd_log.string
3578: (
3582: );
3583: END IF;
3584:
3585: EXCEPTION
3586: WHEN FND_API.G_EXC_ERROR THEN
3587: x_return_status := FND_API.G_RET_STS_ERROR;
3588: Rollback to MOVE_INSTANCE_LOCATION;
3589: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3590: p_data => x_msg_data,
3583: END IF;
3584:
3585: EXCEPTION
3586: WHEN FND_API.G_EXC_ERROR THEN
3587: x_return_status := FND_API.G_RET_STS_ERROR;
3588: Rollback to MOVE_INSTANCE_LOCATION;
3589: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3590: p_data => x_msg_data,
3591: p_encoded => fnd_api.g_false);
3587: x_return_status := FND_API.G_RET_STS_ERROR;
3588: Rollback to MOVE_INSTANCE_LOCATION;
3589: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3590: p_data => x_msg_data,
3591: p_encoded => fnd_api.g_false);
3592:
3593:
3594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3595: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3590: p_data => x_msg_data,
3591: p_encoded => fnd_api.g_false);
3592:
3593:
3594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3595: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3596: Rollback to MOVE_INSTANCE_LOCATION;
3597: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3598: p_data => x_msg_data,
3591: p_encoded => fnd_api.g_false);
3592:
3593:
3594: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3595: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3596: Rollback to MOVE_INSTANCE_LOCATION;
3597: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3598: p_data => x_msg_data,
3599: p_encoded => fnd_api.g_false);
3595: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3596: Rollback to MOVE_INSTANCE_LOCATION;
3597: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3598: p_data => x_msg_data,
3599: p_encoded => fnd_api.g_false);
3600:
3601: WHEN OTHERS THEN
3602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3603: Rollback to MOVE_INSTANCE_LOCATION;
3598: p_data => x_msg_data,
3599: p_encoded => fnd_api.g_false);
3600:
3601: WHEN OTHERS THEN
3602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3603: Rollback to MOVE_INSTANCE_LOCATION;
3604: --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3605: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
3606: p_procedure_name => 'move_instance_location',
3607: p_error_text => SQLERRM);
3608: --END IF;
3609: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
3610: p_data => x_msg_data,
3611: p_encoded => fnd_api.g_false);
3612:
3613: END move_instance_location;
3614:
3615: PROCEDURE get_dest_instance_rec(
3691: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name ||'.begin',
3692: 'At the start of PLSQL procedure'
3693: );
3694: END IF;
3695: x_return_status := FND_API.G_RET_STS_SUCCESS;
3696:
3697: IF(p_module_type IN ('JSP','OAF') AND p_move_item_instance_rec.from_workorder_number IS NOT NULL) THEN
3698: OPEN wip_entity_wonum_csr(p_move_item_instance_rec.from_workorder_number);
3699: FETCH wip_entity_wonum_csr INTO l_from_wip_entity_id,l_status_code;
3850: );
3851: END IF;
3852:
3853: --Validate quantity / serial item only if valid instance exists.
3854: x_serialized := FND_API.G_FALSE;
3855: IF (l_check_qnt_flag) THEN
3856: OPEN check_inst_nonserial(l_instance_rec.instance_id);
3857: FETCH check_inst_nonserial INTO l_junk;
3858: IF(check_inst_nonserial%NOTFOUND)THEN
3855: IF (l_check_qnt_flag) THEN
3856: OPEN check_inst_nonserial(l_instance_rec.instance_id);
3857: FETCH check_inst_nonserial INTO l_junk;
3858: IF(check_inst_nonserial%NOTFOUND)THEN
3859: x_serialized := FND_API.G_TRUE;
3860: END IF;
3861: CLOSE check_inst_nonserial;
3862:
3863: IF FND_API.To_Boolean(x_serialized) THEN
3859: x_serialized := FND_API.G_TRUE;
3860: END IF;
3861: CLOSE check_inst_nonserial;
3862:
3863: IF FND_API.To_Boolean(x_serialized) THEN
3864: IF(NVL(p_move_item_instance_rec.quantity,1) <> 1)THEN
3865: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
3866: fnd_log.string
3867: (
3906: FND_MSG_PUB.ADD;
3907: END IF;
3908: --Standard check to count messages
3909: IF Fnd_Msg_Pub.count_msg > 0 THEN
3910: x_return_status := Fnd_Api.G_RET_STS_ERROR;
3911: RAISE Fnd_Api.G_EXC_ERROR;
3912: END IF;
3913:
3914: l_instance_rec.wip_job_id := l_to_wip_entity_id;
3907: END IF;
3908: --Standard check to count messages
3909: IF Fnd_Msg_Pub.count_msg > 0 THEN
3910: x_return_status := Fnd_Api.G_RET_STS_ERROR;
3911: RAISE Fnd_Api.G_EXC_ERROR;
3912: END IF;
3913:
3914: l_instance_rec.wip_job_id := l_to_wip_entity_id;
3915: l_instance_rec.quantity := NVL(p_move_item_instance_rec.quantity,1);
4052:
4053:
4054: CSI_ITEM_INSTANCE_PUB. update_item_instance (
4055: p_api_version =>1.0
4056: ,p_commit => fnd_api.g_false
4057: ,p_init_msg_list => fnd_api.g_false
4058: ,p_validation_level => fnd_api.g_valid_level_full
4059: ,p_instance_rec => l_instance_rec
4060: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4053:
4054: CSI_ITEM_INSTANCE_PUB. update_item_instance (
4055: p_api_version =>1.0
4056: ,p_commit => fnd_api.g_false
4057: ,p_init_msg_list => fnd_api.g_false
4058: ,p_validation_level => fnd_api.g_valid_level_full
4059: ,p_instance_rec => l_instance_rec
4060: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4061: ,p_party_tbl =>l_party_tbl
4054: CSI_ITEM_INSTANCE_PUB. update_item_instance (
4055: p_api_version =>1.0
4056: ,p_commit => fnd_api.g_false
4057: ,p_init_msg_list => fnd_api.g_false
4058: ,p_validation_level => fnd_api.g_valid_level_full
4059: ,p_instance_rec => l_instance_rec
4060: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4061: ,p_party_tbl =>l_party_tbl
4062: ,p_account_tbl => l_account_tbl
4267: p_instance_rec => l_instance_rec,
4268: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4269: x_Return_Status => X_Return_Status
4270: );
4271: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
4272: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4273: fnd_log.string
4274: (
4275: fnd_log.level_error,
4276: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4277: 'Item in destination: dest Non Serialized update_csi_item_instance returned error '
4278: );
4279: END IF;
4280: RAISE FND_API.G_EXC_ERROR;
4281: END IF;
4282: -- reduce quantity and/or expire source insance
4283: l_instance_rec.instance_id := l_source_inst_rec.instance_id;
4284: l_instance_rec.quantity := l_source_inst_rec.quantity - p_move_quantity;
4288: p_instance_rec => l_instance_rec,
4289: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4290: x_Return_Status => X_Return_Status
4291: );
4292: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4293: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4294: fnd_log.string
4295: (
4296: fnd_log.level_error,
4297: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4298: 'Item in destination: source Non Serialized update_csi_item_instance returned error '
4299: );
4300: END IF;
4301: RAISE FND_API.G_EXC_ERROR;
4302: END IF;
4303: ELSIF(l_item_found_in_dest_wo AND l_source_inst_rec.quantity = p_move_quantity) THEN
4304: -- item in destination and is a full move. Make sure that item with open job do not get expired
4305: -- add to dest instance quantity
4333: p_instance_rec => l_instance_rec,
4334: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4335: x_Return_Status => X_Return_Status
4336: );
4337: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
4338: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4339: fnd_log.string
4340: (
4341: fnd_log.level_error,
4342: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4343: 'Item in destination: dest Non Serialized update_csi_item_instance returned error '
4344: );
4345: END IF;
4346: RAISE FND_API.G_EXC_ERROR;
4347: END IF;
4348: -- reduce quantity and/or expire source insance
4349: l_instance_rec.instance_id := l_source_inst_rec.instance_id;
4350: IF( NOT l_open_wip_job_source) THEN
4361: p_instance_rec => l_instance_rec,
4362: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4363: x_Return_Status => X_Return_Status
4364: );
4365: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4366: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4367: fnd_log.string
4368: (
4369: fnd_log.level_error,
4370: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4371: 'Item in destination: source Non Serialized update_csi_item_instance returned error '
4372: );
4373: END IF;
4374: RAISE FND_API.G_EXC_ERROR;
4375: END IF;
4376: ELSE -- no item in destination
4377: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
4378: fnd_log.string
4430: p_instance_rec => l_instance_rec,
4431: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4432: x_Return_Status => X_Return_Status
4433: );
4434: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4435: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4436: fnd_log.string
4437: (
4438: fnd_log.level_error,
4439: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4440: 'Item NOT in destination: Full Move update_csi_item_instance returned error '
4441: );
4442: END IF;
4443: RAISE FND_API.G_EXC_ERROR;
4444: END IF;
4445: ELSE -- else create instance at dest with move qty and reduce source qty
4446: -- or reuse an expired instance create_similar_instance API does that
4447: create_similar_instance(
4451: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4452: x_dest_instance_id => l_dest_instance_id,
4453: x_return_status => X_Return_Status
4454: );
4455: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
4456: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4457: fnd_log.string
4458: (
4459: fnd_log.level_error,
4460: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4461: 'Item NOT in destination: Partial Move create_similar_instance returned error '
4462: );
4463: END IF;
4464: RAISE FND_API.G_EXC_ERROR;
4465: END IF;
4466: -- reduce quantity and/or expire source insance
4467: l_instance_rec.instance_id := l_source_inst_rec.instance_id;
4468: l_instance_rec.quantity := l_source_inst_rec.quantity - p_move_quantity;
4471: p_instance_rec => l_instance_rec,
4472: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4473: x_Return_Status => X_Return_Status
4474: );
4475: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4476: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4477: fnd_log.string
4478: (
4479: fnd_log.level_error,
4480: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4481: 'Item NOT in destination: Partial Move/Update Source qty update_csi_item_instance returned error '
4482: );
4483: END IF;
4484: RAISE FND_API.G_EXC_ERROR;
4485: END IF;
4486: END IF;
4487: END IF;
4488:
4661:
4662: CSI_ITEM_INSTANCE_PUB.copy_item_instance
4663: (
4664: p_api_version => 1.0
4665: ,p_commit => fnd_api.g_false
4666: ,p_init_msg_list => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4662: CSI_ITEM_INSTANCE_PUB.copy_item_instance
4663: (
4664: p_api_version => 1.0
4665: ,p_commit => fnd_api.g_false
4666: ,p_init_msg_list => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4663: (
4664: p_api_version => 1.0
4665: ,p_commit => fnd_api.g_false
4666: ,p_init_msg_list => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4665: ,p_commit => fnd_api.g_false
4666: ,p_init_msg_list => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4666: ,p_init_msg_list => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4667: ,p_validation_level => fnd_api.g_valid_level_full
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4668: ,p_source_instance_rec => l_source_instance_rec
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4676: ,p_copy_inst_children => fnd_api.g_true
4669: ,p_copy_ext_attribs => fnd_api.g_true
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4676: ,p_copy_inst_children => fnd_api.g_true
4677: ,p_txn_rec => p_x_csi_transaction_rec
4670: ,p_copy_org_assignments => fnd_api.g_true
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4676: ,p_copy_inst_children => fnd_api.g_true
4677: ,p_txn_rec => p_x_csi_transaction_rec
4678: ,x_new_instance_tbl => l_new_instance_tbl
4671: ,p_copy_parties => fnd_api.g_true
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4676: ,p_copy_inst_children => fnd_api.g_true
4677: ,p_txn_rec => p_x_csi_transaction_rec
4678: ,x_new_instance_tbl => l_new_instance_tbl
4679: ,x_return_status => x_return_status
4672: ,p_copy_party_contacts => fnd_api.g_true
4673: ,p_copy_accounts => fnd_api.g_true
4674: ,p_copy_asset_assignments => fnd_api.g_true
4675: ,p_copy_pricing_attribs => fnd_api.g_true
4676: ,p_copy_inst_children => fnd_api.g_true
4677: ,p_txn_rec => p_x_csi_transaction_rec
4678: ,x_new_instance_tbl => l_new_instance_tbl
4679: ,x_return_status => x_return_status
4680: ,x_msg_count => l_msg_count
4680: ,x_msg_count => l_msg_count
4681: ,x_msg_data => l_msg_data
4682: );
4683:
4684: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4685: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4686: fnd_log.string
4687: (
4688: fnd_log.level_error,
4689: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4690: 'CSI_ITEM_INSTANCE_PUB.copy_item_instance returned error '
4691: );
4692: END IF;
4693: RAISE FND_API.G_EXC_ERROR;
4694: END IF;
4695:
4696: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
4697: fnd_log.string
4738: p_instance_rec => l_dest_instance_rec,
4739: p_x_csi_transaction_rec => p_x_csi_transaction_rec,
4740: x_Return_Status => X_Return_Status
4741: );
4742: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4743: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
4744: fnd_log.string
4745: (
4746: fnd_log.level_error,
4747: 'ahl.plsql.' || G_PKG_NAME || '.' || l_api_name,
4748: 'Updating copied instance loc: update_csi_item_instance returned error '
4749: );
4750: END IF;
4751: RAISE FND_API.G_EXC_ERROR;
4752: END IF;
4753: x_dest_instance_id := l_dest_instance_rec.instance_id;
4754:
4755:
4801:
4802: END Get_UnitConfig_ID;
4803:
4804: -- added for USAF(VEE) enhancements. Update part condition for serialized items.
4805: PROCEDURE update_part_condition( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4806: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4807: p_validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4808: p_instance_id IN NUMBER,
4809: p_object_version_number IN NUMBER := NULL,
4802: END Get_UnitConfig_ID;
4803:
4804: -- added for USAF(VEE) enhancements. Update part condition for serialized items.
4805: PROCEDURE update_part_condition( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4806: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4807: p_validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4808: p_instance_id IN NUMBER,
4809: p_object_version_number IN NUMBER := NULL,
4810: p_instance_condition_id IN NUMBER,
4803:
4804: -- added for USAF(VEE) enhancements. Update part condition for serialized items.
4805: PROCEDURE update_part_condition( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4806: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4807: p_validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4808: p_instance_id IN NUMBER,
4809: p_object_version_number IN NUMBER := NULL,
4810: p_instance_condition_id IN NUMBER,
4811: x_return_status OUT NOCOPY VARCHAR2,
4850: -- Standard start of API savepoint
4851: Savepoint Update_Part_Condition_pvt_S;
4852:
4853: -- Initialize message list if p_init_msg_list is set to TRUE
4854: IF FND_API.To_Boolean(p_init_msg_list) THEN
4855: FND_MSG_PUB.Initialize;
4856: END IF;
4857:
4858: -- Initialize API return status to success
4855: FND_MSG_PUB.Initialize;
4856: END IF;
4857:
4858: -- Initialize API return status to success
4859: x_return_status := FND_API.G_RET_STS_SUCCESS;
4860:
4861: -- log debug message.
4862: IF (l_debug_stmt >= l_debug_level) THEN
4863: fnd_log.string(l_debug_stmt,l_debug_module,
4869: fnd_log.string(l_debug_stmt,l_debug_module,
4870: 'Input p_validation_level:' || p_validation_level);
4871: END IF;
4872:
4873: IF (p_validation_Level = FND_API.G_VALID_LEVEL_FULL) THEN
4874: -- validate instance.
4875: BEGIN
4876: SELECT active_end_date, serial_number, object_version_number, instance_condition_id
4877: INTO l_active_end_date, l_serial_number, l_instance_ovn, l_inst_condn_id
4880: IF (l_active_end_date <= sysdate) THEN
4881: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_INST_EXPIRED');
4882: FND_MESSAGE.Set_Token('INST_ID', p_instance_id);
4883: FND_MSG_PUB.ADD;
4884: x_return_status := FND_API.G_RET_STS_ERROR;
4885: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4886: p_data => x_msg_data,
4887: p_encoded => fnd_api.g_false);
4888: RETURN;
4883: FND_MSG_PUB.ADD;
4884: x_return_status := FND_API.G_RET_STS_ERROR;
4885: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4886: p_data => x_msg_data,
4887: p_encoded => fnd_api.g_false);
4888: RETURN;
4889: END IF;
4890: EXCEPTION
4891: WHEN NO_DATA_FOUND THEN
4891: WHEN NO_DATA_FOUND THEN
4892: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PC_INST_INVALID');
4893: FND_MESSAGE.Set_Token('INST_ID', p_instance_id);
4894: FND_MSG_PUB.ADD;
4895: x_return_status := FND_API.G_RET_STS_ERROR;
4896: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4897: p_data => x_msg_data,
4898: p_encoded => fnd_api.g_false);
4899: RETURN;
4894: FND_MSG_PUB.ADD;
4895: x_return_status := FND_API.G_RET_STS_ERROR;
4896: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4897: p_data => x_msg_data,
4898: p_encoded => fnd_api.g_false);
4899: RETURN;
4900: WHEN OTHERS THEN
4901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4902: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
4897: p_data => x_msg_data,
4898: p_encoded => fnd_api.g_false);
4899: RETURN;
4900: WHEN OTHERS THEN
4901: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4902: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
4903: p_procedure_name => 'Update_Part_Condition',
4904: p_error_text => 'Validate Instance:' || SQLERRM);
4905: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4903: p_procedure_name => 'Update_Part_Condition',
4904: p_error_text => 'Validate Instance:' || SQLERRM);
4905: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4906: p_data => x_msg_data,
4907: p_encoded => fnd_api.g_false);
4908: RETURN;
4909: END;
4910:
4911: -- validate if serialized.
4931: WHEN NO_DATA_FOUND THEN
4932: FND_MESSAGE.Set_Name('AHL','AHL_PRD_COND_INVALID');
4933: FND_MESSAGE.Set_Token('CODE',p_instance_condition_id);
4934: FND_MSG_PUB.ADD;
4935: x_return_status := FND_API.G_RET_STS_ERROR;
4936: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4937: p_data => x_msg_data,
4938: p_encoded => fnd_api.g_false);
4939: RETURN;
4934: FND_MSG_PUB.ADD;
4935: x_return_status := FND_API.G_RET_STS_ERROR;
4936: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4937: p_data => x_msg_data,
4938: p_encoded => fnd_api.g_false);
4939: RETURN;
4940: WHEN OTHERS THEN
4941: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4942: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
4937: p_data => x_msg_data,
4938: p_encoded => fnd_api.g_false);
4939: RETURN;
4940: WHEN OTHERS THEN
4941: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4942: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PRD_PARTS_CHANGE_PVT',
4943: p_procedure_name => 'Update_Part_Condition',
4944: p_error_text => 'Validate Condition:' || SQLERRM);
4945: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4943: p_procedure_name => 'Update_Part_Condition',
4944: p_error_text => 'Validate Condition:' || SQLERRM);
4945: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4946: p_data => x_msg_data,
4947: p_encoded => fnd_api.g_false);
4948: RETURN;
4949: END;
4950: ELSIF (p_validation_level = 10) THEN
4951: l_instance_ovn := p_object_version_number;
4952: ELSE
4953: FND_MESSAGE.Set_Name('AHL','AHL_PRD_VLDNLVL_INVALID');
4954: FND_MESSAGE.Set_Token('CODE',p_validation_level);
4955: FND_MSG_PUB.ADD;
4956: x_return_status := FND_API.G_RET_STS_ERROR;
4957: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4958: p_data => x_msg_data,
4959: p_encoded => fnd_api.g_false);
4960: RETURN;
4955: FND_MSG_PUB.ADD;
4956: x_return_status := FND_API.G_RET_STS_ERROR;
4957: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4958: p_data => x_msg_data,
4959: p_encoded => fnd_api.g_false);
4960: RETURN;
4961: END IF; -- p_validation_level
4962:
4963: IF (nvl(l_inst_condn_id,-1) <> p_instance_condition_id) THEN
4969: IF NOT(l_return_val) THEN
4970: FND_MESSAGE.Set_Name('AHL','AHL_PRD_CSI_TXN_INVALID');
4971: FND_MESSAGE.Set_Token('CODE','UC_UPDATE');
4972: FND_MSG_PUB.ADD;
4973: x_return_status := FND_API.G_RET_STS_ERROR;
4974: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4975: p_data => x_msg_data,
4976: p_encoded => fnd_api.g_false);
4977: RETURN;
4972: FND_MSG_PUB.ADD;
4973: x_return_status := FND_API.G_RET_STS_ERROR;
4974: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
4975: p_data => x_msg_data,
4976: p_encoded => fnd_api.g_false);
4977: RETURN;
4978: END IF;
4979:
4980: l_csi_transaction_rec.transaction_type_id := l_transaction_type_id;
4984: l_instance_rec.INSTANCE_CONDITION_ID := p_instance_condition_id;
4985:
4986: -- Update instance.
4987: CSI_ITEM_INSTANCE_PUB.update_item_instance ( p_api_version =>1.0
4988: ,p_commit => fnd_api.g_false
4989: ,p_init_msg_list => fnd_api.g_false
4990: ,p_validation_level => fnd_api.g_valid_level_full
4991: ,p_instance_rec => l_instance_rec
4992: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4985:
4986: -- Update instance.
4987: CSI_ITEM_INSTANCE_PUB.update_item_instance ( p_api_version =>1.0
4988: ,p_commit => fnd_api.g_false
4989: ,p_init_msg_list => fnd_api.g_false
4990: ,p_validation_level => fnd_api.g_valid_level_full
4991: ,p_instance_rec => l_instance_rec
4992: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4993: ,p_party_tbl =>l_party_tbl
4986: -- Update instance.
4987: CSI_ITEM_INSTANCE_PUB.update_item_instance ( p_api_version =>1.0
4988: ,p_commit => fnd_api.g_false
4989: ,p_init_msg_list => fnd_api.g_false
4990: ,p_validation_level => fnd_api.g_valid_level_full
4991: ,p_instance_rec => l_instance_rec
4992: ,p_ext_attrib_values_tbl=>l_extend_attrib_values_tbl
4993: ,p_party_tbl =>l_party_tbl
4994: ,p_account_tbl => l_account_tbl
5001: ,x_msg_count => x_msg_count
5002: ,x_msg_data => x_msg_data );
5003:
5004:
5005: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5006: ROLLBACK to Update_Part_Condition_pvt_S;
5007: END IF;
5008:
5009: -- Standard check of p_commit
5006: ROLLBACK to Update_Part_Condition_pvt_S;
5007: END IF;
5008:
5009: -- Standard check of p_commit
5010: IF FND_API.To_Boolean(p_commit) THEN
5011: COMMIT WORK;
5012: END IF;
5013:
5014: END IF; -- condition not changed.
5055: END IF;
5056: FOR GET_SRC_RES_ID_REC IN GET_SRC_RES_ID_CSR(P_ITEM_INSTANCE_ID)
5057: LOOP
5058: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (P_API_VERSION => 1.0,
5059: P_INIT_MSG_LIST => FND_API.G_TRUE,
5060: P_COMMIT => FND_API.G_FALSE ,
5061: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5062: P_MODULE_TYPE => NULL,
5063: X_RETURN_STATUS => L_RETURN_STATUS ,
5056: FOR GET_SRC_RES_ID_REC IN GET_SRC_RES_ID_CSR(P_ITEM_INSTANCE_ID)
5057: LOOP
5058: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (P_API_VERSION => 1.0,
5059: P_INIT_MSG_LIST => FND_API.G_TRUE,
5060: P_COMMIT => FND_API.G_FALSE ,
5061: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5062: P_MODULE_TYPE => NULL,
5063: X_RETURN_STATUS => L_RETURN_STATUS ,
5064: X_MSG_COUNT => L_MSG_COUNT ,
5057: LOOP
5058: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (P_API_VERSION => 1.0,
5059: P_INIT_MSG_LIST => FND_API.G_TRUE,
5060: P_COMMIT => FND_API.G_FALSE ,
5061: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5062: P_MODULE_TYPE => NULL,
5063: X_RETURN_STATUS => L_RETURN_STATUS ,
5064: X_MSG_COUNT => L_MSG_COUNT ,
5065: X_MSG_DATA => L_MSG_DATA ,
5064: X_MSG_COUNT => L_MSG_COUNT ,
5065: X_MSG_DATA => L_MSG_DATA ,
5066: P_RESERVATION_ID => GET_SRC_RES_ID_REC.RESERVATION_ID);
5067: -- Check return status.
5068: IF (L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS ) THEN
5069: IF ( G_DEBUG = 'Y' ) THEN
5070: AHL_DEBUG_PUB.DEBUG('Delete_Reservation failed for Reservation ID: ' || GET_SRC_RES_ID_REC.RESERVATION_ID);
5071: END IF; -- G_DEBUG.
5072: EXIT;
5071: END IF; -- G_DEBUG.
5072: EXIT;
5073: END IF; -- l_return_status
5074: END LOOP;
5075: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5077: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5078: RAISE FND_API.G_EXC_ERROR;
5079: END IF;
5072: EXIT;
5073: END IF; -- l_return_status
5074: END LOOP;
5075: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5077: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5078: RAISE FND_API.G_EXC_ERROR;
5079: END IF;
5080: END CANCEL_WO_RESERVATION;
5073: END IF; -- l_return_status
5074: END LOOP;
5075: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5077: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5078: RAISE FND_API.G_EXC_ERROR;
5079: END IF;
5080: END CANCEL_WO_RESERVATION;
5081:
5074: END LOOP;
5075: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5077: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5078: RAISE FND_API.G_EXC_ERROR;
5079: END IF;
5080: END CANCEL_WO_RESERVATION;
5081:
5082: