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