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