DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGW_BUDGET_PERSONNEL_TBH

Source


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