[Home] [Help]
PACKAGE BODY: APPS.PJI_REP_VP_UTILS
Source
1 PACKAGE BODY Pji_Rep_Vp_Utils AS
2 /* $Header: PJIRX14B.pls 120.0 2005/05/29 12:33:09 appldev noship $ */
3
4 PROCEDURE Check_Plan_Version_Lock
5 (p_version_id NUMBER
6 , p_user_id NUMBER
7 , p_budget_forecast_flag VARCHAR2
8 , p_plan_type_code VARCHAR2
9 , x_lock_flag OUT NOCOPY VARCHAR2
10 , x_lock_msg OUT NOCOPY VARCHAR2
11 , x_return_status OUT NOCOPY VARCHAR2
12 , x_msg_count OUT NOCOPY VARCHAR2
13 , x_msg_data OUT NOCOPY VARCHAR2)
14 IS
15 l_is_locked_by_user_id VARCHAR2(1);
16 l_locked_by_person_id VARCHAR2(256);
17 BEGIN
18
19 IF x_return_status IS NULL THEN
20 x_msg_count := 0;
21 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
22 END IF;
23
24 Pa_Fin_Plan_Utils.Check_Locked_By_User
25 (p_user_id,
26 p_version_id,
27 l_is_locked_by_user_id,
28 l_locked_by_person_id,
29 x_return_status,
30 x_msg_count,
31 x_msg_data);
32
33 -- temporarily make it qualified
34 -- l_locked_by_person_id := NULL;
35 IF (l_locked_by_person_id IS NULL) OR (l_is_locked_by_user_id = 'Y') THEN
36 x_lock_flag := 'F';
37 x_lock_msg := '';
38 ELSE
39 x_lock_flag := 'T';
40 IF p_budget_forecast_flag = 'B' THEN
41 IF p_plan_type_code = 'COST_ONLY' THEN
42 Fnd_Message.SET_NAME('PJI', 'PJI_REP_COST_BDGT_LOCK');
43 ELSIF p_plan_type_code = 'REVENUE_ONLY'THEN
44 Fnd_Message.SET_NAME('PJI', 'PJI_REP_REV_BDGT_LOCK');
45 ELSE
46 Fnd_Message.SET_NAME('PJI', 'PJI_REP_COST_REV_BDGT_LOCK');
47 END IF;
48 ELSE
49 IF p_plan_type_code = 'COST_ONLY' THEN
50 Fnd_Message.SET_NAME('PJI', 'PJI_REP_COST_FCST_LOCK');
51 ELSIF p_plan_type_code = 'REVENUE_ONLY'THEN
52 Fnd_Message.SET_NAME('PJI', 'PJI_REP_REV_FCST_LOCK');
53 ELSE
54 Fnd_Message.SET_NAME('PJI', 'PJI_REP_COST_REV_FCST_LOCK');
55 END IF;
56 END IF;
57 Fnd_Message.SET_TOKEN('USER_NAME',Pa_Fin_Plan_Utils.get_person_name(l_locked_by_person_id));
58 x_lock_msg := Fnd_Message.GET;
59 END IF;
60
61 EXCEPTION
62 WHEN OTHERS THEN
63 x_msg_count := 1;
64 x_return_status := Fnd_Api.G_RET_STS_ERROR;
65 Pji_Rep_Util.Add_Message(p_app_short_name=> 'PJI',p_msg_name=> 'PJI_REP_GENERIC_MSG',p_msg_type=>Pji_Rep_Util.G_RET_STS_ERROR,p_token1=>'PROC_NAME',p_token1_value=>'Pji_Rep_Vp_Utils.Check_Plan_Version_Lock');
66 RAISE;
67
68 END Check_Plan_Version_Lock;
69
70 PROCEDURE Get_currency_tip(
71 p_project_id IN NUMBER,
72 p_curr_type IN VARCHAR2,
73 p_version_type IN VARCHAR2,
74 x_tip_msg OUT NOCOPY VARCHAR2,
75 x_return_status OUT NOCOPY VARCHAR2,
76 x_msg_count OUT NOCOPY NUMBER ,
77 x_msg_data OUT NOCOPY VARCHAR2
78 ) IS
79
80 l_prj_curr VARCHAR2(30);
81 l_pfc_curr VARCHAR2(30);
82
83 l_curr_text VARCHAR2(60);
84 l_version_text VARCHAR2(60);
85
86 l_curr_code VARCHAR2(30);
87 l_curr_type_msg fnd_new_messages.MESSAGE_TEXT%TYPE; /* commented and modified for bug 4133853 VARCHAR2(40); */
88
89 l_version_type_msg fnd_new_messages.MESSAGE_TEXT%TYPE; /* commented and modified for bug 4133853 VARCHAR(60); */
90
91
92 BEGIN
93
94
95 IF x_return_status IS NULL THEN
96 x_msg_count := 0;
97 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
98 END IF;
99
100 SELECT project_currency_code,
101 projfunc_currency_code
102 INTO l_prj_curr,
103 l_pfc_curr
104 FROM pa_projects
105 WHERE project_id = p_project_id;
106
107
108
109
110 /* Record type id for the project currency code is 8
111 PFC is 4 */
112
113 IF (p_curr_type = '8') THEN
114
115 l_curr_code := l_prj_curr;
116 l_curr_type_msg := Fnd_Message.get_string('PJI', 'PJI_REP_PROJECT_CURR');
117
118 ELSIF (p_curr_type = '4') THEN
119
120 l_curr_code := l_pfc_curr;
121 l_curr_type_msg := Fnd_Message.get_string('PJI', 'PJI_REP_PFC_CURR');
122
123 ELSE
124
125 l_curr_code := l_prj_curr;
126 l_curr_type_msg := Fnd_Message.get_string('PJI', 'PJI_REP_PROJECT_CURR');
127
128
129 END IF;
130
131
132 IF (p_version_type = 'COST') THEN
133
134 l_version_type_msg := Fnd_Message.get_string('PJI', 'PJI_REP_DISPLAY_COST_VERSION');
135
136 ELSIF (p_version_type = 'REVENUE') THEN
137
138 l_version_type_msg := Fnd_Message.get_string('PJI', 'PJI_REP_DISPLAY_REV_VERSION');
139
140 ELSE
141
142 l_version_type_msg := NULL;
143
144 END IF;
145
146
147 Fnd_Message.set_name('PJI','PJI_REP_VP_CURR_TIP');
148
149 Fnd_Message.set_token('CURRTYPE', l_curr_type_msg);
150 Fnd_Message.set_token('CURRCODE',l_curr_code);
151 Fnd_Message.set_token('VERSIONTYPE',l_version_type_msg);
152
153 x_tip_msg := Fnd_Message.get;
154
155 EXCEPTION
156 WHEN NO_DATA_FOUND THEN
157 x_msg_count := x_msg_count + 1;
158 x_return_status := Pji_Rep_Util.G_RET_STS_WARNING;
159 Pji_Rep_Util.Add_Message(p_app_short_name=> 'PJI',p_msg_name=> 'PJI_REP_NO_DATA_MSG', p_msg_type=>Pji_Rep_Util.G_RET_STS_WARNING, p_token1=>'ITEM_NAME', p_token1_value=>'tip bean message');
160 WHEN OTHERS THEN
161 x_msg_count := 1;
162 x_return_status := Fnd_Api.G_RET_STS_ERROR;
163 Pji_Rep_Util.Add_Message(p_app_short_name=> 'PJI',p_msg_name=> 'PJI_REP_GENERIC_MSG',p_msg_type=>Pji_Rep_Util.G_RET_STS_ERROR,p_token1=>'PROC_NAME',p_token1_value=>'Pji_Rep_Vp_Utils.Get_Currency_Tip');
164 RAISE;
165
166 END Get_currency_tip;
167
168
169 END Pji_Rep_Vp_Utils;