83: END IF;
84: CSM_UTIL_PKG.LOG('Leaving GET_ADMIN_GROUPS: ' || p_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
85: END GET_ADMIN_GROUPS;
86:
87: /*Function to get FND_USER for the email address
88: If there is a unique valid user associated to this email address
89: return: USER_ID else return -1
90: */
91: FUNCTION IS_FND_USER
87: /*Function to get FND_USER for the email address
88: If there is a unique valid user associated to this email address
89: return: USER_ID else return -1
90: */
91: FUNCTION IS_FND_USER
92: ( p_email_id VARCHAR2)
93: RETURN NUMBER
94: IS
95:
92: ( p_email_id VARCHAR2)
93: RETURN NUMBER
94: IS
95:
96: CURSOR c_fnd_user(p_email_id VARCHAR2) IS
97: SELECT user_id, count(*) over () row_count
98: FROM fnd_user
99: WHERE UPPER(email_address) = p_email_id
100: AND start_date <= sysdate
94: IS
95:
96: CURSOR c_fnd_user(p_email_id VARCHAR2) IS
97: SELECT user_id, count(*) over () row_count
98: FROM fnd_user
99: WHERE UPPER(email_address) = p_email_id
100: AND start_date <= sysdate
101: AND(end_date IS NULL OR end_date > sysdate);
102:
99: WHERE UPPER(email_address) = p_email_id
100: AND start_date <= sysdate
101: AND(end_date IS NULL OR end_date > sysdate);
102:
103: l_fnd_user_id NUMBER;
104: l_count NUMBER;
105:
106: BEGIN
107: l_fnd_user_id := -1;
103: l_fnd_user_id NUMBER;
104: l_count NUMBER;
105:
106: BEGIN
107: l_fnd_user_id := -1;
108: CSM_UTIL_PKG.LOG('Entering IS_FND_USER: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
109:
110: OPEN c_fnd_user(UPPER(p_email_id));
111: FETCH c_fnd_user INTO l_fnd_user_id, l_count;
104: l_count NUMBER;
105:
106: BEGIN
107: l_fnd_user_id := -1;
108: CSM_UTIL_PKG.LOG('Entering IS_FND_USER: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
109:
110: OPEN c_fnd_user(UPPER(p_email_id));
111: FETCH c_fnd_user INTO l_fnd_user_id, l_count;
112: CLOSE c_fnd_user;
106: BEGIN
107: l_fnd_user_id := -1;
108: CSM_UTIL_PKG.LOG('Entering IS_FND_USER: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
109:
110: OPEN c_fnd_user(UPPER(p_email_id));
111: FETCH c_fnd_user INTO l_fnd_user_id, l_count;
112: CLOSE c_fnd_user;
113:
114: IF l_count > 1 THEN
107: l_fnd_user_id := -1;
108: CSM_UTIL_PKG.LOG('Entering IS_FND_USER: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
109:
110: OPEN c_fnd_user(UPPER(p_email_id));
111: FETCH c_fnd_user INTO l_fnd_user_id, l_count;
112: CLOSE c_fnd_user;
113:
114: IF l_count > 1 THEN
115: CSM_UTIL_PKG.LOG('EMAIL_ID: ' || p_email_id || ' is associated to more than one users', g_object_name, FND_LOG.LEVEL_PROCEDURE);
108: CSM_UTIL_PKG.LOG('Entering IS_FND_USER: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
109:
110: OPEN c_fnd_user(UPPER(p_email_id));
111: FETCH c_fnd_user INTO l_fnd_user_id, l_count;
112: CLOSE c_fnd_user;
113:
114: IF l_count > 1 THEN
115: CSM_UTIL_PKG.LOG('EMAIL_ID: ' || p_email_id || ' is associated to more than one users', g_object_name, FND_LOG.LEVEL_PROCEDURE);
116: l_fnd_user_id := -1;
112: CLOSE c_fnd_user;
113:
114: IF l_count > 1 THEN
115: CSM_UTIL_PKG.LOG('EMAIL_ID: ' || p_email_id || ' is associated to more than one users', g_object_name, FND_LOG.LEVEL_PROCEDURE);
116: l_fnd_user_id := -1;
117: ELSE
118: SELECT user_name INTO g_user_name
119: FROM FND_USER
120: WHERE user_id = l_fnd_user_id;
115: CSM_UTIL_PKG.LOG('EMAIL_ID: ' || p_email_id || ' is associated to more than one users', g_object_name, FND_LOG.LEVEL_PROCEDURE);
116: l_fnd_user_id := -1;
117: ELSE
118: SELECT user_name INTO g_user_name
119: FROM FND_USER
120: WHERE user_id = l_fnd_user_id;
121: END IF;
122:
123: CSM_UTIL_PKG.LOG('Leaving IS_FND_USER: ' || l_fnd_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
116: l_fnd_user_id := -1;
117: ELSE
118: SELECT user_name INTO g_user_name
119: FROM FND_USER
120: WHERE user_id = l_fnd_user_id;
121: END IF;
122:
123: CSM_UTIL_PKG.LOG('Leaving IS_FND_USER: ' || l_fnd_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
124: RETURN l_fnd_user_id;
119: FROM FND_USER
120: WHERE user_id = l_fnd_user_id;
121: END IF;
122:
123: CSM_UTIL_PKG.LOG('Leaving IS_FND_USER: ' || l_fnd_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
124: RETURN l_fnd_user_id;
125:
126: END IS_FND_USER;
127:
120: WHERE user_id = l_fnd_user_id;
121: END IF;
122:
123: CSM_UTIL_PKG.LOG('Leaving IS_FND_USER: ' || l_fnd_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
124: RETURN l_fnd_user_id;
125:
126: END IS_FND_USER;
127:
128: FUNCTION GET_EMAIL_PREF
122:
123: CSM_UTIL_PKG.LOG('Leaving IS_FND_USER: ' || l_fnd_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
124: RETURN l_fnd_user_id;
125:
126: END IS_FND_USER;
127:
128: FUNCTION GET_EMAIL_PREF
129: ( p_email_id VARCHAR2)
130: RETURN VARCHAR2
131:
132: IS
133: l_user_id NUMBER;
134: l_email_format VARCHAR2(240);
135: l_fnd_user_name VARCHAR2(240);
136:
137: BEGIN
138:
139: CSM_UTIL_PKG.LOG('Entering GET_EMAIL_PREF email_id: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
136:
137: BEGIN
138:
139: CSM_UTIL_PKG.LOG('Entering GET_EMAIL_PREF email_id: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
140: l_user_id := IS_FND_USER(p_email_id);
141:
142: IF l_user_id = -1 THEN
143: l_email_format := 'MAILHTM2';
144: CSM_UTIL_PKG.LOG('Not a valid FND_USER will use default: ' || l_email_format, g_object_name, FND_LOG.LEVEL_PROCEDURE);
140: l_user_id := IS_FND_USER(p_email_id);
141:
142: IF l_user_id = -1 THEN
143: l_email_format := 'MAILHTM2';
144: CSM_UTIL_PKG.LOG('Not a valid FND_USER will use default: ' || l_email_format, g_object_name, FND_LOG.LEVEL_PROCEDURE);
145: ELSE
146: CSM_UTIL_PKG.LOG('A valid FND_USER name : ' || g_user_name, g_object_name, FND_LOG.LEVEL_PROCEDURE);
147: l_email_format := fnd_preference.get(g_user_name,'WF','MAILTYPE');
148: END IF;
142: IF l_user_id = -1 THEN
143: l_email_format := 'MAILHTM2';
144: CSM_UTIL_PKG.LOG('Not a valid FND_USER will use default: ' || l_email_format, g_object_name, FND_LOG.LEVEL_PROCEDURE);
145: ELSE
146: CSM_UTIL_PKG.LOG('A valid FND_USER name : ' || g_user_name, g_object_name, FND_LOG.LEVEL_PROCEDURE);
147: l_email_format := fnd_preference.get(g_user_name,'WF','MAILTYPE');
148: END IF;
149:
150: CSM_UTIL_PKG.LOG('Entering GET_EMAIL_PREF format: ' || l_email_format, g_object_name, FND_LOG.LEVEL_PROCEDURE);
160: IS
161:
162: CURSOR c_user_resp(p_user_id NUMBER, p_resp_id NUMBER) IS
163: SELECT resp.responsibility_id
164: FROM fnd_user usr,
165: fnd_user_resp_groups resp
166: WHERE usr.user_id = p_user_id
167: AND resp.responsibility_id = p_resp_id
168: AND usr.user_id = resp.user_id
161:
162: CURSOR c_user_resp(p_user_id NUMBER, p_resp_id NUMBER) IS
163: SELECT resp.responsibility_id
164: FROM fnd_user usr,
165: fnd_user_resp_groups resp
166: WHERE usr.user_id = p_user_id
167: AND resp.responsibility_id = p_resp_id
168: AND usr.user_id = resp.user_id
169: AND resp.start_date <= sysdate
170: AND(resp.end_date IS NULL OR resp.end_date >= sysdate);
171:
172: CURSOR c_mobile_user_resp(p_user_id NUMBER) IS
173: SELECT resp.responsibility_id
174: FROM fnd_user usr,
175: fnd_user_resp_groups resp,
176: asg_responsibility_vl mresp
177: WHERE usr.user_id = p_user_id
178: AND resp.responsibility_id = mresp.responsibility_id
171:
172: CURSOR c_mobile_user_resp(p_user_id NUMBER) IS
173: SELECT resp.responsibility_id
174: FROM fnd_user usr,
175: fnd_user_resp_groups resp,
176: asg_responsibility_vl mresp
177: WHERE usr.user_id = p_user_id
178: AND resp.responsibility_id = mresp.responsibility_id
179: AND usr.user_id = resp.user_id
436: RETURN;
437: END IF;
438:
439: IF l_restricted_flag = 'Y' THEN
440: g_user_id := IS_FND_USER(p_email_id);
441: IF g_user_id = -1 THEN
442: x_return_status := FND_API.G_RET_STS_ERROR;
443: x_error_message := 'Invalid FND_USER for EMAIL_ID: ' || p_email_id;
444: CSM_UTIL_PKG.LOG(x_error_message, g_object_name, FND_LOG.LEVEL_PROCEDURE);
439: IF l_restricted_flag = 'Y' THEN
440: g_user_id := IS_FND_USER(p_email_id);
441: IF g_user_id = -1 THEN
442: x_return_status := FND_API.G_RET_STS_ERROR;
443: x_error_message := 'Invalid FND_USER for EMAIL_ID: ' || p_email_id;
444: CSM_UTIL_PKG.LOG(x_error_message, g_object_name, FND_LOG.LEVEL_PROCEDURE);
445: RETURN;
446: END IF;
447:
444: CSM_UTIL_PKG.LOG(x_error_message, g_object_name, FND_LOG.LEVEL_PROCEDURE);
445: RETURN;
446: END IF;
447:
448: CSM_UTIL_PKG.LOG('EMAIL_ID: ' || p_email_id || ' associated to FND_USER_ID: ' || g_user_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
449:
450: l_access_flag := CHECK_USER_ACCESS(g_user_id,l_level_id, l_level_value);
451: IF l_access_flag = 'N' THEN
452: x_return_status := FND_API.G_RET_STS_ERROR;
611:
612: CURSOR c_group_members(p_group_id NUMBER)
613: is
614: SELECT fusr.user_id
615: from FND_USER FUSR,
616: JTF_RS_RESOURCE_EXTNS RS,
617: JTF_RS_GROUP_MEMBERS GM
618: where gm.group_id = p_group_id
619: AND gm.delete_flag = 'N'
624: and FUSR.START_DATE <= sysdate
625: and (FUSR.END_DATE is null or FUSR.END_DATE >= sysdate);
626:
627: /* SELECT fusr.user_id
628: from FND_USER FUSR,
629: JTF_RS_RESOURCE_EXTNS RS,
630: jtf_rs_groups_b gb,
631: JTF_RS_GROUP_MEMBERS GM
632: jtf_rs_roles_b rb,
687: BEGIN
688:
689: CSM_UTIL_PKG.LOG('Entering GET_TASKS for EMAIL_ID: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
690:
691: l_user_id := IS_FND_USER(p_email_id);
692:
693: IF l_user_id = -1 THEN
694: x_return_status := FND_API.G_RET_STS_ERROR;
695: x_error_message := 'Invalid user for EMAIL_ID: ' || p_email_id;
2075: CURSOR c_role(p_email_id VARCHAR2, p_user_id NUMBER)
2076: IS
2077: SELECT wf.name as role_name, fu.user_name as user_name
2078: FROM wf_local_roles wf,
2079: fnd_user fu
2080: WHERE wf.email_address = p_email_id
2081: AND fu.user_id = p_user_id
2082: AND wf.status = 'ACTIVE'
2083: AND wf.start_date <= sysdate
2084: AND (wf.expiration_date IS NULL OR wf.expiration_date > sysdate);
2085:
2086: l_nid NUMBER;
2087: l_role_name wf_local_roles.name%type;
2088: l_user_name fnd_user.user_name%type;
2089: l_user_id NUMBER;
2090: BEGIN
2091:
2092: CSM_UTIL_PKG.LOG('Entering NOTIFY_EMAIL_EXCEPTION for EMAIL_ID: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
2090: BEGIN
2091:
2092: CSM_UTIL_PKG.LOG('Entering NOTIFY_EMAIL_EXCEPTION for EMAIL_ID: ' || p_email_id, g_object_name, FND_LOG.LEVEL_PROCEDURE);
2093:
2094: l_user_id := IS_FND_USER(p_email_id);
2095:
2096: IF l_user_id = -1 THEN
2097: x_return_status := fnd_api.g_ret_sts_error;
2098: x_error_message := 'EMAIL_ID: ' || p_email_id || ' is not accosiated to a valid FND_USER';
2094: l_user_id := IS_FND_USER(p_email_id);
2095:
2096: IF l_user_id = -1 THEN
2097: x_return_status := fnd_api.g_ret_sts_error;
2098: x_error_message := 'EMAIL_ID: ' || p_email_id || ' is not accosiated to a valid FND_USER';
2099: CSM_UTIL_PKG.LOG(x_error_message, g_object_name, FND_LOG.LEVEL_ERROR);
2100: RETURN;
2101: END IF;
2102: