DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_RI_CONFIG_FND_DEF_ENTITY

Source


1 PACKAGE BODY per_ri_config_fnd_def_entity AS
2 /* $Header: perricfd.pkb 120.5.12010000.2 2009/01/29 10:14:06 sbrahmad ship $ */
3 
4   g_config_effective_date     DATE :=  TRUNC(TO_DATE('1951/01/01', 'YYYY/MM/DD'));
5   g_config_effective_end_date DATE :=  TRUNC(TO_DATE('4712/12/31', 'YYYY/MM/DD'));
6   g_package                   varchar2(30)  := 'per_ri_config_fnd_def_entity.';
7 
8 
9   /* --------------------------------------------------------------------------
10   -- Name      : create_user
11   -- Purpose   : This procedure creates super user for the enteprise structures
12   --             configuration which would have all the responsibilities
13   --             and profiles options assigned to it.
14   -- Arguments : None
15   --
16   -------------------------------------------------------------------------- */
17   PROCEDURE create_user (p_technical_summary_mode      in boolean default FALSE
18                         ,p_user_tab in out nocopy
19                                            per_ri_config_tech_summary.user_tab) IS
20 
21   cursor csr_find_user (cp_user_name in varchar2) IS
22   select user_id
23   from   fnd_user
24   where  user_name = cp_user_name;
25 
26   l_users_count                   number(10) := 0;
27   l_proc                          varchar2(72) := g_package ||'create_user';
28   l_log_message                   varchar2(360);
29   l_error_message                 varchar2(360);
30   l_user_id                       fnd_user.user_id%type;
31   l_user_name                     fnd_user.user_name%type;
32   l_apps_sso                      varchar2(20);
33   l_profile_defined               boolean;
34   l_password                      varchar2(20) := 'welcome';
35 
36   BEGIN
37     hr_utility.set_location('Entering:'|| l_proc, 10);
38 
39     l_user_name := upper(per_ri_config_utilities.return_config_entity_name_pre
40                        (per_ri_config_main.g_configuration_user_name));
41 
42     hr_utility.trace('l_user_name = ' || l_user_name);
43     open csr_find_user(l_user_name);
44     fetch csr_find_user into l_user_id;
45 
46     if NOT (p_technical_summary_mode) then
47        if csr_find_user%NOTFOUND then
48           fnd_profile.get_specific(
49                        name_z      => 'APPS_SSO',
50                        val_z      => l_apps_sso,
51                        defined_z    => l_profile_defined);
52 
53           if (l_apps_sso <> 'PORTAL') AND (l_apps_sso <> 'SSWA') then
54               l_password := 'welcome1';
55           end if;
56           fnd_user_pkg.createuser(
57                           x_user_name            => upper(per_ri_config_utilities.return_config_entity_name_pre
58                                                       (per_ri_config_main.g_configuration_user_name)),
59 
60                           x_start_date           => per_ri_config_fnd_def_entity.g_config_effective_date,
61                           x_owner                => 'CUST',
62                           x_unencrypted_password => l_password );
63 
64          l_log_message := 'Created User ' ||  upper(per_ri_config_utilities.return_config_entity_name_pre
65                                                 (per_ri_config_main.g_configuration_user_name));
66             per_ri_config_utilities.write_log(p_message => l_log_message);
67          hr_utility.set_location(l_proc, 20);
68        else
69          l_log_message := 'User Already Existing ';
70          per_ri_config_utilities.write_log(p_message => l_log_message);
71             hr_utility.set_location(l_proc, 30);
72        end if;
73     else
74       p_user_tab(l_users_count).user_name         := upper(per_ri_config_utilities.return_config_entity_name_pre
75                                                       (per_ri_config_main.g_configuration_user_name));
76       p_user_tab(l_users_count).start_date        :=  per_ri_config_fnd_def_entity.g_config_effective_date;
77       p_user_tab(l_users_count).description       := null;
78 
79       l_users_count := l_users_count + 1;
80     end if;
81     close csr_find_user;
82 
83     hr_utility.set_location(' Leaving:'|| l_proc, 40);
84   EXCEPTION
85     when others then
86       l_error_message := 'Error in ' || l_proc;
87       hr_utility.trace(l_error_message || '-' || sqlerrm);
88       hr_utility.set_location(' Leaving:'|| l_proc, 500);
89       hr_utility.raise_error;
90 
91   END create_user;
92 
93   /* --------------------------------------------------------------------------
94   -- Name      : create_site_profile_options
95   -- Purpose   : This procedure creates following site level profile options.
96   -- Arguments : p_configuration_code
97   --
98   -------------------------------------------------------------------------- */
99 
100 
101   PROCEDURE  create_site_profile_options(p_configuration_code   in varchar2
102                                         ,p_technical_summary_mode      in boolean default FALSE
103                                         ,p_profile_tab in out nocopy
104                                                  per_ri_config_tech_summary.profile_tab) IS
105 
106   l_profile_count                number(10) := 0;
107   l_proc                          varchar2(72) := g_package ||'create_site_profile_options';
108   l_log_message                   varchar2(360);
109   l_error_message                 varchar2(360);
110 
111   BEGIN
112     hr_utility.set_location('Entering:'|| l_proc, 10);
113 
114     --HR_CROSS_BUSINESS_GROUP
115     if NOT (p_technical_summary_mode) then
116       per_ri_config_utilities.set_profile_option_value
117                            (p_level                => 10001
118                            ,p_level_value          => 0
119                            ,p_level_value_app      => 'PER'
120 			   ,p_profile_name         => 'HR_CROSS_BUSINESS_GROUP'
121                            ,p_profile_option_value => 'Y');
122     else
123       p_profile_tab(l_profile_count).level                 := 1001;
124       p_profile_tab(l_profile_count).level_value           := 0;
125       p_profile_tab(l_profile_count).level_value_app       := 'PER';
126       p_profile_tab(l_profile_count).profile_name          := 'HR_CROSS_BUSINESS_GROUP';
127       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
128 
129       l_profile_count  := l_profile_count + 1;
130 
131     end if;
132 
133     l_log_message := 'Created PROFILE_OPTION ' || 'HR_CROSS_BUSINESS_GROUP';
134     per_ri_config_utilities.write_log(p_message => l_log_message);
135     hr_utility.set_location(l_proc, 20);
136 
137     /* DGARG - MSG Changes
138     if (per_ri_config_utilities.check_selected_product
139                                (p_configuration_code    => p_configuration_code
140                                ,p_product_name          => 'PER')) then
141       --ENABLE_SECURITY_GROUPS
142     if NOT (p_technical_summary_mode) then
143       per_ri_config_utilities.set_profile_option_value
144                            (p_level                => 10002
145                            ,p_level_value          => 'PER'
146                            ,p_level_value_app      => 'PER'
147 			   ,p_profile_name         => 'ENABLE_SECURITY_GROUPS'
148                            ,p_profile_option_value => 'Y');
149 
150     else
151       p_profile_tab(l_profile_count).level                 := 1002;
152       p_profile_tab(l_profile_count).level_value           := 'PER';
153       p_profile_tab(l_profile_count).level_value_app       := 'PER';
154       p_profile_tab(l_profile_count).profile_name          := 'ENABLE_SECURITY_GROUPS';
155       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
156 
157       l_profile_count  := l_profile_count + 1;
158 
159     end if;
160       l_log_message := 'Created PROFILE_OPTION PER ' || 'ENABLE_SECURITY_GROUPS';
161       per_ri_config_utilities.write_log(p_message => l_log_message);
162       hr_utility.set_location(l_proc, 30);
163    end if;
164 
165    if (per_ri_config_utilities.check_selected_product
166                                (p_configuration_code    => p_configuration_code
167                                ,p_product_name          => 'PAY')) then
168      --ENABLE_SECURITY_GROUPS
169     if NOT (p_technical_summary_mode) then
170      per_ri_config_utilities.set_profile_option_value
171                           (p_level                => 10002
172                           ,p_level_value          => 'PAY'
173                           ,p_level_value_app      => 'PAY'
174                           ,p_profile_name         => 'ENABLE_SECURITY_GROUPS'
175                           ,p_profile_option_value => 'Y');
176 
177     else
178       p_profile_tab(l_profile_count).level                 := 1002;
179       p_profile_tab(l_profile_count).level_value           := 'PAY';
180       p_profile_tab(l_profile_count).level_value_app       := 'PAY';
181       p_profile_tab(l_profile_count).profile_name          := 'ENABLE_SECURITY_GROUPS';
182       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
183 
184       l_profile_count  := l_profile_count + 1;
185 
186     end if;
187      l_log_message := 'Created PROFILE_OPTION PAY ' || 'ENABLE_SECURITY_GROUPS';
188      per_ri_config_utilities.write_log(p_message => l_log_message);
189      hr_utility.set_location(l_proc, 30);
190    end if;
191 
192     if (per_ri_config_utilities.check_selected_product
193                                (p_configuration_code    => p_configuration_code
194                                ,p_product_name          => 'BEN')) then
195       --ENABLE_SECURITY_GROUPS
196     if NOT (p_technical_summary_mode) then
197       per_ri_config_utilities.set_profile_option_value
198                            (p_level                => 10002
199                            ,p_level_value          => 'BEN'
200                            ,p_level_value_app      => 'BEN'
201                            ,p_profile_name         => 'ENABLE_SECURITY_GROUPS'
202                            ,p_profile_option_value => 'Y');
203 
204     else
205       p_profile_tab(l_profile_count).level                 := 1002;
206       p_profile_tab(l_profile_count).level_value           := 'BEN';
207       p_profile_tab(l_profile_count).level_value_app       := 'BEN';
208       p_profile_tab(l_profile_count).profile_name          := 'ENABLE_SECURITY_GROUPS';
209       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
210 
211       l_profile_count  := l_profile_count + 1;
212 
213     end if;
214       l_log_message := 'Created PROFILE_OPTION BEN ' || 'ENABLE_SECURITY_GROUPS';
215       per_ri_config_utilities.write_log(p_message => l_log_message);
216       hr_utility.set_location(l_proc, 30);
217     end if;
218     ** */
219     --HR_SYNC_SINGLE_GL_ORG
220     if NOT (p_technical_summary_mode) then
221     per_ri_config_utilities.set_profile_option_value
222                          (p_level                => 10001
223                          ,p_level_value          => 0
224                          ,p_level_value_app      => 'PER'
225 			 ,p_profile_name         => 'HR_SYNC_SINGLE_GL_ORG'
226                          ,p_profile_option_value => 'Y');
227 
228     else
229       p_profile_tab(l_profile_count).level                 := 1001;
230       p_profile_tab(l_profile_count).level_value           := 0;
231       p_profile_tab(l_profile_count).level_value_app       := 'PER';
232       p_profile_tab(l_profile_count).profile_name          := 'HR_SYNC_SINGLE_GL_ORG';
233       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
234 
235       l_profile_count  := l_profile_count + 1;
236 
237     end if;
238     l_log_message := 'Created PROFILE_OPTION ' || 'HR_SYNC_SINGLE_GL_ORG';
239     per_ri_config_utilities.write_log(p_message => l_log_message);
240     hr_utility.set_location(l_proc, 40);
241 
242     --HR_GENERATE_GL_ORGS
243     if NOT (p_technical_summary_mode) then
244     per_ri_config_utilities.set_profile_option_value
245                          (p_level                => 10001
246                          ,p_level_value          => 0
247                          ,p_level_value_app      => 'PER'
248 			 ,p_profile_name         => 'HR_GENERATE_GL_ORGS'
249                          ,p_profile_option_value => 'CCHR');
250     else
251       p_profile_tab(l_profile_count).level                 := 1001;
252       p_profile_tab(l_profile_count).level_value           := 0;
253       p_profile_tab(l_profile_count).level_value_app       := 'PER';
254       p_profile_tab(l_profile_count).profile_name          := 'HR_GENERATE_GL_ORGS';
255       p_profile_tab(l_profile_count).profile_option_value  := 'CCHR';
256 
257       l_profile_count  := l_profile_count + 1;
258 
259     end if;
260 
261     l_log_message := 'Created PROFILE_OPTION ' || 'HR_GENERATE_GL_ORGS';
262     per_ri_config_utilities.write_log(p_message => l_log_message);
263     hr_utility.set_location(l_proc, 50);
264 
265     --BIS_PRIMARY_RATE_TYPE
266     if NOT (p_technical_summary_mode) then
267     per_ri_config_utilities.set_profile_option_value
268                          (p_level                => 10001
269                          ,p_level_value          => 0
270                          ,p_level_value_app      => 'BIS'
271 			 ,p_profile_name         => 'BIS_PRIMARY_RATE_TYPE'
272                          ,p_profile_option_value => 'Corporate');
273     else
274       p_profile_tab(l_profile_count).level                 := 1001;
275       p_profile_tab(l_profile_count).level_value           := 0;
276       p_profile_tab(l_profile_count).level_value_app       := 'BIS';
277       p_profile_tab(l_profile_count).profile_name          := 'BIS_PRIMARY_RATE_TYPE';
278       p_profile_tab(l_profile_count).profile_option_value  := 'Corporate';
279 
280       l_profile_count  := l_profile_count + 1;
281 
282     end if;
283 
284     l_log_message := 'Created PROFILE_OPTION ' || 'BIS_PRIMARY_RATE_TYPE';
285     per_ri_config_utilities.write_log(p_message => l_log_message);
286     hr_utility.set_location(l_proc, 60);
287 
288     --BIS_WORKFORCE_MEASUREMENT_TYPE
289     if NOT (p_technical_summary_mode) then
290     per_ri_config_utilities.set_profile_option_value
291                          (p_level                => 10001
292                          ,p_level_value          => 0
293                          ,p_level_value_app      => 'BIS'
294 			 ,p_profile_name         => 'BIS_WORKFORCE_MEASUREMENT_TYPE'
295                          ,p_profile_option_value => 'HEAD');
296     else
297       p_profile_tab(l_profile_count).level                 := 1001;
298       p_profile_tab(l_profile_count).level_value           := 0;
299       p_profile_tab(l_profile_count).level_value_app       := 'BIS';
300       p_profile_tab(l_profile_count).profile_name          := 'BIS_WORKFORCE_MEASUREMENT_TYPE';
301       p_profile_tab(l_profile_count).profile_option_value  := 'HEAD';
302 
303       l_profile_count  := l_profile_count + 1;
304 
305     end if;
306 
307     l_log_message := 'Created PROFILE_OPTION ' || 'BIS_WORKFORCE_MEASUREMENT_TYPE';
308     per_ri_config_utilities.write_log(p_message => l_log_message);
309     hr_utility.set_location(l_proc, 70);
310 
311     if (per_ri_config_utilities.check_selected_product
312                                (p_configuration_code    => p_configuration_code
313                                ,p_product_name          => 'SSHR')) then
314       --HR_SELF_SERVICE_HR_LICENSED
315     if NOT (p_technical_summary_mode) then
316       per_ri_config_utilities.set_profile_option_value
317                            (p_level                => 10001
318                            ,p_level_value          => 0
319                            ,p_level_value_app      => 'PER'
320                            ,p_profile_name         => 'HR_SELF_SERVICE_HR_LICENSED'
321                            ,p_profile_option_value => 'Y');
322     else
323       p_profile_tab(l_profile_count).level                 := 1001;
324       p_profile_tab(l_profile_count).level_value           := 0;
325       p_profile_tab(l_profile_count).level_value_app       := 'PER';
326       p_profile_tab(l_profile_count).profile_name          := 'HR_SELF_SERVICE_HR_LICENSED';
327       p_profile_tab(l_profile_count).profile_option_value  := 'Y';
328 
329       l_profile_count  := l_profile_count + 1;
330 
331     end if;
332 
333       l_log_message := 'Created PROFILE_OPTION ' || 'HR_SELF_SERVICE_HR_LICENSED';
334       per_ri_config_utilities.write_log(p_message => l_log_message);
335       hr_utility.set_location(l_proc, 80);
336     end if;
337 
338     hr_utility.set_location(' Leaving:'|| l_proc, 90);
339 
340   EXCEPTION
341     when others then
342       l_error_message := 'Error in ' || l_proc;
343       hr_utility.trace(l_error_message || '-' || sqlerrm);
344       hr_utility.set_location(' Leaving:'|| l_proc, 500);
345       hr_utility.raise_error;
346 
347   END create_site_profile_options;
348 
349   /* --------------------------------------------------------------------------
350   -- Name      : attach_default_responsibility
351   -- Purpose   : This procedure attaches default responsibilities to the  super
352   --             user for the enteprise structures configuration.
353   --             and profiles options assigned to it.
354   -- Arguments : None
355   --
356   -------------------------------------------------------------------------- */
357   PROCEDURE attach_default_responsibility
358                          (p_configuration_code          in varchar2
359                          ,p_technical_summary_mode      in boolean default FALSE
360                          ,p_resp_tab in out nocopy
361                                   per_ri_config_tech_summary.resp_tab) IS
362 
363   l_resp_count                   number(10) := 0;
364   l_proc                         varchar2(72) := g_package ||'attach_default_responsibility';
365   l_log_message                  varchar2(360);
366   l_error_message                varchar2(360);
367   l_user_id                      fnd_user.user_id%type;
368   l_start_date                   varchar2(240) := to_char(per_ri_config_fnd_def_entity.g_config_effective_date,'YYYY/MM/DD');
369   l_end_date                     varchar2(240)
370                                            := to_char(per_ri_config_fnd_def_entity.g_config_effective_end_date,'YYYY/MM/DD');
371   cursor csr_get_product (cp_configuration_code in varchar2) IS
372     select product_name
373       from per_ri_config_prod_selection_v
374      where configuration_code = cp_configuration_code;
375 
376   l_hr                           boolean default FALSE;
377   l_hrms                         boolean default FALSE;
378   l_benefits                     boolean default FALSE;
379   l_self_service                 boolean default FALSE;
380 
381   l_product_name                 per_ri_config_information.config_information1%type;
382   BEGIN
383     hr_utility.set_location('Entering:'|| l_proc, 10);
384 
385     if NOT (p_technical_summary_mode) then
386       -- Attach System Administrator
387       fnd_User_resp_groups_api.load_row(
388                                 x_user_name       => upper(per_ri_config_utilities.return_config_entity_name_pre
389                                                        (per_ri_config_main.g_configuration_user_name)),
390                                 x_resp_key        => 'SYSTEM_ADMINISTRATOR',
391                                 x_app_short_name  => 'SYSADMIN',
392                                 x_security_group  => 'STANDARD',
393                                 x_owner           => 'SEED',
394                                 x_start_date      => l_start_date,
395                                 x_end_date        => l_end_date,
396                                 x_description     => per_ri_config_main.g_description_string);
397     else
398         p_resp_tab(l_resp_count).user_name      :=  upper(per_ri_config_utilities.return_config_entity_name_pre
399                                                        (per_ri_config_main.g_configuration_user_name));
400         p_resp_tab(l_resp_count).resp_key       := per_ri_config_utilities.get_responsibility_name('SYSTEM_ADMINISTRATOR');
401         p_resp_tab(l_resp_count).app_short_name := 'SYSADMIN';
402         p_resp_tab(l_resp_count).security_group := 'STANDARD';
403         p_resp_tab(l_resp_count).owner          := 'SEED';
404         p_resp_tab(l_resp_count).start_date     := l_start_date;
405         p_resp_tab(l_resp_count).end_date       := l_end_date;
406         p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
407 
408         l_resp_count := l_resp_count + 1 ;
409     end if;
410 
411     hr_utility.set_location(l_proc, 20);
412     l_log_message := 'Created RESPONSIBILITY ' || 'SYSTEM_ADMINISTRATOR';
413     per_ri_config_utilities.write_log(p_message => l_log_message);
414 
415     -- Attach APPLICATION IMPLEMENTATION for iSetup
416     if NOT (p_technical_summary_mode) then
417     fnd_User_resp_groups_api.load_row(
418                               x_user_name       => upper(per_ri_config_utilities.return_config_entity_name_pre
419                                                      (per_ri_config_main.g_configuration_user_name)),
420                               x_resp_key        => 'APPLICATION IMPLEMENTATION',
421                               x_app_short_name  => 'AZ',
422                               x_security_group  => 'STANDARD',
423                               x_owner           => 'SEED',
424                               x_start_date      => l_start_date,
425                               x_end_date        => l_end_date,
426                               x_description     => per_ri_config_main.g_description_string);
427     else
428         p_resp_tab(l_resp_count).user_name      :=  upper(per_ri_config_utilities.return_config_entity_name_pre
429                                                      (per_ri_config_main.g_configuration_user_name));
430         p_resp_tab(l_resp_count).resp_key       :=  per_ri_config_utilities.get_responsibility_name('APPLICATION IMPLEMENTATION');
431         p_resp_tab(l_resp_count).app_short_name := 'AZ';
432         p_resp_tab(l_resp_count).security_group := 'STANDARD';
433         p_resp_tab(l_resp_count).owner          := 'SEED';
434         p_resp_tab(l_resp_count).start_date     := l_start_date;
435         p_resp_tab(l_resp_count).end_date       := l_end_date;
436         p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
437 
438         l_resp_count := l_resp_count + 1 ;
439 
440     end if;
441     hr_utility.set_location(l_proc, 40);
442     l_log_message := 'Created RESPONSIBILITY ' || 'APPLICATION IMPLEMENTATION';
443     per_ri_config_utilities.write_log(p_message => l_log_message);
444 
445     -- Attach FNDWF_USER_WEB_NEW for Payroll Process Workflow process
446     -- Bugfix 4219794
447     if NOT (p_technical_summary_mode) then
448     fnd_User_resp_groups_api.load_row(
449                               x_user_name       => upper(per_ri_config_utilities.return_config_entity_name_pre
450                                                      (per_ri_config_main.g_configuration_user_name)),
451                               x_resp_key        => 'FNDWF_USER_WEB_NEW',
452                               x_app_short_name  => 'FND',
453                               x_security_group  => 'STANDARD',
454                               x_owner           => 'SEED',
455                               x_start_date      => l_start_date,
456                               x_end_date        => l_end_date,
457                               x_description     => per_ri_config_main.g_description_string);
458     else
459         p_resp_tab(l_resp_count).user_name      :=   upper(per_ri_config_utilities.return_config_entity_name_pre
460                                                      (per_ri_config_main.g_configuration_user_name));
461         p_resp_tab(l_resp_count).resp_key       :=  per_ri_config_utilities.get_responsibility_name('FNDWF_USER_WEB_NEW');
462         p_resp_tab(l_resp_count).app_short_name := 'FND';
463         p_resp_tab(l_resp_count).security_group := 'STANDARD';
464         p_resp_tab(l_resp_count).owner          := 'SEED';
465         p_resp_tab(l_resp_count).start_date     := l_start_date;
466         p_resp_tab(l_resp_count).end_date       := l_end_date;
467         p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
468 
469         l_resp_count := l_resp_count + 1 ;
470 
471     end if;
472     hr_utility.set_location(l_proc, 40);
473     l_log_message := 'Created RESPONSIBILITY ' || 'FNDWF_USER_WEB_NEW';
474     per_ri_config_utilities.write_log(p_message => l_log_message);
475 
476     -- Attach AZ_ISETUP
477     if NOT (p_technical_summary_mode) then
478     fnd_User_resp_groups_api.load_row(
479                               x_user_name       => upper(per_ri_config_utilities.return_config_entity_name_pre
480                                                      (per_ri_config_main.g_configuration_user_name)),
481                               x_resp_key        => 'AZ_ISETUP',
482                               x_app_short_name  => 'AZ',
483                               x_security_group  => 'STANDARD',
484                               x_owner           => 'SEED',
485                               x_start_date      => l_start_date,
486                               x_end_date        => l_end_date,
487                               x_description     => per_ri_config_main.g_description_string);
488     else
489         p_resp_tab(l_resp_count).user_name      :=   upper(per_ri_config_utilities.return_config_entity_name_pre
490                                                      (per_ri_config_main.g_configuration_user_name));
491         p_resp_tab(l_resp_count).resp_key       :=  per_ri_config_utilities.get_responsibility_name('AZ_ISETUP');
492         p_resp_tab(l_resp_count).app_short_name := 'AZ';
493         p_resp_tab(l_resp_count).security_group := 'STANDARD';
494         p_resp_tab(l_resp_count).owner          := 'SEED';
495         p_resp_tab(l_resp_count).start_date     := l_start_date;
496         p_resp_tab(l_resp_count).end_date       := l_end_date;
497         p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
498 
499         l_resp_count := l_resp_count + 1 ;
500 
501     end if;
502     hr_utility.set_location(l_proc, 40);
503     l_log_message := 'Created RESPONSIBILITY ' || 'AZ_ISETUP';
504     per_ri_config_utilities.write_log(p_message => l_log_message);
505 
506     -- Attach  HRMS_RI_WORKBENCH
507     if NOT (p_technical_summary_mode) then
508     fnd_User_resp_groups_api.load_row(
509                               x_user_name       => upper(per_ri_config_utilities.return_config_entity_name_pre
510                                                      (per_ri_config_main.g_configuration_user_name)),
511                               x_resp_key        => 'HRMS_RI_WORKBENCH',
512                               x_app_short_name  => 'PER',
513                               x_security_group  => 'STANDARD',
514                               x_owner           => 'SEED',
515                               x_start_date      => l_start_date,
516                               x_end_date        => l_end_date,
517                               x_description     => per_ri_config_main.g_description_string);
518     else
519         p_resp_tab(l_resp_count).user_name      :=  upper(per_ri_config_utilities.return_config_entity_name_pre
520                                                        (per_ri_config_main.g_configuration_user_name));
521         p_resp_tab(l_resp_count).resp_key       :=  per_ri_config_utilities.get_responsibility_name('HRMS_RI_WORKBENCH');
522         p_resp_tab(l_resp_count).app_short_name := 'PER';
523         p_resp_tab(l_resp_count).security_group := 'STANDARD';
524         p_resp_tab(l_resp_count).owner          := 'SEED';
525         p_resp_tab(l_resp_count).start_date     := l_start_date;
526         p_resp_tab(l_resp_count).end_date       := l_end_date;
527         p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
528 
529         l_resp_count := l_resp_count + 1 ;
530 
531     end if;
532     hr_utility.set_location(l_proc, 50);
533     l_log_message := 'Created RESPONSIBILITY ' || 'HRMS_RI_WORKBENCH';
534     per_ri_config_utilities.write_log(p_message => l_log_message);
535 
536     hr_utility.set_location(' Leaving:'|| l_proc, 50);
537 
538     -- create data for technical summary for self-service responsibilities
539     open csr_get_product(p_configuration_code);
540 
541     loop
542       fetch csr_get_product into l_product_name;
543       exit when csr_get_product%NOTFOUND;
544       hr_utility.trace('l_product_name = ' || l_product_name);
545 
546       if l_product_name = 'PER' then
547         l_hr := TRUE;
548       end if;
549       if l_product_name = 'PAY' then
550         l_hrms := TRUE;
551       end if;
552       if l_product_name = 'BEN' then
553         l_benefits := TRUE;
554       end if;
555       if l_product_name = 'SSHR' then
556         l_self_service := TRUE;
557       end if;
558     end loop;
559 
560     close csr_get_product;
561 
562     --
563     -- assign hrms self service responsibilities
564     --
565 
566     if l_self_service and p_technical_summary_mode then
567 
568       -- EMPLOYEE_DIRECT_ACCESS_V4
569       p_resp_tab(l_resp_count).user_name      :=  upper(per_ri_config_utilities.return_config_entity_name_pre
570                                                        (per_ri_config_main.g_configuration_user_name));
571       p_resp_tab(l_resp_count).resp_key  := per_ri_config_utilities.get_responsibility_name('EMPLOYEE_DIRECT_ACCESS_V4.0');
572       p_resp_tab(l_resp_count).app_short_name := 'PER';
573       p_resp_tab(l_resp_count).security_group := 'STANDARD';
574       p_resp_tab(l_resp_count).owner          := 'SEED';
575       p_resp_tab(l_resp_count).start_date     := l_start_date;
576       p_resp_tab(l_resp_count).end_date       := l_end_date;
577       p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
578 
579        l_resp_count := l_resp_count + 1 ;
580 
581      -- LINE_MANAGER_ACCESS_V4
582      p_resp_tab(l_resp_count).user_name      :=  upper(per_ri_config_utilities.return_config_entity_name_pre
583                                                        (per_ri_config_main.g_configuration_user_name));
584      p_resp_tab(l_resp_count).resp_key  := per_ri_config_utilities.get_responsibility_name('LINE_MANAGER_ACCESS_V4.0');
585      p_resp_tab(l_resp_count).app_short_name := 'PER';
586      p_resp_tab(l_resp_count).security_group := 'STANDARD';
587      p_resp_tab(l_resp_count).owner          := 'SEED';
588      p_resp_tab(l_resp_count).start_date     := l_start_date;
589      p_resp_tab(l_resp_count).end_date       := l_end_date;
590      p_resp_tab(l_resp_count).description    := per_ri_config_main.g_description_string;
591 
592        l_resp_count := l_resp_count + 1 ;
593     end if;
594 
595     hr_utility.set_location(l_proc, 30);
596   EXCEPTION
597     when others then
598       l_error_message := 'Error in ' || l_proc;
599       hr_utility.trace(l_error_message || '-' || sqlerrm);
600       hr_utility.set_location(' Leaving:'|| l_proc, 500);
601       hr_utility.raise_error;
602 
603   END attach_default_responsibility;
604 
605 END per_ri_config_fnd_def_entity;