[Home] [Help]
PACKAGE BODY: APPS.IGW_INSTALLMENTS_TBH
Source
1 PACKAGE BODY Igw_Installments_Tbh AS
2 /* $Header: igwtinsb.pls 115.2 2002/11/15 00:52:47 ashkumar noship $ */
3
4 ---------------------------------------------------------------------------
5
6 G_PKG_NAME VARCHAR2(30) := 'IGW_INSTALLMENTS_TBH';
7
8 ---------------------------------------------------------------------------
9
10 PROCEDURE Insert_Row
11 (
12 x_rowid OUT NOCOPY VARCHAR2,
13 x_proposal_installment_id OUT NOCOPY NUMBER,
14 p_proposal_award_id IN NUMBER,
15 p_installment_id IN NUMBER,
16 p_installment_number IN VARCHAR2,
17 p_installment_type_code IN VARCHAR2,
18 p_issue_date IN DATE,
19 p_close_date IN DATE,
20 p_start_date IN DATE,
21 p_end_date IN DATE,
22 p_direct_cost IN NUMBER,
23 p_indirect_cost IN NUMBER,
24 p_billable_flag IN VARCHAR2,
25 p_description IN VARCHAR2,
26 x_return_status OUT NOCOPY VARCHAR2,
27 p_mode IN VARCHAR2
28 ) IS
29
30 l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
31
32 l_last_update_date DATE := SYSDATE;
33 l_last_updated_by NUMBER := Nvl(Fnd_Global.User_Id,-1);
34 l_last_update_login NUMBER := Nvl(Fnd_Global.Login_Id,-1);
35
36 CURSOR c IS
37 SELECT rowid
38 FROM igw_installments
39 WHERE proposal_installment_id = x_proposal_installment_id;
40
41 BEGIN
42
43 x_return_status := Fnd_Api.G_Ret_Sts_Success;
44
45 IF p_mode = 'I' THEN
46
47 l_last_updated_by := 1;
48 l_last_update_login := 0;
49
50 ELSIF p_mode <> 'R' THEN
51
52 Fnd_Message.Set_Name('FND','SYSTEM-INVALID ARGS');
53 App_Exception.Raise_Exception;
54
55 END IF;
56
57 INSERT INTO igw_installments
58 (
59 proposal_installment_id,
60 proposal_award_id,
61 installment_id,
62 installment_number,
63 installment_type_code,
64 issue_date,
65 close_date,
66 start_date,
67 end_date,
68 direct_cost,
69 indirect_cost,
70 billable_flag,
71 description,
72 record_version_number,
73 creation_date,
74 created_by,
75 last_update_date,
76 last_updated_by,
77 last_update_login
78 )
79 VALUES
80 (
81 igw_installments_s.nextval,
82 p_proposal_award_id,
83 p_installment_id,
84 p_installment_number,
85 p_installment_type_code,
86 p_issue_date,
87 p_close_date,
88 p_start_date,
89 p_end_date,
90 p_direct_cost,
91 p_indirect_cost,
92 p_billable_flag,
93 p_description,
94 1,
95 l_last_update_date,
96 l_last_updated_by,
97 l_last_update_date,
98 l_last_updated_by,
99 l_last_update_login
100 )
101 RETURNING
102 proposal_installment_id
103 INTO
104 x_proposal_installment_id;
105
106 OPEN c;
107 FETCH c INTO x_rowid;
108
109 IF c%NotFound THEN
110
111 CLOSE c;
112 RAISE no_data_found;
113
114 END IF;
115
116 CLOSE c;
117
118 EXCEPTION
119
120 WHEN others THEN
121
122 x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
123
124 Fnd_Msg_Pub.Add_Exc_Msg
125 (
126 p_pkg_name => G_PKG_NAME,
127 p_procedure_name => l_api_name
128 );
129
130 RAISE Fnd_Api.G_Exc_Unexpected_Error;
131
132 END Insert_Row;
133
134 ---------------------------------------------------------------------------
135
136 PROCEDURE Update_Row
137 (
138 p_rowid IN VARCHAR2,
139 p_proposal_installment_id IN NUMBER,
140 p_proposal_award_id IN NUMBER,
141 p_installment_id IN NUMBER,
142 p_installment_number IN VARCHAR2,
143 p_installment_type_code IN VARCHAR2,
144 p_issue_date IN DATE,
145 p_close_date IN DATE,
146 p_start_date IN DATE,
147 p_end_date IN DATE,
148 p_direct_cost IN NUMBER,
149 p_indirect_cost IN NUMBER,
150 p_billable_flag IN VARCHAR2,
151 p_description IN VARCHAR2,
152 x_return_status OUT NOCOPY VARCHAR2,
153 p_mode IN VARCHAR2
154 ) IS
155
156 l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
157
158 l_last_update_date DATE := SYSDATE;
159 l_last_updated_by NUMBER := Nvl(Fnd_Global.User_Id,-1);
160 l_last_update_login NUMBER := Nvl(Fnd_Global.Login_Id,-1);
161
162 BEGIN
163
164 x_return_status := Fnd_Api.G_Ret_Sts_Success;
165
166 IF p_mode = 'I' THEN
167
168 l_last_updated_by := 1;
169 l_last_update_login := 0;
170
171 ELSIF p_mode <> 'R' THEN
172
173 Fnd_Message.Set_Name('FND','SYSTEM-INVALID ARGS');
174 Fnd_Msg_Pub.Add;
175 App_Exception.Raise_Exception;
176
177 END IF;
178
179 UPDATE igw_installments
180 SET proposal_award_id = p_proposal_award_id,
181 installment_number = p_installment_number,
182 installment_type_code = p_installment_type_code,
183 issue_date = p_issue_date,
184 close_date = p_close_date,
185 start_date = p_start_date,
186 end_date = p_end_date,
187 direct_cost = p_direct_cost,
188 indirect_cost = p_indirect_cost,
189 billable_flag = p_billable_flag,
190 description = p_description,
191 record_version_number = record_version_number + 1,
192 last_update_date = l_last_update_date,
193 last_updated_by = l_last_updated_by,
194 last_update_login = l_last_update_login
195 WHERE (rowid = p_rowid OR proposal_installment_id = p_proposal_installment_id);
196
197 IF SQL%NotFound THEN
198
199 Fnd_Message.Set_Name('IGW','IGW_SS_RECORD_CHANGED');
200 Fnd_Msg_Pub.Add;
201 App_Exception.Raise_Exception;
202
203 END IF;
204
205 EXCEPTION
206
207 WHEN others THEN
208
209 x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
210
211 Fnd_Msg_Pub.Add_Exc_Msg
212 (
213 p_pkg_name => G_PKG_NAME,
214 p_procedure_name => l_api_name
215 );
216
217 RAISE Fnd_Api.G_Exc_Unexpected_Error;
218
219 END Update_Row;
220
221 ---------------------------------------------------------------------------
222
223 PROCEDURE Delete_Row
224 (
225 p_rowid IN VARCHAR2,
226 x_return_status OUT NOCOPY VARCHAR2
227 ) IS
228
229 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
230
231 BEGIN
232
233 x_return_status := Fnd_Api.G_Ret_Sts_Success;
234
235 DELETE igw_installments
236 WHERE rowid = p_rowid;
237
238 IF SQL%NotFound THEN
239
240 Fnd_Message.Set_Name('IGW','IGW_SS_RECORD_CHANGED');
241 Fnd_Msg_Pub.Add;
242 App_Exception.Raise_Exception;
243
244 END IF;
245
246 EXCEPTION
247
248 WHEN others THEN
249
250 x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
251
252 Fnd_Msg_Pub.Add_Exc_Msg
253 (
254 p_pkg_name => G_PKG_NAME,
255 p_procedure_name => l_api_name
256 );
257
258 RAISE Fnd_Api.G_Exc_Unexpected_Error;
259
260 END Delete_Row;
261
262 ---------------------------------------------------------------------------
263
264 END Igw_Installments_Tbh;