DBA Data[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;