1 PACKAGE BODY Pa_Fp_wp_gen_amt_utils AS
2 /* $Header: PAFPWPUB.pls 120.0 2005/05/29 21:52:29 appldev noship $ */
3
4 function get_wp_ptype_id(p_project_id in number)
5 return number is
6 l_pt_id number := null;
7 begin
8 select opt.fin_plan_type_id into l_pt_id
9 from pa_proj_fp_options opt,
10 pa_fin_plan_types_b pt
11 where
12 opt.FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE' and
13 opt.FIN_PLAN_TYPE_ID = pt.FIN_PLAN_TYPE_ID and
14 nvl(pt.USE_FOR_WORKPLAN_FLAG,'N') = 'Y' and
15 opt.project_id = p_project_id;
16
17 return l_pt_id;
18 exception
19 when others then
20 return l_pt_id;
21 end get_wp_ptype_id;
22
23 /* p_plan_type_id is not used in this function.
24 Any dummy value can be passed from the calling API. */
25
26 function get_wp_version_id(p_project_id in number,
27 p_plan_type_id in number,
28 p_proj_str_ver_id in number)
29 return number is
30 l_ver_id number:=null;
31 begin
32 select budget_version_id into l_ver_id
33 from pa_budget_versions where
34 project_id = p_project_id and
35 project_structure_version_id = p_proj_str_ver_id and
36 nvl(wp_version_flag,'N') = 'Y';
37 return l_ver_id;
38 exception
39 when no_data_found then
40 return l_ver_id;
41 end get_wp_version_id;
42
43 /**Returns 'Y' if tracking workplan cost amts is enabled.
44 *Returns 'N' if tracking workplan cost amts is disabled.
45 *Returns Null if no workplan usage is enabled. **/
46 FUNCTION get_wp_track_cost_amt_flag (p_project_id IN NUMBER)
47 RETURN VARCHAR2
48 IS
49 l_flag VARCHAR2(5) := NULL;
50 BEGIN
51 SELECT NVL(TRACK_WORKPLAN_COSTS_FLAG,'N') INTO l_flag
52 FROM pa_proj_fp_options opt, pa_fin_plan_types_b pt
53 WHERE opt.project_id = P_PROJECT_ID
54 AND opt.FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE'
55 AND pt.fin_plan_type_id = opt.fin_plan_type_id
56 AND NVL(pt.USE_FOR_WORKPLAN_FLAG,'N') = 'Y';
57 RETURN l_flag;
58
59 EXCEPTION
60 WHEN OTHERS THEN
61 RETURN l_flag;
62 END get_wp_track_cost_amt_flag;
63
64 FUNCTION get_wp_pt_time_phase_code(p_project_id IN NUMBER)
65 RETURN VARCHAR2 IS
66 l_time_phase_code pa_proj_fp_options.cost_time_phased_code%type;
67 BEGIN
68 SELECT opt.cost_time_phased_code INTO l_time_phase_code
69 FROM pa_proj_fp_options opt, pa_fin_plan_types_b pt
70 WHERE opt.project_id = P_PROJECT_ID
71 AND opt.FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE'
72 AND pt.fin_plan_type_id = opt.fin_plan_type_id
73 AND NVL(pt.USE_FOR_WORKPLAN_FLAG,'N') = 'Y';
74 RETURN l_time_phase_code;
75
76 EXCEPTION
77 WHEN OTHERS THEN
78 RETURN l_time_phase_code;
79 END get_wp_pt_time_phase_code;
80
81 END Pa_Fp_wp_gen_amt_utils;