DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGW_BUDGET_PERIODS_TBH

Source


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