[Home] [Help]
PACKAGE BODY: APPS.PA_CAPITAL_EVENTS_PKG
Source
1 PACKAGE BODY PA_CAPITAL_EVENTS_PKG as
2 /* $Header: PAXEVNTB.pls 120.2 2005/08/26 13:08:01 skannoji noship $ */
3
4 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
5 X_Capital_Event_Id IN OUT NOCOPY NUMBER,
6 X_Project_Id NUMBER,
7 X_Capital_Event_Number NUMBER,
8 X_Event_Type VARCHAR2,
9 X_Event_Name VARCHAR2,
10 X_Asset_Allocation_Method VARCHAR2,
11 X_Event_Period VARCHAR2,
12 X_Last_Update_Date DATE,
13 X_Last_Updated_By NUMBER,
14 X_Creation_Date DATE,
15 X_Created_By NUMBER,
16 X_Last_Update_Login NUMBER,
17 X_Request_Id NUMBER,
18 X_Program_Application_Id NUMBER,
19 X_Program_Id NUMBER,
20 X_Program_Update_Date DATE
21 ) IS
22
23 CURSOR C IS
24 SELECT rowid
25 FROM pa_capital_events
26 WHERE capital_event_id = X_Capital_Event_Id;
27
28 CURSOR C2 IS
29 SELECT pa_capital_events_s.nextval
30 FROM sys.dual;
31
32 BEGIN
33 IF (X_Capital_Event_Id IS NULL) THEN
34 OPEN C2;
35 FETCH C2 INTO X_Capital_Event_Id;
36 CLOSE C2;
37 END IF;
38
39 INSERT INTO pa_capital_events(
40 capital_event_id,
41 project_id,
42 capital_event_number,
43 event_type,
44 event_name,
45 asset_allocation_method,
46 event_period,
47 last_update_date,
48 last_updated_by,
49 creation_date,
50 created_by,
51 last_update_login,
52 request_id,
53 program_application_id,
54 program_id,
55 program_update_date
56 ) VALUES (
57 X_Capital_Event_Id,
58 X_Project_Id,
59 X_Capital_Event_Number,
60 X_Event_Type,
61 X_Event_Name,
62 X_Asset_Allocation_Method,
63 X_Event_Period,
64 X_Last_Update_Date,
65 X_Last_Updated_By,
66 X_Creation_Date,
67 X_Created_By,
68 X_Last_Update_Login,
69 X_Request_Id,
70 X_Program_Application_Id,
71 X_Program_Id,
72 X_Program_Update_Date
73 );
74
75 OPEN C;
76 FETCH C INTO X_Rowid;
77 IF (C%NOTFOUND) THEN
78 CLOSE C;
79 RAISE NO_DATA_FOUND;
80 END IF;
81 CLOSE C;
82
83 EXCEPTION
84 WHEN OTHERS THEN
85 ROLLBACK;
86 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CAPITAL_EVENTS_PKG',
87 p_procedure_name => 'INSERT_ROW',
88 p_error_text => SUBSTRB(SQLERRM,1,240));
89 RAISE;
90
91 END Insert_Row;
92
93
94 PROCEDURE Lock_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
95 X_Capital_Event_Id IN OUT NOCOPY NUMBER,
96 X_Project_Id NUMBER,
97 X_Capital_Event_Number NUMBER,
98 X_Event_Type VARCHAR2,
99 X_Event_Name VARCHAR2,
100 X_Asset_Allocation_Method VARCHAR2,
101 X_Event_Period VARCHAR2
102 ) IS
103
104 CURSOR C IS
105 SELECT *
106 FROM pa_capital_events
107 WHERE pa_capital_events.rowid = X_Rowid
108 FOR UPDATE of Capital_Event_Id NOWAIT;
109
110 Recinfo C%ROWTYPE;
111
112
113 BEGIN
114 OPEN C;
115 FETCH C INTO Recinfo;
116 IF (C%NOTFOUND) THEN
117 CLOSE C;
118 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
119 APP_EXCEPTION.Raise_Exception;
120 END IF;
121 CLOSE C;
122 IF (
123 (Recinfo.capital_event_id = X_Capital_Event_Id)
124 AND (Recinfo.project_id = X_Project_Id)
125 AND (Recinfo.capital_event_number = X_Capital_Event_Number)
126 AND (Recinfo.event_type = X_Event_Type)
127 AND (Recinfo.event_name = X_Event_Name)
128 AND (Recinfo.asset_allocation_method = X_Asset_Allocation_Method)
129 AND ( (Recinfo.event_period = X_Event_Period)
130 OR ( (Recinfo.event_period IS NULL)
131 AND (X_Event_Period IS NULL)))
132 ) THEN
133 RETURN;
134 ELSE
135 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
136 APP_EXCEPTION.Raise_Exception;
137 END IF;
138 END Lock_Row;
139
140
141
142 PROCEDURE Update_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
143 X_Capital_Event_Id IN OUT NOCOPY NUMBER,
144 X_Project_Id NUMBER,
145 X_Capital_Event_Number NUMBER,
146 X_Event_Type VARCHAR2,
147 X_Event_Name VARCHAR2,
148 X_Asset_Allocation_Method VARCHAR2,
149 X_Event_Period VARCHAR2,
150 X_Last_Update_Date DATE,
151 X_Last_Updated_By NUMBER,
152 X_Last_Update_Login NUMBER,
153 X_Request_Id NUMBER,
154 X_Program_Application_Id NUMBER,
155 X_Program_Id NUMBER,
156 X_Program_Update_Date DATE
157 ) IS
158
159 BEGIN
160 UPDATE pa_capital_events
161 SET
162 capital_event_id = X_Capital_Event_Id,
163 project_id = X_Project_Id,
164 capital_event_number = X_Capital_Event_Number,
165 event_type = X_Event_Type,
166 event_name = X_Event_Name,
167 asset_allocation_method = X_Asset_Allocation_Method,
168 event_period = X_Event_Period,
169 last_update_date = X_Last_Update_Date,
170 last_updated_by = X_Last_Updated_By,
171 last_update_login = X_Last_Update_Login,
172 request_id = X_Request_Id,
173 program_application_id = X_Program_Application_Id,
174 program_id = X_Program_Id,
175 program_update_date = X_Program_Update_Date
176 WHERE rowid = X_Rowid
177 OR capital_event_id = X_Capital_Event_Id;
178
179 IF (SQL%NOTFOUND) THEN
180 RAISE NO_DATA_FOUND;
181 END IF;
182
183 EXCEPTION
184 WHEN NO_DATA_FOUND THEN
185 RAISE;
186 WHEN OTHERS THEN
187 ROLLBACK;
188 fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CAPITAL_EVENTS_PKG',
189 p_procedure_name => 'UPDATE_ROW',
190 p_error_text => SUBSTRB(SQLERRM,1,240));
191 RAISE;
192 END Update_Row;
193
194
195 PROCEDURE Delete_Row(X_Rowid VARCHAR2,
196 X_Capital_Event_Id NUMBER) IS
197 BEGIN
198
199 DELETE FROM pa_capital_events
200 WHERE rowid = X_Rowid;
201
202 IF (SQL%NOTFOUND) THEN
203 RAISE NO_DATA_FOUND;
204 END IF;
205 END Delete_Row;
206
207
208 END PA_CAPITAL_EVENTS_PKG;