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