19:
20: begin
21:
22: SAVEPOINT WIP_PRE_ALLOC_MATERIAL_START;
23: x_return_status := FND_API.G_RET_STS_SUCCESS;
24:
25: select entity_type
26: into l_entityType
27: from wip_entities
64: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
65: x_msg_data := fnd_message.get;
66: when others then
67: ROLLBACK TO WIP_PRE_ALLOC_MATERIAL_START;
68: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
69: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
70: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.pre_allocate_material: ' || SQLERRM);
71: x_msg_data := fnd_message.get;
72:
113: for update of wro.quantity_issued, wro.quantity_allocated;
114:
115: begin
116: SAVEPOINT WIP_ISSUE_MATERIAL_START;
117: x_return_status := FND_API.G_RET_STS_SUCCESS;
118: select entity_type
119: into l_entityType
120: from wip_entities
121: where wip_entity_id = p_wip_entity_id;
136: into l_statusCode
137: from mfg_lookups
138: where lookup_type = 'WIP_JOB_STATUS'
139: and lookup_code = l_status;
140: raise FND_API.G_EXC_UNEXPECTED_ERROR;
141: end if;
142:
143: --up issued
144: --lower allocated
213: end if;
214: exception
215: when NO_DATA_FOUND then
216: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
217: x_return_status := FND_API.G_RET_STS_ERROR;
218: fnd_message.set_name('WIP', 'WIP_NO_PUSH_REQUIREMENT');
219: x_msg_data := fnd_message.get;
220: when RECORDS_LOCKED then
221: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
221: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
222: x_return_status := 'L';
223: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
224: x_msg_data := fnd_message.get;
225: when FND_API.G_EXC_UNEXPECTED_ERROR then
226: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228: fnd_message.set_name('WIP', 'WIP_PICKING_STATUS_ERROR');
229: fnd_message.set_token('STATUS', l_statusCode);
223: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
224: x_msg_data := fnd_message.get;
225: when FND_API.G_EXC_UNEXPECTED_ERROR then
226: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228: fnd_message.set_name('WIP', 'WIP_PICKING_STATUS_ERROR');
229: fnd_message.set_token('STATUS', l_statusCode);
230: x_msg_data := fnd_message.get;
231: when others then
229: fnd_message.set_token('STATUS', l_statusCode);
230: x_msg_data := fnd_message.get;
231: when others then
232: ROLLBACK TO WIP_ISSUE_MATERIAL_START;
233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
234: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
235: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.issue_material: ' || SQLERRM);
236: x_msg_data := fnd_message.get;
237: end issue_material;
251: l_flow VARCHAR2(1);
252: l_openQty NUMBER;
253: begin
254: SAVEPOINT WIP_ALLOCATE_MATERIAL_START;
255: x_return_status := FND_API.G_RET_STS_SUCCESS;
256: x_quantity_allocated := 0;
257:
258: select entity_type
259: into l_entityType
331: order line. Following condition will raise error while backordering line
332: */
333:
334: -- if((p_primary_quantity < 0) and ((p_primary_quantity * -1) > l_allocated)) then
335: -- raise fnd_api.G_EXC_UNEXPECTED_ERROR;
336: -- end if;
337:
338: if(p_primary_quantity > l_backordered) then
339: update wip_requirement_operations
351: end if;
352: exception
353: when NO_DATA_FOUND then
354: x_quantity_allocated := 0;
355: when fnd_api.G_EXC_UNEXPECTED_ERROR then
356: x_return_status := fnd_api.G_RET_STS_UNEXP_ERROR;
357: fnd_message.set_name('WIP', 'WIP_PICKING_DEALLOCATE_ERROR');
358: x_msg_data := fnd_message.get;
359: when RECORDS_LOCKED then
352: exception
353: when NO_DATA_FOUND then
354: x_quantity_allocated := 0;
355: when fnd_api.G_EXC_UNEXPECTED_ERROR then
356: x_return_status := fnd_api.G_RET_STS_UNEXP_ERROR;
357: fnd_message.set_name('WIP', 'WIP_PICKING_DEALLOCATE_ERROR');
358: x_msg_data := fnd_message.get;
359: when RECORDS_LOCKED then
360: ROLLBACK TO WIP_ALLOCATE_MATERIAL_START;
362: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
363: x_msg_data := fnd_message.get;
364: when others then
365: ROLLBACK TO WIP_ALLOCATE_MATERIAL_START;
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
368: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.allocate_material: ' || SQLERRM);
369: x_msg_data := fnd_message.get;
370: end allocate_material;
691: EXCEPTION
692: when others then
693: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
694: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.Is_Component_Pick_Released: ' || SQLERRM);
695: raise fnd_api.g_exc_unexpected_error;
696:
697: End Is_Component_Pick_Released;
698:
699: Function Is_Job_Pick_Released(p_wip_entity_id in number,
736: EXCEPTION
737: when others then
738: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
739: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.Is_Job_Pick_Released: ' || SQLERRM);
740: raise fnd_api.g_exc_unexpected_error;
741: End Is_Job_Pick_Released;
742:
743: Procedure Update_Requirement_SubinvLoc(p_wip_entity_id number,
744: p_repetitive_schedule_id in NUMBER DEFAULT NULL,
753: l_loginId NUMBER := fnd_global.login_id;
754:
755: Begin
756: SAVEPOINT WIP_UPDATE_REQ_SUBINVLOC_START;
757: x_return_status := FND_API.G_RET_STS_SUCCESS;
758:
759: --for repetitive, lot-based and discrete...
760: if (p_repetitive_schedule_id is null or p_repetitive_schedule_id = 0) then
761: update wip_requirement_operations
785: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
786: x_msg_data := fnd_message.get;
787: when others then
788: ROLLBACK TO WIP_UPDATE_REQ_SUBINVLOC_START;
789: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
790: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
791: fnd_message.set_token('ERROR_TEXT',
792: 'wip_utilities.Update_Requirement_SubinvLoc: ' || SQLERRM);
793: x_msg_data := fnd_message.get;
806: l_loginId NUMBER := fnd_global.login_id;
807: l_dummy VARCHAR2(1);
808: Begin
809: SAVEPOINT WIP_COMP_BACKORDQTY_START;
810: x_return_status := FND_API.G_RET_STS_SUCCESS;
811:
812: select entity_type
813: into l_entityType
814: from wip_entities
864: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
865: x_msg_data := fnd_message.get;
866: when others then
867: ROLLBACK TO WIP_COMP_BACKORDQTY_START;
868: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
869: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
870: fnd_message.set_token('ERROR_TEXT', 'wip_picking_private.Update_Component_BackOrdQty: '
871: || SQLERRM);
872: x_msg_data := fnd_message.get;
882: l_userId NUMBER := fnd_global.user_id;
883: l_loginId NUMBER := fnd_global.login_id;
884: Begin
885: SAVEPOINT WIP_JOB_BACKORDQTY_START;
886: x_return_status := FND_API.G_RET_STS_SUCCESS;
887:
888: select entity_type
889: into l_entityType
890: from wip_entities
937: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
938: x_msg_data := fnd_message.get;
939: when others then
940: ROLLBACK TO WIP_JOB_BACKORDQTY_START;
941: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
942: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
943: fnd_message.set_token('ERROR_TEXT', 'wip_picking_private.Update_Job_BackOrdQty: '
944: || SQLERRM);
945: x_msg_data := fnd_message.get;