27: l_Transacted_By NUMBER;
28:
29: BEGIN
30:
31: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
32: X_Error_Message := Null;
33:
34: Xnp_Xml_Utils.Decode(P_Msg_Text,'ITEM_ID',l_Item_Id);
35: Xnp_Xml_Utils.Decode(P_Msg_Text,'REVISION',l_Revision);
65: WHEN OTHERS THEN
66: fnd_message.set_name('CSE','CSE_OTHERS_EXCEPTION');
67: fnd_message.set_token('ERR_MSG',l_Api_Name||'='|| SQLERRM);
68: x_error_message := fnd_message.get;
69: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
70:
71: END Decode_Message;
72:
73: PROCEDURE Update_Ib_Repository(
138:
139: Update_Ib_Exp EXCEPTION;
140:
141: BEGIN
142: l_Commit := FND_API.G_FALSE;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
139: Update_Ib_Exp EXCEPTION;
140:
141: BEGIN
142: l_Commit := FND_API.G_FALSE;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
140:
141: BEGIN
142: l_Commit := FND_API.G_FALSE;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
141: BEGIN
142: l_Commit := FND_API.G_FALSE;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
149: t_transaction_id := -1;
142: l_Commit := FND_API.G_FALSE;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
149: t_transaction_id := -1;
150: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
143: l_Init_Msg_List := FND_API.G_TRUE;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
149: t_transaction_id := -1;
150: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
151: X_Error_Message := Null;
144: l_creatE_dest_inst_flag := FND_API.G_FALSE;
145: l_resolve_id_columns := FND_API.G_FALSE;
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
149: t_transaction_id := -1;
150: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
151: X_Error_Message := Null;
152:
146: l_Active_Instance_Only := FND_API.G_FALSE;
147: l_Validation_Level := fnd_api.g_valid_level_full;
148: l_Resolve_Id_Column := FND_API.G_FALSE;
149: t_transaction_id := -1;
150: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
151: X_Error_Message := Null;
152:
153: -- If the option is set turn on the debug log.
154:
214: x_msg_data =>l_Msg_Data );
215:
216: -- get the error message from the stack if there is any error
217:
218: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
219: l_msg_index := 1;
220: l_Error_Message:=l_Msg_Data;
221: WHILE l_msg_count > 0 LOOP
222: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
218: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
219: l_msg_index := 1;
220: l_Error_Message:=l_Msg_Data;
221: WHILE l_msg_count > 0 LOOP
222: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
223: l_msg_index := l_msg_index + 1;
224: l_Msg_Count := l_Msg_Count - 1;
225: END LOOP;
226: RAISE Update_Ib_Exp;
231: IF(l_Instance_Header_Tbl_Out.COUNT=0) THEN
232: fnd_message.set_name('CSE','CSE_SRC_RECORD_NOTFOUND');
233: fnd_message.set_token('ITEM',P_Proj_Item_Uninst_Attr_Rec.Item_Id);
234: l_error_message := fnd_message.get;
235: l_Return_Status := FND_API.G_RET_STS_ERROR;
236: RAISE Update_Ib_Exp;
237: END IF;
238:
239:
242: IF(l_Instance_Header_Tbl_Out.COUNT>1) THEN
243: fnd_message.set_name('CSE','CSE_SRC_MULTIPLE_ITM_INSTANCES');
244: fnd_message.set_token('ITEM',P_Proj_Item_Uninst_Attr_Rec.Item_Id);
245: l_error_message := fnd_message.get;
246: l_Return_Status := FND_API.G_RET_STS_ERROR;
247: RAISE Update_Ib_Exp;
248: END IF;
249:
250: -- continue if there exist only one source item instance
267: l_Instance_Header_Tbl_Out(i).Quantity) THEN
268: fnd_message.set_name('CSE','CSE_SRC_ITEM_QUANTITY');
269: fnd_message.set_token('ITEM',P_Proj_Item_Uninst_Attr_Rec.Item_Id);
270: l_error_message := fnd_message.get;
271: l_Return_Status := FND_API.G_RET_STS_ERROR;
272: RAISE Update_Ib_Exp;
273: END IF;
274:
275:
328: x_msg_count => l_Msg_Count,
329: x_msg_data => l_Msg_Data );
330:
331: -- get the error message from the stack if there is any error
332: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
333: l_msg_index := 1;
334: l_Error_Message:=l_msg_data;
335: WHILE l_msg_count > 0 LOOP
336: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
332: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
333: l_msg_index := 1;
334: l_Error_Message:=l_msg_data;
335: WHILE l_msg_count > 0 LOOP
336: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
337: l_msg_index := l_msg_index + 1;
338: l_Msg_Count := l_Msg_Count - 1;
339: END LOOP;
340: RAISE Update_Ib_Exp;
337: l_msg_index := l_msg_index + 1;
338: l_Msg_Count := l_Msg_Count - 1;
339: END LOOP;
340: RAISE Update_Ib_Exp;
341: ELSIF l_Return_Status = FND_API.G_Ret_Sts_Success THEN
342: IF t_transaction_id =-1 THEN
343: t_transaction_id := l_txn_rec.transaction_id;
344: END IF;
345: END IF;
363: l_Instance_Query_Rec.Pa_Project_Id := P_Proj_Item_Uninst_Attr_Rec.project_id;
364: l_Instance_Query_Rec.Pa_Project_Task_Id:=P_Proj_Item_Uninst_Attr_Rec.Task_Id;
365: l_Instance_Query_Rec.Instance_Usage_Code:= CSE_DATASTRUCTURES_PUB.G_IN_PROCESS;
366:
367: l_Active_Instance_Only := FND_API.G_FALSE;
368:
369: IF (l_debug = 'Y') THEN
370: CSE_DEBUG_PUB.ADD('Before querying for the existence of destination record');
371: END IF;
387: x_msg_data => l_Msg_Data );
388:
389: -- get the error message from the stack if there is any error
390:
391: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
392: l_msg_index := 1;
393: l_Error_Message:=l_Msg_Data;
394: WHILE l_msg_count > 0
395: LOOP
392: l_msg_index := 1;
393: l_Error_Message:=l_Msg_Data;
394: WHILE l_msg_count > 0
395: LOOP
396: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
397: l_msg_index := l_msg_index + 1;
398: l_Msg_Count := l_Msg_Count - 1;
399: END LOOP;
400: RAISE Update_Ib_Exp;
452: x_msg_data => l_Msg_Data );
453:
454: -- get the error message from the stack if there is any error
455:
456: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
457: l_msg_index := 1;
458: l_Error_Message:=l_msg_data;
459: WHILE l_msg_count > 0 LOOP
460: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
456: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
457: l_msg_index := 1;
458: l_Error_Message:=l_msg_data;
459: WHILE l_msg_count > 0 LOOP
460: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
461: l_msg_index := l_msg_index + 1;
462: l_Msg_Count := l_Msg_Count - 1;
463: END LOOP;
464: RAISE Update_Ib_Exp;
461: l_msg_index := l_msg_index + 1;
462: l_Msg_Count := l_Msg_Count - 1;
463: END LOOP;
464: RAISE Update_Ib_Exp;
465: ELSIF l_Return_Status = FND_API.G_Ret_Sts_Success THEN
466: IF t_transaction_id =-1 THEN
467: t_transaction_id := l_txn_rec.transaction_id;
468: END IF;
469: END IF;
475: X_Instance_Rec => l_Dest_Instance_Rec,
476: X_Return_Status => l_Return_Status,
477: X_Error_Message => l_Error_Message);
478:
479: IF NOT(l_Return_Status = FND_API.G_RET_STS_SUCCESS) THEN
480: RAISE Update_Ib_Exp;
481: END IF;
482:
483:
542: x_msg_data =>l_Msg_Data );
543:
544: -- get the error message from the stack if there is any error
545:
546: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
547: l_msg_index := 1;
548: l_Error_Message:=l_msg_data;
549: WHILE l_msg_count > 0 LOOP
550: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
546: IF NOT (l_Return_Status = FND_API.G_Ret_Sts_Success) THEN
547: l_msg_index := 1;
548: l_Error_Message:=l_msg_data;
549: WHILE l_msg_count > 0 LOOP
550: l_Error_Message := FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
551: l_msg_index := l_msg_index + 1;
552: l_Msg_Count := l_Msg_Count - 1;
553: END LOOP;
554: RAISE Update_Ib_Exp;
551: l_msg_index := l_msg_index + 1;
552: l_Msg_Count := l_Msg_Count - 1;
553: END LOOP;
554: RAISE Update_Ib_Exp;
555: ELSIF l_Return_Status = FND_API.G_Ret_Sts_Success THEN
556: IF t_transaction_id =-1 THEN
557: t_transaction_id := l_txn_rec.transaction_id;
558: END IF;
559: END IF;
561: ELSIF l_Dest_Instance_Rec.Instance_Id IS NULL THEN
562: fnd_message.set_name('CSE','CSE_NO_ACTIVE_DEST_INSTANCES');
563: fnd_message.set_token('ITEM',l_instance_header_tbl_out(i).inventory_item_id);
564: l_error_message := fnd_message.get;
565: l_Return_Status := FND_API.G_RET_STS_ERROR;
566: RAISE Update_Ib_Exp;
567: END IF;
568:
569: ELSIF (l_Instance_Header_Tbl_Out.COUNT=0) THEN
569: ELSIF (l_Instance_Header_Tbl_Out.COUNT=0) THEN
570: fnd_message.set_name('CSE','CSE_DEST_RECORD_NOTFOUND');
571: fnd_message.set_token('ITEM',l_instance_header_tbl_out(i).inventory_item_id);
572: l_error_message := fnd_message.get;
573: l_Return_Status := FND_API.G_RET_STS_ERROR;
574: RAISE Update_Ib_Exp;
575: END IF;
576:
577: END IF;
588: WHEN OTHERS THEN
589: fnd_message.set_name('CSE','CSE_OTHERS_EXCEPTION');
590: fnd_message.set_token('ERR_MSG',l_Api_Name||'='|| SQLERRM);
591: x_error_message := fnd_message.get;
592: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
593:
594: END Update_Ib_Repository;
595:
596: PROCEDURE Update_eib_instances(