1 Package Body AHL_UTIL_PKG AS
2 /* $Header: AHLUTILB.pls 120.6.12020000.2 2012/12/10 16:53:36 prakkum ship $ */
3
4
5 ------------------------------------------
6 -- Convert messages on stack into table --
7 ------------------------------------------
8 Procedure ERR_MESG_TO_TABLE (
9 x_err_table OUT NOCOPY Err_Tbl_Type ) IS
10
11 l_msg_count NUMBER;
12 l_msg_index_out NUMBER;
13 l_msg_data VARCHAR2(2000);
14 l_err_rec Err_Rec_Type;
15
16 BEGIN
17
18 -- Standard call to get message count.
19 l_msg_count := FND_MSG_PUB.Count_Msg;
20
21 FOR i IN 1..l_msg_count LOOP
22 FND_MSG_PUB.get (
23 p_msg_index => i,
24 p_encoded => FND_API.G_FALSE,
25 p_data => l_msg_data,
26 p_msg_index_out => l_msg_index_out );
27 l_err_rec.msg_index := l_msg_index_out;
28 l_err_rec.msg_data := l_msg_data;
29
30 x_err_table(i) := l_err_rec;
31 END LOOP;
32
33 END;
34
35 FUNCTION is_pm_installed RETURN VARCHAR2 IS
36
37 l_pm_install_flag VARCHAR2(1);
38 l_appln_usage_defined VARCHAR2(30);
39 l_return_status VARCHAR2(1) ;
40
41 BEGIN
42
43 Get_Appln_Usage(l_appln_usage_defined,l_return_status );
44
45 IF ( l_appln_usage_defined = 'PM')
46 THEN
47 l_pm_install_flag := 'Y';
48 ELSE
49 l_pm_install_flag := 'N';
50 END IF ;
51
52 RETURN l_pm_install_flag ;
53
54 END is_pm_installed;
55
56 -----------------------------------------------
57 PROCEDURE Get_Appln_Usage(x_appln_code OUT NOCOPY VARCHAR2,x_return_status OUT NOCOPY VARCHAR2)
58 AS
59 BEGIN
60
61 x_appln_code:= rtrim(ltrim(FND_PROFILE.value( 'AHL_APPLN_USAGE' )));
62 IF ( x_appln_code IS NULL ) THEN
63 Fnd_Message.set_name('AHL', 'AHL_COM_APP_PROF_UI');
64 Fnd_Msg_Pub.ADD;
65 x_return_status:=FND_API.G_RET_STS_ERROR;
66 ELSE
67 x_return_status:=FND_API.G_RET_STS_SUCCESS;
68 END IF;
69
70 END Get_Appln_Usage;
71
72 -- pdoki added
73 -- Start of Comments --
74 -- Function name : Get_User_Role
75 --
76 -- Parameters :
77 -- p_fnd_function_name Input FND function name.
78 --
79 -- Description : This function is used to retrieve the role associated with the current user
80 FUNCTION Get_User_Role(
81 p_function_key IN VARCHAR2 := NULL
82 ) RETURN VARCHAR2
83
84 IS
85 l_user_role VARCHAR2(30);
86
87 BEGIN
88
89 AHL_DEBUG_PUB.debug( 'entering Get_User_Role' );
90
91 IF ( upper(p_function_key) = 'AHL_DI_VIEW') THEN
92 IF (FND_FUNCTION.TEST('AHL_DI_VIEW')) THEN
93 -- Document Index: View Only User
94 l_user_role := 'AHL_DI_VIEW';
95 END IF;
96 END IF;
97
98 IF ( upper(p_function_key) = 'AHL_RM_OPERATIONS_VIEW') THEN
99 IF (FND_FUNCTION.TEST('AHL_RM_OPERATIONS_VIEW')) THEN
100 -- Route Management: Operations View Only User
101 l_user_role := 'AHL_RM_OPERATIONS_VIEW';
102 END IF;
103 END IF;
104
105 IF ( upper(p_function_key) = 'AHL_RM_ROUTES_VIEW') THEN
106 IF (FND_FUNCTION.TEST('AHL_RM_ROUTES_VIEW')) THEN
107 -- Route Management: Routes View Only User
108 l_user_role := 'AHL_RM_ROUTES_VIEW';
109 END IF;
110 END IF;
111
112 IF ( upper(p_function_key) = 'AHL_FMP_VIEW') THEN
113 IF (FND_FUNCTION.TEST('AHL_FMP_VIEW')) THEN
114 -- Fleet Maintenance Program: View Only User
115 l_user_role := 'AHL_FMP_VIEW';
116 END IF;
117 END IF;
118
119 --JKJain starts
120 IF ( upper(p_function_key) = 'AHL_ALLOW_CREATE_NR_FROM_NR') THEN
121 IF (FND_FUNCTION.TEST('AHL_ALLOW_CREATE_NR_FROM_NR')) THEN
122 -- Allow user to create a Non-Routine from the context of another Non-Routine workorder.
123 l_user_role := 'AHL_ALLOW_CREATE_NR_FROM_NR';
124 END IF;
125 END IF;
126 --JKJain ends
127
128 IF ( upper(p_function_key) = 'AHL_PRD_UNCLOSE_WORKORDERS') THEN
129 IF (FND_FUNCTION.TEST('AHL_PRD_UNCLOSE_WORKORDERS')) THEN
130 l_user_role := 'AHL_PRD_UNCLOSE_WORKORDERS';
131 END IF;
132 END IF;
133
134 AHL_DEBUG_PUB.debug( l_user_role );
135
136 RETURN l_user_role;
137
138 EXCEPTION
139 WHEN OTHERS THEN
140 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
141 fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_UTIL_PKG',
142 p_procedure_name => 'Get_User_Role',
143 p_error_text => SUBSTR(SQLERRM,1,240));
144 END IF;
145 RETURN NULL;
146
147 END Get_User_Role;
148 --pdoki ends
149
150 -- JKJain added
151 -- Start of Comments --
152 -- Function name : Get_Wip_Eam_Class_Type
153 -- Description : This function is used to retrieve Class_Type of EAM stored in WIP_CONSTANTS.
154 -- It will return valuse '6' , for Maintenance Calss Type.
155
156 FUNCTION Get_Wip_Eam_Class_Type RETURN NUMBER IS
157 BEGIN
158 RETURN WIP_CONSTANTS.EAM;
159 END Get_Wip_Eam_Class_Type ;
160
161 -- JKJain added for ER9367907
162 FUNCTION Get_Message_String(p_message_key VARCHAR2)
163 RETURN VARCHAR2
164 IS
165 BEGIN
166 FND_MESSAGE.SET_NAME('AHL', p_message_key);
167 RETURN FND_MESSAGE.get;
168
169 END Get_Message_String ;
170
171 -------------------------------------------------------------------------
172 -- sansatpa added for marshalling
173 -- generic method to check if user is allowed for the security function
174 -- P_FUNCTION_NAME - the security function
175 -------------------------------------------------------------------------
176
177 FUNCTION IS_USER_ALLOWED_FOR_FUNC(
178 P_FUNCTION_NAME IN VARCHAR2 )
179 RETURN VARCHAR2
180 IS
181
182 BEGIN
183
184 IF(P_FUNCTION_NAME IS NULL)
185 THEN
186 RETURN FND_API.G_FALSE;
187 END IF;
188
189 IF (FND_FUNCTION.TEST(P_FUNCTION_NAME)) THEN
190 RETURN FND_API.G_TRUE;
191 END IF;
192
193 RETURN FND_API.G_FALSE;
194
195 END IS_USER_ALLOWED_FOR_FUNC;
196
197
198 END AHL_UTIL_PKG;