DBA Data[Home] [Help]

PACKAGE BODY: APPS.VEA_LAYER_HEADERS_SV

Source


1 PACKAGE BODY VEA_LAYER_HEADERS_SV as
2 /* $Header: VEAVALHB.pls 115.13 2004/07/27 00:52:27 rvishnuv ship $      */
3 --{
4     /*======================  vea_layer_headers_sv  =========================*/
5     /*========================================================================
6        PURPOSE:  Table handler package for table VEA_LAYER_HEADERS
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_LAYER_HEADERS_SV';
18     --
19     --
20     /*========================================================================
21 
22        PROCEDURE NAME: insert_row
23 
24        PURPOSE: Inserts a record into VEA_LAYER_HEADERS table
25 
26     ========================================================================*/
27     PROCEDURE
28       insert_row
29         (
30           p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
31           p_layer_header_id           IN     vea_layer_headers.layer_header_id%TYPE,
32           p_program_unit_id           IN     vea_layer_headers.program_unit_id%TYPE,
33           p_program_unit_lp_code      IN     vea_layer_headers.program_unit_lp_code%TYPE,
34           p_tps_program_unit_id       IN     vea_layer_headers.tps_program_unit_id%TYPE,
35           p_tps_program_unit_lp_code  IN     vea_layer_headers.tps_program_unit_lp_code%TYPE,
36           p_condition_type            IN     vea_layer_headers.condition_type%TYPE,
37           p_description               IN     vea_layer_headers.description%TYPE
38         )
39     IS
40     --{
41         l_api_name            CONSTANT VARCHAR2(30) := 'insert_row';
42         l_location            VARCHAR2(32767);
43 	--
44 	--
45         l_user_id       NUMBER := vea_tpa_util_pvt.get_user_id;
46         l_login_id      NUMBER := vea_tpa_util_pvt.get_login_id;
47     --}
48     BEGIN
49     --{
50 	l_location := '0010';
51 	--
52         INSERT INTO vea_layer_headers
53           (
54             layer_provider_code, layer_header_id,
55             program_unit_id, program_unit_lp_code,
56             tps_program_unit_id, tps_program_unit_lp_code,
57 	    condition_type,
58             description,
59             created_by, creation_date,
60             last_updated_by, last_update_date,
61             last_update_login
62           )
63         VALUES
64           (
65             p_layer_provider_code, p_layer_header_id,
66             p_program_unit_id, p_program_unit_lp_code,
67             p_tps_program_unit_id, p_tps_program_unit_lp_code,
68 	    p_condition_type,
69             p_description,
70             l_user_id, SYSDATE,
71             l_user_id, SYSDATE,
72             l_login_id
73           );
74     --}
75     EXCEPTION
76     --{
77 	WHEN OTHERS
78 	THEN
79 	--{
80 	    vea_tpa_util_pvt.add_exc_message_and_raise
81 	      (
82 		p_package_name => G_PACKAGE_NAME,
83 		p_api_name     => l_api_name,
84 		p_location     => l_location
85 	      );
86 	--}
87     --}
88     END insert_row;
89     --
90     --
91     /*========================================================================
92 
93        PROCEDURE NAME: update_row
94 
95        PURPOSE: Updates a record into VEA_LAYER_HEADERS table
96 
97     ========================================================================*/
98     PROCEDURE
99       update_row
100         (
101           p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
102           p_layer_header_id           IN     vea_layer_headers.layer_header_id%TYPE,
103           p_program_unit_id           IN     vea_layer_headers.program_unit_id%TYPE,
104           p_program_unit_lp_code      IN     vea_layer_headers.program_unit_lp_code%TYPE,
105           p_tps_program_unit_id       IN     vea_layer_headers.tps_program_unit_id%TYPE,
106           p_tps_program_unit_lp_code  IN     vea_layer_headers.tps_program_unit_lp_code%TYPE,
107           p_condition_type            IN     vea_layer_headers.condition_type%TYPE,
108           p_description               IN     vea_layer_headers.description%TYPE,
109           p_old_layer_header_id       IN     vea_layer_headers.layer_header_id%TYPE
110         )
111     IS
112     --{
113         l_api_name            CONSTANT VARCHAR2(30) := 'update_row';
114         l_location            VARCHAR2(32767);
115 	--
116 	--
117         l_user_id       NUMBER := vea_tpa_util_pvt.get_user_id;
118         l_login_id      NUMBER := vea_tpa_util_pvt.get_login_id;
119     --}
120     BEGIN
121     --{
122 	l_location := '0010';
123 	--
124 	IF p_condition_type IS NULL
125 	THEN
126 	--{
127 	    l_location := '0020';
128 	    --
129             vea_parameter_mappings_sv.delete_rows
130 	      (
131                 p_layer_provider_code        => p_layer_provider_code,
132                 p_layer_header_id            => p_old_layer_header_id
133 	      );
134 	    --
135 	    --
136 	    IF p_old_layer_header_id <> p_layer_header_id
137 	    THEN
138 	    --{
139 	        l_location := '0020';
140 	        --
141 		UPDATE vea_layers
142 		SET    layer_header_id = p_layer_header_id
143                 WHERE  p_layer_provider_code  = p_layer_provider_code
144                 AND    p_layer_header_id      = p_old_layer_header_id;
145 	    --}
146 	    END IF;
147 	    --
148 	    --
149 	/*
150             vea_layers_sv.delete_rows
151 	      (
152                 p_layer_provider_code        => p_layer_provider_code,
153                 p_layer_header_id            => p_layer_header_id
154 	      );
155 	    --
156 	    --
157          */
158 	    /*
159             insert_row
160               (
161                 p_layer_provider_code        => p_layer_provider_code,
162                 p_layer_header_id            => p_layer_header_id,
163                 p_program_unit_id            => p_program_unit_id,
164                 p_program_unit_lp_code       => p_program_unit_lp_code,
165                 p_tps_program_unit_id        => p_tps_program_unit_id,
166                 p_tps_program_unit_lp_code   => p_tps_program_unit_lp_code,
167                 p_condition_type             => p_condition_type,
168                 p_description                => p_description
169 	      );
170 	      */
171 	--}
172 	END IF;
173 	--
174 	--
175 	l_location := '0030';
176 	--
177             UPDATE vea_layer_headers
178             SET
179                    tps_program_unit_id          = p_tps_program_unit_id,
180                    tps_program_unit_lp_code     = p_tps_program_unit_lp_code,
181                    program_unit_id              = p_program_unit_id,
182                    program_unit_lp_code         = p_program_unit_lp_code,
183 		   condition_type               = p_condition_type,
184                    description                  = p_description,
185                    last_updated_by              = l_user_id,
186                    last_update_date             = SYSDATE,
187                    last_update_login            = l_login_id
188             WHERE  layer_provider_code          = p_layer_provider_code
189             --AND    program_unit_id              = p_program_unit_id
190             --AND    program_unit_lp_code         = p_program_unit_lp_code
191 	    AND    layer_header_id              = p_layer_header_id;
192     --}
193     EXCEPTION
194     --{
195 	WHEN OTHERS
196 	THEN
197 	--{
198 	    vea_tpa_util_pvt.add_exc_message_and_raise
199 	      (
200 		p_package_name => G_PACKAGE_NAME,
201 		p_api_name     => l_api_name,
202 		p_location     => l_location
203 	      );
204 	--}
205     --}
206     END update_row;
207     --
208     --
209     /*========================================================================
210 
211        PROCEDURE NAME: delete_rows
212 
213        PURPOSE: Queries all records which has at least one layer corresponding
214 		to the specified TP Layer
215 
216 		For each layer header,
217 		  - delete layer header ( and all parameter mappings for it )
218 		    if
219 		     - it has at least one layer which contains customizations
220 		       for any of the customizable program units within the
221 		       specified application.
222 
223     ========================================================================*/
224     PROCEDURE
225       delete_rows
226         (
227           p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
228           p_tp_layer_id               IN     vea_tp_layers.tp_layer_id%TYPE,
229           p_application_short_name    IN     vea_packages.application_short_name%TYPE,
230 	  x_layer_header_count        OUT NOCOPY     NUMBER
231         )
232     IS
233     --{
234         l_api_name            CONSTANT VARCHAR2(30) := 'delete_rows';
235         l_location            VARCHAR2(32767);
236 	--
237 	--
238         l_user_id       NUMBER := vea_tpa_util_pvt.get_user_id;
239         l_login_id      NUMBER := vea_tpa_util_pvt.get_login_id;
240 	--
241 	--
242 	CURSOR layer_header_cur
243                  (
244                    p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
245                    p_tp_layer_id               IN     vea_tp_layers.tp_layer_id%TYPE
246                  )
247 	IS
248 	  SELECT distinct layer_header_id
249 	  FROM   vea_layers_v
250 	  WHERE  layer_provider_code     = p_layer_provider_code
251 	  AND    tp_layer_id             = p_tp_layer_id;
252 	--
253 	--
254 	CURSOR application_cur
255                  (
256                    p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
257                    p_layer_header_id           IN     vea_layer_headers.layer_header_id%TYPE,
258                    p_application_short_name    IN     vea_packages.application_short_name%TYPE
259                  )
260 	IS
261 	  SELECT 'x'
262 	  FROM   vea_layer_headers LH,
263 		 vea_program_units PU,
264 		 vea_packages PK
265 	  WHERE  LH.layer_provider_code     = p_layer_provider_code
266 	  AND    LH.layer_header_id         = p_layer_header_id
267 	  AND    PU.program_unit_id         = LH.program_unit_id
268 	  AND    PU.layer_provider_code     = LH.program_unit_lp_code
269 	  AND    PK.layer_provider_code     = PU.layer_provider_code
270 	  AND    PK.package_id              = PU.package_id
271 	  AND    PK.tpa_flag                = 'Y'
272 	  AND    PU.tpa_program_unit_id     IS NOT NULL
273 	  AND    PK.application_short_name  = NVL(p_application_short_name,PK.application_short_name);
274 	--
275 	--
276 	l_layer_count          NUMBER;
277 	l_layer_header_count   NUMBER;
278 	l_count                NUMBER;
279 	--
280 	--
281     --}
282     BEGIN
283     --{
284 	l_location := '0010';
285 	--
286 	l_layer_header_count := 0;
287 	--
288 	--
289 	l_location := '0020';
290 	--
291 	FOR layer_header_rec IN layer_header_cur
292 			   (
293 			     p_layer_provider_code    => p_layer_provider_code,
294 			     p_tp_layer_id            => p_tp_layer_id
295 			   )
296 	LOOP
297 	--{
298 	    l_location := '0030';
299 	    --
300 	    l_count := 0;
301 	    --
302 	    --
303 	    l_location := '0040';
304 	    --
305 	    FOR application_rec IN application_cur
306 			             (
307 			               p_layer_provider_code    => p_layer_provider_code,
308 			               p_layer_header_id        => layer_header_rec.layer_header_id,
309 				       p_application_short_name => p_application_short_name
310 			             )
311 	    LOOP
312 	    --{
313 	        l_location := '0050';
314 	        --
315 		l_count := l_count + 1;
316 	    --}
317 	    END LOOP;
318 	    --
319 	    --
320 	    l_location := '0060';
321 	    --
322 	    IF l_count = 0
323 	    THEN
324 	    --{
325 	        l_location := '0070';
326 	        --
327 	        l_layer_header_count := l_layer_header_count + 1;
328 	    --}
329 	    ELSE
330 	    --{
331 	        l_location := '0080';
332 	        --
333 	        vea_layers_sv.delete_rows
334 	          (
335 		    p_layer_provider_code => p_layer_provider_code,
336 		    p_layer_header_id     => layer_header_rec.layer_header_id,
337 		    p_tp_layer_id         => p_tp_layer_id,
338 		    x_layer_count         => l_layer_count
339 	          );
340 	        --
341 	        --
342 	        l_location := '0090';
343 	        --
344 	        IF l_layer_count = 0
345 	        THEN
346 	        --{
347 	            l_location := '0100';
348 	            --
349                     vea_parameter_mappings_sv.delete_rows
350 	              (
351                         p_layer_provider_code        => p_layer_provider_code,
352                         p_layer_header_id            => layer_header_rec.layer_header_id
353 	              );
354 	            --
355 	            --
356 	            l_location := '0110';
357 	            --
358 	            DELETE vea_layer_headers
359 	            WHERE  layer_provider_code = p_layer_provider_code
360 	            AND    layer_header_id     = layer_header_rec.layer_header_id;
361 	        --}
362 	        END IF;
363 	    --}
364 	    END IF;
365 	--}
366 	END LOOP;
367 	--
368 	--
369 	l_location := '0120';
370 	--
371 	x_layer_header_count := NVL(l_layer_header_count,0);
372     --}
373     EXCEPTION
374     --{
375 	WHEN OTHERS
376 	THEN
377 	--{
378 	    vea_tpa_util_pvt.add_exc_message_and_raise
379 	      (
380 		p_package_name => G_PACKAGE_NAME,
381 		p_api_name     => l_api_name,
382 		p_location     => l_location
383 	      );
384 	--}
385     --}
386     END delete_rows;
387     --
388     --
389     /*========================================================================
390 
391        PROCEDURE NAME: process
392 
393        PURPOSE: Table hadndler API for VEA_LAYER_HEADERS table.
394 
395 		It inserts/updates a record in VEA_LAYER_HEADERS table.
396 
397     ========================================================================*/
398     PROCEDURE
399       process
400         (
401           p_api_version               IN     NUMBER,
402           p_init_msg_list             IN     VARCHAR2 := FND_API.G_FALSE,
403           p_commit                    IN     VARCHAR2 := FND_API.G_FALSE,
404           p_validation_level          IN     NUMBER   := FND_API.G_VALID_LEVEL_FULL,
405           x_return_status             OUT NOCOPY     VARCHAR2,
406           x_msg_count                 OUT NOCOPY     NUMBER,
407           x_msg_data                  OUT NOCOPY     VARCHAR2,
408           x_id                        OUT NOCOPY     vea_layer_headers.layer_header_id%TYPE,
409           p_layer_provider_code       IN     vea_layer_headers.layer_provider_code%TYPE,
410           p_program_unit_id           IN     vea_layer_headers.program_unit_id%TYPE,
414           p_condition_type            IN     vea_layer_headers.condition_type%TYPE,
411           p_program_unit_lp_code      IN     vea_layer_headers.program_unit_lp_code%TYPE,
412           p_tps_program_unit_id       IN     vea_layer_headers.tps_program_unit_id%TYPE,
413           p_tps_program_unit_lp_code  IN     vea_layer_headers.tps_program_unit_lp_code%TYPE,
415           p_description               IN     vea_layer_headers.description%TYPE,
416           p_id                        IN     vea_layer_headers.layer_header_id%TYPE   := NULL,
417           p_package_name              IN     vea_packages.name%TYPE,
418           p_pkg_app_name              IN     vea_packages.application_short_name%TYPE,
419           p_pkg_cs_flag               IN     vea_packages.client_server_flag%TYPE,
420           p_program_unit_name         IN     vea_program_units.name%TYPE,
421           p_tps_package_name          IN     vea_packages.name%TYPE,
422           p_tps_program_unit_name     IN     vea_program_units.name%TYPE,
423           p_tpsPkg_app_name           IN     vea_packages.application_short_name%TYPE,
424           p_tpsPkg_cs_flag            IN     vea_packages.client_server_flag%TYPE
425         )
426     IS
427     --{
428         l_api_name            CONSTANT VARCHAR2(30) := 'process';
429         l_api_version         CONSTANT NUMBER       := 1.0;
430         l_api_type            CONSTANT VARCHAR2(3)  := vea_tpa_util_pvt.G_PUBLIC_API;
431         --
432         --
433         l_location            VARCHAR2(32767);
434         l_savepoint_name      VARCHAR2(30);
435         l_layer_header_id     vea_layer_headers.layer_header_id%TYPE;
436         l_program_unit_id     vea_program_units.program_unit_id%TYPE;
437         l_tpa_program_unit_id vea_program_units.program_unit_id%TYPE;
438         l_tps_program_unit_id vea_program_units.program_unit_id%TYPE;
439         l_package_id          vea_program_units.package_id%TYPE;
440         l_tps_package_id      vea_program_units.package_id%TYPE;
441         --
442         --
443 	CURSOR bl_pu_csr (p_pu_id IN NUMBER,p_lpc IN VARCHAR2)
444 	is
445 	  select tpa_program_unit_id
446 	  from vea_program_units
447 	  where program_unit_id = p_pu_id
448 	  and layer_provideR_code = p_lpc;
449 
450        CURSOR layer_header_cur
451                  (
452                    p_layer_provider_code       IN  vea_layer_headers.layer_provider_code%TYPE,
453                    p_program_unit_id           IN  vea_layer_headers.program_unit_id%TYPE,
454                    p_program_unit_lp_code      IN  vea_layer_headers.program_unit_lp_code%TYPE,
455                   p_condition_type            IN     vea_layer_headers.condition_type%TYPE
456                  )
457        IS
458          SELECT layer_header_id
459          FROM   vea_layer_headers
460          WHERE  layer_provider_code     = p_layer_provider_code
461          AND    program_unit_id         = p_program_unit_id
462          AND    program_unit_lp_code    = p_program_unit_lp_code
463          AND    NVL(condition_type,'!') = NVL(p_condition_type,'!');
464         --
465         --
466     --}
467     BEGIN
468     --{
469 	l_location := '0010';
470 	--
471 	IF NOT( vea_tpa_util_pvt.is_vea_installed() )
472 	THEN
473 	   RETURN;
474 	END IF;
475 	--
476 	--
477         -- Standard API Header
478         --
479 	l_location := '0020';
480 	--
481         vea_tpa_util_pvt.api_header
482           (
483             p_package_name                => G_PACKAGE_NAME,
484             p_api_name                    => l_api_name,
485             p_api_type                    => l_api_type,
486             p_api_current_version         => l_api_version,
487             p_api_caller_version          => p_api_version,
488             p_init_msg_list               => p_init_msg_list,
489             x_savepoint_name              => l_savepoint_name,
490             x_api_return_status           => x_return_status
491           );
492         --
493         --
494         --{ API Body
495         --
496 	l_location := '0030';
497 	--
498         IF p_package_name             IS NULL
499         OR p_pkg_app_name             IS NULL
500         OR p_pkg_cs_flag              IS NULL
501         OR p_program_unit_name        IS NULL
502         OR p_tps_package_name         IS NULL
503         OR p_tps_program_unit_name    IS NULL
504         OR p_tpsPkg_app_name          IS NULL
505         OR p_tpsPkg_cs_flag           IS NULL
506 	THEN
507             vea_tpa_util_pvt.add_message_and_raise
508             (
509                 p_error_name => 'VEA_INCOMPATIBLE_LAYER_FILE'
510             );
511 	END IF;
512         --
513 	--
514 	l_location := '0040';
515 	--
516         l_layer_header_id := NULL;
517 	--
518         l_program_unit_id := p_program_unit_id;
519         l_tps_program_unit_id := p_tps_program_unit_id;
520         --
521         --
522 	l_location := '0050';
523 	--
524 	l_package_id := vea_packages_sv.getId
525 			         (
526                                    p_layer_provider_code    => p_program_unit_lp_code,
527                                    p_application_short_name => p_pkg_app_name,
528                                    p_client_server_flag     => p_pkg_cs_flag,
529                                    p_name                   => p_package_name
533 	--
530 			         );
531 	--
532 	l_location := '0060';
534 	--
535 	l_program_unit_id := vea_program_units_sv.getId
536 			         (
537                                    p_layer_provider_code    => p_program_unit_lp_code,
538                                    p_package_id             => l_package_id,
539                                    p_name                   => p_program_unit_name
540 			         );
541         --
542         --
543 	g_program_unit_id := l_program_unit_id;
544         --
545 	l_location := '0065';
546 	--
547 	g_tpa_program_unit_id := null;
548 	FOR bl_pu_rec IN bl_pu_csr(l_program_unit_id, p_program_unit_lp_code)
549 	LOOP
550 	   g_tpa_program_unit_id := bl_pu_rec.tpa_program_unit_id;
551 	END LOOP;
552         --
553 	l_location := '0070';
554 	--
555 	l_tps_package_id := vea_packages_sv.getId
556 			         (
557                                    p_layer_provider_code    => p_tps_program_unit_lp_code,
558                                    p_application_short_name => p_tpsPkg_app_name,
559                                    p_client_server_flag     => p_tpsPkg_cs_flag,
560                                    p_name                   => p_tps_package_name
561 			         );
562 	--
563 	l_location := '0080';
564 	--
565 	--
566 	l_tps_program_unit_id := vea_program_units_sv.getId
567 			         (
568                                    p_layer_provider_code    => p_tps_program_unit_lp_code,
569                                    p_package_id             => l_tps_package_id,
570                                    p_name                   => p_tps_program_unit_name
571 			         );
572 	--
573 	--
574 	g_tps_program_unit_id := l_tps_program_unit_id;
575 	g_tps_program_unit_lp_code      := p_tps_program_unit_lp_code;
576         --
577 	l_location := '0090';
578 	--
579         FOR layer_header_rec IN layer_header_cur
580                                   (
581                                     p_layer_provider_code   => p_layer_provider_code,
582                                     p_program_unit_id       => l_program_unit_id,
583                                     p_program_unit_lp_code  => p_program_unit_lp_code,
584                                     p_condition_type        => p_condition_type
585                                   )
586         LOOP
587         --{
588 	    l_location := '0100';
589 	    --
590             l_layer_header_id := layer_header_rec.layer_header_id;
591         --}
592         END LOOP;
593         --
594         --
595 	l_location := '0110';
596 	--
597         IF l_layer_header_id IS NULL
598         THEN
599         --{
600 	    l_location := '0120';
601 	    --
602 	    --
603             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_layer_provider_code is ' || p_layer_provider_code);
604             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' g_current_layer_provider_code is ' || vea_tpa_util_pvt.g_current_layer_provider_code);
605             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' l_program_unit_id is ' || l_program_unit_id);
606             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_program_unit_lp_code is ' || p_program_unit_lp_code);
607             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' l_tps_program_unit_id is ' || l_tps_program_unit_id);
608             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_tps_program_unit_lp_code is ' || p_tps_program_unit_lp_code);
609             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_program_unit_name is ' || p_program_unit_name);
610             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_tps_program_unit_name is ' || p_tps_program_unit_name);
611             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' l_tps_package_id is ' || l_tps_package_id);
612             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_tps_package_name is ' || p_tps_package_name);
613             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_tpsPkg_cs_flag is ' || p_tpsPkg_cs_flag);
614             --FND_FILE.PUT_LINE ( FND_FILE.LOG, ' p_tpsPkg_app_name is ' || p_tpsPkg_app_name);
615 	    IF p_layer_provider_code = vea_tpa_util_pvt.g_current_layer_provider_code
616 	    THEN
617                 SELECT NVL( p_id, vea_layer_headers_s.NEXTVAL )
618                 INTO   l_layer_header_id
619                 FROM   DUAL;
620 	    ELSE
621                 SELECT vea_layer_headers_s.NEXTVAL
622                 INTO   l_layer_header_id
623                 FROM   DUAL;
624 	    END IF;
625 	    --
626             --
627 	    l_location := '0130';
628             --
629 	    g_layer_header_id := l_layer_header_id;
630             --
631 	    l_location := '0140';
632 	    --
633             insert_row
634               (
635                 p_layer_provider_code        => p_layer_provider_code,
636                 p_layer_header_id            => l_layer_header_id,
637                 p_program_unit_id            => l_program_unit_id,
638                 p_program_unit_lp_code       => p_program_unit_lp_code,
639                 p_tps_program_unit_id        => l_tps_program_unit_id,
640                 p_tps_program_unit_lp_code   => p_tps_program_unit_lp_code,
641                 p_condition_type             => p_condition_type,
642                 p_description                => p_description
643               );
644         --}
645         ELSE
646         --{
647 	    l_location := '0150';
648             --
649 	    g_layer_header_id := l_layer_header_id;
650             --
651 	    l_location := '0160';
652 	    --
653             update_row
654               (
658                 p_program_unit_lp_code       => p_program_unit_lp_code,
655                 p_layer_provider_code        => p_layer_provider_code,
656                 p_layer_header_id            => l_layer_header_id,
657                 p_program_unit_id            => l_program_unit_id,
659                 p_tps_program_unit_id        => l_tps_program_unit_id,
660                 p_tps_program_unit_lp_code   => p_tps_program_unit_lp_code,
661                 p_condition_type             => p_condition_type,
662                 p_description                => p_description,
663                 p_old_layer_header_id        => l_layer_header_id
664               );
665         --}
666         END IF;
667         --
668         --
669 	l_location := '0170';
670 	--
671         x_id := l_layer_header_id;
672         --
673         --
674         --} API Body
675         --
676         --
680 	--
677         -- Standard  API Footer
678         --
679 	l_location := '0180';
681         vea_tpa_util_pvt.api_footer
682           (
683             p_commit                      => p_commit,
684             x_msg_count                   => x_msg_count,
685             x_msg_data                    => x_msg_data
686           );
687     --}
688     EXCEPTION
689     --{
690         WHEN FND_API.G_EXC_ERROR
691         THEN
692         --{
693             --RAISE;
694             vea_tpa_util_pvt.handle_error
695               (
696                 p_error_type                  => vea_tpa_util_pvt.G_ERROR,
697                 p_savepoint_name              => l_savepoint_name,
698                 p_package_name                => G_PACKAGE_NAME,
699                 p_api_name                    => l_api_name,
700 	        p_location                    => l_location,
701                 x_msg_count                   => x_msg_count,
702                 x_msg_data                    => x_msg_data,
703                 x_api_return_status           => x_return_status
704               );
705         --}
706         WHEN FND_API.G_EXC_UNEXPECTED_ERROR
707         THEN
708         --{
709             --RAISE;
710             vea_tpa_util_pvt.handle_error
711               (
712                 p_error_type                  => vea_tpa_util_pvt.G_UNEXPECTED_ERROR,
713                 p_savepoint_name              => l_savepoint_name,
714                 p_package_name                => G_PACKAGE_NAME,
715                 p_api_name                    => l_api_name,
716 	        p_location                    => l_location,
717                 x_msg_count                   => x_msg_count,
718                 x_msg_data                    => x_msg_data,
719                 x_api_return_status           => x_return_status
720               );
721         --}
722         WHEN OTHERS
723         THEN
724         --{
725             --RAISE;
726             vea_tpa_util_pvt.handle_error
727               (
728                 p_error_type                  => vea_tpa_util_pvt.G_OTHER_ERROR,
729                 p_savepoint_name              => l_savepoint_name,
730                 p_package_name                => G_PACKAGE_NAME,
731                 p_api_name                    => l_api_name,
732 	        p_location                    => l_location,
733                 x_msg_count                   => x_msg_count,
734                 x_msg_data                    => x_msg_data,
735                 x_api_return_status           => x_return_status
736               );
737         --}
738     --}
739     END process;
740 --}
741 END VEA_LAYER_HEADERS_SV;