[Home] [Help]
PACKAGE BODY: APPS.PER_RVR_SHD
Source
1 Package Body per_rvr_shd as
2 /* $Header: pervrrhi.pkb 120.5 2006/06/12 23:57:11 ndorai noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_rvr_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE
15 ) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 --
21 Null;
22 --
23 End constraint_error;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |-----------------------------< api_updating >-----------------------------|
27 -- ----------------------------------------------------------------------------
28 Function api_updating
29 (p_workbench_view_report_code in varchar2
30 ,p_object_version_number in number
31 )
32 Return Boolean Is
33 --
34 --
35 -- Cursor selects the 'current' row from the HR Schema
36 --
37 Cursor C_Sel1 is
38 select
39 workbench_item_code
40 ,workbench_view_report_code
41 ,workbench_view_report_type
42 ,workbench_view_report_action
43 ,workbench_view_country
44 ,wb_view_report_instruction
45 ,object_version_number
46 ,primary_industry
47 ,enabled_flag
48 from per_ri_view_reports
49 where workbench_view_report_code = p_workbench_view_report_code;
50 --
51 l_fct_ret boolean;
52 --
53 Begin
54 --
55 If (p_workbench_view_report_code is null and
56 p_object_version_number is null
57 ) Then
58 --
59 -- One of the primary key arguments is null therefore we must
60 -- set the returning function value to false
61 --
62 l_fct_ret := false;
63 Else
64 If (p_workbench_view_report_code
65 = per_rvr_shd.g_old_rec.workbench_view_report_code and
66 p_object_version_number
67 = per_rvr_shd.g_old_rec.object_version_number
68 ) Then
69 --
70 -- The g_old_rec is current therefore we must
71 -- set the returning function to true
72 --
73 l_fct_ret := true;
74 Else
75 --
76 -- Select the current row into g_old_rec
77 --
78 Open C_Sel1;
79 Fetch C_Sel1 Into per_rvr_shd.g_old_rec;
80 If C_Sel1%notfound Then
81 Close C_Sel1;
82 --
83 -- The primary key is invalid therefore we must error
84 --
85 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
86 fnd_message.raise_error;
87 End If;
88 Close C_Sel1;
89 If (p_object_version_number
90 <> per_rvr_shd.g_old_rec.object_version_number) Then
91 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
92 fnd_message.raise_error;
93 End If;
94 l_fct_ret := true;
95 End If;
96 End If;
97 Return (l_fct_ret);
98 --
99 End api_updating;
100 --
101 -- ----------------------------------------------------------------------------
102 -- |---------------------------------< lck >----------------------------------|
103 -- ----------------------------------------------------------------------------
104 Procedure lck
105 (p_workbench_view_report_code in varchar2
106 ,p_object_version_number in number
107 ) is
108 --
109 -- Cursor selects the 'current' row from the HR Schema
110 --
111 Cursor C_Sel1 is
112 select
113 workbench_item_code
114 ,workbench_view_report_code
115 ,workbench_view_report_type
116 ,workbench_view_report_action
117 ,workbench_view_country
118 ,wb_view_report_instruction
119 ,object_version_number
120 ,primary_industry
121 ,enabled_flag
122 from per_ri_view_reports
123 where workbench_view_report_code = p_workbench_view_report_code
124 for update nowait;
125 --
126 l_proc varchar2(72) := g_package||'lck';
127 --
128 Begin
129 hr_utility.set_location('Entering:'||l_proc, 5);
130 --
131 hr_api.mandatory_arg_error
132 (p_api_name => l_proc
133 ,p_argument => 'WORKBENCH_VIEW_REPORT_CODE'
134 ,p_argument_value => p_workbench_view_report_code
135 );
136 hr_utility.set_location(l_proc,6);
137 hr_api.mandatory_arg_error
138 (p_api_name => l_proc
139 ,p_argument => 'OBJECT_VERSION_NUMBER'
140 ,p_argument_value => p_object_version_number
141 );
142 --
143 Open C_Sel1;
144 Fetch C_Sel1 Into per_rvr_shd.g_old_rec;
145 If C_Sel1%notfound then
146 Close C_Sel1;
147 --
148 -- The primary key is invalid therefore we must error
149 --
150 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
151 fnd_message.raise_error;
152 End If;
153 Close C_Sel1;
154 If (p_object_version_number
155 <> per_rvr_shd.g_old_rec.object_version_number) Then
156 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
157 fnd_message.raise_error;
158 End If;
159 --
160 hr_utility.set_location(' Leaving:'||l_proc, 10);
161 --
162 -- We need to trap the ORA LOCK exception
163 --
164 Exception
165 When HR_Api.Object_Locked then
166 --
167 -- The object is locked therefore we need to supply a meaningful
168 -- error message.
169 --
170 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
171 fnd_message.set_token('TABLE_NAME', 'per_ri_view_reports');
172 fnd_message.raise_error;
173 End lck;
174 --
175 -- ----------------------------------------------------------------------------
176 -- |----------------------------< add_language >------------------------------|
177 -- ----------------------------------------------------------------------------
178 --
179 -- EDIT_HERE: Execute AOL's tltblgen(UNIX) program to generate the
180 -- ADD_LANGUAGE procedure. Only the add_language procedure
181 -- should be added here. Remove the following skeleton
182 -- procedure.
183 --
184 -- ----------------------------------------------------------------------------
185 PROCEDURE add_language IS
186 Begin
187 --
188 delete from PER_RI_VIEW_REPORTS_TL T
189 where not exists
190 (select NULL
191 from PER_RI_VIEW_REPORTS B
192 where B.WORKBENCH_VIEW_REPORT_CODE = T.WORKBENCH_VIEW_REPORT_CODE
193 );
194
195 update PER_RI_VIEW_REPORTS_TL T set (
196 WORKBENCH_VIEW_REPORT_NAME,
197 WB_VIEW_REPORT_DESCRIPTION
198 ) = (select
199 B.WORKBENCH_VIEW_REPORT_NAME,
200 B.WB_VIEW_REPORT_DESCRIPTION
201 from PER_RI_VIEW_REPORTS_TL B
202 where B.WORKBENCH_VIEW_REPORT_CODE = T.WORKBENCH_VIEW_REPORT_CODE
203 and B.LANGUAGE = T.SOURCE_LANG)
204 where (
205 T.WORKBENCH_VIEW_REPORT_CODE,
206 T.LANGUAGE
207 ) in (select
208 SUBT.WORKBENCH_VIEW_REPORT_CODE,
209 SUBT.LANGUAGE
210 from PER_RI_VIEW_REPORTS_TL SUBB, PER_RI_VIEW_REPORTS_TL SUBT
211 where SUBB.WORKBENCH_VIEW_REPORT_CODE = SUBT.WORKBENCH_VIEW_REPORT_CODE
212 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
213 and (SUBB.WORKBENCH_VIEW_REPORT_NAME <> SUBT.WORKBENCH_VIEW_REPORT_NAME
214 or SUBB.WB_VIEW_REPORT_DESCRIPTION <> SUBT.WB_VIEW_REPORT_DESCRIPTION
215 ));
216
217 insert into PER_RI_VIEW_REPORTS_TL (
218 WORKBENCH_VIEW_REPORT_CODE,
219 WORKBENCH_VIEW_REPORT_NAME,
220 WB_VIEW_REPORT_DESCRIPTION,
221 LAST_UPDATE_DATE,
222 LAST_UPDATED_BY,
223 LAST_UPDATE_LOGIN,
224 CREATED_BY,
225 CREATION_DATE,
226 LANGUAGE,
227 SOURCE_LANG
228 ) select /*+ ORDERED */
229 B.WORKBENCH_VIEW_REPORT_CODE,
230 B.WORKBENCH_VIEW_REPORT_NAME,
231 B.WB_VIEW_REPORT_DESCRIPTION,
232 B.LAST_UPDATE_DATE,
233 B.LAST_UPDATED_BY,
234 B.LAST_UPDATE_LOGIN,
235 B.CREATED_BY,
236 B.CREATION_DATE,
237 L.LANGUAGE_CODE,
238 B.SOURCE_LANG
239 from PER_RI_VIEW_REPORTS_TL B, FND_LANGUAGES L
240 where L.INSTALLED_FLAG in ('I', 'B')
241 and B.LANGUAGE = userenv('LANG')
242 and not exists
243 (select NULL
244 from PER_RI_VIEW_REPORTS_TL T
245 where T.WORKBENCH_VIEW_REPORT_CODE = B.WORKBENCH_VIEW_REPORT_CODE
246 and T.LANGUAGE = L.LANGUAGE_CODE);
247 End add_language;
248 --
249 -- ----------------------------------------------------------------------------
250 -- |-----------------------------< convert_args >-----------------------------|
251 -- ----------------------------------------------------------------------------
252 Function convert_args
253 (p_workbench_item_code in varchar2
254 ,p_workbench_view_report_code in varchar2
255 ,p_workbench_view_report_type in varchar2
256 ,p_workbench_view_report_action in varchar2
257 ,p_workbench_view_country in varchar2
258 ,p_wb_view_report_instruction in varchar2
259 ,p_object_version_number in number
260 ,p_primary_industry in varchar2
261 ,p_enabled_flag in varchar2
262 )
263 Return g_rec_type is
264 --
265 l_rec g_rec_type;
266 --
267 Begin
268 --
269 -- Convert arguments into local l_rec structure.
270 --
271 l_rec.workbench_item_code := p_workbench_item_code;
272 l_rec.workbench_view_report_code := p_workbench_view_report_code;
273 l_rec.workbench_view_report_type := p_workbench_view_report_type;
274 l_rec.workbench_view_report_action := p_workbench_view_report_action;
275 l_rec.workbench_view_country := p_workbench_view_country;
276 l_rec.wb_view_report_instruction := p_wb_view_report_instruction;
277 l_rec.object_version_number := p_object_version_number;
278 l_rec.primary_industry := p_primary_industry;
279 l_rec.enabled_flag := p_enabled_flag;
280 --
281 -- Return the plsql record structure.
282 --
283 Return(l_rec);
284 --
285 End convert_args;
286 --
287 end per_rvr_shd;