[Home] [Help]
PACKAGE BODY: APPS.IGW_AWARD_BUDGETS_TBH
Source
1 PACKAGE BODY IGW_AWARD_BUDGETS_TBH AS
2 --$Header: igwtabtb.pls 115.4 2002/11/18 19:19:44 ashkumar noship $
3
4 procedure INSERT_ROW (
5 p_award_budget_id NUMBER
6 ,p_proposal_installment_id NUMBER
7 ,p_budget_period_id NUMBER
8 ,p_expenditure_type_cat VARCHAR2
9 ,p_expenditure_category_flag VARCHAR2
10 ,p_budget_amount NUMBER
11 ,p_indirect_flag VARCHAR2
12 ,p_project_id NUMBER
13 ,p_task_id NUMBER
14 ,p_period_name VARCHAR2
15 ,p_start_date DATE
16 ,p_end_date DATE
17 ,p_transferred_flag VARCHAR2
18 ,x_rowid OUT NOCOPY VARCHAR2
19 ,x_return_status OUT NOCOPY VARCHAR2) IS
20
21 cursor c_budget_line is
22 select rowid
23 from igw_award_budgets
24 where award_budget_id = p_award_budget_id;
25
26 l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
27 l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
28 l_last_update_date DATE := SYSDATE;
29
30 begin
31 x_return_status := FND_API.G_RET_STS_SUCCESS;
32
33 insert into igw_award_budgets(
34 award_budget_id
35 ,proposal_installment_id
36 ,budget_period_id
37 ,expenditure_type_cat
38 ,expenditure_category_flag
39 ,budget_amount
40 ,indirect_flag
41 ,project_id
42 ,task_id
43 ,period_name
44 ,start_date
45 ,end_date
46 ,transferred_flag
47 ,last_update_date
48 ,last_updated_by
49 ,creation_date
50 ,created_by
51 ,last_update_login
52 ,record_version_number)
53 values
54 ( p_award_budget_id
55 ,p_proposal_installment_id
56 ,p_budget_period_id
57 ,p_expenditure_type_cat
58 ,p_expenditure_category_flag
59 ,p_budget_amount
60 ,p_indirect_flag
61 ,p_project_id
62 ,p_task_id
63 ,p_period_name
64 ,p_start_date
65 ,p_end_date
66 ,p_transferred_flag
67 ,l_last_update_date
68 ,l_last_updated_by
69 ,l_last_update_date
70 ,l_last_updated_by
71 ,l_last_update_login
72 ,1);
73
74 open c_budget_line;
75 fetch c_budget_line into x_ROWID;
76 if (c_budget_line%notfound) then
77 close c_budget_line;
78 raise no_data_found;
79 end if;
80 close c_budget_line;
81
82 exception
83 when others then
84 FND_MSG_PUB.add_exc_msg( p_pkg_name => G_package_name
85 ,p_procedure_name => 'INSERT_ROW' );
86 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
87 RAISE;
88 end insert_row;
89
90
91 -----------------------------------------------------------------------------------
92 procedure UPDATE_ROW (
93 p_rowid ROWID
94 ,p_award_budget_id NUMBER
95 ,p_proposal_installment_id NUMBER
96 ,p_budget_period_id NUMBER
97 ,p_expenditure_type_cat VARCHAR2
98 ,p_expenditure_category_flag VARCHAR2
99 ,p_budget_amount NUMBER
100 ,p_indirect_flag VARCHAR2
101 ,p_project_id NUMBER
102 ,p_task_id NUMBER
103 ,p_period_name VARCHAR2
104 ,p_start_date DATE
105 ,p_end_date DATE
106 ,p_transferred_flag VARCHAR2
107 ,p_record_version_number NUMBER
108 ,x_return_status OUT NOCOPY VARCHAR2) IS
109
110 l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
111 l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
112 l_last_update_date DATE := SYSDATE;
113
114 l_row_id ROWID := p_rowid;
115
116 CURSOR get_row_id IS
117 SELECT rowid
118 from igw_award_budgets
119 where award_budget_id = p_award_budget_id;
120
121 begin
122 x_return_status := FND_API.G_RET_STS_SUCCESS;
123
124 IF l_row_id IS NULL THEN
125 OPEN get_row_id;
126 FETCH get_row_id INTO l_row_id;
127 CLOSE get_row_id;
128 END IF;
129
130 update igw_award_budgets
131 set budget_period_id = p_budget_period_id
132 , expenditure_type_cat = p_expenditure_type_cat
133 , expenditure_category_flag = p_expenditure_category_flag
134 , budget_amount = p_budget_amount
135 , indirect_flag = p_indirect_flag
136 , project_id = p_project_id
137 , task_id = p_task_id
138 , period_name = p_period_name
139 , start_date = p_start_date
140 , end_date = p_end_date
141 , transferred_flag = p_transferred_flag
142 , record_version_number = record_version_number + 1
143 where rowid = l_row_id
144 and record_version_number = p_record_version_number;
145
146 if (sql%notfound) then
147 FND_MESSAGE.SET_NAME('IGW','IGW_SS_RECORD_CHANGED');
148 FND_MSG_PUB.Add;
149 X_RETURN_STATUS := 'E';
150 end if;
151
152 exception
153 when others then
154 FND_MSG_PUB.add_exc_msg( p_pkg_name => G_package_name
155 ,p_procedure_name => 'UPDATE_ROW' );
156 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
157 RAISE;
158 end update_row;
159 --------------------------------------------------------------------------------------------------
160
161
162 procedure DELETE_ROW (
163 p_rowid IN ROWID
164 ,p_award_budget_id IN NUMBER
165 ,p_record_version_number IN NUMBER
166 ,x_return_status OUT NOCOPY VARCHAR2) is
167
168 l_row_id ROWID := p_rowid;
169
170 CURSOR get_row_id IS
171 SELECT rowid
172 from igw_award_budgets
173 where award_budget_id = p_award_budget_id;
174
175 begin
176
177 x_return_status := FND_API.G_RET_STS_SUCCESS;
178
179 IF l_row_id IS NULL THEN
180 OPEN get_row_id;
181 FETCH get_row_id INTO l_row_id;
182 CLOSE get_row_id;
183 END IF;
184
185 delete from igw_award_budgets
186 where rowid = l_row_id
187 and record_version_number = p_record_version_number;
188
189 if (sql%notfound) then
190 FND_MESSAGE.SET_NAME('IGW','IGW_SS_RECORD_CHANGED');
191 FND_MSG_PUB.Add;
192 X_RETURN_STATUS := 'E';
193 end if;
194
195 EXCEPTION
196 WHEN OTHERS THEN
197 FND_MSG_PUB.add_exc_msg( p_pkg_name => G_package_name
198 ,p_procedure_name => 'DELETE_ROW' );
199 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
200 RAISE;
201 end DELETE_ROW;
202
203
204 END IGW_AWARD_BUDGETS_TBH;