DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_FP_BUDGET_LINES_PKG

Source


1 PACKAGE BODY pa_fp_budget_lines_pkg as
2 /* $Header: PAFPBLTB.pls 120.2 2005/09/23 14:52:59 rnamburi noship $ */
3 -- Start of Comments
4 -- Package name     : PA_FP_BUDGET_LINES_PKG
5 -- Purpose          :
6 -- History          :
7 --  26-OCT-2002 Vejayara Added columns to make pkg in sync with FP.K
8 --  05-DEC-2002 Rravipat Added new column p_mrc_flag to insert_row
9 --  10-DEC-2002          Added new column p_mrc_flag to update_row
10 --                       Modified Delte_row completely for B4 changes
11 --  21-JAN-2003 Vejayara Added p_buget_version_id parameter to
12 --                       PA_MRC_FINPLAN.MAINTAIN_ONE_MC_BUDGET_LINE
13 --
14 --  23-SEP-2005 Ram Namburi
15 --                       Bug Fix: 4569365. Removed MRC code.
16 -- NOTE             :
17 -- End of Comments
18 
19 
20 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PA_FP_BUDGET_LINES_PKG';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pafpbltb.pls';
22 
23 PROCEDURE Insert_Row
24 ( p_resource_assignment_id   IN pa_budget_lines.resource_assignment_id%TYPE
25                                 := FND_API.G_MISS_NUM
26  ,p_start_date               IN pa_budget_lines.start_date%TYPE
27                                 := FND_API.G_MISS_DATE
28  ,p_end_date                 IN pa_budget_lines.end_date%TYPE
29                                 := FND_API.G_MISS_DATE
30  ,p_period_name              IN pa_budget_lines.period_name%TYPE
31                                 := FND_API.G_MISS_CHAR
32  ,p_quantity                 IN pa_budget_lines.quantity%TYPE
33                                 := FND_API.G_MISS_NUM
34  ,p_raw_cost                 IN pa_budget_lines.raw_cost%TYPE
35                                 := FND_API.G_MISS_NUM
36  ,p_burdened_cost            IN pa_budget_lines.burdened_cost%TYPE
37                                 := FND_API.G_MISS_NUM
38  ,p_revenue                  IN pa_budget_lines.revenue%TYPE
39                                 := FND_API.G_MISS_NUM
40  ,p_change_reason_code       IN pa_budget_lines.change_reason_code%TYPE
41                                 := FND_API.G_MISS_CHAR
42  ,p_description              IN pa_budget_lines.description%TYPE
43                                 := FND_API.G_MISS_CHAR
44  ,p_attribute_category       IN pa_budget_lines.attribute_category%TYPE
45                                 := FND_API.G_MISS_CHAR
46  ,p_attribute1               IN pa_budget_lines.attribute1%TYPE
47                                 := FND_API.G_MISS_CHAR
48  ,p_attribute2               IN pa_budget_lines.attribute2%TYPE
49                                 := FND_API.G_MISS_CHAR
50  ,p_attribute3               IN pa_budget_lines.attribute3%TYPE
51                                 := FND_API.G_MISS_CHAR
52  ,p_attribute4               IN pa_budget_lines.attribute4%TYPE
53                                 := FND_API.G_MISS_CHAR
54  ,p_attribute5               IN pa_budget_lines.attribute5%TYPE
55                                 := FND_API.G_MISS_CHAR
56  ,p_attribute6               IN pa_budget_lines.attribute6%TYPE
57                                 := FND_API.G_MISS_CHAR
58  ,p_attribute7               IN pa_budget_lines.attribute7%TYPE
59                                 := FND_API.G_MISS_CHAR
60  ,p_attribute8               IN pa_budget_lines.attribute8%TYPE
61                                 := FND_API.G_MISS_CHAR
62  ,p_attribute9               IN pa_budget_lines.attribute9%TYPE
63                                 := FND_API.G_MISS_CHAR
64  ,p_attribute10              IN pa_budget_lines.attribute10%TYPE
65                                 := FND_API.G_MISS_CHAR
66  ,p_attribute11              IN pa_budget_lines.attribute11%TYPE
67                                 := FND_API.G_MISS_CHAR
68  ,p_attribute12              IN pa_budget_lines.attribute12%TYPE
69                                 := FND_API.G_MISS_CHAR
70  ,p_attribute13              IN pa_budget_lines.attribute13%TYPE
71                                 := FND_API.G_MISS_CHAR
72  ,p_attribute14              IN pa_budget_lines.attribute14%TYPE
73                                 := FND_API.G_MISS_CHAR
74  ,p_attribute15              IN pa_budget_lines.attribute15%TYPE
75                                 := FND_API.G_MISS_CHAR
76  ,p_raw_cost_source          IN pa_budget_lines.raw_cost_source%TYPE
77                                 := FND_API.G_MISS_CHAR
78  ,p_burdened_cost_source     IN pa_budget_lines.burdened_cost_source%TYPE
79                                 := FND_API.G_MISS_CHAR
80  ,p_quantity_source          IN pa_budget_lines.quantity_source%TYPE
81                                 := FND_API.G_MISS_CHAR
82  ,p_revenue_source           IN pa_budget_lines.revenue_source%TYPE
83                                 := FND_API.G_MISS_CHAR
84  ,p_pm_product_code          IN pa_budget_lines.pm_product_code%TYPE
85                                 := FND_API.G_MISS_CHAR
86  ,p_pm_budget_line_reference IN pa_budget_lines.pm_budget_line_reference%TYPE
87                                 := FND_API.G_MISS_CHAR
88  ,p_cost_rejection_code      IN pa_budget_lines.cost_rejection_code%TYPE
89                                 := FND_API.G_MISS_CHAR
90  ,p_revenue_rejection_code   IN pa_budget_lines.revenue_rejection_code%TYPE
91                                 := FND_API.G_MISS_CHAR
92  ,p_burden_rejection_code    IN pa_budget_lines.burden_rejection_code%TYPE
93                                 := FND_API.G_MISS_CHAR
94  ,p_other_rejection_code     IN pa_budget_lines.other_rejection_code%TYPE
95                                 := FND_API.G_MISS_CHAR
96  ,p_code_combination_id      IN pa_budget_lines.code_combination_id%TYPE
97                                 := FND_API.G_MISS_NUM
98  ,p_ccid_gen_status_code     IN pa_budget_lines.ccid_gen_status_code%TYPE
99                                 := FND_API.G_MISS_CHAR
100  ,p_ccid_gen_rej_message     IN pa_budget_lines.ccid_gen_rej_message%TYPE
101                                 := FND_API.G_MISS_CHAR
102  ,p_request_id               IN pa_budget_lines.request_id%TYPE
103                                 := FND_API.G_MISS_NUM
104  ,p_borrowed_revenue         IN pa_budget_lines.borrowed_revenue%TYPE
105                                 := FND_API.G_MISS_NUM
106  ,p_tp_revenue_in            IN pa_budget_lines.tp_revenue_in%TYPE
107                                 := FND_API.G_MISS_NUM
108  ,p_tp_revenue_out           IN pa_budget_lines.tp_revenue_out%TYPE
109                                 := FND_API.G_MISS_NUM
110  ,p_revenue_adj              IN pa_budget_lines.revenue_adj%TYPE
111                                 := FND_API.G_MISS_NUM
112  ,p_lent_resource_cost       IN pa_budget_lines.lent_resource_cost%TYPE
113                                 := FND_API.G_MISS_NUM
114  ,p_tp_cost_in               IN pa_budget_lines.tp_cost_in%TYPE
115                                 := FND_API.G_MISS_NUM
116  ,p_tp_cost_out              IN pa_budget_lines.tp_cost_out%TYPE
117                                 := FND_API.G_MISS_NUM
118  ,p_cost_adj                 IN pa_budget_lines.cost_adj%TYPE
119                                 := FND_API.G_MISS_NUM
120  ,p_unassigned_time_cost     IN pa_budget_lines.unassigned_time_cost%TYPE
121                                 := FND_API.G_MISS_NUM
122  ,p_utilization_percent      IN pa_budget_lines.utilization_percent%TYPE
123                                 := FND_API.G_MISS_NUM
124  ,p_utilization_hours        IN pa_budget_lines.utilization_hours%TYPE
125                                 := FND_API.G_MISS_NUM
126  ,p_utilization_adj          IN pa_budget_lines.utilization_adj%TYPE
127                                 := FND_API.G_MISS_NUM
128  ,p_capacity                 IN pa_budget_lines.capacity%TYPE
129                                 := FND_API.G_MISS_NUM
130  ,p_head_count               IN pa_budget_lines.head_count%TYPE
131                                 := FND_API.G_MISS_NUM
132  ,p_head_count_adj           IN pa_budget_lines.head_count_adj%TYPE
133                                 := FND_API.G_MISS_NUM,
134 p_projfunc_currency_code        in pa_budget_lines.projfunc_currency_code%type       := FND_API.G_MISS_CHAR,
135 p_projfunc_cost_rate_type       in pa_budget_lines.projfunc_cost_rate_type%type      := FND_API.G_MISS_CHAR,
136 p_projfunc_cost_exchange_rate   in pa_budget_lines.projfunc_cost_exchange_rate%type  := FND_API.G_MISS_NUM,
137 p_projfunc_cost_rate_date_type  in pa_budget_lines.projfunc_cost_rate_date_type%type := FND_API.G_MISS_CHAR,
138 p_projfunc_cost_rate_date       in pa_budget_lines.projfunc_cost_rate_date%type      := FND_API.G_MISS_DATE,
139 p_projfunc_rev_rate_type        in pa_budget_lines.projfunc_rev_rate_type%type       := FND_API.G_MISS_CHAR,
140 p_projfunc_rev_rate_date_type   in pa_budget_lines.projfunc_rev_rate_date_type%type  := FND_API.G_MISS_CHAR,
141 p_projfunc_rev_exchange_rate    in pa_budget_lines.projfunc_rev_exchange_rate%type   := FND_API.G_MISS_NUM,
142 p_projfunc_rev_rate_date        in pa_budget_lines.projfunc_rev_rate_date%type       := FND_API.G_MISS_DATE,
143 p_project_currency_code         in pa_budget_lines.project_currency_code%type        := FND_API.G_MISS_CHAR,
144 p_project_cost_rate_type        in pa_budget_lines.project_cost_rate_type%type       := FND_API.G_MISS_CHAR,
145 p_project_cost_exchange_rate    in pa_budget_lines.project_cost_exchange_rate%type   := FND_API.G_MISS_NUM,
146 p_project_cost_rate_date_type   in pa_budget_lines.project_cost_rate_date_type%type  := FND_API.G_MISS_CHAR,
147 p_project_cost_rate_date        in pa_budget_lines.project_cost_rate_date%type       := FND_API.G_MISS_DATE,
148 p_project_raw_cost              in pa_budget_lines.project_raw_cost%type             := FND_API.G_MISS_NUM,
149 p_project_burdened_cost         in pa_budget_lines.project_burdened_cost%type        := FND_API.G_MISS_NUM,
150 p_project_revenue               in pa_budget_lines.project_revenue%type              := FND_API.G_MISS_NUM,
151 p_txn_raw_cost                  in pa_budget_lines.txn_raw_cost%type                 := FND_API.G_MISS_NUM,
152 p_txn_burdened_cost             in pa_budget_lines.txn_burdened_cost%type            := FND_API.G_MISS_NUM,
153 p_txn_revenue                   in pa_budget_lines.txn_revenue%type                  := FND_API.G_MISS_NUM,
154 p_txn_currency_code             in pa_budget_lines.txn_currency_code%type            := FND_API.G_MISS_CHAR,
155 p_bucketing_period_code         in pa_budget_lines.bucketing_period_code%type        := FND_API.G_MISS_CHAR,
156 p_project_rev_rate_type         in pa_budget_lines.project_rev_rate_type%type        := FND_API.G_MISS_CHAR,
157 p_project_rev_exchange_rate     in pa_budget_lines.project_rev_exchange_rate%type    := FND_API.G_MISS_NUM,
158 p_project_rev_rate_date_type    in pa_budget_lines.project_rev_rate_date_type%type   := FND_API.G_MISS_CHAR,
159 p_project_rev_rate_date         in pa_budget_lines.project_rev_rate_date%type        := FND_API.G_MISS_DATE,
160 px_budget_line_id           IN OUT NOCOPY pa_budget_lines.budget_line_id%type, --File.Sql.39 bug 4440895
161 p_budget_version_id             in pa_budget_lines.budget_version_id%type            := FND_API.G_MISS_NUM,
162 -- Bug Fix: 4569365. Removed MRC code.
163 -- p_mrc_flag                      in  VARCHAR2 -- FP Build4 changes
164   x_row_id                  OUT NOCOPY ROWID --File.Sql.39 bug 4440895
165  ,x_return_status           OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
166  IS
167 
168 l_msg_count                     NUMBER := 0;
169 l_msg_data                      VARCHAR2(2000);
170 l_return_status                 VARCHAR2(2000);
171 
172 CURSOR C2 IS SELECT pa_budget_lines_s.nextval from sys.dual;
173 BEGIN
174 x_return_status := FND_API.G_RET_STS_SUCCESS;
175 
176    IF (px_budget_line_id IS NULL) OR
177       (px_budget_line_id = FND_API.G_MISS_NUM) then
178        OPEN C2;
179        FETCH C2 INTO px_budget_line_id;
180        CLOSE C2;
181    END IF;
182 
183 
184    INSERT INTO pa_budget_lines(
185            resource_assignment_id
186           ,start_date
187           ,last_update_date
188           ,last_updated_by
189           ,creation_date
190           ,created_by
191           ,last_update_login
192           ,end_date
193           ,period_name
194           ,quantity
195           ,raw_cost
196           ,burdened_cost
197           ,revenue
198           ,change_reason_code
199           ,description
200           ,attribute_category
201           ,attribute1
202           ,attribute2
203           ,attribute3
204           ,attribute4
205           ,attribute5
206           ,attribute6
207           ,attribute7
208           ,attribute8
209           ,attribute9
210           ,attribute10
211           ,attribute11
212           ,attribute12
213           ,attribute13
214           ,attribute14
215           ,attribute15
216           ,raw_cost_source
217           ,burdened_cost_source
218           ,quantity_source
219           ,revenue_source
220           ,pm_product_code
221           ,pm_budget_line_reference
222           ,cost_rejection_code
223           ,revenue_rejection_code
224           ,burden_rejection_code
225           ,other_rejection_code
226           ,code_combination_id
227           ,ccid_gen_status_code
228           ,ccid_gen_rej_message
229           ,request_id
230           ,borrowed_revenue
231           ,tp_revenue_in
232           ,tp_revenue_out
233           ,revenue_adj
234           ,lent_resource_cost
235           ,tp_cost_in
236           ,tp_cost_out
237           ,cost_adj
238           ,unassigned_time_cost
239           ,utilization_percent
240           ,utilization_hours
241           ,utilization_adj
242           ,capacity
243           ,head_count
244           ,head_count_adj
245           ,projfunc_currency_code
246           ,projfunc_cost_rate_type
247           ,projfunc_cost_exchange_rate
248           ,projfunc_cost_rate_date_type
249           ,projfunc_cost_rate_date
250           ,projfunc_rev_rate_type
251           ,projfunc_rev_rate_date_type
252           ,projfunc_rev_exchange_rate
253           ,projfunc_rev_rate_date
254           ,project_currency_code
255           ,project_cost_rate_type
256           ,project_cost_exchange_rate
257           ,project_cost_rate_date_type
258           ,project_cost_rate_date
259           ,project_raw_cost
260           ,project_burdened_cost
261           ,project_revenue
262           ,txn_raw_cost
263           ,txn_burdened_cost
264           ,txn_revenue
265           ,txn_currency_code
266           ,bucketing_period_code
267           ,project_rev_rate_type
268           ,project_rev_exchange_rate
269           ,project_rev_rate_date_type
270           ,project_rev_rate_date
271           ,budget_line_id
272           ,budget_version_id
273           ) values (
274            p_resource_assignment_id
275           ,DECODE( p_start_date, FND_API.G_MISS_DATE, to_date(NULL),
276                    p_start_date)
277 		,sysdate
278 		,fnd_global.user_id
279           ,sysdate
280           ,fnd_global.user_id
281           ,fnd_global.login_id
282           ,DECODE( p_end_date, FND_API.G_MISS_DATE, to_date(NULL), p_end_date)
283           ,DECODE( p_period_name, FND_API.G_MISS_CHAR, NULL, p_period_name)
284           ,DECODE( p_quantity, FND_API.G_MISS_NUM, NULL, p_quantity)
285           ,DECODE( p_raw_cost, FND_API.G_MISS_NUM, NULL, p_raw_cost)
286           ,DECODE( p_burdened_cost, FND_API.G_MISS_NUM, NULL, p_burdened_cost)
287           ,DECODE( p_revenue, FND_API.G_MISS_NUM, NULL, p_revenue)
288           ,DECODE( p_change_reason_code, FND_API.G_MISS_CHAR, NULL,
289                    p_change_reason_code)
290           ,DECODE( p_description, FND_API.G_MISS_CHAR, NULL, p_description)
291           ,DECODE( p_attribute_category, FND_API.G_MISS_CHAR, NULL,
292                    p_attribute_category)
293           ,DECODE( p_attribute1, FND_API.G_MISS_CHAR, NULL, p_attribute1)
294           ,DECODE( p_attribute2, FND_API.G_MISS_CHAR, NULL, p_attribute2)
295           ,DECODE( p_attribute3, FND_API.G_MISS_CHAR, NULL, p_attribute3)
296           ,DECODE( p_attribute4, FND_API.G_MISS_CHAR, NULL, p_attribute4)
297           ,DECODE( p_attribute5, FND_API.G_MISS_CHAR, NULL, p_attribute5)
298           ,DECODE( p_attribute6, FND_API.G_MISS_CHAR, NULL, p_attribute6)
299           ,DECODE( p_attribute7, FND_API.G_MISS_CHAR, NULL, p_attribute7)
300           ,DECODE( p_attribute8, FND_API.G_MISS_CHAR, NULL, p_attribute8)
301           ,DECODE( p_attribute9, FND_API.G_MISS_CHAR, NULL, p_attribute9)
302           ,DECODE( p_attribute10, FND_API.G_MISS_CHAR, NULL, p_attribute10)
303           ,DECODE( p_attribute11, FND_API.G_MISS_CHAR, NULL, p_attribute11)
304           ,DECODE( p_attribute12, FND_API.G_MISS_CHAR, NULL, p_attribute12)
305           ,DECODE( p_attribute13, FND_API.G_MISS_CHAR, NULL, p_attribute13)
306           ,DECODE( p_attribute14, FND_API.G_MISS_CHAR, NULL, p_attribute14)
307           ,DECODE( p_attribute15, FND_API.G_MISS_CHAR, NULL, p_attribute15)
308           ,DECODE( p_raw_cost_source, FND_API.G_MISS_CHAR, NULL,
309                    p_raw_cost_source)
310           ,DECODE( p_burdened_cost_source, FND_API.G_MISS_CHAR, NULL,
311                    p_burdened_cost_source)
312           ,DECODE( p_quantity_source, FND_API.G_MISS_CHAR, NULL,
313                    p_quantity_source)
314           ,DECODE( p_revenue_source, FND_API.G_MISS_CHAR, NULL,
315                    p_revenue_source)
316           ,DECODE( p_pm_product_code, FND_API.G_MISS_CHAR, NULL,
317                    p_pm_product_code)
321                    p_cost_rejection_code)
318           ,DECODE( p_pm_budget_line_reference, FND_API.G_MISS_CHAR, NULL,
319                    p_pm_budget_line_reference)
320           ,DECODE( p_cost_rejection_code, FND_API.G_MISS_CHAR, NULL,
322           ,DECODE( p_revenue_rejection_code, FND_API.G_MISS_CHAR, NULL,
323                    p_revenue_rejection_code)
324           ,DECODE( p_burden_rejection_code, FND_API.G_MISS_CHAR, NULL,
325                    p_burden_rejection_code)
326           ,DECODE( p_other_rejection_code, FND_API.G_MISS_CHAR, NULL,
327                    p_other_rejection_code)
328           ,DECODE( p_code_combination_id, FND_API.G_MISS_NUM, NULL,
329                    p_code_combination_id)
330           ,DECODE( p_ccid_gen_status_code, FND_API.G_MISS_CHAR, NULL,
331                    p_ccid_gen_status_code)
332           ,DECODE( p_ccid_gen_rej_message, FND_API.G_MISS_CHAR, NULL,
333                    p_ccid_gen_rej_message)
334           ,DECODE( p_request_id, FND_API.G_MISS_NUM, NULL, p_request_id)
335           ,DECODE( p_borrowed_revenue, FND_API.G_MISS_NUM, NULL,
336                    p_borrowed_revenue)
337           ,DECODE( p_tp_revenue_in, FND_API.G_MISS_NUM, NULL, p_tp_revenue_in)
338           ,DECODE( p_tp_revenue_out, FND_API.G_MISS_NUM, NULL, p_tp_revenue_out)
339           ,DECODE( p_revenue_adj, FND_API.G_MISS_NUM, NULL, p_revenue_adj)
340           ,DECODE( p_lent_resource_cost, FND_API.G_MISS_NUM, NULL,
341                    p_lent_resource_cost)
342           ,DECODE( p_tp_cost_in, FND_API.G_MISS_NUM, NULL, p_tp_cost_in)
343           ,DECODE( p_tp_cost_out, FND_API.G_MISS_NUM, NULL, p_tp_cost_out)
344           ,DECODE( p_cost_adj, FND_API.G_MISS_NUM, NULL, p_cost_adj)
345           ,DECODE( p_unassigned_time_cost, FND_API.G_MISS_NUM, NULL,
346                    p_unassigned_time_cost)
347           ,DECODE( p_utilization_percent, FND_API.G_MISS_NUM, NULL,
348                    p_utilization_percent)
349           ,DECODE( p_utilization_hours, FND_API.G_MISS_NUM, NULL,
350                    p_utilization_hours)
351           ,DECODE( p_utilization_adj, FND_API.G_MISS_NUM, NULL,
352                    p_utilization_adj)
353           ,DECODE( p_capacity, FND_API.G_MISS_NUM, NULL, p_capacity)
354           ,DECODE( p_head_count, FND_API.G_MISS_NUM, NULL, p_head_count)
355           ,DECODE( p_head_count_adj, FND_API.G_MISS_NUM, NULL,
356                    p_head_count_adj)
357           ,DECODE( p_projfunc_currency_code      ,FND_API.G_MISS_CHAR,  NULL,p_projfunc_currency_code      )
358           ,DECODE( p_projfunc_cost_rate_type     ,FND_API.G_MISS_CHAR,  NULL,p_projfunc_cost_rate_type     )
359           ,DECODE( p_projfunc_cost_exchange_rate ,FND_API.G_MISS_NUM,NULL,p_projfunc_cost_exchange_rate )
360           ,DECODE( p_projfunc_cost_rate_date_type,FND_API.G_MISS_CHAR,  NULL,p_projfunc_cost_rate_date_type)
361           ,DECODE( p_projfunc_cost_rate_date     ,FND_API.G_MISS_DATE,  to_date(NULL),p_projfunc_cost_rate_date     )
362           ,DECODE( p_projfunc_rev_rate_type      ,FND_API.G_MISS_CHAR,  NULL,p_projfunc_rev_rate_type      )
363           ,DECODE( p_projfunc_rev_rate_date_type ,FND_API.G_MISS_CHAR,  NULL,p_projfunc_rev_rate_date_type )
364           ,DECODE( p_projfunc_rev_exchange_rate  ,FND_API.G_MISS_NUM,NULL,p_projfunc_rev_exchange_rate  )
365           ,DECODE( p_projfunc_rev_rate_date      ,FND_API.G_MISS_DATE,  to_date(NULL),p_projfunc_rev_rate_date      )
366           ,DECODE( p_project_currency_code       ,FND_API.G_MISS_CHAR,  NULL,p_project_currency_code       )
367           ,DECODE( p_project_cost_rate_type      ,FND_API.G_MISS_CHAR,  NULL,p_project_cost_rate_type      )
368           ,DECODE( p_project_cost_exchange_rate  ,FND_API.G_MISS_NUM,NULL,p_project_cost_exchange_rate  )
369           ,DECODE( p_project_cost_rate_date_type ,FND_API.G_MISS_CHAR,  NULL,p_project_cost_rate_date_type )
370           ,DECODE( p_project_cost_rate_date      ,FND_API.G_MISS_DATE,  to_Date(NULL),p_project_cost_rate_date      )
371           ,DECODE( p_project_raw_cost            ,FND_API.G_MISS_NUM,NULL,p_project_raw_cost            )
372           ,DECODE( p_project_burdened_cost       ,FND_API.G_MISS_NUM,NULL,p_project_burdened_cost       )
373           ,DECODE( p_project_revenue             ,FND_API.G_MISS_NUM,NULL,p_project_revenue             )
374           ,DECODE( p_txn_raw_cost                ,FND_API.G_MISS_NUM,NULL,p_txn_raw_cost                )
375           ,DECODE( p_txn_burdened_cost           ,FND_API.G_MISS_NUM,NULL,p_txn_burdened_cost           )
376           ,DECODE( p_txn_revenue                 ,FND_API.G_MISS_NUM,NULL,p_txn_revenue                 )
377           ,DECODE( p_txn_currency_code           ,FND_API.G_MISS_CHAR,  NULL,p_txn_currency_code           )
378           ,DECODE( p_bucketing_period_code       ,FND_API.G_MISS_CHAR,  NULL,p_bucketing_period_code       )
379           ,DECODE( p_project_rev_rate_type       ,FND_API.G_MISS_CHAR,  NULL,p_project_rev_rate_type       )
380           ,DECODE( p_project_rev_exchange_rate   ,FND_API.G_MISS_NUM,NULL,p_project_rev_exchange_rate   )
381           ,DECODE( p_project_rev_rate_date_type  ,FND_API.G_MISS_CHAR,  NULL,p_project_rev_rate_date_type  )
382           ,DECODE( p_project_rev_rate_date       ,FND_API.G_MISS_DATE,  to_date(NULL),p_project_rev_rate_date       )
383           ,px_budget_line_id
384           ,DECODE( p_budget_version_id           ,FND_API.G_MISS_NUM,NULL,p_budget_version_id           ));
385 
386 -- +++++ start of FP Build 4 changes +++++ --
387     -- Bug Fix: 4569365. Removed MRC code.
388 
389 	-- If mrc flag is 'Y' insert mrc budget lines for this budget line id
390     /*
391     IF p_mrc_flag = 'Y' THEN
392 
393        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS IS NULL THEN
394               PA_MRC_FINPLAN.CHECK_MRC_INSTALL
395                         (x_return_status      => l_return_status,
396                          x_msg_count          => l_msg_count,
397                          x_msg_data           => l_msg_data);
398        END IF;
399 
400        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS AND
401           PA_MRC_FINPLAN.G_FINPLAN_MRC_OPTION_CODE = 'A' THEN
402           PA_MRC_FINPLAN.MAINTAIN_ONE_MC_BUDGET_LINE
406                                  x_return_status  => l_return_status,
403                                 (p_budget_line_id => px_budget_line_id,
404                                  p_budget_version_id => p_budget_version_id,
405                                  p_action         => PA_MRC_FINPLAN.G_ACTION_INSERT,
407                                  x_msg_count      => l_msg_count,
408                                  x_msg_data       => l_msg_data);
409        END IF;
410 
411        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
412          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
413        END IF;
414 
415     END IF;
416     */
417 -- +++++ end of FP Build4 changes +++++ --
418 EXCEPTION
419   WHEN OTHERS THEN
420 	  FND_MSG_PUB.add_exc_msg( p_pkg_name
421                                    => 'PA_FP_BUDGET_LINES_PKG.Insert_Row'
422                                   ,p_procedure_name
423                                    => PA_DEBUG.G_Err_Stack);
424        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
425 	  RAISE;
426 End Insert_Row;
427 
428 PROCEDURE Update_Row
429 ( p_resource_assignment_id   IN pa_budget_lines.resource_assignment_id%TYPE
430                                 := FND_API.G_MISS_NUM
431  ,p_start_date               IN pa_budget_lines.start_date%TYPE
432                                 := FND_API.G_MISS_DATE
433  ,p_end_date                 IN pa_budget_lines.end_date%TYPE
434                                 := FND_API.G_MISS_DATE
435  ,p_period_name              IN pa_budget_lines.period_name%TYPE
436                                 := FND_API.G_MISS_CHAR
437  ,p_quantity                 IN pa_budget_lines.quantity%TYPE
438                                 := FND_API.G_MISS_NUM
439  ,p_raw_cost                 IN pa_budget_lines.raw_cost%TYPE
440                                 := FND_API.G_MISS_NUM
441  ,p_burdened_cost            IN pa_budget_lines.burdened_cost%TYPE
442                                 := FND_API.G_MISS_NUM
443  ,p_revenue                  IN pa_budget_lines.revenue%TYPE
444                                 := FND_API.G_MISS_NUM
445  ,p_change_reason_code       IN pa_budget_lines.change_reason_code%TYPE
446                                 := FND_API.G_MISS_CHAR
447  ,p_description              IN pa_budget_lines.description%TYPE
448                                 := FND_API.G_MISS_CHAR
449  ,p_attribute_category       IN pa_budget_lines.attribute_category%TYPE
450                                 := FND_API.G_MISS_CHAR
451  ,p_attribute1               IN pa_budget_lines.attribute1%TYPE
452                                 := FND_API.G_MISS_CHAR
453  ,p_attribute2               IN pa_budget_lines.attribute2%TYPE
454                                 := FND_API.G_MISS_CHAR
455  ,p_attribute3               IN pa_budget_lines.attribute3%TYPE
456                                 := FND_API.G_MISS_CHAR
457  ,p_attribute4               IN pa_budget_lines.attribute4%TYPE
458                                 := FND_API.G_MISS_CHAR
459  ,p_attribute5               IN pa_budget_lines.attribute5%TYPE
460                                 := FND_API.G_MISS_CHAR
461  ,p_attribute6               IN pa_budget_lines.attribute6%TYPE
462                                 := FND_API.G_MISS_CHAR
463  ,p_attribute7               IN pa_budget_lines.attribute7%TYPE
464                                 := FND_API.G_MISS_CHAR
465  ,p_attribute8               IN pa_budget_lines.attribute8%TYPE
466                                 := FND_API.G_MISS_CHAR
467  ,p_attribute9               IN pa_budget_lines.attribute9%TYPE
468                                 := FND_API.G_MISS_CHAR
469  ,p_attribute10              IN pa_budget_lines.attribute10%TYPE
470                                 := FND_API.G_MISS_CHAR
471  ,p_attribute11              IN pa_budget_lines.attribute11%TYPE
472                                 := FND_API.G_MISS_CHAR
473  ,p_attribute12              IN pa_budget_lines.attribute12%TYPE
474                                 := FND_API.G_MISS_CHAR
475  ,p_attribute13              IN pa_budget_lines.attribute13%TYPE
476                                 := FND_API.G_MISS_CHAR
477  ,p_attribute14              IN pa_budget_lines.attribute14%TYPE
478                                 := FND_API.G_MISS_CHAR
479  ,p_attribute15              IN pa_budget_lines.attribute15%TYPE
480                                 := FND_API.G_MISS_CHAR
481  ,p_raw_cost_source          IN pa_budget_lines.raw_cost_source%TYPE
482                                 := FND_API.G_MISS_CHAR
483  ,p_burdened_cost_source     IN pa_budget_lines.burdened_cost_source%TYPE
484                                 := FND_API.G_MISS_CHAR
485  ,p_quantity_source          IN pa_budget_lines.quantity_source%TYPE
486                                 := FND_API.G_MISS_CHAR
487  ,p_revenue_source           IN pa_budget_lines.revenue_source%TYPE
488                                 := FND_API.G_MISS_CHAR
489  ,p_pm_product_code          IN pa_budget_lines.pm_product_code%TYPE
490                                 := FND_API.G_MISS_CHAR
491  ,p_pm_budget_line_reference IN pa_budget_lines.pm_budget_line_reference%TYPE
492                                 := FND_API.G_MISS_CHAR
493  ,p_cost_rejection_code      IN pa_budget_lines.cost_rejection_code%TYPE
494                                 := FND_API.G_MISS_CHAR
495  ,p_revenue_rejection_code   IN pa_budget_lines.revenue_rejection_code%TYPE
496                                 := FND_API.G_MISS_CHAR
497  ,p_burden_rejection_code    IN pa_budget_lines.burden_rejection_code%TYPE
498                                 := FND_API.G_MISS_CHAR
499  ,p_other_rejection_code     IN pa_budget_lines.other_rejection_code%TYPE
500                                 := FND_API.G_MISS_CHAR
501  ,p_code_combination_id      IN pa_budget_lines.code_combination_id%TYPE
502                                 := FND_API.G_MISS_NUM
503  ,p_ccid_gen_status_code     IN pa_budget_lines.ccid_gen_status_code%TYPE
504                                 := FND_API.G_MISS_CHAR
505  ,p_ccid_gen_rej_message     IN pa_budget_lines.ccid_gen_rej_message%TYPE
509  ,p_borrowed_revenue         IN pa_budget_lines.borrowed_revenue%TYPE
506                                 := FND_API.G_MISS_CHAR
507  ,p_request_id               IN pa_budget_lines.request_id%TYPE
508                                 := FND_API.G_MISS_NUM
510                                 := FND_API.G_MISS_NUM
511  ,p_tp_revenue_in            IN pa_budget_lines.tp_revenue_in%TYPE
512                                 := FND_API.G_MISS_NUM
513  ,p_tp_revenue_out           IN pa_budget_lines.tp_revenue_out%TYPE
514                                 := FND_API.G_MISS_NUM
515  ,p_revenue_adj              IN pa_budget_lines.revenue_adj%TYPE
516                                 := FND_API.G_MISS_NUM
517  ,p_lent_resource_cost       IN pa_budget_lines.lent_resource_cost%TYPE
518                                 := FND_API.G_MISS_NUM
519  ,p_tp_cost_in               IN pa_budget_lines.tp_cost_in%TYPE
520                                 := FND_API.G_MISS_NUM
521  ,p_tp_cost_out              IN pa_budget_lines.tp_cost_out%TYPE
522                                 := FND_API.G_MISS_NUM
523  ,p_cost_adj                 IN pa_budget_lines.cost_adj%TYPE
524                                 := FND_API.G_MISS_NUM
525  ,p_unassigned_time_cost     IN pa_budget_lines.unassigned_time_cost%TYPE
526                                 := FND_API.G_MISS_NUM
527  ,p_utilization_percent      IN pa_budget_lines.utilization_percent%TYPE
528                                 := FND_API.G_MISS_NUM
529  ,p_utilization_hours        IN pa_budget_lines.utilization_hours%TYPE
530                                 := FND_API.G_MISS_NUM
531  ,p_utilization_adj          IN pa_budget_lines.utilization_adj%TYPE
532                                 := FND_API.G_MISS_NUM
533  ,p_capacity                 IN pa_budget_lines.capacity%TYPE
534                                 := FND_API.G_MISS_NUM
535  ,p_head_count               IN pa_budget_lines.head_count%TYPE
536                                 := FND_API.G_MISS_NUM
537  ,p_head_count_adj           IN pa_budget_lines.head_count_adj%TYPE
538                                 := FND_API.G_MISS_NUM,
539 p_projfunc_currency_code        in pa_budget_lines.projfunc_currency_code%type       := FND_API.G_MISS_CHAR,
540 p_projfunc_cost_rate_type       in pa_budget_lines.projfunc_cost_rate_type%type      := FND_API.G_MISS_CHAR,
541 p_projfunc_cost_exchange_rate   in pa_budget_lines.projfunc_cost_exchange_rate%type  := FND_API.G_MISS_NUM,
542 p_projfunc_cost_rate_date_type  in pa_budget_lines.projfunc_cost_rate_date_type%type := FND_API.G_MISS_CHAR,
543 p_projfunc_cost_rate_date       in pa_budget_lines.projfunc_cost_rate_date%type      := FND_API.G_MISS_DATE,
544 p_projfunc_rev_rate_type        in pa_budget_lines.projfunc_rev_rate_type%type       := FND_API.G_MISS_CHAR,
545 p_projfunc_rev_rate_date_type   in pa_budget_lines.projfunc_rev_rate_date_type%type  := FND_API.G_MISS_CHAR,
546 p_projfunc_rev_exchange_rate    in pa_budget_lines.projfunc_rev_exchange_rate%type   := FND_API.G_MISS_NUM,
547 p_projfunc_rev_rate_date        in pa_budget_lines.projfunc_rev_rate_date%type       := FND_API.G_MISS_DATE,
548 p_project_currency_code         in pa_budget_lines.project_currency_code%type        := FND_API.G_MISS_CHAR,
549 p_project_cost_rate_type        in pa_budget_lines.project_cost_rate_type%type       := FND_API.G_MISS_CHAR,
550 p_project_cost_exchange_rate    in pa_budget_lines.project_cost_exchange_rate%type   := FND_API.G_MISS_NUM,
551 p_project_cost_rate_date_type   in pa_budget_lines.project_cost_rate_date_type%type  := FND_API.G_MISS_CHAR,
552 p_project_cost_rate_date        in pa_budget_lines.project_cost_rate_date%type       := FND_API.G_MISS_DATE,
553 p_project_raw_cost              in pa_budget_lines.project_raw_cost%type             := FND_API.G_MISS_NUM,
554 p_project_burdened_cost         in pa_budget_lines.project_burdened_cost%type        := FND_API.G_MISS_NUM,
555 p_project_revenue               in pa_budget_lines.project_revenue%type              := FND_API.G_MISS_NUM,
556 p_txn_raw_cost                  in pa_budget_lines.txn_raw_cost%type                 := FND_API.G_MISS_NUM,
557 p_txn_burdened_cost             in pa_budget_lines.txn_burdened_cost%type            := FND_API.G_MISS_NUM,
558 p_txn_revenue                   in pa_budget_lines.txn_revenue%type                  := FND_API.G_MISS_NUM,
559 p_txn_currency_code             in pa_budget_lines.txn_currency_code%type            := FND_API.G_MISS_CHAR,
560 p_bucketing_period_code         in pa_budget_lines.bucketing_period_code%type        := FND_API.G_MISS_CHAR,
561 p_project_rev_rate_type         in pa_budget_lines.project_rev_rate_type%type        := FND_API.G_MISS_CHAR,
562 p_project_rev_exchange_rate     in pa_budget_lines.project_rev_exchange_rate%type    := FND_API.G_MISS_NUM,
563 p_project_rev_rate_date_type    in pa_budget_lines.project_rev_rate_date_type%type   := FND_API.G_MISS_CHAR,
564 p_project_rev_rate_date         in pa_budget_lines.project_rev_rate_date%type        := FND_API.G_MISS_DATE,
565 p_budget_line_id                in pa_budget_lines.budget_line_id%type               := FND_API.G_MISS_NUM,
566 p_budget_version_id             in pa_budget_lines.budget_version_id%type            := FND_API.G_MISS_NUM,
567 -- Bug Fix: 4569365. Removed MRC code.
568 -- p_mrc_flag                      in  VARCHAR2 -- FP Build 4 Changes
569  p_row_id                   IN ROWID
570                                 := NULL
571  ,x_return_status           OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
572 IS
573 l_msg_count                     NUMBER := 0;
574 l_msg_data                      VARCHAR2(2000);
575 l_return_status                 VARCHAR2(2000);
576 BEGIN
577 UPDATE pa_budget_lines
578 SET
579  start_date = DECODE( p_start_date, FND_API.G_MISS_DATE, start_date,
580                       p_start_date)
581 ,last_update_date = sysdate
582 ,last_updated_by = fnd_global.user_id
583 ,last_update_login = fnd_global.login_id
584 ,end_date = DECODE( p_end_date, FND_API.G_MISS_DATE, end_date, p_end_date)
585 ,period_name = DECODE( p_period_name, FND_API.G_MISS_CHAR, period_name,
586                        p_period_name)
587 ,quantity = DECODE( p_quantity, FND_API.G_MISS_NUM, quantity, p_quantity)
588 ,raw_cost = DECODE( p_raw_cost, FND_API.G_MISS_NUM, raw_cost, p_raw_cost)
592 ,change_reason_code = DECODE( p_change_reason_code, FND_API.G_MISS_CHAR,
589 ,burdened_cost = DECODE( p_burdened_cost, FND_API.G_MISS_NUM, burdened_cost,
590                          p_burdened_cost)
591 ,revenue = DECODE( p_revenue, FND_API.G_MISS_NUM, revenue, p_revenue)
593                               change_reason_code, p_change_reason_code)
594 ,description = DECODE( p_description, FND_API.G_MISS_CHAR, description,
595                        p_description)
596 ,attribute_category = DECODE( p_attribute_category, FND_API.G_MISS_CHAR,
597                               attribute_category, p_attribute_category)
598 ,attribute1 = DECODE( p_attribute1, FND_API.G_MISS_CHAR, attribute1,
599                       p_attribute1)
600 ,attribute2 = DECODE( p_attribute2, FND_API.G_MISS_CHAR, attribute2,
601                       p_attribute2)
602 ,attribute3 = DECODE( p_attribute3, FND_API.G_MISS_CHAR, attribute3,
603                       p_attribute3)
604 ,attribute4 = DECODE( p_attribute4, FND_API.G_MISS_CHAR, attribute4,
605                       p_attribute4)
606 ,attribute5 = DECODE( p_attribute5, FND_API.G_MISS_CHAR, attribute5,
607                       p_attribute5)
608 ,attribute6 = DECODE( p_attribute6, FND_API.G_MISS_CHAR, attribute6,
609                       p_attribute6)
610 ,attribute7 = DECODE( p_attribute7, FND_API.G_MISS_CHAR, attribute7,
611                       p_attribute7)
612 ,attribute8 = DECODE( p_attribute8, FND_API.G_MISS_CHAR, attribute8,
613                       p_attribute8)
614 ,attribute9 = DECODE( p_attribute9, FND_API.G_MISS_CHAR, attribute9,
615                       p_attribute9)
616 ,attribute10 = DECODE( p_attribute10, FND_API.G_MISS_CHAR, attribute10,
617                        p_attribute10)
618 ,attribute11 = DECODE( p_attribute11, FND_API.G_MISS_CHAR, attribute11,
619                        p_attribute11)
620 ,attribute12 = DECODE( p_attribute12, FND_API.G_MISS_CHAR, attribute12,
621                        p_attribute12)
622 ,attribute13 = DECODE( p_attribute13, FND_API.G_MISS_CHAR, attribute13,
623                        p_attribute13)
624 ,attribute14 = DECODE( p_attribute14, FND_API.G_MISS_CHAR, attribute14,
625                        p_attribute14)
626 ,attribute15 = DECODE( p_attribute15, FND_API.G_MISS_CHAR, attribute15,
627                        p_attribute15)
628 ,raw_cost_source = DECODE( p_raw_cost_source, FND_API.G_MISS_CHAR,
629                            raw_cost_source, p_raw_cost_source)
630 ,burdened_cost_source = DECODE( p_burdened_cost_source, FND_API.G_MISS_CHAR,
631                                 burdened_cost_source, p_burdened_cost_source)
632 ,quantity_source = DECODE( p_quantity_source, FND_API.G_MISS_CHAR,
633                            quantity_source, p_quantity_source)
634 ,revenue_source = DECODE( p_revenue_source, FND_API.G_MISS_CHAR, revenue_source,
635                           p_revenue_source)
636 ,pm_product_code = DECODE( p_pm_product_code, FND_API.G_MISS_CHAR,
637                            pm_product_code, p_pm_product_code)
638 ,pm_budget_line_reference = DECODE( p_pm_budget_line_reference,
639                                     FND_API.G_MISS_CHAR,
640                                     pm_budget_line_reference,
641                                     p_pm_budget_line_reference)
642 ,cost_rejection_code = DECODE( p_cost_rejection_code, FND_API.G_MISS_CHAR,
643                                cost_rejection_code, p_cost_rejection_code)
644 ,revenue_rejection_code = DECODE( p_revenue_rejection_code, FND_API.G_MISS_CHAR,
645                                   revenue_rejection_code,
646                                   p_revenue_rejection_code)
647 ,burden_rejection_code = DECODE( p_burden_rejection_code, FND_API.G_MISS_CHAR,
648                                  burden_rejection_code, p_burden_rejection_code)
649 ,other_rejection_code = DECODE( p_other_rejection_code, FND_API.G_MISS_CHAR,
650                                 other_rejection_code, p_other_rejection_code)
651 ,code_combination_id = DECODE( p_code_combination_id, FND_API.G_MISS_NUM,
652                                code_combination_id, p_code_combination_id)
653 ,ccid_gen_status_code = DECODE( p_ccid_gen_status_code, FND_API.G_MISS_CHAR,
654                                 ccid_gen_status_code, p_ccid_gen_status_code)
655 ,ccid_gen_rej_message = DECODE( p_ccid_gen_rej_message, FND_API.G_MISS_CHAR,
656                                 ccid_gen_rej_message, p_ccid_gen_rej_message)
657 ,request_id = DECODE( p_request_id, FND_API.G_MISS_NUM, request_id,
658                       p_request_id)
659 ,borrowed_revenue = DECODE( p_borrowed_revenue, FND_API.G_MISS_NUM,
660                             borrowed_revenue, p_borrowed_revenue)
661 ,tp_revenue_in = DECODE( p_tp_revenue_in, FND_API.G_MISS_NUM, tp_revenue_in,
662                          p_tp_revenue_in)
663 ,tp_revenue_out = DECODE( p_tp_revenue_out, FND_API.G_MISS_NUM, tp_revenue_out,
664                           p_tp_revenue_out)
665 ,revenue_adj = DECODE( p_revenue_adj, FND_API.G_MISS_NUM, revenue_adj,
666                        p_revenue_adj)
667 ,lent_resource_cost = DECODE( p_lent_resource_cost, FND_API.G_MISS_NUM,
668                               lent_resource_cost, p_lent_resource_cost)
669 ,tp_cost_in = DECODE( p_tp_cost_in, FND_API.G_MISS_NUM, tp_cost_in,
670                       p_tp_cost_in)
671 ,tp_cost_out = DECODE( p_tp_cost_out, FND_API.G_MISS_NUM, tp_cost_out,
672                        p_tp_cost_out)
673 ,cost_adj = DECODE( p_cost_adj, FND_API.G_MISS_NUM, cost_adj, p_cost_adj)
674 ,unassigned_time_cost = DECODE( p_unassigned_time_cost, FND_API.G_MISS_NUM,
675                                 unassigned_time_cost, p_unassigned_time_cost)
676 ,utilization_percent = DECODE( p_utilization_percent, FND_API.G_MISS_NUM,
677                                utilization_percent, p_utilization_percent)
678 ,utilization_hours = DECODE( p_utilization_hours, FND_API.G_MISS_NUM,
679                              utilization_hours, p_utilization_hours)
680 ,utilization_adj = DECODE( p_utilization_adj, FND_API.G_MISS_NUM,
681                            utilization_adj, p_utilization_adj)
685 ,head_count_adj = DECODE( p_head_count_adj, FND_API.G_MISS_NUM, head_count_adj,
682 ,capacity = DECODE( p_capacity, FND_API.G_MISS_NUM, capacity, p_capacity)
683 ,head_count = DECODE( p_head_count, FND_API.G_MISS_NUM, head_count,
684                       p_head_count)
686                           p_head_count_adj)
687 ,projfunc_currency_code      =DECODE( p_projfunc_currency_code      ,
688                                   FND_API.G_MISS_CHAR, projfunc_currency_code,
689                                      p_projfunc_currency_code      )
690 ,projfunc_cost_rate_type     =DECODE( p_projfunc_cost_rate_type     ,
691                                   FND_API.G_MISS_CHAR, projfunc_cost_rate_type,
692                                      p_projfunc_cost_rate_type     )
693 ,projfunc_cost_exchange_rate =DECODE( p_projfunc_cost_exchange_rate ,
694                                   FND_API.G_MISS_NUM,projfunc_cost_exchange_rate,
695                                      p_projfunc_cost_exchange_rate )
696 ,projfunc_cost_rate_date_type=DECODE( p_projfunc_cost_rate_date_type,
697                                   FND_API.G_MISS_CHAR,  projfunc_cost_rate_date_type,
698                                      p_projfunc_cost_rate_date_type)
699 ,projfunc_cost_rate_date     =DECODE( p_projfunc_cost_rate_date     ,
700                                   FND_API.G_MISS_DATE,  projfunc_cost_rate_date,
701                                      p_projfunc_cost_rate_date     )
702 ,projfunc_rev_rate_type      =DECODE( p_projfunc_rev_rate_type      ,
703                                   FND_API.G_MISS_CHAR, projfunc_rev_rate_type,
704                                      p_projfunc_rev_rate_type      )
705 ,projfunc_rev_rate_date_type =DECODE( p_projfunc_rev_rate_date_type ,
706                                   FND_API.G_MISS_CHAR,  projfunc_rev_rate_date_type,
707                                      p_projfunc_rev_rate_date_type )
708 ,projfunc_rev_exchange_rate  =DECODE( p_projfunc_rev_exchange_rate  ,
709                                   FND_API.G_MISS_NUM, projfunc_rev_exchange_rate,
710                                      p_projfunc_rev_exchange_rate  )
711 ,projfunc_rev_rate_date      =DECODE( p_projfunc_rev_rate_date      ,
712                                   FND_API.G_MISS_DATE,projfunc_rev_rate_date,
713                                      p_projfunc_rev_rate_date      )
714 ,project_currency_code       =DECODE( p_project_currency_code       ,
715                                   FND_API.G_MISS_CHAR,project_currency_code,
716                                      p_project_currency_code       )
717 ,project_cost_rate_type      =DECODE( p_project_cost_rate_type      ,
718                                   FND_API.G_MISS_CHAR, project_cost_rate_type,
719                                      p_project_cost_rate_type      )
720 ,project_cost_exchange_rate  =DECODE( p_project_cost_exchange_rate  ,
721                                   FND_API.G_MISS_NUM,project_cost_exchange_rate,
722                                      p_project_cost_exchange_rate  )
723 ,project_cost_rate_date_type =DECODE( p_project_cost_rate_date_type ,
724                                   FND_API.G_MISS_CHAR,project_cost_rate_date_type,
725                                      p_project_cost_rate_date_type )
726 ,project_cost_rate_date      =DECODE( p_project_cost_rate_date      ,
727                                   FND_API.G_MISS_DATE,project_cost_rate_date,
728                                      p_project_cost_rate_date      )
729 ,project_raw_cost            =DECODE( p_project_raw_cost            ,
730                                   FND_API.G_MISS_NUM,project_raw_cost,
731                                      p_project_raw_cost            )
732 ,project_burdened_cost       =DECODE( p_project_burdened_cost       ,
733                                   FND_API.G_MISS_NUM,project_burdened_cost,
734                                      p_project_burdened_cost       )
735 ,project_revenue             =DECODE( p_project_revenue             ,
736                                   FND_API.G_MISS_NUM,project_revenue,
737                                      p_project_revenue             )
738 ,txn_raw_cost                =DECODE( p_txn_raw_cost                ,
739                                   FND_API.G_MISS_NUM,txn_raw_cost,
740                                      p_txn_raw_cost                )
741 ,txn_burdened_cost           =DECODE( p_txn_burdened_cost           ,
742                                   FND_API.G_MISS_NUM,txn_burdened_cost,
743                                      p_txn_burdened_cost           )
744 ,txn_revenue                 =DECODE( p_txn_revenue                 ,
745                                   FND_API.G_MISS_NUM,txn_revenue,
746                                      p_txn_revenue                 )
747 ,txn_currency_code           =DECODE( p_txn_currency_code           ,
748                                   FND_API.G_MISS_CHAR,txn_currency_code,
749                                      p_txn_currency_code          )
750 ,bucketing_period_code       =DECODE( p_bucketing_period_code       ,
751                                   FND_API.G_MISS_CHAR, bucketing_period_code,
752                                      p_bucketing_period_code       )
753 ,project_rev_rate_type       =DECODE( p_project_rev_rate_type       ,
754                                   FND_API.G_MISS_CHAR,  project_rev_rate_type,
755                                      p_project_rev_rate_type       )
756 ,project_rev_exchange_rate   =DECODE( p_project_rev_exchange_rate   ,
757                                   FND_API.G_MISS_NUM,project_rev_exchange_rate,
758                                      p_project_rev_exchange_rate   )
759 ,project_rev_rate_date_type  =DECODE( p_project_rev_rate_date_type  ,
760                                   FND_API.G_MISS_CHAR, project_rev_rate_date_type,
761                                      p_project_rev_rate_date_type  )
762 ,project_rev_rate_date       =DECODE( p_project_rev_rate_date       ,
763                                   FND_API.G_MISS_DATE,  project_rev_rate_date,
764                                      p_project_rev_rate_date       )
765 ,budget_version_id           =DECODE( p_budget_version_id           ,
769 
766                                   FND_API.G_MISS_NUM,budget_version_id,
767                                      p_budget_version_id           )
768 WHERE budget_line_id = p_budget_line_id;
770     IF (SQL%NOTFOUND) THEN
771          PA_UTILS.Add_Message ( p_app_short_name => 'PA'
772                                ,p_msg_name       => 'PA_XC_RECORD_CHANGED');
773          x_return_status := FND_API.G_RET_STS_ERROR;
774     END IF;
775 -- +++++ Start of FP Build 4 changes +++++ --
776     -- Bug Fix: 4569365. Removed MRC code.
777 	--If MRC is enabled, update the mrc lines also
778     /*
779     IF p_mrc_flag = 'Y' THEN
780        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS IS NULL THEN
781               PA_MRC_FINPLAN.CHECK_MRC_INSTALL
782                         (x_return_status      => l_return_status,
783                          x_msg_count          => l_msg_count,
784                          x_msg_data           => l_msg_data);
785        END IF;
786 
787        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS AND
788           PA_MRC_FINPLAN.G_FINPLAN_MRC_OPTION_CODE = 'A' THEN
789             PA_MRC_FINPLAN.MAINTAIN_ONE_MC_BUDGET_LINE
790                        (p_budget_line_id => p_budget_line_id,
791                         p_budget_version_id => p_budget_version_id,
792                         p_action         => PA_MRC_FINPLAN.G_ACTION_UPDATE,
793                         x_return_status  => l_return_status,
794                         x_msg_count      => l_msg_count,
795                         x_msg_data       => l_msg_data);
796        END IF;
797 
798        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
799          RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
800        END IF;
801 
802     END IF;
803     */
804 
805 -- +++++ End of FP Build 4 changes +++++ --
806 EXCEPTION
807   WHEN OTHERS THEN
808        FND_MSG_PUB.add_exc_msg( p_pkg_name
809                                     => 'PA_FP_BUDGET_LINES_PKG.Update_Row'
810                                ,p_procedure_name
811                                     => PA_DEBUG.G_Err_Stack);
812        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
813        RAISE;
814 END Update_Row;
815 
816 PROCEDURE Lock_Row
817 ( p_resource_assignment_id   IN pa_budget_lines.resource_assignment_id%TYPE
818                                 := FND_API.G_MISS_NUM
819  ,p_start_date               IN pa_budget_lines.start_date%TYPE
820                                 := FND_API.G_MISS_DATE
821  ,p_row_id                   IN ROWID
822                                 := NULL
823  ,x_return_status           OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
824  IS
825     l_row_id ROWID;
826 
827 BEGIN
828        SELECT rowid into l_row_id
829          FROM pa_budget_lines
830         WHERE resource_assignment_id =  p_resource_assignment_id
831           AND start_date = p_start_date
832           FOR UPDATE NOWAIT;
833 EXCEPTION
834   WHEN OTHERS THEN
835        FND_MSG_PUB.add_exc_msg( p_pkg_name
836                                     => 'PA_FP_BUDGET_LINES_PKG.Lock_Row',
837                                 p_procedure_name
838                                     => PA_DEBUG.G_Err_Stack);
839        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
840        RAISE;
841 END Lock_Row;
842 
843 PROCEDURE Delete_Row
844 ( p_budget_line_id        IN   pa_budget_lines.budget_line_id%TYPE
845  ,p_row_id                IN   ROWID
846  -- Bug Fix: 4569365. Removed MRC code.
847  -- ,p_mrc_flag              IN   VARCHAR2
848  ,x_return_status         OUT  NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
849 IS
850 l_msg_count                     NUMBER := 0;
851 l_msg_data                      VARCHAR2(2000);
852 l_return_status                 VARCHAR2(2000);
853 BEGIN
854     x_return_status := FND_API.G_RET_STS_SUCCESS;
855     IF (p_budget_line_id IS NOT NULL) THEN
856          DELETE FROM PA_BUDGET_LINES
857           WHERE  budget_line_id = p_budget_line_id;
858     ELSIF (p_row_id IS NOT NULL) THEN
859          DELETE FROM PA_BUDGET_LINES
860           WHERE rowid = p_row_id;
861     END IF;
862 
863     IF (SQL%NOTFOUND) THEN
864          PA_UTILS.Add_Message ( p_app_short_name => 'PA'
865                                ,p_msg_name       => 'PA_XC_RECORD_CHANGED');
866          x_return_status := FND_API.G_RET_STS_ERROR;
867     END IF;
868     -- Bug Fix: 4569365. Removed MRC code.
869     /*
870     IF p_mrc_flag = 'Y' THEN
871        --If MRC is enabled, delete the mrc lines also
872        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS IS NULL THEN
873               PA_MRC_FINPLAN.CHECK_MRC_INSTALL
874                         (x_return_status      => l_return_status,
875                          x_msg_count          => l_msg_count,
876                          x_msg_data           => l_msg_data);
877        END IF;
878 
879        IF PA_MRC_FINPLAN.G_MRC_ENABLED_FOR_BUDGETS AND
880           PA_MRC_FINPLAN.G_FINPLAN_MRC_OPTION_CODE = 'A' THEN
881             PA_MRC_FINPLAN.MAINTAIN_ONE_MC_BUDGET_LINE
882                        (p_budget_line_id => p_budget_line_id,
883                         p_budget_version_id => null,
884                         p_action         => PA_MRC_FINPLAN.G_ACTION_DELETE,
885                         x_return_status  => l_return_status,
886                         x_msg_count      => l_msg_count,
887                         x_msg_data       => l_msg_data);
888        END IF;
889 
890        IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
891          RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
892        END IF;
893 
894     END IF;
895     */
896 EXCEPTION
897   WHEN OTHERS THEN
898        FND_MSG_PUB.add_exc_msg( p_pkg_name
899                                     => 'PA_FP_BUDGET_LINES_PKG.Delete_Row'
903        RAISE;
900                                ,p_procedure_name
901                                     => PA_DEBUG.G_Err_Stack);
902        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
904 END Delete_Row;
905 
906 END pa_fp_budget_lines_pkg;