[Home] [Help]
PACKAGE BODY: APPS.PSB_WORKSHEET_PVT
Source
1 PACKAGE BODY PSB_WORKSHEET_PVT AS
2 /* $Header: PSBPWCMB.pls 120.10 2005/11/14 11:51:55 viraghun ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_WORKSHEET_PVT';
5
6 /* ----------------------------------------------------------------------- */
7
8 PROCEDURE Create_WS_Line_Items
9 ( p_api_version IN NUMBER,
10 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
11 p_commit IN VARCHAR2 := FND_API.G_FALSE,
12 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
13 p_return_status OUT NOCOPY VARCHAR2,
14 p_msg_count OUT NOCOPY NUMBER,
15 p_msg_data OUT NOCOPY VARCHAR2,
16 p_worksheet_id IN NUMBER
17 ) IS
18
19 l_api_name CONSTANT VARCHAR2(30) := 'Create_WS_Line_Items';
20 l_api_version CONSTANT NUMBER := 1.0;
21
22 BEGIN
23
24 -- Standard Start of API savepoint
25
26 SAVEPOINT Create_WS_Line_Items_Pvt;
27
28
29 -- Standard call to check for call compatibility.
30
31 if not FND_API.Compatible_API_Call (l_api_version,
32 p_api_version,
33 l_api_name,
34 G_PKG_NAME)
35 then
36 raise FND_API.G_EXC_UNEXPECTED_ERROR;
37 end if;
38
39
40 -- Initialize message list if p_init_msg_list is set to TRUE.
41
42 if FND_API.to_Boolean (p_init_msg_list) then
43 FND_MSG_PUB.initialize;
44 end if;
45
46
47 -- Call Private Function
48
49 PSB_WORKSHEET.Create_WS_Line_Items
50 (p_api_version => 1.0,
51 p_return_status => p_return_status,
52 p_worksheet_id => p_worksheet_id);
53
54
55 -- Standard check of p_commit.
56
57 if FND_API.to_Boolean (p_commit) then
58 commit work;
59 end if;
60
61
62 -- Standard call to get message count and if count is 1, get message info.
63
64 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
65 p_data => p_msg_data);
66
67 EXCEPTION
68
69 when FND_API.G_EXC_ERROR then
70 rollback to Create_WS_Line_Items_Pvt;
71 p_return_status := FND_API.G_RET_STS_ERROR;
72
73 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
74 p_data => p_msg_data);
75
76 when FND_API.G_EXC_UNEXPECTED_ERROR then
77 rollback to Create_WS_Line_Items_Pvt;
78 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
79
80 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
81 p_data => p_msg_data);
82
83 when OTHERS then
84 rollback to Create_WS_Line_Items_Pvt;
85 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
86
87 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
88 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
89 l_api_name);
90 end if;
91
92 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
93 p_data => p_msg_data);
94
95 END Create_WS_Line_Items;
96
97 /* ----------------------------------------------------------------------- */
98
99 PROCEDURE Delete_WS_Line_Items
100 ( p_api_version IN NUMBER,
101 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
102 p_commit IN VARCHAR2 := FND_API.G_FALSE,
103 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
104 p_return_status OUT NOCOPY VARCHAR2,
105 p_msg_count OUT NOCOPY NUMBER,
106 p_msg_data OUT NOCOPY VARCHAR2,
107 p_worksheet_id IN NUMBER,
108 p_global_worksheet IN VARCHAR2 := FND_API.G_TRUE
109 ) IS
110
111 l_api_name CONSTANT VARCHAR2(30) := 'Delete_WS_Line_Items';
112 l_api_version CONSTANT NUMBER := 1.0;
113
114 BEGIN
115
116 -- Standard Start of API savepoint
117
118 SAVEPOINT Delete_WS_Line_Items_Pvt;
119
120
121 -- Standard call to check for call compatibility.
122
123 if not FND_API.Compatible_API_Call (l_api_version,
124 p_api_version,
125 l_api_name,
126 G_PKG_NAME)
127 then
128 raise FND_API.G_EXC_UNEXPECTED_ERROR;
129 end if;
130
131
132 -- Initialize message list if p_init_msg_list is set to TRUE.
133
134 if FND_API.to_Boolean (p_init_msg_list) then
135 FND_MSG_PUB.initialize;
136 end if;
137
138
139 -- Call Private Function
140
141 PSB_WORKSHEET.Delete_WS_Line_Items
142 (p_api_version => 1.0,
143 p_return_status => p_return_status,
144 p_worksheet_id => p_worksheet_id,
145 p_global_worksheet => p_global_worksheet);
146
147
148 -- Standard check of p_commit.
149
150 if FND_API.to_Boolean (p_commit) then
151 commit work;
152 end if;
153
154
155 -- Standard call to get message count and if count is 1, get message info.
156
157 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
158 p_data => p_msg_data);
159
160 EXCEPTION
161
162 when FND_API.G_EXC_ERROR then
163 rollback to Delete_WS_Line_Items_Pvt;
164 p_return_status := FND_API.G_RET_STS_ERROR;
165
166 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
167 p_data => p_msg_data);
168
169 when FND_API.G_EXC_UNEXPECTED_ERROR then
170 rollback to Delete_WS_Line_Items_Pvt;
171 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
172
173 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
174 p_data => p_msg_data);
175
176 when OTHERS then
177 rollback to Delete_WS_Line_Items_Pvt;
178 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
179
180 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
181 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
182 l_api_name);
183 end if;
184
185 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
186 p_data => p_msg_data);
187
188 END Delete_WS_Line_Items;
189
190 /* ----------------------------------------------------------------------- */
191
192 PROCEDURE Create_Worksheet
193 ( p_api_version IN NUMBER,
194 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
195 p_commit IN VARCHAR2 := FND_API.G_FALSE,
196 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
197 p_return_status OUT NOCOPY VARCHAR2,
198 p_msg_count OUT NOCOPY NUMBER,
199 p_msg_data OUT NOCOPY VARCHAR2,
200 p_budget_group_id IN NUMBER,
201 p_budget_calendar_id IN NUMBER,
202 p_worksheet_type IN VARCHAR2 := 'O',
203 p_name IN VARCHAR2,
204 p_description IN VARCHAR2,
205 p_ws_creation_complete IN VARCHAR2 := FND_API.G_MISS_CHAR,
206 p_stage_set_id IN NUMBER,
207 p_current_stage_seq IN NUMBER := FND_API.G_MISS_NUM,
208 p_global_worksheet_id IN NUMBER := FND_API.G_MISS_NUM,
209 p_global_worksheet_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
210 p_global_worksheet_option IN VARCHAR2 := FND_API.G_MISS_CHAR,
211 p_local_copy_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
212 p_copy_of_worksheet_id IN NUMBER := FND_API.G_MISS_NUM,
213 p_freeze_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
214 p_budget_by_position IN VARCHAR2 := FND_API.G_MISS_CHAR,
215 p_use_revised_element_rates IN VARCHAR2 := FND_API.G_MISS_CHAR,
216 p_num_proposed_years IN NUMBER := FND_API.G_MISS_NUM,
217 p_num_years_to_allocate IN NUMBER := FND_API.G_MISS_NUM,
218 p_rounding_factor IN NUMBER := FND_API.G_MISS_NUM,
219 p_gl_cutoff_period IN DATE := FND_API.G_MISS_DATE,
220 p_budget_version_id IN NUMBER := FND_API.G_MISS_NUM,
221 p_gl_budget_set_id IN NUMBER := FND_API.G_MISS_NUM,
222 p_include_stat_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
223 p_include_trans_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
224 p_include_adj_period IN VARCHAR2 := FND_API.G_MISS_CHAR,
225 p_data_extract_id IN NUMBER := FND_API.G_MISS_NUM,
226 p_parameter_set_id IN NUMBER := FND_API.G_MISS_NUM,
227 p_constraint_set_id IN NUMBER := FND_API.G_MISS_NUM,
228 p_allocrule_set_id IN NUMBER := FND_API.G_MISS_NUM,
229 p_date_submitted IN DATE := FND_API.G_MISS_DATE,
230 p_submitted_by IN NUMBER := FND_API.G_MISS_NUM,
231 p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
232 p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
233 p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
234 p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
235 p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
236 p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
237 p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
238 p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
239 p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
240 p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
241 p_context IN VARCHAR2 := FND_API.G_MISS_CHAR,
242 p_create_non_pos_line_items IN VARCHAR2 := FND_API.G_MISS_CHAR,
243 p_apply_element_parameters IN VARCHAR2 := FND_API.G_MISS_CHAR,
244 p_apply_position_parameters IN VARCHAR2 := FND_API.G_MISS_CHAR,
245 p_create_positions IN VARCHAR2 := FND_API.G_MISS_CHAR,
246 p_create_summary_totals IN VARCHAR2 := FND_API.G_MISS_CHAR,
247 p_apply_constraints IN VARCHAR2 := FND_API.G_MISS_CHAR,
248 p_flex_mapping_set_id IN NUMBER := FND_API.G_MISS_NUM,
249 p_include_gl_commit_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
250 p_include_gl_oblig_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
251 p_include_gl_other_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
252 p_include_cbc_commit_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
253 p_include_cbc_oblig_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
254 p_include_cbc_budget_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
255 p_federal_ws_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
256 /* bug no 4725091 */
257 p_include_gl_forwd_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
258 p_worksheet_id OUT NOCOPY NUMBER
259 ) IS
260
261 l_api_name CONSTANT VARCHAR2(30) := 'Create_Worksheet';
262 l_api_version CONSTANT NUMBER := 1.0;
263
264 BEGIN
265
266 -- Standard Start of API savepoint
267
268 SAVEPOINT Create_Worksheet_Pvt;
269
270
271 -- Standard call to check for call compatibility.
272
273 if not FND_API.Compatible_API_Call (l_api_version,
274 p_api_version,
275 l_api_name,
276 G_PKG_NAME)
277 then
278 raise FND_API.G_EXC_UNEXPECTED_ERROR;
279 end if;
280
281
282 -- Initialize message list if p_init_msg_list is set to TRUE.
283
284 if FND_API.to_Boolean (p_init_msg_list) then
285 FND_MSG_PUB.initialize;
286 end if;
287
288
289 -- Call Private Function
290
291 PSB_WORKSHEET.Create_Worksheet
292 (p_api_version => 1.0,
293 p_validation_level => p_validation_level,
294 p_return_status => p_return_status,
295 p_budget_group_id => p_budget_group_id,
296 p_budget_calendar_id => p_budget_calendar_id,
297 p_worksheet_type => p_worksheet_type,
298 p_name => p_name,
299 p_description => p_description,
300 p_ws_creation_complete => p_ws_creation_complete,
301 p_stage_set_id => p_stage_set_id,
302 p_current_stage_seq => p_current_stage_seq,
303 p_global_worksheet_id => p_global_worksheet_id,
304 p_global_worksheet_flag => p_global_worksheet_flag,
305 p_global_worksheet_option => p_global_worksheet_option,
306 p_local_copy_flag => p_local_copy_flag,
307 p_copy_of_worksheet_id => p_copy_of_worksheet_id,
308 p_freeze_flag => p_freeze_flag,
309 p_budget_by_position => p_budget_by_position,
310 p_use_revised_element_rates => p_use_revised_element_rates,
311 p_num_proposed_years => p_num_proposed_years,
312 p_num_years_to_allocate => p_num_years_to_allocate,
313 p_rounding_factor => p_rounding_factor,
314 p_gl_cutoff_period => p_gl_cutoff_period,
315 p_budget_version_id => p_budget_version_id,
316 p_gl_budget_set_id => p_gl_budget_set_id,
317 p_include_stat_balance => p_include_stat_balance,
318 p_include_trans_balance => p_include_trans_balance,
319 p_include_adj_period => p_include_adj_period,
320 p_data_extract_id => p_data_extract_id,
321 p_parameter_set_id => p_parameter_set_id,
322 p_constraint_set_id => p_constraint_set_id,
323 p_allocrule_set_id => p_allocrule_set_id,
324 p_date_submitted => p_date_submitted,
325 p_submitted_by => p_submitted_by,
326 p_attribute1 => p_attribute1,
327 p_attribute2 => p_attribute2,
328 p_attribute3 => p_attribute3,
329 p_attribute4 => p_attribute4,
330 p_attribute5 => p_attribute5,
331 p_attribute6 => p_attribute6,
332 p_attribute7 => p_attribute7,
333 p_attribute8 => p_attribute8,
334 p_attribute9 => p_attribute9,
335 p_attribute10 => p_attribute10,
336 p_context => p_context,
337 p_worksheet_id => p_worksheet_id,
338 p_create_non_pos_line_items => p_create_non_pos_line_items,
339 p_apply_element_parameters => p_apply_element_parameters,
340 p_apply_position_parameters => p_apply_position_parameters,
341 p_create_positions => p_create_positions,
342 p_create_summary_totals => p_create_summary_totals,
343 p_apply_constraints => p_apply_constraints,
344 p_flex_mapping_set_id => p_flex_mapping_set_id,
345 p_include_gl_commit_balance => p_include_gl_commit_balance,
346 p_include_gl_oblig_balance => p_include_gl_oblig_balance,
347 p_include_gl_other_balance => p_include_gl_other_balance,
348 p_include_cbc_commit_balance => p_include_cbc_commit_balance,
349 p_include_cbc_oblig_balance => p_include_cbc_oblig_balance,
350 p_include_cbc_budget_balance => p_include_cbc_budget_balance,
351 /* For Bug 3157960, added the federal ws flag */
352 p_federal_ws_flag => p_federal_ws_flag,
353 /* bug no 4725091 */
354 p_include_gl_forwd_balance => p_include_gl_forwd_balance);
355
356 -- Standard check of p_commit.
357
358 if FND_API.to_Boolean (p_commit) then
359 commit work;
360 end if;
361
362
363 -- Standard call to get message count and if count is 1, get message info.
364
365 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
366 p_data => p_msg_data);
367
368 EXCEPTION
369
370 when FND_API.G_EXC_ERROR then
371 rollback to Create_Worksheet_Pvt;
372 p_return_status := FND_API.G_RET_STS_ERROR;
373
374 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
375 p_data => p_msg_data);
376
377 when FND_API.G_EXC_UNEXPECTED_ERROR then
378 rollback to Create_Worksheet_Pvt;
379 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380
381 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
382 p_data => p_msg_data);
383
384 when OTHERS then
385 rollback to Create_Worksheet_Pvt;
386 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387
388 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
389 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
390 l_api_name);
391 end if;
392
393 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
394 p_data => p_msg_data);
395
396 END Create_Worksheet;
397
398 /* ----------------------------------------------------------------------- */
399
400 PROCEDURE Update_Worksheet
401 ( p_api_version IN NUMBER,
402 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
403 p_commit IN VARCHAR2 := FND_API.G_FALSE,
404 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
405 p_return_status OUT NOCOPY VARCHAR2,
406 p_msg_count OUT NOCOPY NUMBER,
407 p_msg_data OUT NOCOPY VARCHAR2,
408 p_worksheet_id IN NUMBER,
409 p_worksheet_type IN VARCHAR2 := FND_API.G_MISS_CHAR,
410 p_description IN VARCHAR2 := FND_API.G_MISS_CHAR,
411 p_ws_creation_complete IN VARCHAR2 := FND_API.G_MISS_CHAR,
412 p_global_worksheet_id IN NUMBER := FND_API.G_MISS_NUM,
413 p_current_stage_seq IN NUMBER := FND_API.G_MISS_NUM,
414 p_local_copy_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
415 p_copy_of_worksheet_id IN NUMBER := FND_API.G_MISS_NUM,
416 p_freeze_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
417 p_use_revised_element_rates IN VARCHAR2 := FND_API.G_MISS_CHAR,
418 /* Bug # 3083970 */
419 p_num_proposed_years IN NUMBER := FND_API.G_MISS_NUM,
420 p_rounding_factor IN NUMBER := FND_API.G_MISS_NUM,
421 /* End bug */
422 p_date_submitted IN DATE := FND_API.G_MISS_DATE,
423 p_submitted_by IN NUMBER := FND_API.G_MISS_NUM,
424 p_attribute1 IN VARCHAR2 := FND_API.G_MISS_CHAR,
425 p_attribute2 IN VARCHAR2 := FND_API.G_MISS_CHAR,
426 p_attribute3 IN VARCHAR2 := FND_API.G_MISS_CHAR,
427 p_attribute4 IN VARCHAR2 := FND_API.G_MISS_CHAR,
428 p_attribute5 IN VARCHAR2 := FND_API.G_MISS_CHAR,
429 p_attribute6 IN VARCHAR2 := FND_API.G_MISS_CHAR,
430 p_attribute7 IN VARCHAR2 := FND_API.G_MISS_CHAR,
431 p_attribute8 IN VARCHAR2 := FND_API.G_MISS_CHAR,
432 p_attribute9 IN VARCHAR2 := FND_API.G_MISS_CHAR,
433 p_attribute10 IN VARCHAR2 := FND_API.G_MISS_CHAR,
434 p_context IN VARCHAR2 := FND_API.G_MISS_CHAR,
435 p_create_non_pos_line_items IN VARCHAR2 := FND_API.G_MISS_CHAR,
436 p_apply_element_parameters IN VARCHAR2 := FND_API.G_MISS_CHAR,
437 p_apply_position_parameters IN VARCHAR2 := FND_API.G_MISS_CHAR,
438 p_create_positions IN VARCHAR2 := FND_API.G_MISS_CHAR,
439 p_create_summary_totals IN VARCHAR2 := FND_API.G_MISS_CHAR,
440 p_apply_constraints IN VARCHAR2 := FND_API.G_MISS_CHAR,
441 p_include_gl_commit_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
442 p_include_gl_oblig_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
443 p_include_gl_other_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
444 p_include_cbc_commit_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
445 p_include_cbc_oblig_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
446 p_include_cbc_budget_balance IN VARCHAR2 := FND_API.G_MISS_CHAR,
447 /* For Bug No. 2312657 : Start */
448 p_gl_cutoff_period IN DATE := NULL,
449 p_gl_budget_set_id IN NUMBER := NULL,
450 /* For Bug No. 2312657 : End */
451 p_federal_ws_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
452 /* bug no 4725091 */
453 p_include_gl_forwd_balance IN VARCHAR2 := FND_API.G_MISS_CHAR
454 ) IS
455
456 l_api_name CONSTANT VARCHAR2(30) := 'Update_Worksheet';
457 l_api_version CONSTANT NUMBER := 1.0;
458
459 BEGIN
460
461 -- Standard Start of API savepoint
462
463 SAVEPOINT Update_Worksheet_Pvt;
464
465
466 -- Standard call to check for call compatibility.
467
468 if not FND_API.Compatible_API_Call (l_api_version,
469 p_api_version,
470 l_api_name,
471 G_PKG_NAME)
472 then
473 raise FND_API.G_EXC_UNEXPECTED_ERROR;
474 end if;
475
476
477 -- Initialize message list if p_init_msg_list is set to TRUE.
478
479 if FND_API.to_Boolean (p_init_msg_list) then
480 FND_MSG_PUB.initialize;
481 end if;
482
483
484 -- Call Private Function
485
486 PSB_WORKSHEET.Update_Worksheet
487 (p_api_version => 1.0,
488 p_validation_level => p_validation_level,
489 p_return_status => p_return_status,
490 p_worksheet_id => p_worksheet_id,
491 p_worksheet_type => p_worksheet_type,
492 p_description => p_description,
493 p_ws_creation_complete => p_ws_creation_complete,
494 p_global_worksheet_id => p_global_worksheet_id,
495 p_current_stage_seq => p_current_stage_seq,
496 p_local_copy_flag => p_local_copy_flag,
497 p_copy_of_worksheet_id => p_copy_of_worksheet_id,
498 p_freeze_flag => p_freeze_flag,
499 p_use_revised_element_rates => p_use_revised_element_rates,
500 /* Bug # 3083970 */
501 p_num_proposed_years => p_num_proposed_years,
502 p_rounding_factor => p_rounding_factor,
503 /* End bug */
504 p_date_submitted => p_date_submitted,
505 p_submitted_by => p_submitted_by,
506 p_attribute1 => p_attribute1,
507 p_attribute2 => p_attribute2,
508 p_attribute3 => p_attribute3,
509 p_attribute4 => p_attribute4,
510 p_attribute5 => p_attribute5,
511 p_attribute6 => p_attribute6,
512 p_attribute7 => p_attribute7,
513 p_attribute8 => p_attribute8,
514 p_attribute9 => p_attribute9,
515 p_attribute10 => p_attribute10,
516 p_context => p_context,
517 p_create_non_pos_line_items => p_create_non_pos_line_items,
518 p_apply_element_parameters => p_apply_element_parameters,
519 p_apply_position_parameters => p_apply_position_parameters,
520 p_create_positions => p_create_positions,
521 p_create_summary_totals => p_create_summary_totals,
522 p_apply_constraints => p_apply_constraints,
523 p_include_gl_commit_balance => p_include_gl_commit_balance,
524 p_include_gl_oblig_balance => p_include_gl_oblig_balance,
525 p_include_gl_other_balance => p_include_gl_other_balance,
526 p_include_cbc_commit_balance => p_include_cbc_commit_balance,
527 p_include_cbc_oblig_balance => p_include_cbc_oblig_balance,
528 p_include_cbc_budget_balance => p_include_cbc_budget_balance,
529 /* For Bug No. 2312657 : Start */
530 p_gl_cutoff_period => p_gl_cutoff_period,
531 p_gl_budget_set_id => p_gl_budget_set_id,
532 /* For Bug No. 2312657 : End */
533 /* For Bug No. 3157960, added federal_ws_flag */
534 p_federal_ws_flag => p_federal_ws_flag,
535 /* bug no 4725091 */
536 p_include_gl_forwd_balance => p_include_gl_forwd_balance
537 );
538
539 -- Standard check of p_commit.
540
541 if FND_API.to_Boolean (p_commit) then
542 commit work;
543 end if;
544
545
546 -- Standard call to get message count and if count is 1, get message info.
547
548 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
549 p_data => p_msg_data);
550
551 EXCEPTION
552
553 when FND_API.G_EXC_ERROR then
554 rollback to Update_Worksheet_Pvt;
555 p_return_status := FND_API.G_RET_STS_ERROR;
556
557 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
558 p_data => p_msg_data);
559
560 when FND_API.G_EXC_UNEXPECTED_ERROR then
561 rollback to Update_Worksheet_Pvt;
562 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
563
564 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
565 p_data => p_msg_data);
566
567 when OTHERS then
568 rollback to Update_Worksheet_Pvt;
569 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
570
571 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
572 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
573 l_api_name);
574 end if;
575
576 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
577 p_data => p_msg_data);
578
579 END Update_Worksheet;
580
581 /* ----------------------------------------------------------------------- */
582
583 PROCEDURE Delete_Worksheet
584 ( p_api_version IN NUMBER,
585 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
586 p_commit IN VARCHAR2 := FND_API.G_FALSE,
587 p_return_status OUT NOCOPY VARCHAR2,
588 p_msg_count OUT NOCOPY NUMBER,
589 p_msg_data OUT NOCOPY VARCHAR2,
590 p_worksheet_id IN NUMBER
591 ) IS
592
593 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Worksheet';
594 l_api_version CONSTANT NUMBER := 1.0;
595
596 BEGIN
597
598 -- Standard Start of API savepoint
599
600 SAVEPOINT Delete_Worksheet_Pvt;
601
602
603 -- Standard call to check for call compatibility.
604
605 if not FND_API.Compatible_API_Call (l_api_version,
606 p_api_version,
607 l_api_name,
608 G_PKG_NAME)
609 then
610 raise FND_API.G_EXC_UNEXPECTED_ERROR;
611 end if;
612
613
614 -- Initialize message list if p_init_msg_list is set to TRUE.
615
616 if FND_API.to_Boolean (p_init_msg_list) then
617 FND_MSG_PUB.initialize;
618 end if;
619
620
621 -- Call Private Function
622
623 PSB_WORKSHEET.Delete_Worksheet
624 (p_api_version => 1.0,
625 p_return_status => p_return_status,
626 p_worksheet_id => p_worksheet_id);
627
628
629 -- Standard check of p_commit.
630
631 if FND_API.to_Boolean (p_commit) then
632 commit work;
633 end if;
634
635
636 -- Standard call to get message count and if count is 1, get message info.
637
638 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
639 p_data => p_msg_data);
640
641 EXCEPTION
642
643 when FND_API.G_EXC_ERROR then
644 rollback to Delete_Worksheet_Pvt;
645 p_return_status := FND_API.G_RET_STS_ERROR;
646
647 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
648 p_data => p_msg_data);
649
650
651 when FND_API.G_EXC_UNEXPECTED_ERROR then
652 rollback to Delete_Worksheet_Pvt;
653 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654
655 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
656 p_data => p_msg_data);
657
658
659 when OTHERS then
660 rollback to Delete_Worksheet_Pvt;
661 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
662
663 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
664 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
665 l_api_name);
666 end if;
667
668 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
669 p_data => p_msg_data);
670
671
672 END Delete_Worksheet;
673
674 /* ----------------------------------------------------------------------- */
675
676 PROCEDURE Apply_Constraints
677 ( p_api_version IN NUMBER,
678 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
679 p_commit IN VARCHAR2 := FND_API.G_FALSE,
680 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
681 p_return_status OUT NOCOPY VARCHAR2,
682 p_msg_count OUT NOCOPY NUMBER,
683 p_msg_data OUT NOCOPY VARCHAR2,
684 p_validation_status OUT NOCOPY VARCHAR2,
685 p_worksheet_id IN NUMBER,
686 p_budget_group_id IN NUMBER := FND_API.G_MISS_NUM,
687 p_flex_code IN NUMBER := FND_API.G_MISS_NUM,
688 p_func_currency IN VARCHAR2 := FND_API.G_MISS_CHAR,
689 p_global_worksheet_id IN NUMBER := FND_API.G_MISS_NUM,
690 p_constraint_set_id IN NUMBER := FND_API.G_MISS_NUM,
691 p_constraint_set_name IN VARCHAR2 := FND_API.G_MISS_CHAR,
692 p_constraint_set_threshold IN NUMBER := FND_API.G_MISS_NUM,
693 p_budget_calendar_id IN NUMBER := FND_API.G_MISS_NUM,
694 p_data_extract_id IN NUMBER := FND_API.G_MISS_NUM,
695 p_business_group_id IN NUMBER := FND_API.G_MISS_NUM,
696 p_budget_by_position IN VARCHAR2 := FND_API.G_MISS_CHAR
697 ) IS
698
699 l_api_name CONSTANT VARCHAR2(30) := 'Apply_Constraints';
700 l_api_version CONSTANT NUMBER := 1.0;
701
702 BEGIN
703
704 -- Standard Start of API savepoint
705
706 SAVEPOINT Apply_Constraints_Pvt;
707
708
709 -- Standard call to check for call compatibility.
710
711 if not FND_API.Compatible_API_Call (l_api_version,
712 p_api_version,
713 l_api_name,
714 G_PKG_NAME)
715 then
716 raise FND_API.G_EXC_UNEXPECTED_ERROR;
717
718 end if;
719
720
721 -- Initialize message list if p_init_msg_list is set to TRUE.
722
723 if FND_API.to_Boolean (p_init_msg_list) then
724 FND_MSG_PUB.initialize;
725 end if;
726
727
728 -- Call Private Function
729
730 PSB_WORKSHEET.Apply_Constraints
731 (p_api_version => 1.0,
732 p_validation_level => p_validation_level,
733 p_return_status => p_return_status,
734 p_validation_status => p_validation_status,
735 p_worksheet_id => p_worksheet_id,
736 p_budget_group_id => p_budget_group_id,
737 p_flex_code => p_flex_code,
738 p_func_currency => p_func_currency,
739 p_global_worksheet_id => p_global_worksheet_id,
740 p_constraint_set_id => p_constraint_set_id,
741 p_constraint_set_name => p_constraint_set_name,
742 p_constraint_set_threshold => p_constraint_set_threshold,
743 p_budget_calendar_id => p_budget_calendar_id,
744 p_data_extract_id => p_data_extract_id,
745 p_business_group_id => p_business_group_id,
746 p_budget_by_position => p_budget_by_position);
747
748
749 -- Standard check of p_commit.
750
751 if FND_API.to_Boolean (p_commit) then
752 commit work;
753 end if;
754
755
756 -- Standard call to get message count and if count is 1, get message info.
757
758 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
759 p_data => p_msg_data);
760
761 EXCEPTION
762
763 when FND_API.G_EXC_ERROR then
764 rollback to Apply_Constraints_Pvt;
765 p_return_status := FND_API.G_RET_STS_ERROR;
766
767 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
768 p_data => p_msg_data);
769
770
771 when FND_API.G_EXC_UNEXPECTED_ERROR then
772 rollback to Apply_Constraints_Pvt;
773 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774
775 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
776 p_data => p_msg_data);
777
778
779 when OTHERS then
780 rollback to Apply_Constraints_Pvt;
781 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
782
783 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
784 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
785 l_api_name);
786 end if;
787
788 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
789 p_data => p_msg_data);
790
791
792 END Apply_Constraints;
793
794 /* ----------------------------------------------------------------------- */
795
796 PROCEDURE Validate_Entity_Set
797 ( p_api_version IN NUMBER,
798 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
799 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
800 p_return_status OUT NOCOPY VARCHAR2,
801 p_msg_count OUT NOCOPY NUMBER,
802 p_msg_data OUT NOCOPY VARCHAR2,
803 p_data_extract_id IN NUMBER,
804 p_parameter_set_id IN NUMBER,
805 p_constraint_set_id IN NUMBER
806 ) IS
807
808 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Entity_Set';
809 l_api_version CONSTANT NUMBER := 1.0;
810
811 BEGIN
812
813 -- Standard call to check for call compatibility.
814
815 if not FND_API.Compatible_API_Call (l_api_version,
816 p_api_version,
817 l_api_name,
818 G_PKG_NAME)
819 then
820 raise FND_API.G_EXC_UNEXPECTED_ERROR;
821
822 end if;
823
824
825 -- Initialize message list if p_init_msg_list is set to TRUE.
826
827 if FND_API.to_Boolean (p_init_msg_list) then
828 FND_MSG_PUB.initialize;
829 end if;
830
831
832 -- Call Private Function
833
834 PSB_WORKSHEET.Validate_Entity_Set
835 (p_api_version => 1.0,
836 p_validation_level => p_validation_level,
837 p_return_status => p_return_status,
838 p_data_extract_id => p_data_extract_id,
839 p_parameter_set_id => p_parameter_set_id,
840 p_constraint_set_id => p_constraint_set_id);
841
842
843 -- Standard call to get message count and if count is 1, get message info.
844
845 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
846 p_data => p_msg_data);
847
848 EXCEPTION
849
850 when FND_API.G_EXC_ERROR then
851 p_return_status := FND_API.G_RET_STS_ERROR;
852
853 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
854 p_data => p_msg_data);
855
856
857 when FND_API.G_EXC_UNEXPECTED_ERROR then
858 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
859
860 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
861 p_data => p_msg_data);
862
863
864 when OTHERS then
865 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
866
867 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
868 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
869 l_api_name);
870 end if;
871
872 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
873 p_data => p_msg_data);
874
875
876 END Validate_Entity_Set;
877
878 /* ----------------------------------------------------------------------- */
879
880 PROCEDURE Delete_WPL
881 ( p_api_version IN NUMBER,
882 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
883 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_NONE,
884 p_return_status OUT NOCOPY VARCHAR2,
885 p_msg_count OUT NOCOPY NUMBER,
886 p_msg_data OUT NOCOPY VARCHAR2,
887 p_worksheet_id IN NUMBER,
888 p_position_line_id IN NUMBER
889 ) IS
890
891 l_api_name CONSTANT VARCHAR2(30) := 'Delete_WPL';
892 l_api_version CONSTANT NUMBER := 1.0;
893
894 BEGIN
895
896 -- Standard Start of API savepoint
897
898 SAVEPOINT Delete_WPL_Pvt;
899
900 -- Standard call to check for call compatibility.
901
902 if not FND_API.Compatible_API_Call (l_api_version,
903 p_api_version,
904 l_api_name,
905 G_PKG_NAME)
906 then
907 raise FND_API.G_EXC_UNEXPECTED_ERROR;
908
909 end if;
910
911
912 -- Initialize message list if p_init_msg_list is set to TRUE.
913
914 if FND_API.to_Boolean (p_init_msg_list) then
915 FND_MSG_PUB.initialize;
916 end if;
917
918
919 -- Call Private Function
920
921 PSB_WORKSHEET.Delete_WPL
922 (p_api_version => 1.0,
923 p_validation_level => p_validation_level,
924 p_return_status => p_return_status,
925 p_worksheet_id => p_worksheet_id,
926 p_position_line_id => p_position_line_id);
927
928
929 -- Standard call to get message count and if count is 1, get message info.
930
931 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
932 p_data => p_msg_data);
933
934 EXCEPTION
935
936 when FND_API.G_EXC_ERROR then
937 rollback to Delete_WPL_Pvt;
938 p_return_status := FND_API.G_RET_STS_ERROR;
939
940 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
941 p_data => p_msg_data);
942
943
944 when FND_API.G_EXC_UNEXPECTED_ERROR then
945 rollback to Delete_WPL_Pvt;
946 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
947
948 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
949 p_data => p_msg_data);
950
951
952 when OTHERS then
953 rollback to Delete_WPL_Pvt;
954 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
955
956 if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
957 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
958 l_api_name);
959 end if;
960
961 FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
962 p_data => p_msg_data);
963
964
965 END Delete_WPL;
966
967 /*===========================================================================+
968 | PROCEDURE Create_Worksheet_Line_Items_CP |
969 +===========================================================================*/
970 --
971 -- This is the execution file for the concurrent program 'Create Worksheet
972 -- Line Items '
973 --
974 PROCEDURE Create_Worksheet_Line_Items_CP
975 (
976 errbuf OUT NOCOPY VARCHAR2 ,
977 retcode OUT NOCOPY VARCHAR2 ,
978 --
979 p_worksheet_id IN NUMBER
980 )
981 IS
982 l_api_name CONSTANT VARCHAR2(30) := 'Create_Worksheet_Line_Items_CP';
983 l_api_version CONSTANT NUMBER := 1.0 ;
984 --
985 l_error_api_name VARCHAR2(2000);
986 l_return_status VARCHAR2(1) ;
987 l_msg_count NUMBER ;
988 l_msg_data VARCHAR2(2000) ;
989 l_msg_index_out NUMBER;
990 l_name VARCHAR2(80);
991 l_data_extract_id NUMBER;
992
993 l_validation_status VARCHAR2(1) ;
994 l_rep_req_id NUMBER;
995 l_reqid NUMBER;
996
997 -- Bug 3458191: Add a new variable for caching
998 l_global_worksheet_id NUMBER;
999
1000 /* Bug 3458191: Comment out the following since they are longer used.
1001 l_root_budget_group_id NUMBER;
1002 l_account_set_id NUMBER;
1003
1004 cursor c_BG is
1005 select nvl(b.data_extract_id, b.global_data_extract_id) data_extract_id,
1006 nvl(a.root_budget_group_id, a.budget_group_id) root_budget_group_id
1007 from PSB_BUDGET_GROUPS_V a,
1008 PSB_WORKSHEETS_V b
1009 where a.budget_group_id = b.budget_group_id
1010 and b.worksheet_id = p_worksheet_id;
1011 */
1012
1013 BEGIN
1014
1015 /* Bug 3458191 start: Get the global worksheet id and data extract id */
1016 SELECT nvl(global_worksheet_id, worksheet_id) global_worksheet_id,
1017 data_extract_id
1018 INTO l_global_worksheet_id,
1019 l_data_extract_id
1020 FROM psb_worksheets
1021 WHERE worksheet_id = p_worksheet_id;
1022
1023 -- Do not need to query if it's a global worksheet
1024 IF p_worksheet_id <> l_global_worksheet_id THEN
1025 SELECT data_extract_id INTO l_data_extract_id
1026 FROM psb_worksheets
1027 WHERE worksheet_id = l_global_worksheet_id ;
1028 END IF;
1029 /* Bug 3458191 end */
1030
1031 /* Bug 3458191: Comment out the following calls because they are called in
1032 Validate_Accounts_CP
1033
1034 for c_BG_Rec in c_BG loop
1035 l_data_extract_id := c_BG_Rec.data_extract_id;
1036 l_root_budget_group_id := c_BG_Rec.root_budget_group_id;
1037 end loop;
1038
1039 PSB_BUDGET_ACCOUNT_PVT.Populate_Budget_Accounts
1040 (p_api_version => 1.0,
1041 p_init_msg_list => FND_API.G_TRUE,
1042 p_commit => FND_API.G_TRUE,
1043 p_return_status => l_return_status,
1044 p_msg_count => l_msg_count,
1045 p_msg_data => l_msg_data,
1046 p_account_set_id => l_account_set_id
1047 );
1048
1049 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1050 raise FND_API.G_EXC_ERROR;
1051 end if;
1052
1053 PSB_BUDGET_GROUPS_PVT.Val_Budget_Group_Hierarchy
1054 (p_api_version => 1.0,
1055 p_init_msg_list => FND_API.G_TRUE,
1056 p_return_status => l_return_status,
1057 p_msg_count => l_msg_count,
1058 p_msg_data => l_msg_data,
1059 p_budget_group_id => l_root_budget_group_id,
1060 p_validate_ranges => FND_API.G_FALSE,
1061 p_check_missing_acct => FND_API.G_FALSE);
1062
1063 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1064 raise FND_API.G_EXC_ERROR;
1065 end if;
1066 */
1067
1068 PSB_BUDGET_POSITION_PVT.Populate_Budget_Positions
1069 (p_api_version => 1.0,
1070 p_commit => FND_API.G_TRUE,
1071 p_return_status => l_return_status,
1072 p_msg_count => l_msg_count,
1073 p_msg_data => l_msg_data,
1074 p_data_extract_id => l_data_extract_id
1075 );
1076
1077 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1078 raise FND_API.G_EXC_ERROR;
1079 end if;
1080
1081 -- Validate data consistency for all Positions
1082
1083 PSB_POSITIONS_PVT.Position_WS_Validation
1084 (p_api_version => 1.0,
1085 p_return_status => l_return_status,
1086 p_msg_count => l_msg_count,
1087 p_msg_data => l_msg_data,
1088 p_worksheet_id => p_worksheet_id,
1089 p_validation_status => l_validation_status
1090 );
1091
1092 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1093 raise FND_API.G_EXC_ERROR;
1094 end if;
1095
1096 if l_validation_status <> FND_API.G_RET_STS_SUCCESS THEN
1097 -- submit concurrent request for error report
1098 -- waiting for correction to error messages report
1099
1100 l_rep_req_id := Fnd_Request.Submit_Request
1101 (application => 'PSB' ,
1102 program => 'PSBRPERR' ,
1103 description => 'Position Worksheet Exception Report',
1104 start_time => NULL ,
1105 sub_request => FALSE ,
1106 argument1 => 'POSITION_WORKSHEET_EXCEPTION',
1107 argument2 => p_worksheet_id,
1108 argument3 => l_reqid
1109 );
1110 --
1111 if l_rep_req_id = 0 then
1112 --
1113 fnd_message.set_name('PSB', 'PSB_FAIL_TO_SUBMIT_REQUEST');
1114 --
1115 end if;
1116
1117 end if;
1118
1119 PSB_WORKSHEET_PVT.Create_WS_Line_Items
1120 (p_api_version => 1.0,
1121 p_return_status => l_return_status,
1122 p_msg_count => l_msg_count,
1123 p_msg_data => l_msg_data,
1124 p_worksheet_id => p_worksheet_id);
1125
1126 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1127 raise FND_API.G_EXC_ERROR;
1128 end if;
1129
1130 PSB_MESSAGE_S.Print_Success;
1131 retcode := 0 ;
1132
1133 EXCEPTION
1134
1135 WHEN FND_API.G_EXC_ERROR THEN
1136 --
1137 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1138 p_print_header => FND_API.G_TRUE );
1139 retcode := 2 ;
1140 COMMIT WORK ;
1141 --
1142 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1143 --
1144 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1145 p_print_header => FND_API.G_TRUE );
1146 retcode := 2 ;
1147 COMMIT WORK ;
1148 --
1149 WHEN OTHERS THEN
1150 --
1151 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1152 --
1153 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1154 l_api_name ) ;
1155 END IF ;
1156 --
1157 l_return_status := FND_API.G_RET_STS_ERROR;
1158
1159 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1160 p_print_header => FND_API.G_TRUE );
1161 --
1162 retcode := 2 ;
1163 COMMIT WORK ;
1164 --
1165 END Create_Worksheet_Line_Items_CP;
1166
1167
1168 /*===========================================================================+
1169 | PROCEDURE Validate_Accounts_CP |
1170 +===========================================================================*/
1171 --
1172 -- This is the execution file for the concurrent program 'Validate Accounts'
1173 --
1174 PROCEDURE Validate_Accounts_CP
1175 (
1176 errbuf OUT NOCOPY VARCHAR2 ,
1177 retcode OUT NOCOPY VARCHAR2 ,
1178 --
1179 p_worksheet_id IN NUMBER
1180 )
1181 IS
1182 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Accounts_CP';
1183 l_api_version CONSTANT NUMBER := 1.0 ;
1184 l_return_status VARCHAR2(1) ;
1185 l_msg_count NUMBER ;
1186 l_msg_data VARCHAR2(2000) ;
1187 l_root_budget_group_id NUMBER;
1188
1189 -- Bug 3458191
1190 l_set_of_books_id NUMBER;
1191
1192 BEGIN
1193
1194 -- Bug 3458191: Retrieve root budget group id, and set of books id
1195 SELECT bg.budget_group_id,
1196 bg.set_of_books_id
1197 INTO l_root_budget_group_id,
1198 l_set_of_books_id
1199 FROM psb_budget_groups bg
1200 WHERE bg.budget_group_id =
1201 (SELECT nvl(bg1.root_budget_group_id, bg1.budget_group_id) root_budget_group_id
1202 FROM psb_worksheets ws, psb_budget_groups bg1
1203 WHERE bg1.budget_group_id = ws.budget_group_id
1204 and ws.worksheet_id = p_worksheet_id);
1205
1206 PSB_Budget_Account_PVT.Populate_Budget_Accounts
1207 (
1208 p_api_version => 1.0 ,
1209 p_init_msg_list => FND_API.G_TRUE ,
1210 p_commit => FND_API.G_FALSE ,
1211 p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1212 p_return_status => l_return_status ,
1213 p_msg_count => l_msg_count ,
1214 p_msg_data => l_msg_data ,
1215 -- Bug 3458191: Pass set of books id
1216 p_set_of_books_id => l_set_of_books_id
1217 );
1218
1219 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1220 raise FND_API.G_EXC_ERROR;
1221 end if;
1222
1223 PSB_BUDGET_GROUPS_PVT.Val_Budget_Group_Hierarchy
1224 (
1225 p_api_version => 1.0,
1226 p_init_msg_list => FND_API.G_TRUE,
1227 p_return_status => l_return_status,
1228 p_msg_count => l_msg_count,
1229 p_msg_data => l_msg_data,
1230 p_budget_group_id => l_root_budget_group_id,
1231 p_validate_ranges => FND_API.G_FALSE,
1232 p_check_missing_acct => FND_API.G_FALSE
1233 );
1234
1235 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1236 raise FND_API.G_EXC_ERROR;
1237 end if;
1238
1239 PSB_MESSAGE_S.Print_Success;
1240 retcode := 0 ;
1241
1242 EXCEPTION
1243
1244 WHEN FND_API.G_EXC_ERROR THEN
1245 --
1246 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1247 p_print_header => FND_API.G_TRUE );
1248 retcode := 2 ;
1249 COMMIT WORK ;
1250 --
1251 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1252 --
1253 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1254 p_print_header => FND_API.G_TRUE );
1255 retcode := 2 ;
1256 COMMIT WORK ;
1257 --
1258 WHEN OTHERS THEN
1259
1260 --
1261 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1262 --
1263 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1264 l_api_name ) ;
1265 END IF ;
1266 --
1267 l_return_status := FND_API.G_RET_STS_ERROR;
1268
1269 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1270 p_print_header => FND_API.G_TRUE );
1271 --
1272 retcode := 2 ;
1273 COMMIT WORK ;
1274 --
1275 END Validate_Accounts_CP;
1276
1277
1278 /*===========================================================================+
1279 | PROCEDURE Pre_Create_WS_Lines_CP |
1280 +===========================================================================*/
1281 --
1282 -- This is the execution file for the concurrent program 'Pre_Create_WS_Lines'
1283 --
1284 PROCEDURE Pre_Create_WS_Lines_CP
1285 (
1286 errbuf OUT NOCOPY VARCHAR2 ,
1287 retcode OUT NOCOPY VARCHAR2 ,
1288 --
1289 p_worksheet_id IN NUMBER
1290 )
1291 IS
1292 l_api_name CONSTANT VARCHAR2(30) := 'Pre_Create_Line_Items';
1293 l_api_version CONSTANT NUMBER := 1.0 ;
1294 --
1295 l_return_status VARCHAR2(1) ;
1296
1297 BEGIN
1298
1299 PSB_WORKSHEET.Pre_Create_Line_Items
1300 (p_api_version => 1.0,
1301 p_return_status => l_return_status,
1302 p_worksheet_id => p_worksheet_id);
1303
1304 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1305 raise FND_API.G_EXC_ERROR;
1306 end if;
1307
1308 PSB_MESSAGE_S.Print_Success;
1309 retcode := 0 ;
1310
1311 EXCEPTION
1312
1313 WHEN FND_API.G_EXC_ERROR THEN
1314 --
1315 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1316 p_print_header => FND_API.G_TRUE );
1317 retcode := 2 ;
1318 COMMIT WORK ;
1319 --
1320 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1321 --
1322 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1323 p_print_header => FND_API.G_TRUE );
1324 retcode := 2 ;
1325 COMMIT WORK ;
1326 --
1327 WHEN OTHERS THEN
1328
1329 --
1330 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1331 --
1332 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1333 l_api_name ) ;
1334 END IF ;
1335 --
1336 l_return_status := FND_API.G_RET_STS_ERROR;
1337
1338 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1339 p_print_header => FND_API.G_TRUE );
1340 --
1341 retcode := 2 ;
1342 COMMIT WORK ;
1343 --
1344 END Pre_Create_WS_Lines_CP;
1345
1346 /*===========================================================================+
1347 | PROCEDURE Create_Acct_Line_Items_CP |
1348 +===========================================================================*/
1349 --
1350 -- This is the execution file for the concurrent program 'Create Account
1351 -- Line Items '
1352 --
1353 PROCEDURE Create_Acct_Line_Items_CP
1354 (
1355 errbuf OUT NOCOPY VARCHAR2 ,
1356 retcode OUT NOCOPY VARCHAR2 ,
1357 --
1358 p_create_non_pos_line_items IN VARCHAR2,
1359 p_worksheet_id IN NUMBER
1360 )
1361 IS
1362 l_api_name CONSTANT VARCHAR2(30) := 'Create_Acct_Line_Items_CP';
1363 l_api_version CONSTANT NUMBER := 1.0 ;
1364 --
1365 l_return_status VARCHAR2(1) ;
1366 l_msg_count NUMBER ;
1367 l_msg_data VARCHAR2(2000) ;
1368
1369 /* Bug No 2550186 Start */
1370 l_msg_buf VARCHAR2(2000);
1371 /* Bug No 2550186 End */
1372
1373 BEGIN
1374 --If the Flag is 'N' then do not process at all
1375 IF p_create_non_pos_line_items = 'Y' then
1376
1377 -- Bug 3458191: Make g_worksheet_creation_flag to TRUE for ws caching
1378 PSB_WORKSHEET.g_ws_creation_flag := TRUE;
1379
1380 PSB_WORKSHEET.Create_Acct_Line_Items
1381 (p_api_version => 1.0,
1382 p_return_status => l_return_status,
1383 p_worksheet_id => p_worksheet_id);
1384
1385 -- Bug 3458191: Reset g_worksheet_creation_flag to FALSE
1386 PSB_WORKSHEET.g_ws_creation_flag := FALSE;
1387
1388 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1389 raise FND_API.G_EXC_ERROR;
1390 end if;
1391
1392 END IF;
1393
1394 /* Bug No 2550186 Start */
1395 -- Count total number of messages.
1396 l_msg_count := FND_MSG_PUB.Count_Msg;
1397
1398 if l_msg_count > 0 then
1399 FND_MESSAGE.Set_Name('PSB', 'PSB_PROGRAM_WARNING_HEADER');
1400 l_msg_buf := FND_Message.Get;
1401 FND_FILE.Put_Line(FND_FILE.LOG, l_msg_buf);
1402
1403 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG,
1404 p_print_header => FND_API.G_FALSE);
1405 end if;
1406 /* Bug No 2550186 End */
1407
1408 PSB_MESSAGE_S.Print_Success;
1409
1410 /* Bug No 2550186 Start */
1411 if l_msg_count > 0 then
1412 FND_MESSAGE.Set_Name('PSB', 'PSB_SUCCESS_WARNING_HEADER');
1413 l_msg_buf := FND_Message.Get;
1414 FND_FILE.Put_Line(FND_FILE.OUTPUT, l_msg_buf);
1415 end if;
1416 /* Bug No 2550186 End */
1417
1418 retcode := 0 ;
1419
1420 EXCEPTION
1421
1422 WHEN FND_API.G_EXC_ERROR THEN
1423 --
1424 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1425 p_print_header => FND_API.G_TRUE );
1426 retcode := 2 ;
1427 COMMIT WORK ;
1428 --
1429 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1430 --
1431 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1432 p_print_header => FND_API.G_TRUE );
1433 retcode := 2 ;
1434 COMMIT WORK ;
1435 --
1436 WHEN OTHERS THEN
1437
1438 --
1439 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1440 --
1441 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1442 l_api_name ) ;
1443 END IF ;
1444 --
1445 l_return_status := FND_API.G_RET_STS_ERROR;
1446
1447 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1448 p_print_header => FND_API.G_TRUE );
1449 --
1450 retcode := 2 ;
1451 COMMIT WORK ;
1452 --
1453 END Create_Acct_Line_Items_CP;
1454
1455 /*===========================================================================+
1456 | PROCEDURE Create_Pos_Line_Items_CP |
1457 +===========================================================================*/
1458 --
1459 -- This is the execution file for the concurrent program 'Create Position
1460 -- Line Items '
1461 --
1462 PROCEDURE Create_Pos_Line_Items_CP
1463 (
1464 errbuf OUT NOCOPY VARCHAR2 ,
1465 retcode OUT NOCOPY VARCHAR2 ,
1466 --
1467 p_create_positions IN VARCHAR2 ,
1468 p_worksheet_id IN NUMBER
1469 )
1470 IS
1471 l_api_name CONSTANT VARCHAR2(30) := 'Create_Pos_Line_Items_CP';
1472 l_api_version CONSTANT NUMBER := 1.0 ;
1473 --
1474 l_return_status VARCHAR2(1) ;
1475
1476 BEGIN
1477
1478 IF p_create_positions = 'Y' THEN
1479
1480 PSB_WORKSHEET.Create_Pos_Line_Items
1481 (p_api_version => 1.0,
1482 p_return_status => l_return_status,
1483 p_worksheet_id => p_worksheet_id);
1484
1485 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1486 raise FND_API.G_EXC_ERROR;
1487 end if;
1488
1489 ELSE
1490
1491 NULL;
1492
1493 END IF;
1494
1495 PSB_MESSAGE_S.Print_Success;
1496 retcode := 0 ;
1497
1498 EXCEPTION
1499
1500 WHEN FND_API.G_EXC_ERROR THEN
1501 --
1502 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1503 p_print_header => FND_API.G_TRUE );
1504 retcode := 2 ;
1505 COMMIT WORK ;
1506 --
1507 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1508 --
1509 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1510 p_print_header => FND_API.G_TRUE );
1511 retcode := 2 ;
1512 COMMIT WORK ;
1513 --
1514 WHEN OTHERS THEN
1515
1516 --
1517 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1518 --
1519 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1520 l_api_name ) ;
1521 END IF ;
1522 --
1523 l_return_status := FND_API.G_RET_STS_ERROR;
1524
1525 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1526 p_print_header => FND_API.G_TRUE );
1527 --
1528 retcode := 2 ;
1529 COMMIT WORK ;
1530 --
1531
1532 END Create_Pos_Line_Items_CP;
1533
1534 /*===========================================================================+
1535 | PROCEDURE Apply_Acct_Constraints_CP |
1536 +===========================================================================*/
1537 --
1538 -- This is the execution file for the concurrent program 'Apply Account
1539 -- Constraints '
1540 --
1541 PROCEDURE Apply_Acct_Constraints_CP
1542 (
1543 errbuf OUT NOCOPY VARCHAR2 ,
1544 retcode OUT NOCOPY VARCHAR2 ,
1545 --
1546 p_apply_constraints IN VARCHAR2 ,
1547 p_worksheet_id IN NUMBER
1548 )
1549 IS
1550 l_api_name CONSTANT VARCHAR2(30) := 'Apply_Acct_Constraints_CP';
1551 l_api_version CONSTANT NUMBER := 1.0 ;
1552 l_validation_status VARCHAR2(1);
1553 --
1554 l_return_status VARCHAR2(1) ;
1555
1556 BEGIN
1557
1558 IF p_apply_constraints = 'Y' THEN
1559
1560 PSB_WORKSHEET.Apply_Acct_Constraints
1561 (p_api_version => 1.0,
1562 p_return_status => l_return_status,
1563 p_worksheet_id => p_worksheet_id);
1564
1565 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1566 raise FND_API.G_EXC_ERROR;
1567 end if;
1568
1569 ELSE
1570
1571 NULL;
1572
1573 END IF;
1574
1575 PSB_MESSAGE_S.Print_Success;
1576 retcode := 0 ;
1577
1578 EXCEPTION
1579
1580 WHEN FND_API.G_EXC_ERROR THEN
1581 --
1582 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1583 p_print_header => FND_API.G_TRUE );
1584 retcode := 2 ;
1585 COMMIT WORK ;
1586 --
1587 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1588 --
1589 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1590 p_print_header => FND_API.G_TRUE );
1591 retcode := 2 ;
1592 COMMIT WORK ;
1593 --
1594 WHEN OTHERS THEN
1595
1596 --
1597 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1598 --
1599 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1600 l_api_name ) ;
1601 END IF ;
1602 --
1603 l_return_status := FND_API.G_RET_STS_ERROR;
1604
1605 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1606 p_print_header => FND_API.G_TRUE );
1607 --
1608 retcode := 2 ;
1609 COMMIT WORK ;
1610 --
1611
1612 END Apply_Acct_Constraints_CP;
1613
1614
1615 /*===========================================================================+
1616 | PROCEDURE Apply_Pos_Constraints_CP |
1617 +===========================================================================*/
1618 --
1619 -- This is the execution file for the concurrent program 'Apply Position
1620 -- Constraints '
1621 --
1622 PROCEDURE Apply_Pos_Constraints_CP
1623 (
1624 errbuf OUT NOCOPY VARCHAR2 ,
1625 retcode OUT NOCOPY VARCHAR2 ,
1626 --
1627 p_apply_constraints IN VARCHAR2 ,
1628 p_worksheet_id IN NUMBER
1629 )
1630 IS
1631 l_api_name CONSTANT VARCHAR2(30) := 'Apply_Pos_Constraints_CP';
1632 l_api_version CONSTANT NUMBER := 1.0 ;
1633 l_validation_status VARCHAR2(1);
1634 --
1635 l_return_status VARCHAR2(1) ;
1636
1637 BEGIN
1638 IF p_apply_constraints = 'Y' THEN
1639
1640 PSB_WORKSHEET.Apply_Pos_Constraints
1641 (p_api_version => 1.0,
1642 p_return_status => l_return_status,
1643 p_worksheet_id => p_worksheet_id);
1644
1645 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1646 raise FND_API.G_EXC_ERROR;
1647 end if;
1648
1649 ELSE
1650
1651 NULL;
1652
1653 END IF;
1654
1655 PSB_MESSAGE_S.Print_Success;
1656 retcode := 0 ;
1657
1658 EXCEPTION
1659
1660 WHEN FND_API.G_EXC_ERROR THEN
1661 --
1662 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1663 p_print_header => FND_API.G_TRUE );
1664 retcode := 2 ;
1665 COMMIT WORK ;
1666 --
1667 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1668 --
1669 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1670 p_print_header => FND_API.G_TRUE );
1671 retcode := 2 ;
1672 COMMIT WORK ;
1673 --
1674 WHEN OTHERS THEN
1675
1676 --
1677 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1678 --
1679 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1680 l_api_name ) ;
1681 END IF ;
1682 --
1683 l_return_status := FND_API.G_RET_STS_ERROR;
1684
1685 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1686 p_print_header => FND_API.G_TRUE );
1687 --
1688 retcode := 2 ;
1689 COMMIT WORK ;
1690 --
1691
1692 END Apply_Pos_Constraints_CP;
1693
1694
1695 /*===========================================================================+
1696 | PROCEDURE Apply_Elem_Constraints_CP |
1697 +===========================================================================*/
1698 --
1699 -- This is the execution file for the concurrent program 'Apply Element
1700 -- Constraints '
1701 --
1702 PROCEDURE Apply_Elem_Constraints_CP
1703 (
1704 errbuf OUT NOCOPY VARCHAR2 ,
1705 retcode OUT NOCOPY VARCHAR2 ,
1706 --
1707 p_apply_constraints IN VARCHAR2 ,
1708 p_worksheet_id IN NUMBER
1709 )
1710 IS
1711 l_api_name CONSTANT VARCHAR2(30) := 'Apply_Elem_Constraints_CP';
1712 l_api_version CONSTANT NUMBER := 1.0 ;
1713 l_validation_status VARCHAR2(1);
1714 --
1715 l_return_status VARCHAR2(1) ;
1716
1717 BEGIN
1718
1719 IF p_apply_constraints = 'Y' THEN
1720
1721 PSB_WORKSHEET.Apply_Elem_Constraints
1722 (p_api_version => 1.0,
1723 p_return_status => l_return_status,
1724 p_worksheet_id => p_worksheet_id);
1725
1726 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1727 raise FND_API.G_EXC_ERROR;
1728 end if;
1729
1730 ELSE
1731
1732 NULL;
1733
1734 END IF;
1735
1736 PSB_MESSAGE_S.Print_Success;
1737 retcode := 0 ;
1738
1739 EXCEPTION
1740
1741 WHEN FND_API.G_EXC_ERROR THEN
1742 --
1743 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1744 p_print_header => FND_API.G_TRUE );
1745 retcode := 2 ;
1746 COMMIT WORK ;
1747 --
1748 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1749 --
1750 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1751 p_print_header => FND_API.G_TRUE );
1752 retcode := 2 ;
1753 COMMIT WORK ;
1754 --
1755 WHEN OTHERS THEN
1756
1757 --
1758 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1759 --
1760 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1761 l_api_name ) ;
1762 END IF ;
1763 --
1764 l_return_status := FND_API.G_RET_STS_ERROR;
1765
1766 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1767 p_print_header => FND_API.G_TRUE );
1768 --
1769 retcode := 2 ;
1770 COMMIT WORK ;
1771 --
1772
1773 END Apply_Elem_Constraints_CP;
1774
1775 /*===========================================================================+
1776 | PROCEDURE Post_Create_WS_Lines_CP |
1777 +===========================================================================*/
1778 --
1779 -- This is the execution file for the concurrent program 'Post_Create_WS_Lines'
1780 --
1781 PROCEDURE Post_Create_WS_Lines_CP
1782 (
1783 errbuf OUT NOCOPY VARCHAR2 ,
1784 retcode OUT NOCOPY VARCHAR2 ,
1785 --
1786 p_worksheet_id IN NUMBER
1787 )
1788 IS
1789 l_api_name CONSTANT VARCHAR2(30) := 'Post_Create_WS_Lines_CP';
1790 l_api_version CONSTANT NUMBER := 1.0 ;
1791 --
1792 l_return_status VARCHAR2(1) ;
1793
1794 BEGIN
1795
1796 PSB_WORKSHEET.Post_Create_Line_Items
1797 (p_api_version => 1.0,
1798 p_return_status => l_return_status,
1799 p_worksheet_id => p_worksheet_id);
1800
1801 if l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1802 raise FND_API.G_EXC_ERROR;
1803 end if;
1804
1805 PSB_MESSAGE_S.Print_Success;
1806 retcode := 0 ;
1807
1808 EXCEPTION
1809
1810 WHEN FND_API.G_EXC_ERROR THEN
1811 --
1812 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1813 p_print_header => FND_API.G_TRUE );
1814 retcode := 2 ;
1815 COMMIT WORK ;
1816 --
1817 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1818 --
1819 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1820 p_print_header => FND_API.G_TRUE );
1821 retcode := 2 ;
1822 COMMIT WORK ;
1823 --
1824 WHEN OTHERS THEN
1825
1826 --
1827 IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
1828 --
1829 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,
1830 l_api_name ) ;
1831 END IF ;
1832 --
1833 l_return_status := FND_API.G_RET_STS_ERROR;
1834
1835 PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1836 p_print_header => FND_API.G_TRUE );
1837 --
1838 retcode := 2 ;
1839 COMMIT WORK ;
1840 --
1841 END Post_Create_WS_Lines_CP;
1842
1843 /* ----------------------------------------------------------------------- */
1844
1845 END PSB_WORKSHEET_PVT;