DBA Data[Home] [Help]

PACKAGE BODY: APPS.PJI_REP_VP_UTILS

Source


1 PACKAGE BODY Pji_Rep_Vp_Utils AS
2 /* $Header: PJIRX14B.pls 120.0.12020000.3 2012/08/16 10:04:45 bpottipa ship $ */
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;