1 PACKAGE BODY IEC_SCHEDULE_MGMT_UTIL_PVT AS
2 /* $Header: IECSMUTB.pls 120.1 2006/03/28 09:33:53 hhuang noship $ */
3
4 ------------------------------------------------------------------------------
5 -- Procedure : Add_Invalid_Argument_Msg
6 ------------------------------------------------------------------------------
7
8 PROCEDURE Add_Invalid_Argument_Msg
9 ( p_token_an IN VARCHAR2,
10 p_token_v IN VARCHAR2,
11 p_token_p IN VARCHAR2 )
12 IS
13 x_msg_count NUMBER;
14 x_msg_data VARCHAR2(240);
15 BEGIN
16 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
17 fnd_message.set_name('IEC', 'JTF_API_ALL_INVALID_ARGUMENT');
18 fnd_message.set_token('API_NAME', p_token_an);
19 fnd_message.set_token('VALUE', p_token_v);
20 fnd_message.set_token('PARAMETER', p_token_p);
21 fnd_msg_pub.add;
22 END IF;
23
24 END Add_Invalid_Argument_Msg;
25
26 ------------------------------------------------------------------------------
27 -- Procedure : Add_Null_Parameter_Msg
28 ------------------------------------------------------------------------------
29
30 PROCEDURE Add_Null_Parameter_Msg
31 ( p_token_an IN VARCHAR2,
32 p_token_np IN VARCHAR2 )
33 IS
34 BEGIN
35 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
36 fnd_message.set_name('IEC', 'JTF_API_ALL_NULL_PARAMETER');
37 fnd_message.set_token('API_NAME', p_token_an);
38 fnd_message.set_token('NULL_PARAM', p_token_np);
39 fnd_msg_pub.add;
40 END IF;
41 END Add_Null_Parameter_Msg;
42
43 ------------------------------------------------------------------------------
44 -- Procedure : Validate_Who_Info
45 ------------------------------------------------------------------------------
46
47 PROCEDURE Validate_Who_Info
48 ( p_api_name IN VARCHAR2,
49 p_parameter_name_usr IN VARCHAR2,
50 p_parameter_name_log IN VARCHAR2,
51 p_user_id IN NUMBER,
52 p_login_id IN NUMBER,
53 p_resp_id IN NUMBER := NULL,
54 p_resp_appl_id IN NUMBER := NULL,
55 x_return_status IN OUT NOCOPY VARCHAR2 )
56 IS
57 l_dummy VARCHAR2(1);
58 BEGIN
59 x_return_status := fnd_api.g_ret_sts_success;
60
61 BEGIN
62 -- Special check to not check the dates when the user ID is (-1).
63 IF p_user_id = -1 THEN
64 SELECT 'x' INTO l_dummy
65 FROM fnd_user
66 WHERE user_id = p_user_id;
67 ELSE
68 SELECT 'x' INTO l_dummy
69 FROM fnd_user
70 WHERE user_id = p_user_id
71 AND Trunc(Sysdate) BETWEEN Trunc(Nvl(start_date, Sysdate))
72 AND Trunc(Nvl(end_date, Sysdate));
73 END IF;
74 EXCEPTION
75 WHEN no_data_found THEN
76 x_return_status := fnd_api.g_ret_sts_error;
77 add_invalid_argument_msg(p_api_name, To_char(p_user_id),
78 p_parameter_name_usr);
79 RETURN;
80 END;
81
82 IF (p_login_id IS NOT NULL) AND (p_login_id <> -1) THEN -- remove this line of code once bugdb # 1377488 has been resolved
83 -- Do not validate login id if audit level set to NONE
84 IF (fnd_profile.value_specific('SIGNONAUDIT:LEVEL', p_user_id,
85 p_resp_id, p_resp_appl_id) <> 'A') THEN
86 BEGIN
87 SELECT 'x' INTO l_dummy
88 FROM fnd_logins
89 WHERE login_id = p_login_id
90 AND user_id = p_user_id;
91 EXCEPTION
92 WHEN no_data_found THEN
93 x_return_status := fnd_api.g_ret_sts_error;
94 add_invalid_argument_msg(p_api_name, To_char(p_login_id),
95 p_parameter_name_log);
96 END;
97 END IF;
98 END IF;
99
100 END Validate_Who_Info;
101
102 END IEC_SCHEDULE_MGMT_UTIL_PVT;