DBA Data[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;