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