2: /* $Header: IBECORDB.pls 120.3 2005/08/10 04:46:55 appldev ship $ */
3:
4: G_PKG_NAME CONSTANT VARCHAR2(30) := 'IBE_CANCEL_ORDER_PVT';
5: G_FILE_NAME CONSTANT VARCHAR2(12) := 'IBECORDB.pls';
6: l_true VARCHAR2(1) := FND_API.G_TRUE;
7:
8: PROCEDURE CANCEL_ORDER (
9: p_api_version IN NUMBER := 1 ,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
6: l_true VARCHAR2(1) := FND_API.G_TRUE;
7:
8: PROCEDURE CANCEL_ORDER (
9: p_api_version IN NUMBER := 1 ,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
11: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
12: p_order_header_id IN NUMBER ,
13: p_comments IN VARCHAR2,
14: p_reason_code IN VARCHAR2,
7:
8: PROCEDURE CANCEL_ORDER (
9: p_api_version IN NUMBER := 1 ,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
11: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
12: p_order_header_id IN NUMBER ,
13: p_comments IN VARCHAR2,
14: p_reason_code IN VARCHAR2,
15: P_Last_Updated_By IN NUMBER,
71: l_line_scredit_val_tbl OE_Order_PUB.Line_Scredit_Val_Tbl_Type;
72: l_old_line_scredit_val_tbl OE_Order_PUB.Line_Scredit_Val_Tbl_Type;
73: l_lot_serial_val_tbl OE_Order_PUB.Lot_Serial_Val_Tbl_Type;
74: l_old_lot_serial_val_tbl OE_Order_PUB.Lot_Serial_Val_Tbl_Type;
75: l_commit VARCHAR2(10) := FND_API.G_FALSE;
76: l_msg_count NUMBER;
77: l_msg_data VARCHAR2(2000);
78: l_userid VARCHAR2(30);
79: l_rownums NUMBER;
101: -- Standard Start of API savepoint
102: SAVEPOINT CANCEL_Order_PUB;
103:
104: -- Standard call to check for call compatibility.
105: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
106: p_api_version,
107: L_API_NAME ,
108: G_PKG_NAME )
109: THEN
106: p_api_version,
107: L_API_NAME ,
108: G_PKG_NAME )
109: THEN
110: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
111: END IF;
112:
113: -- Initialize message list if p_init_msg_list is set to TRUE.
114:
111: END IF;
112:
113: -- Initialize message list if p_init_msg_list is set to TRUE.
114:
115: IF FND_API.To_Boolean(p_init_msg_list) THEN
116: FND_Msg_Pub.initialize;
117: END IF;
118:
119: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
168: -- Initialize the local variable
169: -- ******************************************************************
170: l_msg_data := x_msg_data;
171: l_msg_count := x_msg_count;
172: x_return_status := FND_API.G_RET_STS_SUCCESS;
173:
174: --******************************************************************
175: -- Initialize the Order Header information
176: -- ******************************************************************
186: IBE_UTIL.DEBUG('OE_Order_GRP.Process_Order:START');
187: END IF;
188: OE_Order_GRP.Process_Order
189: (p_api_version_number => 1.0,
190: p_init_msg_list => FND_API.G_TRUE,
191: p_return_values => l_return_values,
192: p_commit => FND_API.G_FALSE,
193: x_return_status => x_return_status,
194: x_msg_count => x_msg_count,
188: OE_Order_GRP.Process_Order
189: (p_api_version_number => 1.0,
190: p_init_msg_list => FND_API.G_TRUE,
191: p_return_values => l_return_values,
192: p_commit => FND_API.G_FALSE,
193: x_return_status => x_return_status,
194: x_msg_count => x_msg_count,
195: x_msg_data => x_msg_data,
196: p_header_rec => l_header_rec,
221: END IF;
222:
223: -- Check return status from the above procedure call
224:
225: IF x_return_status = FND_API.G_RET_STS_ERROR then
226: raise FND_API.G_EXC_ERROR;
227: elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
228: raise FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
222:
223: -- Check return status from the above procedure call
224:
225: IF x_return_status = FND_API.G_RET_STS_ERROR then
226: raise FND_API.G_EXC_ERROR;
227: elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
228: raise FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230: if x_return_status = FND_API.G_RET_STS_SUCCESS then
223: -- Check return status from the above procedure call
224:
225: IF x_return_status = FND_API.G_RET_STS_ERROR then
226: raise FND_API.G_EXC_ERROR;
227: elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
228: raise FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230: if x_return_status = FND_API.G_RET_STS_SUCCESS then
231: -- call Notification api.
224:
225: IF x_return_status = FND_API.G_RET_STS_ERROR then
226: raise FND_API.G_EXC_ERROR;
227: elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
228: raise FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230: if x_return_status = FND_API.G_RET_STS_SUCCESS then
231: -- call Notification api.
232: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
226: raise FND_API.G_EXC_ERROR;
227: elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
228: raise FND_API.G_EXC_UNEXPECTED_ERROR;
229: END IF;
230: if x_return_status = FND_API.G_RET_STS_SUCCESS then
231: -- call Notification api.
232: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
233: IBE_UTIL.DEBUG('Ready to call Notification API:IBE_WORKFLOW_PVT.Notify_cancel_order');
234: IBE_UTIL.DEBUG('Input order id to notification API is: '||p_order_header_id);
234: IBE_UTIL.DEBUG('Input order id to notification API is: '||p_order_header_id);
235: END IF;
236: IBE_WORKFLOW_PVT.Notify_cancel_order(
237: p_api_version => 1.0,
238: p_init_msg_list => FND_API.G_FALSE,
239: p_order_id => p_order_header_id,
240: x_return_status => x_return_status,
241: x_msg_count => x_msg_count,
242: x_msg_data => x_msg_data
243: );
244: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
245: IBE_UTIL.DEBUG('Done Notification API:IBE_WORKFLOW_PVT.Notify_cancel_order');
246: END IF;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: END IF;
250: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
244: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
245: IBE_UTIL.DEBUG('Done Notification API:IBE_WORKFLOW_PVT.Notify_cancel_order');
246: END IF;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: END IF;
250: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252: END IF;
246: END IF;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: END IF;
250: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252: END IF;
253:
254: end if;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: END IF;
250: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252: END IF;
253:
254: end if;
255:
269: --
270: -- End of API body.
271: --
272: -- Standard check for l_commit
273: IF FND_API.to_Boolean( l_commit ) THEN
274: COMMIT WORK;
275: END IF;
276:
277: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
283: p_data => x_msg_data);
284:
285:
286: EXCEPTION
287: WHEN FND_API.G_EXC_ERROR THEN
288: ROLLBACK TO CANCEL_Order_PUB;
289: x_return_status := FND_API.G_RET_STS_ERROR;
290: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
291: p_count => x_msg_count ,
285:
286: EXCEPTION
287: WHEN FND_API.G_EXC_ERROR THEN
288: ROLLBACK TO CANCEL_Order_PUB;
289: x_return_status := FND_API.G_RET_STS_ERROR;
290: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
291: p_count => x_msg_count ,
292: p_data => x_msg_data);
293:
286: EXCEPTION
287: WHEN FND_API.G_EXC_ERROR THEN
288: ROLLBACK TO CANCEL_Order_PUB;
289: x_return_status := FND_API.G_RET_STS_ERROR;
290: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
291: p_count => x_msg_count ,
292: p_data => x_msg_data);
293:
294: -- Restore the Logged-In User's Security Context, if switched
305: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
306: IBE_Util.Debug('End IBE_CANCEL_ORDER_PVT.CANCEL_ORDER()');
307: END IF;
308:
309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310: ROLLBACK TO CANCEL_Order_PUB;
311: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
312: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
313: p_count => x_msg_count ,
307: END IF;
308:
309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310: ROLLBACK TO CANCEL_Order_PUB;
311: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
312: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
313: p_count => x_msg_count ,
314: p_data => x_msg_data);
315: -- Restore the Logged-In User's Security Context, if switched
308:
309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310: ROLLBACK TO CANCEL_Order_PUB;
311: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
312: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
313: p_count => x_msg_count ,
314: p_data => x_msg_data);
315: -- Restore the Logged-In User's Security Context, if switched
316: IF l_order_orgid <> l_user_orgid THEN
330: WHEN OTHERS THEN
331: -- changes for retrieving OM messages
332: ibe_order_save_pvt.retrieve_oe_messages;
333: ROLLBACK TO CANCEL_Order_PUB;
334: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
335:
336: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
337: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
338: L_API_NAME);
336: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
337: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
338: L_API_NAME);
339: END IF;
340: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
341: p_count => x_ont_msg_count ,
342: p_data => x_ont_msg_data);
343:
344: -- Restore the Logged-In User's Security Context, if switched