111: l_api_name CONSTANT VARCHAR2(30) :='get_internal_user_role';
112:
113: BEGIN
114:
115: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
116: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entered INTO get_internal_user_role');
117: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
118: ,'101: p_employee_id = '||p_employee_id);
119:
112:
113: BEGIN
114:
115: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
116: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entered INTO get_internal_user_role');
117: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
118: ,'101: p_employee_id = '||p_employee_id);
119:
120: END IF;
113: BEGIN
114:
115: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
116: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entered INTO get_internal_user_role');
117: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
118: ,'101: p_employee_id = '||p_employee_id);
119:
120: END IF;
121:
128: p_orig_system_id => p_employee_id,
129: p_name => l_role_name,
130: p_display_name => l_role_display_name);
131:
132: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
133: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
134: ,'102: Found Role Name = '||l_role_name);
135: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
136: ,'103: Found Role Display Name = '||l_role_display_name);
129: p_name => l_role_name,
130: p_display_name => l_role_display_name);
131:
132: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
133: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
134: ,'102: Found Role Name = '||l_role_name);
135: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
136: ,'103: Found Role Display Name = '||l_role_display_name);
137: END IF;
131:
132: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
133: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
134: ,'102: Found Role Name = '||l_role_name);
135: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
136: ,'103: Found Role Display Name = '||l_role_display_name);
137: END IF;
138:
139: -- if role name is still NULL, creat an adhoc role to send email notification
143: OPEN C_user_email(p_employee_id);
144: FETCH C_user_email into l_email, l_full_name;
145: CLOSE C_user_email;
146:
147: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
148: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
149: ,'104: Employee Email = '||l_email);
150: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
151: ,'105: Employee Full Name = '||l_full_name);
144: FETCH C_user_email into l_email, l_full_name;
145: CLOSE C_user_email;
146:
147: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
148: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
149: ,'104: Employee Email = '||l_email);
150: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
151: ,'105: Employee Full Name = '||l_full_name);
152: END IF;
146:
147: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
148: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
149: ,'104: Employee Email = '||l_email);
150: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
151: ,'105: Employee Full Name = '||l_full_name);
152: END IF;
153:
154: IF l_email IS NOT NULL AND l_full_name IS NOT NULL THEN
152: END IF;
153:
154: IF l_email IS NOT NULL AND l_full_name IS NOT NULL THEN
155:
156: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
157: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
158: ,'106: Calling createAdHocRole');
159: END IF;
160:
153:
154: IF l_email IS NOT NULL AND l_full_name IS NOT NULL THEN
155:
156: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
157: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
158: ,'106: Calling createAdHocRole');
159: END IF;
160:
161: -- set role display name as Employee's Full Name
169: email_address=>l_email,
170: status=>'ACTIVE',
171: expiration_date=>SYSDATE+1);
172:
173: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
174: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
175: ,'107: DONE createAdHocRole');
176: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
177: ,'108: Got Role Name = '||l_role_name);
170: status=>'ACTIVE',
171: expiration_date=>SYSDATE+1);
172:
173: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
174: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
175: ,'107: DONE createAdHocRole');
176: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
177: ,'108: Got Role Name = '||l_role_name);
178: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
172:
173: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
174: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
175: ,'107: DONE createAdHocRole');
176: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
177: ,'108: Got Role Name = '||l_role_name);
178: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
179: ,'109: Got Role Display Name = '||l_role_display_name);
180: END IF;
174: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
175: ,'107: DONE createAdHocRole');
176: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
177: ,'108: Got Role Name = '||l_role_name);
178: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
179: ,'109: Got Role Display Name = '||l_role_display_name);
180: END IF;
181:
182: END IF; -- IF l_email IS NOT NULL AND l_full_name IS NOT NULL
191: WHEN OTHERS THEN
192: IF C_user_email%ISOPEN THEN
193: CLOSE C_user_email;
194: END IF;
195: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
196: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
197: ,'110: IN EXCEPTION '||substr(sqlerrm,1,200));
198: END IF;
199:
192: IF C_user_email%ISOPEN THEN
193: CLOSE C_user_email;
194: END IF;
195: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
196: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name
197: ,'110: IN EXCEPTION '||substr(sqlerrm,1,200));
198: END IF;
199:
200: return l_role_name;
377: tmp_email_list VARCHAR2(8000);
378: l_user_list VARCHAR2(4000);
379: BEGIN
380:
381: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
378: l_user_list VARCHAR2(4000);
379: BEGIN
380:
381: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
379: BEGIN
380:
381: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
380:
381: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
388: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'106: BusDocType:'||p_business_document_type);
381: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
388: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'106: BusDocType:'||p_business_document_type);
389: END IF;
382: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'100: Entering deliverables_notifier');
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
388: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'106: BusDocType:'||p_business_document_type);
389: END IF;
390:
383: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'101: Notification type - '||p_msg_code);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
388: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'106: BusDocType:'||p_business_document_type);
389: END IF;
390:
391: OKC_API.init_msg_list(p_init_msg_list=>p_init_msg_list);
384: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'102: Deliverable id - '||p_deliverable_id);
385: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'103: ExtContactId - '||p_external_contact);
386: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'104: IntContactId - '||p_internal_contact);
387: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'105: BusDocId:'||p_business_document_id);
388: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'106: BusDocType:'||p_business_document_type);
389: END IF;
390:
391: OKC_API.init_msg_list(p_init_msg_list=>p_init_msg_list);
392:
429: (p_msg_code = 'OKC_DEL_BEFOREDUE_NTF_SUBJECT' and l_resp_party_code = 'INTERNAL_ORG') then
430: l_internal_only := 'Y';
431: END IF;
432:
433: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
434: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'107: Send to internal users only: '||l_internal_only);
435: END IF;
436:
437: --check if supplier gets FYI (he cant respond)
430: l_internal_only := 'Y';
431: END IF;
432:
433: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
434: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'107: Send to internal users only: '||l_internal_only);
435: END IF;
436:
437: --check if supplier gets FYI (he cant respond)
438: IF l_internal_only = 'N' and
446: --Find the rolenames for the internal and external user whether they be adhoc or fnd_users
447: --only need to process external user in some cases
448: IF l_internal_only='N' then
449:
450: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
451: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'108: Start, Role name for External contact ');
452: END IF;
453:
454: -- if external contact found on Deliverable
447: --only need to process external user in some cases
448: IF l_internal_only='N' then
449:
450: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
451: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'108: Start, Role name for External contact ');
452: END IF;
453:
454: -- if external contact found on Deliverable
455: IF p_external_contact IS NOT NULL THEN
453:
454: -- if external contact found on Deliverable
455: IF p_external_contact IS NOT NULL THEN
456:
457: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
458: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'109: Found External contact on Deliverable = '||p_external_contact);
459: END IF;
460:
461: -- find user id for the given external contact
454: -- if external contact found on Deliverable
455: IF p_external_contact IS NOT NULL THEN
456:
457: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
458: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'109: Found External contact on Deliverable = '||p_external_contact);
459: END IF;
460:
461: -- find user id for the given external contact
462: OPEN ext_user;
462: OPEN ext_user;
463: FETCH ext_user into l_fnd_user_id;
464: CLOSE ext_user;
465:
466: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
467: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'110: External contact IS A FND USER = '||l_fnd_user_id);
468: END IF;
469:
470: IF l_fnd_user_id IS NOT NULL THEN
463: FETCH ext_user into l_fnd_user_id;
464: CLOSE ext_user;
465:
466: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
467: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'110: External contact IS A FND USER = '||l_fnd_user_id);
468: END IF;
469:
470: IF l_fnd_user_id IS NOT NULL THEN
471:
474: p_orig_system_id => l_fnd_user_id,
475: p_name => l_external_role_name,
476: p_display_name => l_ext_role_display_name);
477:
478: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
479: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'111: External Role Name = '||l_external_role_name);
480: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'112: External Role Display Name = '||l_ext_role_display_name);
481: END IF;
482:
475: p_name => l_external_role_name,
476: p_display_name => l_ext_role_display_name);
477:
478: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
479: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'111: External Role Name = '||l_external_role_name);
480: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'112: External Role Display Name = '||l_ext_role_display_name);
481: END IF;
482:
483: ELSE
476: p_display_name => l_ext_role_display_name);
477:
478: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
479: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'111: External Role Name = '||l_external_role_name);
480: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'112: External Role Display Name = '||l_ext_role_display_name);
481: END IF;
482:
483: ELSE
484:
487: p_orig_system_id => p_external_contact,
488: p_name => l_external_role_name,
489: p_display_name => l_ext_role_display_name);
490:
491: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
492: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'113: External Role Name = '||l_external_role_name);
493: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'114: External Role Display Name = '||l_ext_role_display_name);
494: END IF;
495:
488: p_name => l_external_role_name,
489: p_display_name => l_ext_role_display_name);
490:
491: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
492: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'113: External Role Name = '||l_external_role_name);
493: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'114: External Role Display Name = '||l_ext_role_display_name);
494: END IF;
495:
496: END IF; --IF l_fnd_user_id IS NOT NULL
489: p_display_name => l_ext_role_display_name);
490:
491: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
492: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'113: External Role Name = '||l_external_role_name);
493: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'114: External Role Display Name = '||l_ext_role_display_name);
494: END IF;
495:
496: END IF; --IF l_fnd_user_id IS NOT NULL
497:
496: END IF; --IF l_fnd_user_id IS NOT NULL
497:
498: ELSIF (p_external_contact IS NULL AND l_external_function_name is not null) THEN
499:
500: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
501: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'115: External Contact is NULL, External List Function = '||l_external_function_name);
502: END IF;
503:
504: -- fetch party contact and party role from Deliverable
497:
498: ELSIF (p_external_contact IS NULL AND l_external_function_name is not null) THEN
499:
500: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
501: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'115: External Contact is NULL, External List Function = '||l_external_function_name);
502: END IF;
503:
504: -- fetch party contact and party role from Deliverable
505: OPEN del_cur;
507: l_external_party_id := del_rec.external_party_id;
508: l_external_party_role := del_rec.external_party_role;
509: CLOSE del_cur;
510:
511: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
512: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'116: External Party Id = '||l_external_party_id);
513: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'117: External Party Role = '||l_external_party_role);
514: END IF;
515:
508: l_external_party_role := del_rec.external_party_role;
509: CLOSE del_cur;
510:
511: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
512: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'116: External Party Id = '||l_external_party_id);
513: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'117: External Party Role = '||l_external_party_role);
514: END IF;
515:
516: Begin--start procedure execution to get userlist
509: CLOSE del_cur;
510:
511: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
512: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'116: External Party Id = '||l_external_party_id);
513: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'117: External Party Role = '||l_external_party_role);
514: END IF;
515:
516: Begin--start procedure execution to get userlist
517:
522: , p_external_party_role => :p_external_party_role
523: , x_return_status=>:x_return_status, x_msg_count=>:x_msg_count
524: , x_msg_data=>:x_msg_data, x_external_userlist=>:x_external_userlist); end;';
525:
526: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
527: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'118: Calling RESPOSITORY FUNCTION');
528: END IF;
529:
530: EXECUTE IMMEDIATE l_sql_string using
523: , x_return_status=>:x_return_status, x_msg_count=>:x_msg_count
524: , x_msg_data=>:x_msg_data, x_external_userlist=>:x_external_userlist); end;';
525:
526: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
527: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'118: Calling RESPOSITORY FUNCTION');
528: END IF;
529:
530: EXECUTE IMMEDIATE l_sql_string using
531: in p_api_version,
538: out x_msg_count,
539: out x_msg_data,
540: out l_ext_users;
541:
542: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
543: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'119: DONE RESPOSITORY FUNCTION, with list = '||l_ext_users);
544: END IF;
545:
546: ELSE -- if class is not REPOSITORY
539: out x_msg_data,
540: out l_ext_users;
541:
542: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
543: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'119: DONE RESPOSITORY FUNCTION, with list = '||l_ext_users);
544: END IF;
545:
546: ELSE -- if class is not REPOSITORY
547:
553: x_msg_count=>:x_msg_count,
554: x_msg_data=>:x_msg_data,
555: x_external_userlist=>:x_external_userlist); end;';
556:
557: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
558: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'120: Calling OTHER DOC FUNCTION');
559: END IF;
560:
561: EXECUTE IMMEDIATE l_sql_string using
554: x_msg_data=>:x_msg_data,
555: x_external_userlist=>:x_external_userlist); end;';
556:
557: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
558: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'120: Calling OTHER DOC FUNCTION');
559: END IF;
560:
561: EXECUTE IMMEDIATE l_sql_string using
562: in p_api_version,
567: out x_msg_count,
568: out x_msg_data,
569: out l_ext_users;
570:
571: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
572: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'121: DONE OTHER DOC FUNCTION, with list = '||l_ext_users);
573: END IF;
574:
575: END IF; -- IF l_doc_class = 'REPOSITORY'
568: out x_msg_data,
569: out l_ext_users;
570:
571: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
572: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'121: DONE OTHER DOC FUNCTION, with list = '||l_ext_users);
573: END IF;
574:
575: END IF; -- IF l_doc_class = 'REPOSITORY'
576:
573: END IF;
574:
575: END IF; -- IF l_doc_class = 'REPOSITORY'
576:
577: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
578: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'122: Got External Users list = '||l_ext_users);
579: END IF;
580:
581: IF x_return_status <> G_RET_STS_SUCCESS OR l_ext_users IS NULL then
574:
575: END IF; -- IF l_doc_class = 'REPOSITORY'
576:
577: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
578: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'122: Got External Users list = '||l_ext_users);
579: END IF;
580:
581: IF x_return_status <> G_RET_STS_SUCCESS OR l_ext_users IS NULL then
582: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
578: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'122: Got External Users list = '||l_ext_users);
579: END IF;
580:
581: IF x_return_status <> G_RET_STS_SUCCESS OR l_ext_users IS NULL then
582: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
583: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'123: ERROR finding External Users List');
584: END IF;
585: l_ext_contact_error :='Y';
586:
579: END IF;
580:
581: IF x_return_status <> G_RET_STS_SUCCESS OR l_ext_users IS NULL then
582: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
583: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'123: ERROR finding External Users List');
584: END IF;
585: l_ext_contact_error :='Y';
586:
587: Okc_Api.Set_Message(p_app_name=>G_APP_NAME,
593: x_return_status := G_RET_STS_ERROR;
594:
595: ELSE
596:
597: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
598: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'124: Create Adhoc Role');
599: END IF;
600:
601: IF l_doc_class = 'REPOSITORY' THEN
594:
595: ELSE
596:
597: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
598: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'124: Create Adhoc Role');
599: END IF;
600:
601: IF l_doc_class = 'REPOSITORY' THEN
602: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
598: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'124: Create Adhoc Role');
599: END IF;
600:
601: IF l_doc_class = 'REPOSITORY' THEN
602: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
603: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'125: For REPOSITORY, create adhoc role using list of users Email addresses');
604: END IF;
605:
606: -- copy list of email addresses to temp list
599: END IF;
600:
601: IF l_doc_class = 'REPOSITORY' THEN
602: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
603: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'125: For REPOSITORY, create adhoc role using list of users Email addresses');
604: END IF;
605:
606: -- copy list of email addresses to temp list
607: tmp_email_list := l_ext_users;
634: status => 'ACTIVE',
635: expiration_date => SYSDATE+1 ,
636: parent_orig_system => null,
637: parent_orig_system_id => null);
638: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
639: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'127: Role Name = '||l_external_role_name);
640: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128: Role Display Name = '||l_ext_role_display_name);
641: END IF;
642: -- build concatinated list of user name for adhoc role
635: expiration_date => SYSDATE+1 ,
636: parent_orig_system => null,
637: parent_orig_system_id => null);
638: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
639: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'127: Role Name = '||l_external_role_name);
640: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128: Role Display Name = '||l_ext_role_display_name);
641: END IF;
642: -- build concatinated list of user name for adhoc role
643: l_user_list := l_user_list||','||l_external_role_name;
636: parent_orig_system => null,
637: parent_orig_system_id => null);
638: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
639: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'127: Role Name = '||l_external_role_name);
640: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128: Role Display Name = '||l_ext_role_display_name);
641: END IF;
642: -- build concatinated list of user name for adhoc role
643: l_user_list := l_user_list||','||l_external_role_name;
644: EXCEPTION
650: RAISE FND_API.G_EXC_ERROR;
651: END;
652: END LOOP;
653:
654: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
655: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128a: Concantenated List of Adhoc users = '||l_user_list);
656: END IF;
657:
658: -- call wf api to create the adhoc role
651: END;
652: END LOOP;
653:
654: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
655: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128a: Concantenated List of Adhoc users = '||l_user_list);
656: END IF;
657:
658: -- call wf api to create the adhoc role
659: BEGIN
682: FND_MSG_PUB.add;
683: RAISE FND_API.G_EXC_ERROR;
684: END;
685:
686: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
687: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128b: DONE adhoc role creation');
688: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128c: Role Name = '||l_external_role_name);
689: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128d: Role Display Name = '||l_ext_role_display_name);
690: END IF;
683: RAISE FND_API.G_EXC_ERROR;
684: END;
685:
686: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
687: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128b: DONE adhoc role creation');
688: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128c: Role Name = '||l_external_role_name);
689: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128d: Role Display Name = '||l_ext_role_display_name);
690: END IF;
691:
684: END;
685:
686: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
687: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128b: DONE adhoc role creation');
688: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128c: Role Name = '||l_external_role_name);
689: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128d: Role Display Name = '||l_ext_role_display_name);
690: END IF;
691:
692: ELSIF (instr(l_ext_users,',')=0) THEN
685:
686: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
687: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128b: DONE adhoc role creation');
688: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128c: Role Name = '||l_external_role_name);
689: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'128d: Role Display Name = '||l_ext_role_display_name);
690: END IF;
691:
692: ELSIF (instr(l_ext_users,',')=0) THEN
693: /* only 1 user, no need to create role */
691:
692: ELSIF (instr(l_ext_users,',')=0) THEN
693: /* only 1 user, no need to create role */
694: l_external_role_name := l_ext_users;
695: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
696: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'129: NOT REPOSITORY CLASS and got only 1 User from the List = '||l_external_role_name);
697: END IF;
698: ELSE
699: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
692: ELSIF (instr(l_ext_users,',')=0) THEN
693: /* only 1 user, no need to create role */
694: l_external_role_name := l_ext_users;
695: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
696: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'129: NOT REPOSITORY CLASS and got only 1 User from the List = '||l_external_role_name);
697: END IF;
698: ELSE
699: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
700: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'130: NOT REPOSITORY CLASS and got multiple Users');
695: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
696: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'129: NOT REPOSITORY CLASS and got only 1 User from the List = '||l_external_role_name);
697: END IF;
698: ELSE
699: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
700: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'130: NOT REPOSITORY CLASS and got multiple Users');
701: END IF;
702:
703: BEGIN
696: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'129: NOT REPOSITORY CLASS and got only 1 User from the List = '||l_external_role_name);
697: END IF;
698: ELSE
699: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
700: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'130: NOT REPOSITORY CLASS and got multiple Users');
701: END IF;
702:
703: BEGIN
704: l_external_role_name := '';
726: FND_MSG_PUB.add;
727: RAISE FND_API.G_EXC_ERROR;
728: END;
729:
730: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
731: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'131: DONE adhoc role creation');
732: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'132: Role Name = '||l_external_role_name);
733: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'133: Role Display Name = '||l_ext_role_display_name);
734: END IF;
727: RAISE FND_API.G_EXC_ERROR;
728: END;
729:
730: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
731: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'131: DONE adhoc role creation');
732: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'132: Role Name = '||l_external_role_name);
733: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'133: Role Display Name = '||l_ext_role_display_name);
734: END IF;
735:
728: END;
729:
730: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
731: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'131: DONE adhoc role creation');
732: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'132: Role Name = '||l_external_role_name);
733: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'133: Role Display Name = '||l_ext_role_display_name);
734: END IF;
735:
736: END IF; -- IF l_doc_class = 'REPOSITORY'
729:
730: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
731: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'131: DONE adhoc role creation');
732: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'132: Role Name = '||l_external_role_name);
733: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'133: Role Display Name = '||l_ext_role_display_name);
734: END IF;
735:
736: END IF; -- IF l_doc_class = 'REPOSITORY'
737: END IF; --IF x_return_status <> G_RET_STS_SUCCESS OR l_ext_users IS NULL
739:
740: ELSIF (p_external_contact IS NULL AND l_external_function_name is null) THEN
741: l_ext_contact_error :='Y';
742:
743: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
744: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'134: External Contact and External List Function BOTH are NULL, Error = '||l_ext_contact_error);
745: END IF;
746:
747: Okc_Api.Set_Message(p_app_name=>G_APP_NAME,
740: ELSIF (p_external_contact IS NULL AND l_external_function_name is null) THEN
741: l_ext_contact_error :='Y';
742:
743: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
744: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'134: External Contact and External List Function BOTH are NULL, Error = '||l_ext_contact_error);
745: END IF;
746:
747: Okc_Api.Set_Message(p_app_name=>G_APP_NAME,
748: p_msg_name=>'OKC_DEL_NTF_EXT_USER_NOT_FOUND',
757: END IF; -- l_internal_only = N end process external user check
758:
759: -- Now Create Internal Roles
760: l_internal_role_name := get_internal_user_role(p_internal_contact, l_int_role_display_name);
761: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
762: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'135: Internal Contact Role Name = '||l_internal_role_name);
763: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'136: Internal Contact Role Display Name = '||l_int_role_display_name);
764: END IF;
765:
758:
759: -- Now Create Internal Roles
760: l_internal_role_name := get_internal_user_role(p_internal_contact, l_int_role_display_name);
761: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
762: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'135: Internal Contact Role Name = '||l_internal_role_name);
763: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'136: Internal Contact Role Display Name = '||l_int_role_display_name);
764: END IF;
765:
766: IF l_internal_role_name IS NULL THEN
759: -- Now Create Internal Roles
760: l_internal_role_name := get_internal_user_role(p_internal_contact, l_int_role_display_name);
761: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
762: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'135: Internal Contact Role Name = '||l_internal_role_name);
763: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'136: Internal Contact Role Display Name = '||l_int_role_display_name);
764: END IF;
765:
766: IF l_internal_role_name IS NULL THEN
767: Okc_Api.Set_Message(G_APP_NAME,'OKC_DEL_NTF_INT_USER_NO_EMAIL');
765:
766: IF l_internal_role_name IS NULL THEN
767: Okc_Api.Set_Message(G_APP_NAME,'OKC_DEL_NTF_INT_USER_NO_EMAIL');
768: x_return_status := G_RET_STS_ERROR;
769: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
770: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'137: Invalid Internal contact Id (no email), raising error');
771: END IF;
772:
773: RAISE OKC_API.G_EXCEPTION_ERROR;
766: IF l_internal_role_name IS NULL THEN
767: Okc_Api.Set_Message(G_APP_NAME,'OKC_DEL_NTF_INT_USER_NO_EMAIL');
768: x_return_status := G_RET_STS_ERROR;
769: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
770: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'137: Invalid Internal contact Id (no email), raising error');
771: END IF;
772:
773: RAISE OKC_API.G_EXCEPTION_ERROR;
774: END IF; --end internal user not found
773: RAISE OKC_API.G_EXCEPTION_ERROR;
774: END IF; --end internal user not found
775:
776: l_requester_role_name := get_internal_user_role(p_requester_id, l_req_role_display_name);
777: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
778: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'138: Requestor Contact Role Name = '||l_requester_role_name);
779: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'139: Requestor Contact Role Display Name = '||l_req_role_display_name);
780: END IF;
781:
774: END IF; --end internal user not found
775:
776: l_requester_role_name := get_internal_user_role(p_requester_id, l_req_role_display_name);
777: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
778: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'138: Requestor Contact Role Name = '||l_requester_role_name);
779: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'139: Requestor Contact Role Display Name = '||l_req_role_display_name);
780: END IF;
781:
782: --Logic to determine which workflow process to choose
775:
776: l_requester_role_name := get_internal_user_role(p_requester_id, l_req_role_display_name);
777: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
778: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'138: Requestor Contact Role Name = '||l_requester_role_name);
779: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'139: Requestor Contact Role Display Name = '||l_req_role_display_name);
780: END IF;
781:
782: --Logic to determine which workflow process to choose
783: if l_internal_deliverable_type = 'Y' OR l_ext_contact_error = 'Y' OR
801: --Create the process
802: wf_engine.CreateProcess(itemtype => l_item_type,
803: itemkey => l_item_key,
804: process => l_process_name);
805: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
806: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'140: Creating process:'||l_item_type||':'
807: ||l_item_key||':'||l_process_name);
808: END IF;
809:
802: wf_engine.CreateProcess(itemtype => l_item_type,
803: itemkey => l_item_key,
804: process => l_process_name);
805: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
806: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'140: Creating process:'||l_item_type||':'
807: ||l_item_key||':'||l_process_name);
808: END IF;
809:
810: wf_engine.SetItemUserKey (itemtype => l_item_type,
855: itemkey => l_item_key,
856: aname => 'OKCDELBUSDOCDETAILSRN',
857: avalue => l_ui_region);
858:
859: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
860: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'141: Setting workflow attributes.');
861: END IF;
862:
863: wf_engine.SetItemAttrText (itemtype => l_item_type,
856: aname => 'OKCDELBUSDOCDETAILSRN',
857: avalue => l_ui_region);
858:
859: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
860: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'141: Setting workflow attributes.');
861: END IF;
862:
863: wf_engine.SetItemAttrText (itemtype => l_item_type,
864: itemkey => l_item_key,
877: IF l_ext_contact_error = 'Y' THEN
878: RAISE OKC_API.G_EXCEPTION_ERROR;
879: END IF;
880:
881: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
882: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'142: Subject of notification:'||fnd_message.get);
883: END IF;
884:
885: --logic to get the notification id for the OUT parameter
878: RAISE OKC_API.G_EXCEPTION_ERROR;
879: END IF;
880:
881: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
882: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'142: Subject of notification:'||fnd_message.get);
883: END IF;
884:
885: --logic to get the notification id for the OUT parameter
886: IF l_internal_only = 'Y' THEN
886: IF l_internal_only = 'Y' THEN
887: x_notification_id:=wf_engine.GetItemAttrNumber (itemtype => l_item_type,
888: itemkey => l_item_key,
889: aname =>'OKCDELINTNOTIFID');
890: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
891: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'143: Notification ID is for internal user:'||x_notification_id);
892: END IF;
893:
894: ELSE
887: x_notification_id:=wf_engine.GetItemAttrNumber (itemtype => l_item_type,
888: itemkey => l_item_key,
889: aname =>'OKCDELINTNOTIFID');
890: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
891: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'143: Notification ID is for internal user:'||x_notification_id);
892: END IF;
893:
894: ELSE
895: IF l_external_is_fyi = 'Y' THEN
902: item_key = l_item_key and
903: assigned_user = l_external_role_name;
904: END IF;
905:
906: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
907: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'144: Getting Notification ID for ext user from attribute:'
908: ||x_notification_id);
909: END IF;
910: END IF; --end internal notifications
903: assigned_user = l_external_role_name;
904: END IF;
905:
906: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
907: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'144: Getting Notification ID for ext user from attribute:'
908: ||x_notification_id);
909: END IF;
910: END IF; --end internal notifications
911:
915: FND_FILE.PUT_LINE(FND_FILE.LOG,'Returning notification Id: '||to_char(x_notification_id));
916: FND_FILE.PUT_LINE(FND_FILE.LOG,'Notifier returning status: '||x_return_status);
917: ELSE
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
920: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'145: null notification ID');
921: END IF;
922: END IF; --end check notification id
923:
916: FND_FILE.PUT_LINE(FND_FILE.LOG,'Notifier returning status: '||x_return_status);
917: ELSE
918: RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
919: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
920: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module||l_api_name,'145: null notification ID');
921: END IF;
922: END IF; --end check notification id
923:
924: EXCEPTION
989: one message in the stack.
990: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
991: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
992: END IF;*/
993: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
994: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'700: Leaving Deliverable Notifier with G_RET_STS_UNEXP_ERROR');
995: END IF;
996:
997: END deliverables_notifier;
990: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
991: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
992: END IF;*/
993: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
994: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'700: Leaving Deliverable Notifier with G_RET_STS_UNEXP_ERROR');
995: END IF;
996:
997: END deliverables_notifier;
998:
1179: aname => 'OKCDELID');
1180:
1181: l_new_status := WF_ENGINE.GetItemAttrText(itemtype,itemkey,'RESULT');
1182:
1183: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1184: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: Entering update status for deliverable id:'||l_deliverable_id);
1185: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: New status will be:'||l_new_status);
1186:
1187: end if;
1180:
1181: l_new_status := WF_ENGINE.GetItemAttrText(itemtype,itemkey,'RESULT');
1182:
1183: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1184: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: Entering update status for deliverable id:'||l_deliverable_id);
1185: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: New status will be:'||l_new_status);
1186:
1187: end if;
1188:
1181: l_new_status := WF_ENGINE.GetItemAttrText(itemtype,itemkey,'RESULT');
1182:
1183: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1184: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: Entering update status for deliverable id:'||l_deliverable_id);
1185: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'100: New status will be:'||l_new_status);
1186:
1187: end if;
1188:
1189:
1192: open update_allowed;
1193: fetch update_allowed into l_temp;
1194: if update_allowed%NOTFOUND then
1195: resultout:='COMPLETE';
1196: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1197: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'200: Update is not allow from current status to '
1198: ||l_new_status||' by external user. Exitting');
1199: end if;
1200:
1193: fetch update_allowed into l_temp;
1194: if update_allowed%NOTFOUND then
1195: resultout:='COMPLETE';
1196: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1197: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'200: Update is not allow from current status to '
1198: ||l_new_status||' by external user. Exitting');
1199: end if;
1200:
1201: else
1223: fnd_global.user_id,
1224: sysdate,
1225: fnd_global.login_id,
1226: fnd_global.user_id);
1227: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1228: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'200: Deliverable updated and row inserted into status history');
1229: end if;
1230:
1231:
1224: sysdate,
1225: fnd_global.login_id,
1226: fnd_global.user_id);
1227: IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1228: FND_LOG.STRING( FND_LOG.LEVEL_PROCEDURE ,g_module,'200: Deliverable updated and row inserted into status history');
1229: end if;
1230:
1231:
1232: end if; -- end updating status