57: from fnd_user
58: where user_name = upper(p_user_name);
59: begin
60: l_module_source := G_MODULE_SOURCE || 'get_ldap_user_name ';
61: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
62: then
63: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
64: end if;
65:
59: begin
60: l_module_source := G_MODULE_SOURCE || 'get_ldap_user_name ';
61: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
62: then
63: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
64: end if;
65:
66: fnd_profile.get_specific(name_z => 'APPS_SSO_LDAP_SYNC',
67: USER_ID_Z => -1,
72: defined_z => l_profile_defined);
73:
74: if (l_profile_defined and l_allow_sync = 'Y') then
75:
76: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
77: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
78: end if;
79:
80: fnd_profile.get_specific(name_z => 'APPS_SSO',
73:
74: if (l_profile_defined and l_allow_sync = 'Y') then
75:
76: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
77: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
78: end if;
79:
80: fnd_profile.get_specific(name_z => 'APPS_SSO',
81: val_z => l_apps_sso,
104: open cur_fnd_users;
105: fetch cur_fnd_users into l_user_guid;
106: l_found := cur_fnd_users%found;
107:
108: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
109: then
110: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
111: 'L_user_guid: '||l_user_guid);
112: end if;
106: l_found := cur_fnd_users%found;
107:
108: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
109: then
110: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
111: 'L_user_guid: '||l_user_guid);
112: end if;
113:
114: if (l_found)
116: plsql_block :=
117: 'begin :result := fnd_oid_util.get_oid_nickname(:1); end;';
118: execute immediate plsql_block using out l_result, l_user_guid;
119: else
120: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
121: then
122: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
123: 'no such user in FND_USER: '||p_user_name);
124: end if;
118: execute immediate plsql_block using out l_result, l_user_guid;
119: else
120: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
121: then
122: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
123: 'no such user in FND_USER: '||p_user_name);
124: end if;
125: l_result := null;
126: end if;
126: end if;
127: close cur_fnd_users;
128:
129: else -- if (!registered)
130: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
131: then
132: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
133: 'OID not registered');
134: end if;
128:
129: else -- if (!registered)
130: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
131: then
132: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source,
133: 'OID not registered');
134: end if;
135: l_result := null;
136: end if;
134: end if;
135: l_result := null;
136: end if;
137: else -- if (!ssoenabled), simply return null
138: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
139: then
140: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
141: 'SSO not enabled, returning true w/o changing the user name');
142: end if;
136: end if;
137: else -- if (!ssoenabled), simply return null
138: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
139: then
140: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
141: 'SSO not enabled, returning true w/o changing the user name');
142: end if;
143: l_result := null;
144: end if;
144: end if;
145:
146: else -- APPS_SSO_LDAP_SYNC not enabled.
147:
148: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
149: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
150: end if;
151:
152: l_result := null;
145:
146: else -- APPS_SSO_LDAP_SYNC not enabled.
147:
148: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
149: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
150: end if;
151:
152: l_result := null;
153:
152: l_result := null;
153:
154: end if;
155:
156: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
157: then
158: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
159: end if;
160: return l_result;
154: end if;
155:
156: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
157: then
158: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
159: end if;
160: return l_result;
161: exception
162: when sso_registration_failure then
163: if (cur_fnd_users%isopen)
164: then
165: close cur_fnd_users;
166: end if;
167: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
168: then
169: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
170: end if;
171: l_result := null;
165: close cur_fnd_users;
166: end if;
167: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
168: then
169: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
170: end if;
171: l_result := null;
172: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
173: return l_result;
175: if (cur_fnd_users%isopen)
176: then
177: close cur_fnd_users;
178: end if;
179: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
180: then
181: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
182: end if;
183: l_result := null;
177: close cur_fnd_users;
178: end if;
179: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
180: then
181: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
182: end if;
183: l_result := null;
184: return l_result;
185: end get_ldap_user_name;
199:
200: begin
201: l_module_source := G_MODULE_SOURCE || 'change_user_name: ';
202:
203: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
204: then
205: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
206: end if;
207:
201: l_module_source := G_MODULE_SOURCE || 'change_user_name: ';
202:
203: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
204: then
205: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
206: end if;
207:
208: l_attribute := 'user_name';
209: l_realm :=get_realm_dn(p_user_guid=>p_user_guid);
221: execute immediate plsql_block using p_user_guid, p_old_user_name, p_new_user_name, out x_result;
222:
223: else -- l_oid = G_FAILURE
224:
225: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
226: then
227: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
228: end if;
229: x_result := l_fnd_user;
223: else -- l_oid = G_FAILURE
224:
225: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
226: then
227: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
228: end if;
229: x_result := l_fnd_user;
230:
231: end if;
229: x_result := l_fnd_user;
230:
231: end if;
232:
233: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
234: then
235: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
236: end if;
237:
231: end if;
232:
233: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
234: then
235: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
236: end if;
237:
238: exception
239: when registration_failure_exception then
240: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
241: x_result := G_FAILURE;
242: when others then
243: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
244: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
245: then
246: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
247: end if;
248: x_result := G_FAILURE;
242: when others then
243: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
244: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
245: then
246: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
247: end if;
248: x_result := G_FAILURE;
249:
250: end change_user_name;
263:
264: begin
265: l_module_source := G_MODULE_SOURCE || 'synch_user_from_LDAP';
266:
267: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
268: then
269: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
270: end if;
271:
265: l_module_source := G_MODULE_SOURCE || 'synch_user_from_LDAP';
266:
267: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
268: then
269: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
270: end if;
271:
272: fnd_profile.get_specific(name_z => 'APPS_SSO_LDAP_SYNC',
273: USER_ID_Z => -1,
278: defined_z => l_profile_defined);
279:
280: if (l_profile_defined and l_allow_sync = 'Y') then
281:
282: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
283: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
284: end if;
285:
286:
279:
280: if (l_profile_defined and l_allow_sync = 'Y') then
281:
282: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
283: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
284: end if;
285:
286:
287: fnd_profile.get_specific(
318: end if;
319:
320: else -- APPS_SSO_LDAP_SYNC not enabled.
321:
322: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
323: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
324: end if;
325:
326: p_result := G_SUCCESS;
319:
320: else -- APPS_SSO_LDAP_SYNC not enabled.
321:
322: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
323: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
324: end if;
325:
326: p_result := G_SUCCESS;
327:
326: p_result := G_SUCCESS;
327:
328: end if;
329:
330: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
331: then
332: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
333: end if;
334:
328: end if;
329:
330: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
331: then
332: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
333: end if;
334:
335: exception
336: when others then
334:
335: exception
336: when others then
337: fnd_message.set_name ('FND', 'OID');
338: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
339: then
340: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
341: end if;
342: p_result := G_FAILURE;
336: when others then
337: fnd_message.set_name ('FND', 'OID');
338: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
339: then
340: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
341: end if;
342: p_result := G_FAILURE;
343: end synch_user_from_LDAP;
344: --
374: begin
375:
376: l_module_source := G_MODULE_SOURCE || 'create_user: ';
377:
378: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
379: then
380: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
381: end if;
382:
376: l_module_source := G_MODULE_SOURCE || 'create_user: ';
377:
378: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
379: then
380: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
381: end if;
382:
383: /*
384: * Removed userpassword
450: out x_user_guid, out x_password, out x_result;
451:
452: else -- l_oid is G_FAILURE
453:
454: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
455: then
456: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
457: end if;
458: x_result := l_fnd_user;
452: else -- l_oid is G_FAILURE
453:
454: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
455: then
456: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
457: end if;
458: x_result := l_fnd_user;
459:
460: end if; -- l_oid
458: x_result := l_fnd_user;
459:
460: end if; -- l_oid
461:
462: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
463: then
464: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
465: end if;
466:
460: end if; -- l_oid
461:
462: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
463: then
464: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
465: end if;
466:
467: exception
468: when registration_failure_exception then
469: fnd_message.set_name ('FND', fnd_ldap_errm.FND_SSO_OID_REG_ERROR);
470: x_result := G_FAILURE;
471: when others then
472:
473: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
474: then
475: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
476: end if;
477:
471: when others then
472:
473: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
474: then
475: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
476: end if;
477:
478: l_tmp_str := sqlerrm;
479: l_err_code := fnd_ldap_errm.translate_ldap_errors(l_tmp_str);
490: fnd_message.set_name ('FND', fnd_ldap_errm.FND_SSO_UNEXP_ERROR);
491: x_result := G_FAILURE;
492: end if;
493:
494: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
495: then
496: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
497: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
498: end if;
492: end if;
493:
494: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
495: then
496: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
497: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
498: end if;
499:
500: end create_user;
493:
494: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
495: then
496: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
497: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
498: end if;
499:
500: end create_user;
501: --
517:
518: begin
519: l_module_source := G_MODULE_SOURCE || 'change_password: ';
520:
521: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
522: then
523: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
524: end if;
525:
519: l_module_source := G_MODULE_SOURCE || 'change_password: ';
520:
521: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
522: then
523: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
524: end if;
525:
526: l_attribute := 'userpassword';
527: l_realm := get_realm_dn(p_user_guid=>p_user_guid,p_user_name=>p_user_name);
545: execute immediate plsql_block using p_user_guid, p_user_name, l_new_pwd, p_expire_password, out x_password, out x_result;
546:
547: else -- l_oid = G_FAILURE
548:
549: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
550: then
551: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Password Sync Not Allowed');
552: end if;
553: x_result := l_fnd_user;
547: else -- l_oid = G_FAILURE
548:
549: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
550: then
551: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Password Sync Not Allowed');
552: end if;
553: x_result := l_fnd_user;
554:
555: end if; -- l_oid
553: x_result := l_fnd_user;
554:
555: end if; -- l_oid
556:
557: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
558: then
559: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
560: end if;
561:
555: end if; -- l_oid
556:
557: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
558: then
559: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
560: end if;
561:
562: exception
563: when registration_failure_exception then
564: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
565: x_result := G_FAILURE;
566: when others then
567: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
568: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
569: then
570: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
571: end if;
572: x_result := G_FAILURE;
566: when others then
567: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
568: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
569: then
570: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
571: end if;
572: x_result := G_FAILURE;
573:
574: end change_password;
586:
587: begin
588: l_module_source := G_MODULE_SOURCE || 'delete_user: ';
589:
590: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
591: then
592: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
593: end if;
594: l_realm := get_realm_dn(p_user_guid=>p_user_guid);
588: l_module_source := G_MODULE_SOURCE || 'delete_user: ';
589:
590: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
591: then
592: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
593: end if;
594: l_realm := get_realm_dn(p_user_guid=>p_user_guid);
595:
596: is_operation_allowed(p_realm=>l_realm,p_direction => G_EBIZ_TO_OID,
607: execute immediate plsql_block using p_user_guid, out x_result;
608:
609: else -- l_oid = G_FAILURE
610:
611: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
612: then
613: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
614: end if;
615: x_result := l_fnd_user;
609: else -- l_oid = G_FAILURE
610:
611: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
612: then
613: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
614: end if;
615: x_result := l_fnd_user;
616:
617: end if; -- l_oid
615: x_result := l_fnd_user;
616:
617: end if; -- l_oid
618:
619: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
620: then
621: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
622: end if;
623:
617: end if; -- l_oid
618:
619: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
620: then
621: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
622: end if;
623:
624: exception
625: when registration_failure_exception then
625: when registration_failure_exception then
626: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
627: x_result := G_FAILURE;
628: when others then
629: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
630: then
631: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
632: end if;
633: x_result := G_FAILURE;
627: x_result := G_FAILURE;
628: when others then
629: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
630: then
631: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
632: end if;
633: x_result := G_FAILURE;
634:
635: end delete_user;
650: begin
651:
652: l_module_source := G_MODULE_SOURCE || 'link_user: ';
653:
654: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
655: then
656: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
657: end if;
658: l_realm := get_realm_dn(p_user_name=>p_user_name);
652: l_module_source := G_MODULE_SOURCE || 'link_user: ';
653:
654: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
655: then
656: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
657: end if;
658: l_realm := get_realm_dn(p_user_name=>p_user_name);
659:
660: is_operation_allowed(p_realm=>l_realm,p_direction => G_EBIZ_TO_OID,
672: out x_user_guid, out x_password, out x_result;
673:
674: else -- l_oid is G_FAILURE
675:
676: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
677: then
678: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid id false');
679: end if;
680: x_result := l_fnd_user;
674: else -- l_oid is G_FAILURE
675:
676: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
677: then
678: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid id false');
679: end if;
680: x_result := l_fnd_user;
681:
682: end if; -- l_oid
680: x_result := l_fnd_user;
681:
682: end if; -- l_oid
683:
684: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
685: then
686: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
687: end if;
688:
682: end if; -- l_oid
683:
684: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
685: then
686: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
687: end if;
688:
689: exception
690: when registration_failure_exception then
691: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
692: x_result := G_FAILURE;
693: when others then
694: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
695: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
696: then
697: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
698: end if;
699: x_result := G_FAILURE;
693: when others then
694: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
695: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
696: then
697: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
698: end if;
699: x_result := G_FAILURE;
700:
701: end link_user;
715: begin
716:
717: l_module_source := G_MODULE_SOURCE || 'unlink_user: ';
718:
719: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
720: then
721: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
722: end if;
723: l_realm := get_realm_dn(p_user_guid=>p_user_guid,p_user_name=>p_user_name);
717: l_module_source := G_MODULE_SOURCE || 'unlink_user: ';
718:
719: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
720: then
721: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
722: end if;
723: l_realm := get_realm_dn(p_user_guid=>p_user_guid,p_user_name=>p_user_name);
724:
725: is_operation_allowed(p_realm=>l_realm,p_direction => G_EBIZ_TO_OID,
737: out x_result;
738:
739: else -- l_oid is G_FAILURE
740:
741: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
742: then
743: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
744: end if;
745: x_result := l_fnd_user;
739: else -- l_oid is G_FAILURE
740:
741: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
742: then
743: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
744: end if;
745: x_result := l_fnd_user;
746:
747: end if; -- l_oid
745: x_result := l_fnd_user;
746:
747: end if; -- l_oid
748:
749: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
750: then
751: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
752: end if;
753:
747: end if; -- l_oid
748:
749: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
750: then
751: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
752: end if;
753:
754: exception
755: when registration_failure_exception then
756: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
757: x_result := G_FAILURE;
758: when others then
759: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
760: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
761: then
762: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
763: end if;
764: x_result := G_FAILURE;
758: when others then
759: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
760: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
761: then
762: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
763: end if;
764: x_result := G_FAILURE;
765:
766: end unlink_user;
781:
782: begin
783: l_module_source := G_MODULE_SOURCE || 'user_exists: ';
784:
785: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
786: then
787: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
788: end if;
789:
783: l_module_source := G_MODULE_SOURCE || 'user_exists: ';
784:
785: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
786: then
787: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
788: end if;
789:
790: fnd_profile.get_specific(name_z => 'APPS_SSO_LDAP_SYNC',
791: USER_ID_Z => -1,
796: defined_z => l_profile_defined);
797:
798: if (l_profile_defined and l_allow_sync = 'Y') then
799:
800: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
801: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
802: end if;
803:
804: fnd_profile.get_specific(
797:
798: if (l_profile_defined and l_allow_sync = 'Y') then
799:
800: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
801: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
802: end if;
803:
804: fnd_profile.get_specific(
805: name_z => 'APPS_SSO',
830: else
831: raise sso_registration_failure;
832: end if;
833: else -- if (!ssoenabled), simply return failure
834: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
835: then
836: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false w/o querying OID user');
837: end if;
838: retval := G_FAILURE;
832: end if;
833: else -- if (!ssoenabled), simply return failure
834: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
835: then
836: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false w/o querying OID user');
837: end if;
838: retval := G_FAILURE;
839: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
840: end if;
840: end if;
841:
842: else -- APPS_SSO_LDAP_SYNC not enabled.
843:
844: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
845: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
846: end if;
847:
848: retval := G_FAILURE;
841:
842: else -- APPS_SSO_LDAP_SYNC not enabled.
843:
844: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
845: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
846: end if;
847:
848: retval := G_FAILURE;
849: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
849: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
850:
851: end if;
852:
853: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
854: then
855: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
856: end if;
857:
851: end if;
852:
853: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
854: then
855: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
856: end if;
857:
858: return retval;
859:
859:
860: exception
861: when sso_registration_failure then
862: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
863: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
864: then
865: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
866: end if;
867: raise;
861: when sso_registration_failure then
862: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
863: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
864: then
865: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
866: end if;
867: raise;
868: when no_data_found then
869: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
866: end if;
867: raise;
868: when no_data_found then
869: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
870: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
871: then
872: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
873: end if;
874: raise;
868: when no_data_found then
869: fnd_message.set_name ('FND', 'FND_SSO_OID_REG_ERROR');
870: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
871: then
872: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
873: end if;
874: raise;
875: when others then
876: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
873: end if;
874: raise;
875: when others then
876: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
877: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
878: then
879: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
880: end if;
881: raise;
875: when others then
876: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
877: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
878: then
879: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
880: end if;
881: raise;
882:
883: end user_exists;
913:
914: begin
915: l_module_source := G_MODULE_SOURCE || 'update_user: ';
916:
917: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
918: then
919: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
920: end if;
921:
915: l_module_source := G_MODULE_SOURCE || 'update_user: ';
916:
917: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
918: then
919: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
920: end if;
921:
922: l_attribute := 'userpassword,orclactivestartdate,orclactiveenddate,description,mail,facsimiletelephonenumber';
923: --l_realm := get_realm_dn(p_user_guid=>p_user_guid,p_user_name=>p_user_name);
974: execute immediate plsql_block using p_user_guid, p_user_name, l_password, l_start_date, l_end_date, l_description, l_email_address, l_fax, p_expire_password, out x_password, out x_result;
975:
976: else -- l_oid is G_FAILURE
977:
978: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
979: then
980: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
981: end if;
982: x_result := l_fnd_user;
976: else -- l_oid is G_FAILURE
977:
978: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
979: then
980: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_oid is false');
981: end if;
982: x_result := l_fnd_user;
983:
984: end if; -- l_oid
982: x_result := l_fnd_user;
983:
984: end if; -- l_oid
985:
986: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
987: then
988: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
989: end if;
990:
984: end if; -- l_oid
985:
986: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
987: then
988: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
989: end if;
990:
991: exception
992: when registration_failure_exception then
1009: fnd_message.set_name ('FND', fnd_ldap_errm.FND_SSO_UNEXP_ERROR);
1010: x_result := G_FAILURE;
1011: end if;
1012:
1013: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1014: then
1015: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1016: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
1017: end if;
1011: end if;
1012:
1013: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1014: then
1015: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1016: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
1017: end if;
1018:
1019: end update_user;
1012:
1013: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1014: then
1015: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1016: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, 'l_err_code :' || l_err_code ||', l_tmp_str :' || l_tmp_str);
1017: end if;
1018:
1019: end update_user;
1020: --
1035:
1036: begin
1037: l_module_source := G_MODULE_SOURCE || 'validate_login: ';
1038:
1039: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1040: then
1041: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1042: end if;
1043:
1037: l_module_source := G_MODULE_SOURCE || 'validate_login: ';
1038:
1039: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1040: then
1041: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1042: end if;
1043:
1044: fnd_profile.get_specific(name_z => 'APPS_SSO_LDAP_SYNC',
1045: USER_ID_Z => -1,
1050: defined_z => l_profile_defined);
1051:
1052: if (l_profile_defined and l_allow_sync = 'Y') then
1053:
1054: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1055: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
1056: end if;
1057:
1058: fnd_profile.get_specific(
1051:
1052: if (l_profile_defined and l_allow_sync = 'Y') then
1053:
1054: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1055: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
1056: end if;
1057:
1058: fnd_profile.get_specific(
1059: name_z => 'APPS_SSO',
1089: else
1090: raise sso_registration_failure;
1091: end if;
1092: else -- if (!ssoenabled), simply return false
1093: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1094: then
1095: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false');
1096: end if;
1097: retval := false;
1091: end if;
1092: else -- if (!ssoenabled), simply return false
1093: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1094: then
1095: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false');
1096: end if;
1097: retval := false;
1098: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
1099: end if;
1099: end if;
1100:
1101: else -- APPS_SSO_LDAP_SYNC not enabled.
1102:
1103: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1104: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
1105: end if;
1106:
1107: retval := false;
1100:
1101: else -- APPS_SSO_LDAP_SYNC not enabled.
1102:
1103: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1104: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
1105: end if;
1106:
1107: retval := false;
1108: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
1108: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
1109:
1110: end if;
1111:
1112: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1113: then
1114: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1115: end if;
1116:
1110: end if;
1111:
1112: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1113: then
1114: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1115: end if;
1116:
1117: return retval;
1118:
1135:
1136: begin
1137: l_module_source := G_MODULE_SOURCE || 'get_orclappname: ';
1138:
1139: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1140: then
1141: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1142: end if;
1143:
1137: l_module_source := G_MODULE_SOURCE || 'get_orclappname: ';
1138:
1139: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1140: then
1141: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1142: end if;
1143:
1144: select fnd_preference.get('#INTERNAL','LDAP_SYNCH', 'USERNAME')
1145: into orclAppName
1144: select fnd_preference.get('#INTERNAL','LDAP_SYNCH', 'USERNAME')
1145: into orclAppName
1146: from dual;
1147:
1148: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1149: then
1150: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1151: end if;
1152:
1146: from dual;
1147:
1148: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1149: then
1150: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1151: end if;
1152:
1153: return orclAppName;
1154:
1153: return orclAppName;
1154:
1155: exception
1156: when no_data_found then
1157: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1158: then
1159: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1160: end if;
1161: raise;
1155: exception
1156: when no_data_found then
1157: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1158: then
1159: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1160: end if;
1161: raise;
1162: end get_orclappname;
1163: --
1189:
1190: begin
1191: l_module_source := G_MODULE_SOURCE || 'is_operation_allowed: ';
1192:
1193: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1194: then
1195: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1196: end if;
1197:
1191: l_module_source := G_MODULE_SOURCE || 'is_operation_allowed: ';
1192:
1193: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1194: then
1195: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1196: end if;
1197:
1198: x_fnd_user := G_SUCCESS;
1199: x_oid := G_FAILURE;
1199: x_oid := G_FAILURE;
1200:
1201: if (p_user_id is not null) then
1202:
1203: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1204: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'user_id: '||to_char(p_user_id));
1205: end if;
1206:
1207: l_user_id := p_user_id;
1200:
1201: if (p_user_id is not null) then
1202:
1203: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1204: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'user_id: '||to_char(p_user_id));
1205: end if;
1206:
1207: l_user_id := p_user_id;
1208: elsif (p_user_id is null and p_user_name is not null) then
1206:
1207: l_user_id := p_user_id;
1208: elsif (p_user_id is null and p_user_name is not null) then
1209:
1210: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1211: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'user_name: '||p_user_name||' now get userid');
1212: end if;
1213:
1214: begin
1207: l_user_id := p_user_id;
1208: elsif (p_user_id is null and p_user_name is not null) then
1209:
1210: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1211: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'user_name: '||p_user_name||' now get userid');
1212: end if;
1213:
1214: begin
1215: select user_id into l_user_id
1215: select user_id into l_user_id
1216: from fnd_user
1217: where user_name = p_user_name;
1218: exception when others then
1219: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1220: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'User not found..use site');
1221: end if;
1222: null;
1223: end;
1216: from fnd_user
1217: where user_name = p_user_name;
1218: exception when others then
1219: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1220: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,'User not found..use site');
1221: end if;
1222: null;
1223: end;
1224: end if;
1232: defined_z => l_profile_defined);
1233:
1234: if (l_profile_defined and l_allow_sync = 'Y') then
1235:
1236: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1237: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
1238: end if;
1239:
1240: get_registration(x_registration => l_registration);
1233:
1234: if (l_profile_defined and l_allow_sync = 'Y') then
1235:
1236: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1237: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
1238: end if;
1239:
1240: get_registration(x_registration => l_registration);
1241: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1237: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC enabled.');
1238: end if;
1239:
1240: get_registration(x_registration => l_registration);
1241: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1242: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1243: , 'Registration :: '||l_registration);
1244: end if;
1245:
1238: end if;
1239:
1240: get_registration(x_registration => l_registration);
1241: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1242: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1243: , 'Registration :: '||l_registration);
1244: end if;
1245:
1246: if (l_registration = FND_LDAP_WRAPPER.G_VALID_REGISTRATION) then
1243: , 'Registration :: '||l_registration);
1244: end if;
1245:
1246: if (l_registration = FND_LDAP_WRAPPER.G_VALID_REGISTRATION) then
1247: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1248: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1249: ,'Valid registration');
1250: end if;
1251: plsql_block :=
1244: end if;
1245:
1246: if (l_registration = FND_LDAP_WRAPPER.G_VALID_REGISTRATION) then
1247: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1248: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1249: ,'Valid registration');
1250: end if;
1251: plsql_block :=
1252: 'begin fnd_sso_registration.is_operation_allowed(:1, :2, :3, :4, :5, :6,null,:7); end;';
1252: 'begin fnd_sso_registration.is_operation_allowed(:1, :2, :3, :4, :5, :6,null,:7); end;';
1253: execute immediate plsql_block using p_direction, p_entity, p_operation, in out x_attribute, out x_fnd_user, out x_oid,in p_realm;
1254:
1255: elsif(l_registration = FND_LDAP_WRAPPER.G_INVALID_REGISTRATION) then
1256: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1257: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1258: ,'Invalid registration');
1259: end if;
1260: raise registration_failure_exception;
1253: execute immediate plsql_block using p_direction, p_entity, p_operation, in out x_attribute, out x_fnd_user, out x_oid,in p_realm;
1254:
1255: elsif(l_registration = FND_LDAP_WRAPPER.G_INVALID_REGISTRATION) then
1256: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1257: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1258: ,'Invalid registration');
1259: end if;
1260: raise registration_failure_exception;
1261: elsif(l_registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1258: ,'Invalid registration');
1259: end if;
1260: raise registration_failure_exception;
1261: elsif(l_registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1262: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1263: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1264: ,'No registration');
1265: end if;
1266: x_fnd_user := G_SUCCESS;
1259: end if;
1260: raise registration_failure_exception;
1261: elsif(l_registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1262: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1263: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source
1264: ,'No registration');
1265: end if;
1266: x_fnd_user := G_SUCCESS;
1267: x_oid := G_FAILURE;
1268: end if;
1269:
1270: else -- APPS_SSO_LDAP_SYNC not enabled.
1271:
1272: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1273: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
1274: end if;
1275:
1276: end if;
1269:
1270: else -- APPS_SSO_LDAP_SYNC not enabled.
1271:
1272: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1273: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'APPS_SSO_LDAP_SYNC not enabled.');
1274: end if;
1275:
1276: end if;
1277:
1274: end if;
1275:
1276: end if;
1277:
1278: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1279: then
1280: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
1281: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1282: end if;
1276: end if;
1277:
1278: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1279: then
1280: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
1281: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1282: end if;
1283:
1284:
1281: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1282: end if;
1283:
1284:
1285: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1286: then
1287: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1288: end if;
1289:
1283:
1284:
1285: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1286: then
1287: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1288: end if;
1289:
1290: exception
1291: when registration_failure_exception then
1299: x_oid := G_FAILURE;
1300: raise registration_failure_exception;
1301: when others then
1302: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1303: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1304: then
1305: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1306: end if;
1307: raise;
1301: when others then
1302: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1303: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1304: then
1305: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1306: end if;
1307: raise;
1308: end is_operation_allowed;
1309: --
1322:
1323: begin
1324: l_module_source := G_MODULE_SOURCE || 'is_operation_allowed: ';
1325:
1326: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1327: then
1328: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1329: end if;
1330:
1324: l_module_source := G_MODULE_SOURCE || 'is_operation_allowed: ';
1325:
1326: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1327: then
1328: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1329: end if;
1330:
1331: x_fnd_user := G_SUCCESS;
1332: x_oid := G_FAILURE;
1358: plsql_block :=
1359: 'begin fnd_sso_registration.is_operation_allowed(:1, :2, :3,null,:4); end;';
1360: execute immediate plsql_block using p_operation, out x_fnd_user, out x_oid,in p_realm;
1361: else
1362: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1363: then
1364: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile enabled but improper regitration');
1365: end if;
1366: -- In this case the OID operation should be allowed so that it fail
1360: execute immediate plsql_block using p_operation, out x_fnd_user, out x_oid,in p_realm;
1361: else
1362: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1363: then
1364: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile enabled but improper regitration');
1365: end if;
1366: -- In this case the OID operation should be allowed so that it fail
1367: -- subsequently causing the FND operation also fail
1368: raise sso_registration_failure;
1368: raise sso_registration_failure;
1369: end if;
1370:
1371: else -- if (!ssoenabled), simply return false
1372: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1373: then
1374: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false');
1375: end if;
1376: x_fnd_user := G_SUCCESS;
1370:
1371: else -- if (!ssoenabled), simply return false
1372: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1373: then
1374: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO not enabled, returning false');
1375: end if;
1376: x_fnd_user := G_SUCCESS;
1377: x_oid := G_FAILURE;
1378: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
1377: x_oid := G_FAILURE;
1378: fnd_message.set_name ('FND', 'FND_SSO_NOT_ENABLED');
1379: end if;
1380:
1381: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1382: then
1383: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
1384: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1385: end if;
1379: end if;
1380:
1381: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1382: then
1383: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
1384: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1385: end if;
1386:
1387: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1383: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source,
1384: 'out values x_fnd_user: '||x_fnd_user||' x_oid: '||x_oid);
1385: end if;
1386:
1387: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1388: then
1389: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1390: end if;
1391:
1385: end if;
1386:
1387: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1388: then
1389: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1390: end if;
1391:
1392: exception
1393: when sso_registration_failure then
1399: x_fnd_user := G_SUCCESS;
1400: x_oid := G_SUCCESS;
1401: when others then
1402: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1403: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1404: then
1405: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1406: end if;
1407: raise;
1401: when others then
1402: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1403: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1404: then
1405: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1406: end if;
1407: raise;
1408: end is_operation_allowed;
1409: --
1422:
1423: begin
1424: l_module_source := G_MODULE_SOURCE || 'get_registration ';
1425:
1426: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1427: then
1428: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1429: end if;
1430:
1424: l_module_source := G_MODULE_SOURCE || 'get_registration ';
1425:
1426: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1427: then
1428: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1429: end if;
1430:
1431: fnd_profile.get_specific(
1432: name_z => 'APPS_SSO',
1439: else
1440: l_sso_enabled := true;
1441: end if;
1442:
1443: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1444: then
1445: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO enabled ::');
1446: end if;
1447:
1441: end if;
1442:
1443: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1444: then
1445: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO enabled ::');
1446: end if;
1447:
1448:
1449: if (l_sso_enabled) then
1446: end if;
1447:
1448:
1449: if (l_sso_enabled) then
1450: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1451: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile is enabled');
1452: end if;
1453:
1454: if (not initreg) then
1447:
1448:
1449: if (l_sso_enabled) then
1450: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1451: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile is enabled');
1452: end if;
1453:
1454: if (not initreg) then
1455: initreg := true;
1457: where object_name = 'DBMS_LDAP' and object_type = 'PACKAGE BODY'
1458: and status = 'VALID' and owner = 'SYS';
1459:
1460: l_orclappname := get_orclappname;
1461: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1462: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_orclappname :: '||l_orclappname);
1463: end if;
1464:
1465: if(l_orclappname IS NULL) then
1458: and status = 'VALID' and owner = 'SYS';
1459:
1460: l_orclappname := get_orclappname;
1461: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1462: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'l_orclappname :: '||l_orclappname);
1463: end if;
1464:
1465: if(l_orclappname IS NULL) then
1466: registration := G_INVALID_REGISTRATION;
1470:
1471: -- no exception => everything is ok
1472: x_registration := registration;
1473: else
1474: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1475: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Already initialized');
1476: end if;
1477:
1478: x_registration := registration;
1471: -- no exception => everything is ok
1472: x_registration := registration;
1473: else
1474: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1475: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Already initialized');
1476: end if;
1477:
1478: x_registration := registration;
1479: end if;
1477:
1478: x_registration := registration;
1479: end if;
1480: else
1481: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1482: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile not set');
1483: end if;
1484:
1485: x_registration := G_NO_REGISTRATION;
1478: x_registration := registration;
1479: end if;
1480: else
1481: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1482: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'SSO profile not set');
1483: end if;
1484:
1485: x_registration := G_NO_REGISTRATION;
1486: end if;
1484:
1485: x_registration := G_NO_REGISTRATION;
1486: end if;
1487:
1488: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1489: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1490: end if;
1491:
1492: exception
1485: x_registration := G_NO_REGISTRATION;
1486: end if;
1487:
1488: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1489: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'End');
1490: end if;
1491:
1492: exception
1493: when no_data_found then
1495: x_registration := registration;
1496:
1497: when others then
1498: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1499: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1500: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1501: end if;
1502: raise;
1503: end get_registration;
1496:
1497: when others then
1498: fnd_message.set_name ('FND', 'FND_SSO_UNEXP_ERROR');
1499: if (fnd_log.LEVEL_ERROR >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1500: fnd_log.string(fnd_log.LEVEL_ERROR, l_module_source, sqlerrm);
1501: end if;
1502: raise;
1503: end get_registration;
1504:
1515: l_template_attr_list varchar2(4000);
1516:
1517: begin
1518: l_module_source := G_MODULE_SOURCE || 'is_present: ';
1519: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1520: then
1521: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1522: end if;
1523: l_template_attr_list :=trim_attribute(p_template_attr_list);
1517: begin
1518: l_module_source := G_MODULE_SOURCE || 'is_present: ';
1519: if (fnd_log.LEVEL_PROCEDURE >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1520: then
1521: fnd_log.string(fnd_log.LEVEL_PROCEDURE, l_module_source, 'Begin');
1522: end if;
1523: l_template_attr_list :=trim_attribute(p_template_attr_list);
1524: st := 1;
1525: en := INSTR(l_template_attr_list,',', st, 1);
1526:
1527:
1528: if(en <= 0)
1529: then
1530: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1531: then
1532: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Only one attribute en = '||en);
1533: end if;
1534: l_tmp := l_template_attr_list;
1528: if(en <= 0)
1529: then
1530: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1531: then
1532: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Only one attribute en = '||en);
1533: end if;
1534: l_tmp := l_template_attr_list;
1535: if(upper(p_attribute) = upper(l_tmp) ) then
1536: is_present := true;
1587: l_result varchar2(4000);
1588: plsql_block varchar2(100);
1589: BEGIN
1590: l_module_source := G_MODULE_SOURCE || 'get_realm_dn';
1591: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1592: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1593: end if;
1594: if (oid_synchronization_enabled) then
1595: plsql_block := 'begin :1 := fnd_oid_plug.get_realm_dn(:2, :3); end;';
1588: plsql_block varchar2(100);
1589: BEGIN
1590: l_module_source := G_MODULE_SOURCE || 'get_realm_dn';
1591: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1592: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1593: end if;
1594: if (oid_synchronization_enabled) then
1595: plsql_block := 'begin :1 := fnd_oid_plug.get_realm_dn(:2, :3); end;';
1596: execute immediate plsql_block using out l_result, p_user_guid,p_user_name;
1596: execute immediate plsql_block using out l_result, p_user_guid,p_user_name;
1597: else
1598: l_result := null;
1599: end if;
1600: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1601: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END->'||l_result);
1602: end if;
1603: return l_result;
1604:
1597: else
1598: l_result := null;
1599: end if;
1600: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1601: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END->'||l_result);
1602: end if;
1603: return l_result;
1604:
1605:
1615: registration pls_integer;
1616:
1617: begin
1618: l_module_source := G_MODULE_SOURCE || 'oid_synchronization_enabled ';
1619: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1620: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1621: end if;
1622: get_registration(registration);
1623:
1616:
1617: begin
1618: l_module_source := G_MODULE_SOURCE || 'oid_synchronization_enabled ';
1619: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1620: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1621: end if;
1622: get_registration(registration);
1623:
1624: if ( registration=G_VALID_REGISTRATION) then
1630: ORG_ID_Z => -1,
1631: val_z => l_allow_sync,
1632: defined_z => l_profile_defined);
1633:
1634: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1635: if (l_profile_defined) then
1636: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'SITE APPS_SSO_LDAP_SYNC='||l_allow_sync );
1637: else
1638: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'APPS_SSO_LDAP_SYNC not defined' );
1632: defined_z => l_profile_defined);
1633:
1634: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1635: if (l_profile_defined) then
1636: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'SITE APPS_SSO_LDAP_SYNC='||l_allow_sync );
1637: else
1638: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'APPS_SSO_LDAP_SYNC not defined' );
1639: end if;
1640: end if;
1634: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1635: if (l_profile_defined) then
1636: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'SITE APPS_SSO_LDAP_SYNC='||l_allow_sync );
1637: else
1638: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'APPS_SSO_LDAP_SYNC not defined' );
1639: end if;
1640: end if;
1641: l_result := l_profile_defined and l_allow_sync = 'Y';
1642: else
1640: end if;
1641: l_result := l_profile_defined and l_allow_sync = 'Y';
1642: else
1643: l_result := false;
1644: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1645: if(registration = FND_LDAP_WRAPPER.G_INVALID_REGISTRATION) then
1646: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Invalid registration');
1647: elsif(registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1648: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'No registration');
1642: else
1643: l_result := false;
1644: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1645: if(registration = FND_LDAP_WRAPPER.G_INVALID_REGISTRATION) then
1646: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Invalid registration');
1647: elsif(registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1648: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'No registration');
1649: else
1650: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Unknown returning status:'||registration);
1644: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1645: if(registration = FND_LDAP_WRAPPER.G_INVALID_REGISTRATION) then
1646: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Invalid registration');
1647: elsif(registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1648: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'No registration');
1649: else
1650: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Unknown returning status:'||registration);
1651: end if;
1652: end if;
1646: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Invalid registration');
1647: elsif(registration = FND_LDAP_WRAPPER.G_NO_REGISTRATION) then
1648: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'No registration');
1649: else
1650: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source ,'Unknown returning status:'||registration);
1651: end if;
1652: end if;
1653: end if;
1654:
1652: end if;
1653: end if;
1654:
1655:
1656: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1657: if (l_result) then
1658: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> TRUE');
1659: else
1660: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> FALSE');
1654:
1655:
1656: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1657: if (l_result) then
1658: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> TRUE');
1659: else
1660: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> FALSE');
1661: end if;
1662: end if;
1656: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1657: if (l_result) then
1658: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> TRUE');
1659: else
1660: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'END-> FALSE');
1661: end if;
1662: end if;
1663: return l_result;
1664: exception when others then
1661: end if;
1662: end if;
1663: return l_result;
1664: exception when others then
1665: if (fnd_log.LEVEL_UNEXPECTED >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1666: fnd_log.string(fnd_log.LEVEL_UNEXPECTED, l_module_source ,'Unexpected exception '||sqlerrm);
1667: raise;
1668: end if;
1669:
1662: end if;
1663: return l_result;
1664: exception when others then
1665: if (fnd_log.LEVEL_UNEXPECTED >= fnd_log.G_CURRENT_RUNTIME_LEVEL) then
1666: fnd_log.string(fnd_log.LEVEL_UNEXPECTED, l_module_source ,'Unexpected exception '||sqlerrm);
1667: raise;
1668: end if;
1669:
1670: end oid_synchronization_enabled;
1690: begin
1691:
1692: l_module_source := G_MODULE_SOURCE||'unlink_ebiz_user';
1693:
1694: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1695: then
1696: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1697: end if;
1698:
1692: l_module_source := G_MODULE_SOURCE||'unlink_ebiz_user';
1693:
1694: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1695: then
1696: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Begin');
1697: end if;
1698:
1699: if (p_user_name is not null) then
1700:
1697: end if;
1698:
1699: if (p_user_name is not null) then
1700:
1701: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1702: then
1703: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'User name was passed - get linked users');
1704: end if;
1705:
1699: if (p_user_name is not null) then
1700:
1701: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1702: then
1703: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'User name was passed - get linked users');
1704: end if;
1705:
1706: open ebiz_users;
1707:
1708: LOOP
1709: fetch ebiz_users into l_user_name, l_user_id, l_user_guid;
1710: exit when ebiz_users%NOTFOUND;
1711:
1712: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1713: then
1714: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Unlink user '||l_user_name);
1715: end if;
1716:
1710: exit when ebiz_users%NOTFOUND;
1711:
1712: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1713: then
1714: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Unlink user '||l_user_name);
1715: end if;
1716:
1717: update fnd_user
1718: set user_guid = null
1723: user_id_z => l_user_id,
1724: val_z => l_local_login,
1725: defined_z => l_profile_defined);
1726:
1727: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1728: then
1729: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Got local login profile '||l_local_login);
1730: end if;
1731:
1725: defined_z => l_profile_defined);
1726:
1727: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1728: then
1729: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Got local login profile '||l_local_login);
1730: end if;
1731:
1732: if (l_local_login = 'SSO' or l_local_login = 'BOTH') then
1733: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1729: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Got local login profile '||l_local_login);
1730: end if;
1731:
1732: if (l_local_login = 'SSO' or l_local_login = 'BOTH') then
1733: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1734: then
1735: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Local login is SSO - delete user level profile');
1736: end if;
1737:
1731:
1732: if (l_local_login = 'SSO' or l_local_login = 'BOTH') then
1733: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1734: then
1735: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Local login is SSO - delete user level profile');
1736: end if;
1737:
1738: l_del_prof := fnd_profile.delete(
1739: x_name => 'APPS_SSO_LOCAL_LOGIN',
1740: x_level_name => 'USER',
1741: x_level_value => l_user_id);
1742: end if;
1743:
1744: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1745: then
1746: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Delete APPS_SSO_LDAP_SYNC user level profile');
1747: end if;
1748:
1742: end if;
1743:
1744: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1745: then
1746: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Delete APPS_SSO_LDAP_SYNC user level profile');
1747: end if;
1748:
1749: l_del_prof := fnd_profile.delete(
1750: x_name => 'APPS_SSO_LDAP_SYNC',
1751: x_level_name => 'USER',
1752: x_level_value => l_user_id);
1753:
1754: -- Attempt to unlink the user in OID
1755: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1756: then
1757: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Attempt to unlink user in OID');
1758: end if;
1759:
1753:
1754: -- Attempt to unlink the user in OID
1755: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1756: then
1757: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Attempt to unlink user in OID');
1758: end if;
1759:
1760: begin
1761: unlink_user(l_user_guid,l_user_name,l_result);
1762: exception when others then
1763: null;
1764: end;
1765:
1766: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1767: then
1768: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'User has been unlinked - flush the wf_attribute_cache for user_name: '||l_user_name);
1769: end if;
1770:
1764: end;
1765:
1766: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1767: then
1768: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'User has been unlinked - flush the wf_attribute_cache for user_name: '||l_user_name);
1769: end if;
1770:
1771: wf_entity_mgr.flush_cache('USER', l_user_name);
1772:
1772:
1773: END LOOP;
1774: close ebiz_users;
1775:
1776: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1777: then
1778: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Done unlinking FND users');
1779: end if;
1780:
1774: close ebiz_users;
1775:
1776: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1777: then
1778: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'Done unlinking FND users');
1779: end if;
1780:
1781: END IF;
1782:
1779: end if;
1780:
1781: END IF;
1782:
1783: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1784: then
1785: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1786: end if;
1787:
1781: END IF;
1782:
1783: if (fnd_log.LEVEL_STATEMENT >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1784: then
1785: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1786: end if;
1787:
1788: exception when others then
1789: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1785: fnd_log.string(fnd_log.LEVEL_STATEMENT, l_module_source, 'End');
1786: end if;
1787:
1788: exception when others then
1789: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1790: then
1791: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source, 'Failed to unlink user');
1792: end if;
1793: end unlink_ebiz_user;
1787:
1788: exception when others then
1789: if (fnd_log.LEVEL_EXCEPTION >= fnd_log.G_CURRENT_RUNTIME_LEVEL)
1790: then
1791: fnd_log.string(fnd_log.LEVEL_EXCEPTION, l_module_source, 'Failed to unlink user');
1792: end if;
1793: end unlink_ebiz_user;
1794:
1795: end fnd_ldap_wrapper;