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