[Home] [Help]
PACKAGE BODY: APPS.CSE_REDO_PKG
Source
1 PACKAGE BODY cse_redo_pkg AS
2 -- $Header: CSEREDOB.pls 120.6 2006/05/31 21:11:54 brmanesh noship $
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('CSE_DEBUG_OPTION'),'N');
5
6 PROCEDURE Redo_Logic(
7 P_Body_Text IN VARCHAR2,
8 P_Txn_Type_Id IN NUMBER,
9 P_Stage IN VARCHAR2,
10 X_Return_Status OUT NOCOPY VARCHAR2,
11 X_Error_Message OUT NOCOPY VARCHAR2)
12 IS
13
14 l_Txn_Type VARCHAR2(100);
15 l_Transaction_Id NUMBER;
16 l_Project_Id NUMBER;
17 l_Task_Id NUMBER;
18 l_Item_Id NUMBER;
19 l_Org_Id NUMBER;
20 l_Transaction_Date DATE;
21 l_Transaction_date_Str VARCHAR2(50);
22 l_Effective_Date DATE;
23 l_Effective_date_Str VARCHAR2(50);
24 l_Transacted_By NUMBER;
25 l_Quantity NUMBER;
26 l_Serial_Number VARCHAR2(50);
27 l_Lot_Number VARCHAR2(30);
28 l_Revision VARCHAR2(30);
29 l_From_Network_Loc_id NUMBER;
30 l_To_Network_Loc_id NUMBER;
31 l_From_Party_Site_id NUMBER;
32 l_To_Party_Site_id NUMBER;
33 l_Work_order_number VARCHAR2(500);
34 l_Msg_Count NUMBER;
35 l_trx_error_message VARCHAR2(2000);
36 l_error_message VARCHAR2(2000);
37 l_return_status VARCHAR2(1);
38 l_date_str VARCHAR2(50);
39 l_asset_attributes_rec cse_Datastructures_pub.asset_attributes_rec_type;
40 l_file VARCHAR2(500);
41 l_sysdate DATE:=sysdate;
42 BEGIN
43
44 cse_util_pkg.set_debug;
45
46 l_Txn_type := nvl(CSE_UTIL_Pkg.Get_Txn_Type_Code(P_Txn_Type_Id),NULL);
47
48 IF (l_Txn_Type = 'PO_RECEIPT_INTO_PROJECT' AND p_Stage = 'IB_UPDATE') THEN
49
50 CSE_UTIL_PKG.Get_String_Value(P_Body_Text,'RCV_TRANSACTION_ID',l_Transaction_Id);
51
52 CSE_PO_NOQUEUE_PVT.Process_NoQueue_Txn(
53 P_Ref_Id => l_Transaction_Id,
54 p_txn_type => l_txn_type,
55 x_return_status => l_return_status,
56 x_msg_count => l_msg_count,
57 x_msg_data => l_error_message);
58
59 IF l_return_status <> fnd_api.g_ret_sts_success THEN
60 RAISE fnd_api.g_exc_error;
61 END IF;
62
63 ELSIF (l_Txn_Type = 'PO_RECEIPT_INTO_PROJECT' AND p_stage = 'PA_INTERFACE') THEN
64
65 CSE_UTIL_PKG.Get_String_Value(P_Body_Text,'RCV_TRANSACTION_ID',l_Transaction_Id);
66
67 CSE_PO_NOQUEUE_PVT.pa_interface(
68 P_Rcv_txn_Id => l_Transaction_Id,
69 x_return_status => l_return_status,
70 x_error_message => l_error_message);
71
72 IF l_return_status <> fnd_api.g_ret_sts_success THEN
73 RAISE fnd_api.g_exc_error;
74 END IF;
75
76 END IF;
77
78 -- Always return Success because we log our own error and we want IB to
79 -- update the existing error to P so we have a history.
80
81 x_return_status := fnd_api.g_ret_sts_success;
82
83 EXCEPTION
84 WHEN fnd_api.g_exc_error THEN
85 x_return_status := fnd_api.g_ret_sts_success;
86 l_error_message := x_error_message;
87 WHEN OTHERS THEN
88 x_error_message := SQLERRM;
89 x_Return_Status := FND_API.G_Ret_Sts_Unexp_Error;
90 END Redo_Logic;
91
92 END cse_redo_pkg;