DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_UTIL_PKG

Source


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;