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
338: order line. Following condition will raise error while backordering line
339: */
340:
341: -- if((p_primary_quantity < 0) and ((p_primary_quantity * -1) > l_allocated)) then
342: -- raise fnd_api.G_EXC_UNEXPECTED_ERROR;
343: -- end if;
344:
345: if(p_primary_quantity > l_backordered) then
346: update wip_requirement_operations
358: end if;
359: exception
360: when NO_DATA_FOUND then
361: x_quantity_allocated := 0;
362: when fnd_api.G_EXC_UNEXPECTED_ERROR then
363: x_return_status := fnd_api.G_RET_STS_UNEXP_ERROR;
364: fnd_message.set_name('WIP', 'WIP_PICKING_DEALLOCATE_ERROR');
365: x_msg_data := fnd_message.get;
366: when RECORDS_LOCKED then
359: exception
360: when NO_DATA_FOUND then
361: x_quantity_allocated := 0;
362: when fnd_api.G_EXC_UNEXPECTED_ERROR then
363: x_return_status := fnd_api.G_RET_STS_UNEXP_ERROR;
364: fnd_message.set_name('WIP', 'WIP_PICKING_DEALLOCATE_ERROR');
365: x_msg_data := fnd_message.get;
366: when RECORDS_LOCKED then
367: ROLLBACK TO WIP_ALLOCATE_MATERIAL_START;
369: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
370: x_msg_data := fnd_message.get;
371: when others then
372: ROLLBACK TO WIP_ALLOCATE_MATERIAL_START;
373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
374: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
375: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.allocate_material: ' || SQLERRM);
376: x_msg_data := fnd_message.get;
377: end allocate_material;
726: EXCEPTION
727: when others then
728: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
729: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.Is_Component_Pick_Released: ' || SQLERRM);
730: raise fnd_api.g_exc_unexpected_error;
731:
732: End Is_Component_Pick_Released;
733:
734: Function Is_Job_Pick_Released(p_wip_entity_id in number,
793: EXCEPTION
794: when others then
795: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
796: fnd_message.set_token('ERROR_TEXT', 'wip_picking_pub.Is_Job_Pick_Released: ' || SQLERRM);
797: raise fnd_api.g_exc_unexpected_error;
798: End Is_Job_Pick_Released;
799:
800: Procedure Update_Requirement_SubinvLoc(p_wip_entity_id number,
801: p_repetitive_schedule_id in NUMBER DEFAULT NULL,
810: l_loginId NUMBER := fnd_global.login_id;
811:
812: Begin
813: SAVEPOINT WIP_UPDATE_REQ_SUBINVLOC_START;
814: x_return_status := FND_API.G_RET_STS_SUCCESS;
815:
816: --for repetitive, lot-based and discrete...
817: if (p_repetitive_schedule_id is null or p_repetitive_schedule_id = 0) then
818: update wip_requirement_operations
842: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
843: x_msg_data := fnd_message.get;
844: when others then
845: ROLLBACK TO WIP_UPDATE_REQ_SUBINVLOC_START;
846: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
847: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
848: fnd_message.set_token('ERROR_TEXT',
849: 'wip_utilities.Update_Requirement_SubinvLoc: ' || SQLERRM);
850: x_msg_data := fnd_message.get;
863: l_loginId NUMBER := fnd_global.login_id;
864: l_dummy VARCHAR2(1);
865: Begin
866: SAVEPOINT WIP_COMP_BACKORDQTY_START;
867: x_return_status := FND_API.G_RET_STS_SUCCESS;
868:
869: select entity_type
870: into l_entityType
871: from wip_entities
921: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
922: x_msg_data := fnd_message.get;
923: when others then
924: ROLLBACK TO WIP_COMP_BACKORDQTY_START;
925: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
926: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
927: fnd_message.set_token('ERROR_TEXT', 'wip_picking_private.Update_Component_BackOrdQty: '
928: || SQLERRM);
929: x_msg_data := fnd_message.get;
939: l_userId NUMBER := fnd_global.user_id;
940: l_loginId NUMBER := fnd_global.login_id;
941: Begin
942: SAVEPOINT WIP_JOB_BACKORDQTY_START;
943: x_return_status := FND_API.G_RET_STS_SUCCESS;
944:
945: select entity_type
946: into l_entityType
947: from wip_entities
994: fnd_message.set_name('FND', 'FORM_UNABLE_TO_RESERVE_RECORD');
995: x_msg_data := fnd_message.get;
996: when others then
997: ROLLBACK TO WIP_JOB_BACKORDQTY_START;
998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
999: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
1000: fnd_message.set_token('ERROR_TEXT', 'wip_picking_private.Update_Job_BackOrdQty: '
1001: || SQLERRM);
1002: x_msg_data := fnd_message.get;