[Home] [Help]
PACKAGE BODY: APPS.BIS_KPILIST_WIZARD_PKG
Source
1 PACKAGE BODY BIS_KPILIST_WIZARD_PKG AS
2 /* $Header: BISFKPIB.pls 120.0 2005/06/01 17:42:44 appldev noship $ */
3 /*
4 REM +=======================================================================+
5 REM | Copyright (c) 1998 Oracle Corporation, Redwood Shores, CA, USA |
6 REM | All rights reserved. |
7 REM +=======================================================================+
8 REM | FILENAME |
9 REM | BISFKPIB.pls |
10 REM | |
11 REM | DESCRIPTION |
12 REM | NOTES |
13 REM | |
14 REM | HISTORY |
15 REM | 14-OCT-03 akchan Initial Creation |
16 REM | 11-FEB-2004 gbhaloti Added API for deleting a function |
17 REM | 05-APR-2004 smargand Removed pXMLDefinition Hardcoding for #3551755|
18 REM | 13-SEP-2004 arhegde bug# 3885788 Added userId to createdby |
19 REM +=======================================================================+
20 */
21 --
22 --
23 --
24 PROCEDURE CREATE_FUNCTION
25 ( p_function_name IN VARCHAR2
26 , p_document_name IN VARCHAR2
27 , p_portlet_name IN VARCHAR2
28 , p_description IN VARCHAR2 := NULL
29 , x_function_id OUT NOCOPY VARCHAR2
30 )
31 IS
32
33 p_param VARCHAR2(1000) := 'pXMLDefinition=' || p_document_name;
34 x_rowid ROWID;
35 x_fid NUMBER;
36 p_web_portlet VARCHAR2(1000);
37
38 BEGIN
39
40 SELECT FND_FORM_FUNCTIONS_S.nextval
41 INTO x_fid
42 FROM sys.dual;
43
44 p_web_portlet := 'OA.jsp?akRegionCode=BIS_PMF_PORTLET_TABLE_LAYOUT&akRegionApplicationId=191';
45
46
47
48 FND_FORM_FUNCTIONS_PKG.INSERT_ROW
49 ( X_ROWID => x_rowid
50 ,X_FUNCTION_ID => x_fid
51 ,X_WEB_HOST_NAME => ''
52 ,X_WEB_AGENT_NAME => ''
53 ,X_WEB_HTML_CALL => p_web_portlet
54 ,X_WEB_ENCRYPT_PARAMETERS => 'N'
55 ,X_WEB_SECURED => 'N'
56 ,X_WEB_ICON => ''
57 ,X_OBJECT_ID => NULL
58 ,X_REGION_APPLICATION_ID => NULL
59 ,X_REGION_CODE => ''
60 ,X_FUNCTION_NAME => p_function_name
61 ,X_APPLICATION_ID => NULL
62 ,X_FORM_ID => NULL
63 ,X_PARAMETERS => p_param
64 ,X_TYPE => 'WEBPORTLET'
65 ,X_USER_FUNCTION_NAME => p_portlet_name
66 ,X_DESCRIPTION => p_description
67 ,X_CREATION_DATE => sysdate
68 ,X_CREATED_BY => FND_GLOBAL.user_id
69 ,X_LAST_UPDATE_DATE => sysdate
70 ,X_LAST_UPDATED_BY => FND_GLOBAL.user_id
71 ,X_LAST_UPDATE_LOGIN => FND_GLOBAL.user_id
72 ,X_MAINTENANCE_MODE_SUPPORT => 'NONE'
73 ,X_CONTEXT_DEPENDENCE => 'RESP'
74 );
75
76 x_function_id := '' || x_fid;
77
78 END CREATE_FUNCTION;
79
80
81 PROCEDURE UPDATE_FUNCTION
82 ( p_function_id IN VARCHAR2
83 , p_function_name IN VARCHAR2
84 , p_parameters IN VARCHAR2
85 , p_user_function_name IN VARCHAR2
86 , p_description IN VARCHAR2 := NULL
87 )
88
89 IS
90
91 params VARCHAR2(300);
92
93 BEGIN
94
95 --params := 'pXMLDefinition=' || p_parameters;
96
97 UPDATE fnd_form_functions
98 SET function_name = p_function_name,
99 parameters = p_parameters
100 WHERE function_id = p_function_id;
101
102
103 UPDATE fnd_form_functions_tl
104 SET user_function_name = p_user_function_name,
105 description = p_description
106 WHERE function_id = p_function_id;
107
108 END UPDATE_FUNCTION;
109
110 PROCEDURE UPDATE_FUNCTION_PARAMETERS
111 ( p_function_short_name IN VARCHAR2
112 , p_parameters IN VARCHAR2
113 , p_user_function_name IN VARCHAR2
114 )
115 IS
116
117 fid NUMBER;
118
119 BEGIN
120
121 UPDATE fnd_form_functions_vl
122 SET parameters = p_parameters,
123 user_function_name = p_user_function_name
124 WHERE function_name = p_function_short_name;
125
126
127 SELECT function_id INTO fid
128 FROM fnd_form_functions_vl
129 WHERE function_name = p_function_short_name;
130
131 UPDATE fnd_form_functions_tl
132 SET user_function_name = p_user_function_name
133 WHERE function_id = fid;
134
135
136 END UPDATE_FUNCTION_PARAMETERS;
137
138
139 --Procedure to delete a function entry
140 PROCEDURE DELETE_FUNCTION
141 ( p_function_name IN VARCHAR2
142 , x_return_status OUT NOCOPY VARCHAR2
143 )
144 IS
145 l_function_id fnd_form_functions.function_id%TYPE;
146 l_created_by fnd_form_functions.created_by%TYPE;
147 l_seed_user fnd_form_functions.created_by%TYPE;
148
149 l_menu_id fnd_menu_entries.menu_id%TYPE;
150 l_entry_sequence fnd_menu_entries.entry_sequence%TYPE;
151
152 CURSOR function_id_crsr IS
153 SELECT function_id, created_by
154 FROM fnd_form_functions
155 WHERE function_name = p_function_name;
156
157 CURSOR menu_crsr (p_function_id fnd_menu_entries.function_id%TYPE) IS
158 SELECT menu_id, entry_sequence
159 FROM fnd_menu_entries
160 WHERE function_id = p_function_id;
161 BEGIN
162 x_return_status := FND_API.G_RET_STS_SUCCESS;
163
164 IF (function_id_crsr%ISOPEN) THEN
165 CLOSE function_id_crsr;
166 END IF;
167
168 OPEN function_id_crsr;
169 FETCH function_id_crsr INTO l_function_id, l_created_by;
170 CLOSE function_id_crsr;
171
172 l_seed_user := fnd_load_util.owner_id('ORACLE');
173
174 IF (l_created_by = l_seed_user) THEN /* CRUDE Assumption here that for all seeded data created_by = 1*/
175 --THE FUNCTION WAS SEEDED
176 x_return_status := 'ISSEED';
177 ELSE
178 DELETE FROM fnd_form_functions where function_name = p_function_name;
179 DELETE FROM fnd_form_functions_tl where function_id = l_function_id;
180 END IF;
181
182 /* Also delete the menu entries corresponding to this function */
183 OPEN menu_crsr(l_function_id);
184 FETCH menu_crsr INTO l_menu_id, l_entry_sequence;
185 CLOSE menu_crsr;
186
187 DELETE FROM fnd_menu_entries WHERE function_id = l_function_id;
188 DELETE FROM fnd_menu_entries_tl WHERE menu_id = l_menu_id AND entry_sequence = l_entry_sequence;
189
190
191 EXCEPTION
192 WHEN OTHERS THEN
193 IF (function_id_crsr%ISOPEN) THEN
194 CLOSE function_id_crsr;
195 END IF;
196 x_return_status := 'ERROR';
197
198 END DELETE_FUNCTION;
199
200
201
202 END BIS_KPILIST_WIZARD_PKG;