57: *********************************************************************/
58:
59: PROCEDURE Check_Shortage
60: (p_api_version IN NUMBER
61: , p_init_msg_lst IN VARCHAR2 := FND_API.G_FALSE
62: , p_commit IN VARCHAR2 := FND_API.G_FALSE
63: , x_return_status OUT NOCOPY VARCHAR2
64: , x_msg_count OUT NOCOPY NUMBER
65: , x_msg_data OUT NOCOPY VARCHAR2
58:
59: PROCEDURE Check_Shortage
60: (p_api_version IN NUMBER
61: , p_init_msg_lst IN VARCHAR2 := FND_API.G_FALSE
62: , p_commit IN VARCHAR2 := FND_API.G_FALSE
63: , x_return_status OUT NOCOPY VARCHAR2
64: , x_msg_count OUT NOCOPY NUMBER
65: , x_msg_data OUT NOCOPY VARCHAR2
66: , p_wip_entity_id IN NUMBER
144:
145: -- Standard Start of API savepoint
146: SAVEPOINT Check_Shortage_Start;
147:
148: IF NOT FND_API.Compatible_API_Call (l_api_version
149: ,p_api_version
150: ,l_api_name
151: ,G_PKG_NAME)
152: THEN
149: ,p_api_version
150: ,l_api_name
151: ,G_PKG_NAME)
152: THEN
153: x_return_status := FND_API.g_ret_sts_unexp_error;
154: RAISE l_unexpected_excep;
155: END IF;
156:
157: -- Check p_init_msg_list
154: RAISE l_unexpected_excep;
155: END IF;
156:
157: -- Check p_init_msg_list
158: IF FND_API.to_Boolean( p_init_msg_lst ) THEN
159: FND_MSG_PUB.initialize;
160: END IF;
161:
162: -- Initialize API return status to success
159: FND_MSG_PUB.initialize;
160: END IF;
161:
162: -- Initialize API return status to success
163: x_return_status := FND_API.G_RET_STS_SUCCESS;
164: x_shortage_exists := 'N';
165:
166: OPEN wip_entity_name_csr(p_wip_entity_id);
167: FETCH wip_entity_name_csr INTO l_wip_entity_name;
211: , p_is_serial_control => l_is_serial_control
212: , p_asset_sub_only => l_asset_sub_only
213: , x_tree_id => x_tree_id);
214:
215: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
216: RAISE l_unexpected_excep;
217: END IF;
218:
219: Inv_Quantity_Tree_Grp.query_tree
235: , x_atr => x_atr
236: , p_transfer_subinventory_code => null
237: );
238:
239: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
240: RAISE l_unexpected_excep;
241: END IF;
242:
243: END IF;
269: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '
270: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '');
271:
272: ELSE
273: IF FND_API.To_Boolean( p_commit ) THEN
274: COMMIT;
275: END IF;
276: RETURN;
277: END IF;
319: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '
320: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '');
321:
322: ELSE
323: IF FND_API.To_Boolean( p_commit ) THEN
324: COMMIT;
325: END IF;
326: RETURN;
327: END IF;
347: last_update_login = fnd_global.login_id
348: WHERE wip_entity_id = p_wip_entity_id;
349: END IF;
350:
351: IF FND_API.To_Boolean( p_commit ) THEN
352: COMMIT;
353: END IF;
354:
355: EXCEPTION
352: COMMIT;
353: END IF;
354:
355: EXCEPTION
356: WHEN FND_API.G_EXC_ERROR THEN
357: ROLLBACK TO Check_Shortage_Start;
358: FND_MSG_PUB.Count_And_Get
359: (p_count => x_msg_count,
360: p_data => x_msg_data
358: FND_MSG_PUB.Count_And_Get
359: (p_count => x_msg_count,
360: p_data => x_msg_data
361: );
362: x_return_status := FND_API.G_RET_STS_ERROR ;
363:
364: IF (p_source_api = 'Concurrent') THEN
365: fnd_file.put_line(FND_FILE.LOG,x_msg_data);
366: -- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '
373: last_update_date = sysdate,
374: last_updated_by = fnd_global.user_id,
375: last_update_login = fnd_global.login_id
376: WHERE wip_entity_id = p_wip_entity_id;
377: IF FND_API.To_Boolean( p_commit ) THEN
378: COMMIT;
379: END IF;
380:
381: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
377: IF FND_API.To_Boolean( p_commit ) THEN
378: COMMIT;
379: END IF;
380:
381: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
382: ROLLBACK TO Check_Shortage_Start;
383: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
384: FND_MSG_PUB.Count_And_Get
385: (p_count => x_msg_count,
379: END IF;
380:
381: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
382: ROLLBACK TO Check_Shortage_Start;
383: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
384: FND_MSG_PUB.Count_And_Get
385: (p_count => x_msg_count,
386: p_data => x_msg_data
387: );
397: last_update_date = sysdate,
398: last_updated_by = fnd_global.user_id,
399: last_update_login = fnd_global.login_id
400: WHERE wip_entity_id = p_wip_entity_id;
401: IF FND_API.To_Boolean( p_commit ) THEN
402: COMMIT;
403: END IF;
404: WHEN OTHERS THEN
405: ROLLBACK TO Check_Shortage_Start;
402: COMMIT;
403: END IF;
404: WHEN OTHERS THEN
405: ROLLBACK TO Check_Shortage_Start;
406: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
407: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
408: FND_MSG_PUB.Add_Exc_Msg
409: (G_PKG_NAME,
410: l_api_name
426: last_update_date = sysdate,
427: last_updated_by = fnd_global.user_id,
428: last_update_login = fnd_global.login_id
429: WHERE wip_entity_id = p_wip_entity_id;
430: IF FND_API.To_Boolean( p_commit ) THEN
431: COMMIT;
432: END IF;
433: END Check_Shortage;
434: