12:
13: -- Debug mode
14: --g_debug boolean := FALSE;
15: g_debug boolean := TRUE;
16: G_VALID_LEVEL_LOGIN CONSTANT NUMBER := FND_API.G_VALID_LEVEL_FULL;
17: --
18:
19: ------------------------------------
20: -- Functions and Procedures --
89: BEGIN
90: OPEN Get_resourceID_csr;
91: FETCH Get_resourceID_csr INTO x_resource_id;
92: IF (Get_resourceID_csr%NOTFOUND) THEN
93: x_resource_id := FND_API.G_MISS_NUM;
94: END IF;
95: CLOSE Get_resourceID_csr;
96: END Get_ResourceId;
97: --------------------------------------------------------------------------------
100: -- Type : Private
101: -- Pre-reqs : None
102: -- Function : Call Standard API to check if user is login.
103: -- If so, it returns the login user id.
104: -- Otherwise, it returns FND_API.G_MISS_NUM.
105: -- Parameters :
106: -- IN : None
107: -- OUT : x_current_user_id NUMBER
108: -- the current (login) user id.
124: -- To be furhter examined.
125: x_current_user_id := FND_GLOBAL.User_Id;
126: x_current_login_id := FND_GLOBAL.Login_Id;
127: IF (x_current_user_id IS NULL OR x_current_user_id = -1) THEN
128: x_current_user_id := FND_API.G_MISS_NUM;
129: x_current_login_id := FND_API.G_MISS_NUM;
130: END IF;
131: END Get_LoginUserId;
132: --
125: x_current_user_id := FND_GLOBAL.User_Id;
126: x_current_login_id := FND_GLOBAL.Login_Id;
127: IF (x_current_user_id IS NULL OR x_current_user_id = -1) THEN
128: x_current_user_id := FND_API.G_MISS_NUM;
129: x_current_login_id := FND_API.G_MISS_NUM;
130: END IF;
131: END Get_LoginUserId;
132: --
133: --------------------------------------------------------------------------------
137: -- Pre-reqs : None
138: -- Function : Check and return (login) user status.
139: -- Parameters :
140: -- IN : p_user_id NUMBER Optional
141: -- user id. Default = FND_API.G_MISS_NUM
142: -- If user id is missing, use the current (login) user id.
143: -- OUT : x_resource_id NUMBER
144: -- resource id of the user if the user exist.
145: -- : x_user_id NUMBER
154: -- End of comments
155: --
156: PROCEDURE Get_UserInfo
157: (
158: p_user_id IN NUMBER := FND_API.G_MISS_NUM,
159: x_resource_id OUT NOCOPY NUMBER,
160: x_user_id OUT NOCOPY NUMBER,
161: x_login_id OUT NOCOPY NUMBER,
162: x_user_status OUT NOCOPY VARCHAR2
174: BEGIN
175: --Get the current login user id.
176: Get_LoginUserId(l_user_id, l_login_id);
177: -- If p_user_id is not the current login user.
178: IF (p_user_id <> FND_API.G_MISS_NUM AND p_user_id <> l_user_id ) THEN
179: OPEN Fnd_User_csr(p_user_id);
180: FETCH Fnd_User_csr into l_fnd_user_info;
181: IF Fnd_User_csr%NOTFOUND THEN
182: x_user_status := G_USER_NOT_EXIST;
179: OPEN Fnd_User_csr(p_user_id);
180: FETCH Fnd_User_csr into l_fnd_user_info;
181: IF Fnd_User_csr%NOTFOUND THEN
182: x_user_status := G_USER_NOT_EXIST;
183: x_user_id := FND_API.G_MISS_NUM;
184: x_resource_id := FND_API.G_MISS_NUM;
185: x_login_id := FND_API.G_MISS_NUM;
186: ELSE
187: x_user_id := p_user_id;
180: FETCH Fnd_User_csr into l_fnd_user_info;
181: IF Fnd_User_csr%NOTFOUND THEN
182: x_user_status := G_USER_NOT_EXIST;
183: x_user_id := FND_API.G_MISS_NUM;
184: x_resource_id := FND_API.G_MISS_NUM;
185: x_login_id := FND_API.G_MISS_NUM;
186: ELSE
187: x_user_id := p_user_id;
188: x_login_id := FND_API.G_MISS_NUM;
181: IF Fnd_User_csr%NOTFOUND THEN
182: x_user_status := G_USER_NOT_EXIST;
183: x_user_id := FND_API.G_MISS_NUM;
184: x_resource_id := FND_API.G_MISS_NUM;
185: x_login_id := FND_API.G_MISS_NUM;
186: ELSE
187: x_user_id := p_user_id;
188: x_login_id := FND_API.G_MISS_NUM;
189: x_user_status := G_USER_NOT_LOGIN;
184: x_resource_id := FND_API.G_MISS_NUM;
185: x_login_id := FND_API.G_MISS_NUM;
186: ELSE
187: x_user_id := p_user_id;
188: x_login_id := FND_API.G_MISS_NUM;
189: x_user_status := G_USER_NOT_LOGIN;
190: --Get the resource id
191: Get_ResourceId ( p_user_id, x_resource_id);
192: IF (x_resource_id = FND_API.G_MISS_NUM) THEN
188: x_login_id := FND_API.G_MISS_NUM;
189: x_user_status := G_USER_NOT_LOGIN;
190: --Get the resource id
191: Get_ResourceId ( p_user_id, x_resource_id);
192: IF (x_resource_id = FND_API.G_MISS_NUM) THEN
193: x_user_status := G_NO_RESOURCE;
194: END IF;
195: END IF;
196: CLOSE Fnd_User_csr;
199: x_user_id := l_user_id;
200: x_login_id := l_login_id;
201: --Get the resource id
202: Get_ResourceId ( l_user_id, x_resource_id);
203: IF (x_resource_id = FND_API.G_MISS_NUM) THEN
204: x_user_status := G_NO_RESOURCE;
205: END IF;
206: END IF;
207: EXCEPTION
206: END IF;
207: EXCEPTION
208: WHEN OTHERS THEN
209: x_user_status := G_USER_NOT_EXIST;
210: x_user_id := FND_API.G_MISS_NUM;
211: x_resource_id := FND_API.G_MISS_NUM;
212: x_login_id := FND_API.G_MISS_NUM;
213: END Get_UserInfo;
214: --
207: EXCEPTION
208: WHEN OTHERS THEN
209: x_user_status := G_USER_NOT_EXIST;
210: x_user_id := FND_API.G_MISS_NUM;
211: x_resource_id := FND_API.G_MISS_NUM;
212: x_login_id := FND_API.G_MISS_NUM;
213: END Get_UserInfo;
214: --
215: --------------------------------------------------------------------------------
208: WHEN OTHERS THEN
209: x_user_status := G_USER_NOT_EXIST;
210: x_user_id := FND_API.G_MISS_NUM;
211: x_resource_id := FND_API.G_MISS_NUM;
212: x_login_id := FND_API.G_MISS_NUM;
213: END Get_UserInfo;
214: --
215: --------------------------------------------------------------------------------
216: -- Start of comments
219: -- Pre-reqs : None
220: -- Function : Check and return (login) user status.
221: -- Parameters :
222: -- IN : p_user_id NUMBER Optional
223: -- user id. Default = FND_API.G_MISS_NUM
224: -- If user id is missing, use the current (login) user id.
225: -- OUT : x_user_id NUMBER
226: -- user id which is valid if user is exist.
227: -- : x_login_id NUMBER
237: -- End of comments
238: --
239: PROCEDURE Get_UserStatus
240: (
241: p_user_id IN NUMBER := FND_API.G_MISS_NUM,
242: x_user_id OUT NOCOPY NUMBER,
243: x_login_id OUT NOCOPY NUMBER,
244: x_user_status OUT NOCOPY NUMBER
245: ) AS
256: BEGIN
257: --Get the current login user id.
258: Get_LoginUserId(l_user_id, l_login_id);
259: -- If p_user_id is not the current login user.
260: IF (p_user_id <> FND_API.G_MISS_NUM AND
261: p_user_id <> l_user_id ) THEN
262: OPEN Fnd_User_csr(p_user_id);
263: FETCH Fnd_User_csr into l_fnd_user_info;
264: IF Fnd_User_csr%NOTFOUND THEN
262: OPEN Fnd_User_csr(p_user_id);
263: FETCH Fnd_User_csr into l_fnd_user_info;
264: IF Fnd_User_csr%NOTFOUND THEN
265: x_user_status := G_NOT_EXIST;
266: x_user_id := FND_API.G_MISS_NUM;
267: x_login_id := FND_API.G_MISS_NUM;
268: ELSE
269: x_user_status := G_USER_ENABLE;
270: x_user_id := p_user_id;
263: FETCH Fnd_User_csr into l_fnd_user_info;
264: IF Fnd_User_csr%NOTFOUND THEN
265: x_user_status := G_NOT_EXIST;
266: x_user_id := FND_API.G_MISS_NUM;
267: x_login_id := FND_API.G_MISS_NUM;
268: ELSE
269: x_user_status := G_USER_ENABLE;
270: x_user_id := p_user_id;
271: x_login_id := FND_API.G_MISS_NUM;
267: x_login_id := FND_API.G_MISS_NUM;
268: ELSE
269: x_user_status := G_USER_ENABLE;
270: x_user_id := p_user_id;
271: x_login_id := FND_API.G_MISS_NUM;
272: END IF;
273: CLOSE Fnd_User_csr;
274: ELSE
275: x_user_status := G_USER_ENABLE;
276: x_user_id := l_user_id;
277: x_login_id := l_login_id;
278: END IF;
279: EXCEPTION
280: WHEN FND_API.G_EXC_ERROR THEN
281: x_user_status := G_NOT_EXIST;
282: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
278: END IF;
279: EXCEPTION
280: WHEN FND_API.G_EXC_ERROR THEN
281: x_user_status := G_NOT_EXIST;
282: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
285: x_user_status := G_NOT_EXIST;
286: x_user_id := FND_API.G_MISS_NUM;
279: EXCEPTION
280: WHEN FND_API.G_EXC_ERROR THEN
281: x_user_status := G_NOT_EXIST;
282: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
285: x_user_status := G_NOT_EXIST;
286: x_user_id := FND_API.G_MISS_NUM;
287: x_login_id := FND_API.G_MISS_NUM;
280: WHEN FND_API.G_EXC_ERROR THEN
281: x_user_status := G_NOT_EXIST;
282: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
285: x_user_status := G_NOT_EXIST;
286: x_user_id := FND_API.G_MISS_NUM;
287: x_login_id := FND_API.G_MISS_NUM;
288: WHEN OTHERS THEN
282: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
285: x_user_status := G_NOT_EXIST;
286: x_user_id := FND_API.G_MISS_NUM;
287: x_login_id := FND_API.G_MISS_NUM;
288: WHEN OTHERS THEN
289: x_user_status := G_NOT_EXIST;
290: x_user_id := FND_API.G_MISS_NUM;
283: x_login_id := FND_API.G_MISS_NUM;
284: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
285: x_user_status := G_NOT_EXIST;
286: x_user_id := FND_API.G_MISS_NUM;
287: x_login_id := FND_API.G_MISS_NUM;
288: WHEN OTHERS THEN
289: x_user_status := G_NOT_EXIST;
290: x_user_id := FND_API.G_MISS_NUM;
291: x_login_id := FND_API.G_MISS_NUM;
286: x_user_id := FND_API.G_MISS_NUM;
287: x_login_id := FND_API.G_MISS_NUM;
288: WHEN OTHERS THEN
289: x_user_status := G_NOT_EXIST;
290: x_user_id := FND_API.G_MISS_NUM;
291: x_login_id := FND_API.G_MISS_NUM;
292: END Get_UserStatus;
293: --
294: --------------------------------------------------------------------------------
287: x_login_id := FND_API.G_MISS_NUM;
288: WHEN OTHERS THEN
289: x_user_status := G_NOT_EXIST;
290: x_user_id := FND_API.G_MISS_NUM;
291: x_login_id := FND_API.G_MISS_NUM;
292: END Get_UserStatus;
293: --
294: --------------------------------------------------------------------------------
295: -- Start of comments
788: --
789: OPEN DelChanAccs_csr;
790: FETCH DelChanAccs_csr INTO l_flag;
791: IF DelChanAccs_csr%NOTFOUND THEN
792: l_flag := FND_API.G_FALSE;
793: END IF;
794: CLOSE DelChanAccs_csr;
795:
796: IF l_flag = FND_API.G_TRUE THEN
792: l_flag := FND_API.G_FALSE;
793: END IF;
794: CLOSE DelChanAccs_csr;
795:
796: IF l_flag = FND_API.G_TRUE THEN
797: return TRUE;
798: ELSE
799: return FALSE;
800: END IF;
841: --
842: OPEN UpdChanAccs_csr;
843: FETCH UpdChanAccs_csr INTO l_flag;
844: IF UpdChanAccs_csr%NOTFOUND THEN
845: l_flag := FND_API.G_FALSE;
846: END IF;
847: CLOSE UpdChanAccs_csr;
848:
849: IF l_flag = FND_API.G_TRUE THEN
845: l_flag := FND_API.G_FALSE;
846: END IF;
847: CLOSE UpdChanAccs_csr;
848:
849: IF l_flag = FND_API.G_TRUE THEN
850: return TRUE;
851: ELSE
852: return FALSE;
853: END IF;
895: --
896: OPEN DelCatAccs_csr;
897: FETCH DelCatAccs_csr INTO l_flag;
898: IF DelCatAccs_csr%NOTFOUND THEN
899: l_flag := FND_API.G_FALSE;
900: END IF;
901: CLOSE DelCatAccs_csr;
902:
903: IF l_flag = FND_API.G_TRUE THEN
899: l_flag := FND_API.G_FALSE;
900: END IF;
901: CLOSE DelCatAccs_csr;
902:
903: IF l_flag = FND_API.G_TRUE THEN
904: return TRUE;
905: ELSE
906: return FALSE;
907: END IF;
948: --
949: OPEN UpdCatAccs_csr;
950: FETCH UpdCatAccs_csr INTO l_flag;
951: IF UpdCatAccs_csr%NOTFOUND THEN
952: l_flag := FND_API.G_FALSE;
953: END IF;
954: CLOSE UpdCatAccs_csr;
955:
956: IF l_flag = FND_API.G_TRUE THEN
952: l_flag := FND_API.G_FALSE;
953: END IF;
954: CLOSE UpdCatAccs_csr;
955:
956: IF l_flag = FND_API.G_TRUE THEN
957: return TRUE;
958: ELSE
959: return FALSE;
960: END IF;