DBA Data[Home] [Help]

PACKAGE BODY: APPS.VEA_VERSIONS_SV

Source


1 PACKAGE BODY VEA_VERSIONS_SV as
2 /* $Header: VEAVAVRB.pls 115.3 2004/07/27 00:08:59 rvishnuv noship $      */
3 --{
4     /*======================  vea_versions_sv  =========================*/
5     /*========================================================================
6        PURPOSE:
7 
8        NOTES:                To run the script:
9 
10                              sql> start VEAVALHB.pls
11 
12        HISTORY
13                              Created   N PARIKH       09/09/99 10:00 AM
14 
15     =========================================================================*/
16 
17     G_PACKAGE_NAME   CONSTANT VARCHAR2(30) := 'VEA_VERSIONS_SV';
18     --
19     --
20     /*========================================================================
21 
22        PROCEDURE NAME:
23 
24        PURPOSE:
25 
26     ========================================================================*/
27     PROCEDURE
28       insert_row
29         (
30           p_layer_provider_code     IN     vea_versions.layer_provider_code%TYPE,
31           p_release_id              IN     vea_versions.release_id%TYPE,
32           p_version_id              IN     vea_versions.version_id%TYPE,
33           p_version_number          IN     vea_versions.version_number%TYPE,
34           p_description             IN     vea_versions.description%TYPE
35         )
36     IS
37     --{
38         l_api_name            CONSTANT VARCHAR2(30) := 'insert_row';
39         l_location            VARCHAR2(32767);
40 	--
41 	--
42         l_user_id       NUMBER := vea_tpa_util_pvt.get_user_id;
43         l_login_id      NUMBER := vea_tpa_util_pvt.get_login_id;
44     --}
45     BEGIN
46     --{
47 	l_location := '0010';
48 	--
49         INSERT INTO vea_versions
50           (
51             layer_provider_code, release_id,
52             version_id, version_number,
53             description,
54             created_by, creation_date,
55             last_updated_by, last_update_date,
56             last_update_login
57           )
58         VALUES
59           (
60             p_layer_provider_code, p_release_id,
61             p_version_id, p_version_number,
62             p_description,
63             l_user_id, SYSDATE,
64             l_user_id, SYSDATE,
65             l_login_id
66           );
67     --}
68     EXCEPTION
69     --{
70 	WHEN OTHERS
71 	THEN
72 	--{
73 	    vea_tpa_util_pvt.add_exc_message_and_raise
74 	      (
75 		p_package_name => G_PACKAGE_NAME,
76 		p_api_name     => l_api_name,
77 		p_location     => l_location
78 	      );
79 	--}
80     --}
81     END insert_row;
82     --
83     --
84     /*========================================================================
85 
86        PROCEDURE NAME:
87 
88        PURPOSE:
89 
90     ========================================================================*/
91     PROCEDURE
92       update_row
93         (
94           p_layer_provider_code     IN     vea_versions.layer_provider_code%TYPE,
95           p_release_id              IN     vea_versions.release_id%TYPE,
96           p_version_id              IN     vea_versions.version_id%TYPE,
97           p_version_number          IN     vea_versions.version_number%TYPE,
98           p_description             IN     vea_versions.description%TYPE
99         )
100     IS
101     --{
102         l_api_name            CONSTANT VARCHAR2(30) := 'update_row';
103         l_location            VARCHAR2(32767);
104 	--
105 	--
106         l_user_id       NUMBER := vea_tpa_util_pvt.get_user_id;
107         l_login_id      NUMBER := vea_tpa_util_pvt.get_login_id;
108     --}
109     BEGIN
110     --{
111 	l_location := '0010';
112 	--
113         UPDATE vea_versions
114         SET    version_number               = p_version_number,
115                description                  = p_description,
116                last_updated_by              = l_user_id,
117                last_update_date             = SYSDATE,
118                last_update_login            = l_login_id
119         WHERE  layer_provider_code          = p_layer_provider_code
120         AND    release_id                   = p_release_id
121         AND    version_id                   = p_version_id;
122     --}
123     EXCEPTION
124     --{
125 	WHEN OTHERS
126 	THEN
127 	--{
128 	    vea_tpa_util_pvt.add_exc_message_and_raise
129 	      (
130 		p_package_name => G_PACKAGE_NAME,
131 		p_api_name     => l_api_name,
132 		p_location     => l_location
133 	      );
134 	--}
135     --}
136     END update_row;
137     --
138     --
139     /*========================================================================
140 
141        PROCEDURE NAME:
142 
143        PURPOSE:
144 
145     ========================================================================*/
146     PROCEDURE
147       process
148         (
149           p_api_version                IN     NUMBER,
150           p_init_msg_list              IN     VARCHAR2 := FND_API.G_FALSE,
151           p_commit                     IN     VARCHAR2 := FND_API.G_FALSE,
152           p_validation_level           IN     NUMBER   := FND_API.G_VALID_LEVEL_FULL,
153           x_return_status              OUT NOCOPY     VARCHAR2,
154           x_msg_count                  OUT NOCOPY     NUMBER,
155           x_msg_data                   OUT NOCOPY     VARCHAR2,
156           p_release_id                 IN     vea_versions.release_id%TYPE,
157           p_version_id                 IN     vea_versions.version_id%TYPE,
158           p_layer_provider_code        IN     vea_versions.layer_provider_code%TYPE,
159           p_version_number             IN     vea_versions.version_number%TYPE,
160           p_description                IN     vea_versions.description%TYPE
161         )
162     IS
163     --{
164         l_api_name            CONSTANT VARCHAR2(30) := 'process';
165         l_api_version         CONSTANT NUMBER       := 1.0;
166         l_api_type            CONSTANT VARCHAR2(3)  := vea_tpa_util_pvt.G_PUBLIC_API;
167         --
168         --
169         l_location            VARCHAR2(32767);
170         l_savepoint_name      VARCHAR2(30);
171         l_layer_id     vea_layers.layer_id%TYPE;
172         l_release_id   vea_versions.release_id%TYPE;
173         l_version_id   vea_versions.version_id%TYPE;
174         --
175         --
176         CURSOR layer_cur
177                  (
178                    p_release_id              IN  vea_versions.release_id%TYPE,
179                    p_version_id              IN  vea_versions.version_id%TYPE,
180                    p_version_number          IN  vea_versions.version_number%TYPE,
181                    p_layer_provider_code     IN  vea_versions.layer_provider_code%TYPE
182                  )
183         IS
184           SELECT 1 layer_id,
185                  version_id
186           FROM   vea_versions
187           WHERE  layer_provider_code     = p_layer_provider_code
188           AND    release_id              = p_release_id
189           AND    version_id              = p_version_id
190           AND    version_number              = p_version_number;
191         --
192         --
193     --}
194     BEGIN
195     --{
196 	l_location := '0010';
197 	--
198 	IF NOT( vea_tpa_util_pvt.is_vea_installed() )
199 	THEN
200 	   RETURN;
201 	END IF;
202 	--
203 	--
204         -- Standard API Header
205         --
206 	l_location := '0020';
207 	--
208         vea_tpa_util_pvt.api_header
209           (
210             p_package_name                => G_PACKAGE_NAME,
211             p_api_name                    => l_api_name,
212             p_api_type                    => l_api_type,
213             p_api_current_version         => l_api_version,
214             p_api_caller_version          => p_api_version,
215             p_init_msg_list               => p_init_msg_list,
216             x_savepoint_name              => l_savepoint_name,
217             x_api_return_status           => x_return_status
218           );
219         --
220         --
221         --{ API Body
222         --
223         --
224 	l_location := '0030';
225 	--
226         l_layer_id := NULL;
227         l_version_id := p_version_id;
228         --
229 	--
230         IF (VEA_TPA_UTIL_PVT.isLayerMergeOn) THEN
231         --{
232           l_release_id := nvl(vea_release_details_sv.g_release_id,p_release_id);
233         --}
234         ELSE
235         --{
236           l_release_id := p_release_id;
237          --}
238         END IF;
239 	--
240         --
241 	l_location := '0040';
242 	--
243         FOR layer_rec IN layer_cur
244                                   (
245                                     p_release_id              => l_release_id,
246                                     p_version_id              => p_version_id,
247                                     p_version_number          => p_version_number,
248                                     p_layer_provider_code     => p_layer_provider_code
249                                   )
250         LOOP
251         --{
252 	    l_location := '0050';
253 	    --
254             l_layer_id := layer_rec.layer_id;
255             l_version_id := layer_rec.version_id;
256         --}
257         END LOOP;
258         --
259         --
260 	l_location := '0060';
261 	--
262         IF l_layer_id IS NULL
263         THEN
264         --{
265 	    l_location := '0070';
266 	    --
267             insert_row
268               (
269                 p_layer_provider_code     => p_layer_provider_code,
270                 p_release_id              => l_release_id,
271                 p_version_id              => l_version_id,
272                 p_version_number          => p_version_number,
273                 p_description             => p_description
274               );
275         --}
276         ELSE
277         --{
278 	    l_location := '0080';
279 	    --
280             update_row
281               (
282                 p_layer_provider_code     => p_layer_provider_code,
283                 p_release_id              => l_release_id,
284                 p_version_id              => l_version_id,
285                 p_version_number          => p_version_number,
286                 p_description             => p_description
287               );
288         --}
289         END IF;
290         --
291         --
292         --} API Body
293         --
294         --
295         -- Standard  API Footer
296         --
297 	l_location := '0090';
298 	--
299         vea_tpa_util_pvt.api_footer
300           (
301             p_commit                      => p_commit,
302             x_msg_count                   => x_msg_count,
303             x_msg_data                    => x_msg_data
304           );
305     --}
306     EXCEPTION
307     --{
308         WHEN FND_API.G_EXC_ERROR
309         THEN
310         --{
311             --RAISE;
312             vea_tpa_util_pvt.handle_error
313               (
314                 p_error_type                  => vea_tpa_util_pvt.G_ERROR,
315                 p_savepoint_name              => l_savepoint_name,
316                 p_package_name                => G_PACKAGE_NAME,
317                 p_api_name                    => l_api_name,
318 	        p_location                    => l_location,
319                 x_msg_count                   => x_msg_count,
320                 x_msg_data                    => x_msg_data,
321                 x_api_return_status           => x_return_status
322               );
323         --}
324         WHEN FND_API.G_EXC_UNEXPECTED_ERROR
325         THEN
326         --{
327             --RAISE;
328             vea_tpa_util_pvt.handle_error
329               (
330                 p_error_type                  => vea_tpa_util_pvt.G_UNEXPECTED_ERROR,
331                 p_savepoint_name              => l_savepoint_name,
332                 p_package_name                => G_PACKAGE_NAME,
333                 p_api_name                    => l_api_name,
334 	        p_location                    => l_location,
335                 x_msg_count                   => x_msg_count,
336                 x_msg_data                    => x_msg_data,
337                 x_api_return_status           => x_return_status
338               );
339         --}
340         WHEN OTHERS
341         THEN
342         --{
343             --RAISE;
344             vea_tpa_util_pvt.handle_error
345               (
346                 p_error_type                  => vea_tpa_util_pvt.G_OTHER_ERROR,
347                 p_savepoint_name              => l_savepoint_name,
348                 p_package_name                => G_PACKAGE_NAME,
349                 p_api_name                    => l_api_name,
350 	        p_location                    => l_location,
351                 x_msg_count                   => x_msg_count,
352                 x_msg_data                    => x_msg_data,
353                 x_api_return_status           => x_return_status
354               );
355         --}
356     --}
357     END process;
358 --}
359 END VEA_VERSIONS_SV;