DBA Data[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;