DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_STYLE_FMT_LAYOUT_V2PUB

Source


1 PACKAGE BODY HZ_STYLE_FMT_LAYOUT_V2PUB AS
2 /*$Header: ARH2FLSB.pls 115.5 2003/12/22 14:11:05 rchanamo noship $ */
3 
4   --------------------------------------
5   -- declaration of private global varibles
6   --------------------------------------
7   g_debug_count                     NUMBER := 0;
8   --g_debug                           BOOLEAN := FALSE;
9 
10   --------------------------------------
11   -- declaration of private procedures and functions
12   --------------------------------------
13   /*PROCEDURE enable_debug;
14 
15   PROCEDURE disable_debug;
16   */
17 
18   PROCEDURE do_create_style_fmt_layout(
19     p_style_fmt_layout_rec       IN OUT  NOCOPY style_fmt_layout_rec_type,
20     x_return_status              IN OUT NOCOPY  VARCHAR2
21   );
22 
23   PROCEDURE do_update_style_fmt_layout(
24     p_style_fmt_layout_rec       IN OUT  NOCOPY style_fmt_layout_rec_type,
25     p_object_version_number      IN OUT NOCOPY  NUMBER,
26     x_return_status              IN OUT NOCOPY  VARCHAR2
27   );
28 
29   --------------------------------------
30   -- private procedures and functions
31   --------------------------------------
32 
33   /**
34    * PRIVATE PROCEDURE enable_debug
35    *
36    * DESCRIPTION
37    *     Turn on debug mode.
38    *
39    * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
40    *     HZ_UTILITY_V2PUB.enable_debug
41    *
42    * MODIFICATION HISTORY
43    *
44    *   18-Jul-2001    Kate Shan      o Created.
45    *
46    */
47 
48   /*PROCEDURE enable_debug IS
49   BEGIN
50     g_debug_count := g_debug_count + 1;
51 
52     IF g_debug_count = 1 THEN
53       IF fnd_profile.value('HZ_API_FILE_DEBUG_ON') = 'Y' OR
54          fnd_profile.value('HZ_API_DBMS_DEBUG_ON') = 'Y'
55       THEN
56         hz_utility_v2pub.enable_debug;
57         g_debug := TRUE;
58       END IF;
59     END IF;
60   END enable_debug;
61   */
62 
63   /**
64    * PRIVATE PROCEDURE disable_debug
65    *
66    * DESCRIPTION
67    *     Turn off debug mode.
68    *
69    * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
70    *     HZ_UTILITY_V2PUB.disable_debug
71    *
72    * MODIFICATION HISTORY
73    *
74    *   18-Jul-2001    Kate Shan      o Created.
75    *
76    */
77 
78   /*PROCEDURE disable_debug IS
79   BEGIN
80     IF g_debug THEN
81       g_debug_count := g_debug_count - 1;
82       IF g_debug_count = 0 THEN
83         hz_utility_v2pub.disable_debug;
84         g_debug := FALSE;
85       END IF;
86     END IF;
87   END disable_debug;
88   */
89 
90 
91   /**
92    * PRIVATE PROCEDURE do_create_style_fmt_layout
93    *
94    * DESCRIPTION
95    *     create style fmt layout
96 
97    *   07-23-2001    Kate Shan      o Created.
98    *
99    */
100 
101   PROCEDURE do_create_style_fmt_layout(
102     p_style_fmt_layout_rec       IN OUT  NOCOPY style_fmt_layout_rec_type,
103     x_return_status              IN OUT NOCOPY  VARCHAR2
104   ) IS
105     l_rowid           ROWID := null;
106     l_debug_prefix    VARCHAR2(30) := '';
107   BEGIN
108 
109     -- Debug info.
110     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
111 	hz_utility_v2pub.debug(p_message=>'do_create_style_fmt_layout (+)',
112 	                       p_prefix=>l_debug_prefix,
113 			       p_msg_level=>fnd_log.level_procedure);
114     END IF;
115 
116     -- start_date_active default to sysdate
117     IF p_style_fmt_layout_rec.start_date_active is null OR
118        p_style_fmt_layout_rec.start_date_active = FND_API.G_MISS_DATE
119     THEN
120        p_style_fmt_layout_rec.start_date_active := sysdate;
121     END IF;
122 
123     -- validate the input record
124     HZ_NAME_ADDRESS_FMT_VALIDATE.validate_style_fmt_layout(
125       'C',
126       p_style_fmt_layout_rec,
127       l_rowid,
128       x_return_status
129     );
130 
131     IF x_return_status = fnd_api.g_ret_sts_error THEN
132       RAISE fnd_api.g_exc_error;
133     END IF;
134 
135     -- Debug info.
136     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
137 	hz_utility_v2pub.debug(p_message=>'hz_style_fmt_layouts_pkg.insert_row (+)',
138 	                       p_prefix=>l_debug_prefix,
139 			       p_msg_level=>fnd_log.level_procedure);
140     END IF;
141 
142     HZ_STYLE_FMT_LAYOUTS_PKG.insert_row (
143       X_ROWID                    => l_rowid,
144       X_STYLE_FMT_LAYOUT_ID      => p_style_fmt_layout_rec.style_fmt_layout_id,
145       X_STYLE_FORMAT_CODE        => p_style_fmt_layout_rec.style_format_code,
146       X_VARIATION_NUMBER         => p_style_fmt_layout_rec.variation_number,
147       X_ATTRIBUTE_CODE           => p_style_fmt_layout_rec.attribute_code,
148       X_ATTRIBUTE_APPLICATION_ID => p_style_fmt_layout_rec.attribute_application_id,
149       X_LINE_NUMBER              => p_style_fmt_layout_rec.line_number,
150       X_POSITION                 => p_style_fmt_layout_rec.position,
151       X_MANDATORY_FLAG           => p_style_fmt_layout_rec.mandatory_flag,
152       X_USE_INITIAL_FLAG         => p_style_fmt_layout_rec.use_initial_flag,
153       X_UPPERCASE_FLAG           => p_style_fmt_layout_rec.uppercase_flag,
154       X_TRANSFORM_FUNCTION       => p_style_fmt_layout_rec.transform_function,
155       X_DELIMITER_BEFORE         => p_style_fmt_layout_rec.delimiter_before,
156       X_DELIMITER_AFTER          => p_style_fmt_layout_rec.delimiter_after,
157       X_BLANK_LINES_BEFORE       => p_style_fmt_layout_rec.blank_lines_before,
158       X_BLANK_LINES_AFTER        => p_style_fmt_layout_rec.blank_lines_after,
159       X_PROMPT                   => p_style_fmt_layout_rec.prompt,
160       X_START_DATE_ACTIVE        => p_style_fmt_layout_rec.start_date_active,
161       X_END_DATE_ACTIVE          => p_style_fmt_layout_rec.end_date_active,
162       X_OBJECT_VERSION_NUMBER    => 1
163     );
164 
165     -- Debug info.
166     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
167 	hz_utility_v2pub.debug(p_message=>'hz_style_fmt_layouts_pkg.insert_row (-) ' ||
168                                  'p_style_fmt_layout_rec.style_fmt_layout_id = ' || p_style_fmt_layout_rec.style_fmt_layout_id,
169 	                       p_prefix=>l_debug_prefix,
170 			       p_msg_level=>fnd_log.level_procedure);
171         hz_utility_v2pub.debug(p_message=>'do_create_style_fmt_layout (-)',
172 	                       p_prefix=>l_debug_prefix,
173 			       p_msg_level=>fnd_log.level_procedure);
174     END IF;
175 
176   END do_create_style_fmt_layout;
177 
178   /**
179    * PRIVATE PROCEDURE do_update_style_fmt_layout
180    *
181    * DESCRIPTION
182    *     update style format layout
183 
184    *   07-23-2001    Kate Shan      o Created.
185    *
186    */
187 
188 
189   PROCEDURE do_update_style_fmt_layout(
190     p_style_fmt_layout_rec           IN OUT  NOCOPY style_fmt_layout_rec_type,
191     p_object_version_number      IN OUT NOCOPY  NUMBER,
192     x_return_status              IN OUT NOCOPY  VARCHAR2
193   ) IS
194     l_object_version_number NUMBER;
195     l_debug_prefix          VARCHAR2(30) := '';
196     l_rowid                 ROWID;
197 
198   BEGIN
199 
200     -- Debug info.
201     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
202 	hz_utility_v2pub.debug(p_message=>'do_update_style_fmt_layout (+)',
203 	                       p_prefix=>l_debug_prefix,
204 			       p_msg_level=>fnd_log.level_procedure);
205     END IF;
206 
207     -- check whether record has been updated by another user
208     BEGIN
209         -- check last update date.
210         SELECT object_version_number, rowid
211         INTO l_object_version_number, l_rowid
212         FROM HZ_STYLE_FMT_LAYOUTS_B
213         WHERE style_fmt_layout_id = p_style_fmt_layout_rec.style_fmt_layout_id
214         FOR UPDATE of  style_fmt_layout_id NOWAIT;
215 
216         IF NOT (
217             ( p_object_version_number IS NULL AND l_object_version_number IS NULL ) OR
218             ( p_object_version_number IS NOT NULL AND
219               l_object_version_number IS NOT NULL AND
220               p_object_version_number = l_object_version_number ) )
221         THEN
222             FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
223             FND_MESSAGE.SET_TOKEN('TABLE', 'hz_style_fmt_layouts');
224             FND_MSG_PUB.ADD;
225             RAISE FND_API.G_EXC_ERROR;
226         END IF;
227 
228         p_object_version_number := nvl(l_object_version_number, 1) + 1;
229 
230     EXCEPTION WHEN NO_DATA_FOUND THEN
231         FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
232         FND_MESSAGE.SET_TOKEN('RECORD', 'style format layout');
233         FND_MESSAGE.SET_TOKEN('VALUE', NVL(to_char( p_style_fmt_layout_rec.style_fmt_layout_id), 'null'));
234         FND_MSG_PUB.ADD;
235         RAISE FND_API.G_EXC_ERROR;
236     END;
237 
238     -- validate style format layout record
239     HZ_NAME_ADDRESS_FMT_VALIDATE.validate_style_fmt_layout(
240         'U',
241         p_style_fmt_layout_rec,
242 	l_rowid,
243         x_return_status);
244 
245     IF x_return_status = FND_API.G_RET_STS_ERROR THEN
246         RAISE FND_API.G_EXC_ERROR;
247     END IF;
248 
249     -- Debug info.
250     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
251 	hz_utility_v2pub.debug(p_message=>'HZ_STYLE_FMT_LAYOUTS_PKG.Update_Row (+)',
252 	                       p_prefix=>l_debug_prefix,
253 			       p_msg_level=>fnd_log.level_procedure);
254     END IF;
255 
256     -- call table handler to update a row
257     HZ_STYLE_FMT_LAYOUTS_PKG.Update_Row (
258       X_STYLE_FMT_LAYOUT_ID      => p_style_fmt_layout_rec.style_fmt_layout_id,
259       X_STYLE_FORMAT_CODE        => p_style_fmt_layout_rec.style_format_code,
260       X_VARIATION_NUMBER         => p_style_fmt_layout_rec.variation_number,
261       X_ATTRIBUTE_CODE           => p_style_fmt_layout_rec.attribute_code,
262       X_ATTRIBUTE_APPLICATION_ID => p_style_fmt_layout_rec.attribute_application_id,
263       X_LINE_NUMBER              => p_style_fmt_layout_rec.line_number,
264       X_POSITION                 => p_style_fmt_layout_rec.position,
265       X_MANDATORY_FLAG           => p_style_fmt_layout_rec.mandatory_flag,
266       X_USE_INITIAL_FLAG         => p_style_fmt_layout_rec.use_initial_flag,
267       X_UPPERCASE_FLAG           => p_style_fmt_layout_rec.uppercase_flag,
268       X_TRANSFORM_FUNCTION       => p_style_fmt_layout_rec.transform_function,
269       X_DELIMITER_BEFORE         => p_style_fmt_layout_rec.delimiter_before,
270       X_DELIMITER_AFTER          => p_style_fmt_layout_rec.delimiter_after,
271       X_BLANK_LINES_BEFORE       => p_style_fmt_layout_rec.blank_lines_before,
272       X_BLANK_LINES_AFTER        => p_style_fmt_layout_rec.blank_lines_after,
273       X_PROMPT                   => p_style_fmt_layout_rec.prompt,
274       X_START_DATE_ACTIVE        => p_style_fmt_layout_rec.start_date_active,
275       X_END_DATE_ACTIVE          => p_style_fmt_layout_rec.end_date_active,
276       X_OBJECT_VERSION_NUMBER    => p_object_version_number
277     );
278 
279     -- Debug info.
280     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
281 	hz_utility_v2pub.debug(p_message=>'HZ_STYLE_FMT_LAYOUTS_PKG.Update_Row (-)',
282 	                       p_prefix=>l_debug_prefix,
283 			       p_msg_level=>fnd_log.level_procedure);
284     END IF;
285 
286     -- Debug info.
287     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
288 	hz_utility_v2pub.debug(p_message=>'do_update_style_fmt_layout (-)',
289 	                       p_prefix=>l_debug_prefix,
290 			       p_msg_level=>fnd_log.level_procedure);
291     END IF;
292 
293 END do_update_style_fmt_layout;
294 
295 
296 --------------------------------------
297 -- declaration of public procedures and functions
298 --------------------------------------
299 
300 /**
301  * PROCEDURE create_style_fmt_layout
302  *
303  * DESCRIPTION
304  *     Creates style_fmt_layout.
305  *
306  * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
307  *
308  * ARGUMENTS
309  *   IN:
310  *     p_init_msg_list                Initialize message stack if it is set to
311  *                                    FND_API.G_TRUE. Default is FND_API.G_FALSE.
312  *     p_style_fmt_layout_rec         Style format layout record.
313  *   IN/OUT:
314  *   OUT:
315  *     p_style_fmt_layout_id          style_fmt_layout id
316  *     x_return_status                Return status after the call. The status can
317  *                                    be FND_API.G_RET_STS_SUCCESS (success),
318  *                                    FND_API.G_RET_STS_ERROR (error),
319  *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
320  *     x_msg_count                    Number of messages in message stack.
321  *     x_msg_data                     Message text if x_msg_count is 1.
322  *
323  * NOTES
324  *
325  * MODIFICATION HISTORY
326  *
327  *   17-Jul-2002    Kate Shan        o Created.
328  *
329  */
330 
331 PROCEDURE create_style_fmt_layout (
332     p_init_msg_list              IN      VARCHAR2 := FND_API.G_FALSE,
333     p_style_fmt_layout_rec       IN      STYLE_FMT_LAYOUT_REC_TYPE,
334     x_style_fmt_layout_id        OUT NOCOPY     NUMBER,
335     x_return_status              OUT NOCOPY     VARCHAR2,
336     x_msg_count                  OUT NOCOPY     NUMBER,
337     x_msg_data                   OUT NOCOPY     VARCHAR2
338 )IS
339     l_style_fmt_layout_rec        STYLE_FMT_LAYOUT_REC_TYPE := p_style_fmt_layout_rec;
340     l_debug_prefix		  VARCHAR2(30) := '';
341 
342 BEGIN
343 
344     -- standard start of API savepoint
345     SAVEPOINT create_style_fmt_layout;
346 
347     -- Check if API is called in debug mode. If yes, enable debug.
348     --enable_debug;
349 
350     -- Debug info.
351     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
352 	hz_utility_v2pub.debug(p_message=>'create_style_fmt_layout (+)',
353 	                       p_prefix=>l_debug_prefix,
354 			       p_msg_level=>fnd_log.level_procedure);
355     END IF;
356 
357     -- initialize message list if p_init_msg_list is set to TRUE.
358     IF FND_API.to_Boolean(p_init_msg_list) THEN
359         FND_MSG_PUB.initialize;
360     END IF;
361 
362     -- initialize API return status to success.
363     x_return_status := FND_API.G_RET_STS_SUCCESS;
364 
365     -- call to business logic.
366     do_create_style_fmt_layout(
367                        l_style_fmt_layout_rec,
368                        x_return_status);
369 
370     x_style_fmt_layout_id := l_style_fmt_layout_rec.style_fmt_layout_id;
371 
372     -- standard call to get message count and if count is 1, get message info.
373     FND_MSG_PUB.Count_And_Get(
374                 p_encoded => FND_API.G_FALSE,
375                 p_count => x_msg_count,
376                 p_data  => x_msg_data);
377     -- Debug info.
378     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
379 	 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
380 	                       p_msg_data=>x_msg_data,
381 			       p_msg_type=>'WARNING',
382 			       p_msg_level=>fnd_log.level_exception);
383     END IF;
384     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
385 	hz_utility_v2pub.debug(p_message=>'create_style_fmt_layout (-)',
386 	                       p_prefix=>l_debug_prefix,
387 			       p_msg_level=>fnd_log.level_procedure);
388     END IF;
389 
390     -- Check if API is called in debug mode. If yes, disable debug.
391     --disable_debug;
392 
393 EXCEPTION
394     WHEN FND_API.G_EXC_ERROR THEN
395         ROLLBACK TO create_style_fmt_layout;
396         x_return_status := FND_API.G_RET_STS_ERROR;
397         FND_MSG_PUB.Count_And_Get(
398                         p_encoded => FND_API.G_FALSE,
399                         p_count => x_msg_count,
400                         p_data  => x_msg_data);
401 
402         -- Debug info.
403 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
404 		 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
405 	                       p_msg_data=>x_msg_data,
406 			       p_msg_type=>'ERROR',
407 			       p_msg_level=>fnd_log.level_error);
408         END IF;
409         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
410 	    hz_utility_v2pub.debug(p_message=>'create_style_fmt_layout (-)',
411 	                       p_prefix=>l_debug_prefix,
412 			       p_msg_level=>fnd_log.level_procedure);
413         END IF;
414 
415         -- Check if API is called in debug mode. If yes, disable debug.
416         --disable_debug;
417 
418     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
419         ROLLBACK TO create_style_fmt_layout;
420         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
421         FND_MSG_PUB.Count_And_Get(
422                         p_encoded => FND_API.G_FALSE,
423                         p_count => x_msg_count,
424                         p_data  => x_msg_data);
425 
426         -- Debug info.
427 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
428             hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
429 	                       p_msg_data=>x_msg_data,
430 			       p_msg_type=>'UNEXPECTED ERROR',
431 			       p_msg_level=>fnd_log.level_error);
432         END IF;
433         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
434 	   hz_utility_v2pub.debug(p_message=>'create_style_fmt_layout (-)',
435 	                       p_prefix=>l_debug_prefix,
436 			       p_msg_level=>fnd_log.level_procedure);
437         END IF;
438 
439         -- Check if API is called in debug mode. If yes, disable debug.
440         --disable_debug;
441 
442     WHEN OTHERS THEN
443         ROLLBACK TO create_style_fmt_layout;
444         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
445 
446         FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
447         FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
448         FND_MSG_PUB.ADD;
449 
450         FND_MSG_PUB.Count_And_Get(
451                         p_encoded => FND_API.G_FALSE,
452                         p_count => x_msg_count,
453                         p_data  => x_msg_data);
454 
455         -- Debug info.
456 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
457              hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
458 	                       p_msg_data=>x_msg_data,
459 			       p_msg_type=>'SQL ERROR',
460 			       p_msg_level=>fnd_log.level_error);
461         END IF;
462         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
463 	    hz_utility_v2pub.debug(p_message=>'create_style_fmt_layout (-)',
464 	                       p_prefix=>l_debug_prefix,
465 			       p_msg_level=>fnd_log.level_procedure);
466         END IF;
467 
468         -- Check if API is called in debug mode. If yes, disable debug.
469         --disable_debug;
470 
471 
472 END create_style_fmt_layout;
473 
474 /**
475  * PROCEDURE update_style_fmt_layout
476  *
477  * DESCRIPTION
478  *     Updates style_fmt_layout.
479  *
480  * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
481  *
482  * ARGUMENTS
483  *   IN:
484  *     p_init_msg_list                Initialize message stack if it is set to
485  *                                    FND_API.G_TRUE. Default is FND_API.G_FALSE.
486  *     p_style_fmt_layout_rec         Style format layout  record.
487  *   IN/OUT:
488  *     p_object_version_number        Used for locking the being updated record.
489  *   OUT:
490  *     x_return_status                Return status after the call. The status can
491  *                                    be FND_API.G_RET_STS_SUCCESS (success),
492  *                                    FND_API.G_RET_STS_ERROR (error),
493  *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
494  *     x_msg_count                    Number of messages in message stack.
495  *     x_msg_data                     Message text if x_msg_count is 1.
496  *
497  * NOTES
498  *
499  * MODIFICATION HISTORY
500  *
501  *   17-Jul-2002    Kate Shan        o Created.
502  *
503  */
504 
505 PROCEDURE update_style_fmt_layout  (
506     p_init_msg_list              IN      VARCHAR2 :=FND_API.G_FALSE,
507     p_style_fmt_layout_rec       IN      STYLE_FMT_LAYOUT_REC_TYPE,
508     p_object_version_number      IN OUT NOCOPY  NUMBER,
509     x_return_status              OUT NOCOPY     VARCHAR2,
510     x_msg_count                  OUT NOCOPY     NUMBER,
511     x_msg_data                   OUT NOCOPY     VARCHAR2
512 )IS
513 
514     l_style_fmt_layout_rec           STYLE_FMT_LAYOUT_REC_TYPE := p_style_fmt_layout_rec;
515     l_old_style_fmt_layout_rec       STYLE_FMT_LAYOUT_REC_TYPE;
516     l_debug_prefix		     VARCHAR2(30) := '';
517 
518 BEGIN
519 
520     -- standard start of API savepoint
521     SAVEPOINT update_style_fmt_layout;
522 
523     -- Check if API is called in debug mode. If yes, enable debug.
524     --enable_debug;
525 
526     -- Debug info.
527     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
528 	hz_utility_v2pub.debug(p_message=>'update_style_fmt_layout (+)',
529 	                       p_prefix=>l_debug_prefix,
530 			       p_msg_level=>fnd_log.level_procedure);
531     END IF;
532 
533     -- initialize message list if p_init_msg_list is set to TRUE.
534     IF FND_API.to_Boolean(p_init_msg_list) THEN
535         FND_MSG_PUB.initialize;
536     END IF;
537 
538     -- initialize API return status to success.
539     x_return_status := FND_API.G_RET_STS_SUCCESS;
540 
541     -- call to business logic.
542     do_update_style_fmt_layout(
543                        l_style_fmt_layout_rec,
544                        p_object_version_number,
545                        x_return_status);
546 
547     -- standard call to get message count and if count is 1, get message info.
548     FND_MSG_PUB.Count_And_Get(
549                               p_encoded => FND_API.G_FALSE,
550                               p_count => x_msg_count,
551                               p_data  => x_msg_data);
552 
553     -- Debug info.
554     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
555 	 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
556 	                       p_msg_data=>x_msg_data,
557 			       p_msg_type=>'WARNING',
558 			       p_msg_level=>fnd_log.level_exception);
559     END IF;
560     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
561 	hz_utility_v2pub.debug(p_message=>'update_style_fmt_layout (-)',
562 	                       p_prefix=>l_debug_prefix,
563 			       p_msg_level=>fnd_log.level_procedure);
564     END IF;
565 
566     -- Check if API is called in debug mode. If yes, disable debug.
567     --disable_debug;
568 
569 EXCEPTION
570     WHEN FND_API.G_EXC_ERROR THEN
571         ROLLBACK TO update_style_fmt_layout;
572         x_return_status := FND_API.G_RET_STS_ERROR;
573         FND_MSG_PUB.Count_And_Get(
574                         p_encoded => FND_API.G_FALSE,
575                         p_count => x_msg_count,
576                         p_data  => x_msg_data);
577 
578         -- Debug info.
579 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
580 		 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
581 	                       p_msg_data=>x_msg_data,
582 			       p_msg_type=>'ERROR',
583 			       p_msg_level=>fnd_log.level_error);
584         END IF;
585         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
586 	    hz_utility_v2pub.debug(p_message=>'update_style_fmt_layout (-)',
587 	                       p_prefix=>l_debug_prefix,
588 			       p_msg_level=>fnd_log.level_procedure);
589         END IF;
590 
591         -- Check if API is called in debug mode. If yes, disable debug.
592         --disable_debug;
593 
594     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
595         ROLLBACK TO update_style_fmt_layout;
596         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
597         FND_MSG_PUB.Count_And_Get(
598                         p_encoded => FND_API.G_FALSE,
599                         p_count => x_msg_count,
600                         p_data  => x_msg_data);
601 
602         -- Debug info.
603 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
604             hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
605 	                       p_msg_data=>x_msg_data,
606 			       p_msg_type=>'UNEXPECTED ERROR',
607 			       p_msg_level=>fnd_log.level_error);
608         END IF;
609         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
610 	   hz_utility_v2pub.debug(p_message=>'update_style_fmt_layout (-)',
611 	                       p_prefix=>l_debug_prefix,
612 			       p_msg_level=>fnd_log.level_procedure);
613         END IF;
614 
615         -- Check if API is called in debug mode. If yes, disable debug.
616         --disable_debug;
617 
618     WHEN OTHERS THEN
619         ROLLBACK TO update_style_fmt_layout;
620         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
621 
622         FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
623         FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
624         FND_MSG_PUB.ADD;
625 
626         FND_MSG_PUB.Count_And_Get(
627                         p_encoded => FND_API.G_FALSE,
628                         p_count => x_msg_count,
629                         p_data  => x_msg_data);
630 
631         -- Debug info.
632 	IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
633              hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
634 	                       p_msg_data=>x_msg_data,
635 			       p_msg_type=>'SQL ERROR',
636 			       p_msg_level=>fnd_log.level_error);
637         END IF;
638         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
639 	    hz_utility_v2pub.debug(p_message=>'update_style_fmt_layout (-)',
640 	                       p_prefix=>l_debug_prefix,
641 			       p_msg_level=>fnd_log.level_procedure);
642         END IF;
643 
644         -- Check if API is called in debug mode. If yes, disable debug.
645         --disable_debug;
646 
647 
648 END update_style_fmt_layout;
649 
650 
651 
652 /**
653  * PROCEDURE get_style_fmt_layout_rec
654  *
655  * DESCRIPTION
656  *     Gets style_fmt_layout record.
657  *
658  * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
659  *
660  * ARGUMENTS
661  *   IN:
662  *     p_init_msg_list                Initialize message stack if it is set to
663  *                                    FND_API.G_TRUE. Default is FND_API.G_FALSE.
664  *     p_style_fmt_layout_code        Style format layout  Code.
665  *   IN/OUT:
666  *   OUT:
667  *     x_style_fmt_layout_rec         Style format layout  record.
668  *     x_return_status                Return status after the call. The status can
669  *                                    be FND_API.G_RET_STS_SUCCESS (success),
670  *                                    FND_API.G_RET_STS_ERROR (error),
671  *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
672  *     x_msg_count                    Number of messages in message stack.
673  *     x_msg_data                     Message text if x_msg_count is 1.
674  *
675  * NOTES
676  *
677  * MODIFICATION HISTORY
678  *
679  *   17-Jul-2002    Kate Shan        o Created.
680  *
681  */
682 
683 PROCEDURE get_style_fmt_layout_rec (
684     p_init_msg_list            IN         VARCHAR2 := FND_API.G_FALSE,
685     p_style_fmt_layout_id      IN         NUMBER,
686     x_style_fmt_layout_rec     OUT NOCOPY STYLE_FMT_LAYOUT_REC_TYPE,
687     x_return_status            OUT NOCOPY        VARCHAR2,
688     x_msg_count                OUT NOCOPY        NUMBER,
689     x_msg_data                 OUT NOCOPY        VARCHAR2
690 )IS
691   l_debug_prefix		  VARCHAR2(30) := '';
692   BEGIN
693     -- Check if API is called in debug mode. If yes, enable debug.
694     --enable_debug;
695 
696     -- Debug info.
697     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
698 	hz_utility_v2pub.debug(p_message=>'get_style_fmt_layout_rec (+)',
699 	                       p_prefix=>l_debug_prefix,
700 			       p_msg_level=>fnd_log.level_procedure);
701     END IF;
702 
703     -- Initialize message list if p_init_msg_list is set to TRUE.
704     IF fnd_api.to_boolean(p_init_msg_list) THEN
705       fnd_msg_pub.initialize;
706     END IF;
707 
708     -- Initialize API return status to success.
709     x_return_status := fnd_api.g_ret_sts_success;
710 
711     -- Check whether primary key has been passed in.
712     IF p_style_fmt_layout_id IS NULL OR
713        p_style_fmt_layout_id = fnd_api.g_miss_num THEN
714       fnd_message.set_name('AR', 'HZ_API_MISSING_COLUMN');
715       fnd_message.set_token('COLUMN', 'style_fmt_layout_id');
716       fnd_msg_pub.add;
717       RAISE fnd_api.g_exc_error;
718     END IF;
719 
720     x_style_fmt_layout_rec.style_fmt_layout_id := p_style_fmt_layout_id;
721 
722     -- Debug info.
723     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
724 	hz_utility_v2pub.debug(p_message=>'hz_style_fmt_layouts_pkg.Select_Row (+)',
725 	                       p_prefix=>l_debug_prefix,
726 			       p_msg_level=>fnd_log.level_procedure);
727     END IF;
728 
729     hz_style_fmt_layouts_pkg.select_row (
730       X_STYLE_FMT_LAYOUT_ID      => x_style_fmt_layout_rec.style_fmt_layout_id,
731       X_STYLE_FORMAT_CODE        => x_style_fmt_layout_rec.style_format_code,
732       X_VARIATION_NUMBER         => x_style_fmt_layout_rec.variation_number,
733       X_ATTRIBUTE_CODE           => x_style_fmt_layout_rec.attribute_code,
734       X_ATTRIBUTE_APPLICATION_ID => x_style_fmt_layout_rec.attribute_application_id,
735       X_LINE_NUMBER              => x_style_fmt_layout_rec.line_number,
736       X_POSITION                 => x_style_fmt_layout_rec.position,
737       X_MANDATORY_FLAG           => x_style_fmt_layout_rec.mandatory_flag,
738       X_USE_INITIAL_FLAG         => x_style_fmt_layout_rec.use_initial_flag,
739       X_UPPERCASE_FLAG           => x_style_fmt_layout_rec.uppercase_flag,
740       X_TRANSFORM_FUNCTION       => x_style_fmt_layout_rec.transform_function,
741       X_DELIMITER_BEFORE         => x_style_fmt_layout_rec.delimiter_before,
742       X_DELIMITER_AFTER          => x_style_fmt_layout_rec.delimiter_after,
743       X_BLANK_LINES_BEFORE       => x_style_fmt_layout_rec.blank_lines_before,
744       X_BLANK_LINES_AFTER        => x_style_fmt_layout_rec.blank_lines_after,
745       X_PROMPT                   => x_style_fmt_layout_rec.prompt,
746       X_START_DATE_ACTIVE        => x_style_fmt_layout_rec.start_date_active,
747       X_END_DATE_ACTIVE	         => x_style_fmt_layout_rec.end_date_active
748     );
749 
750     -- Debug info.
751     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
752 	hz_utility_v2pub.debug(p_message=>'hz_style_fmt_layouts_pkg.select_row (-)',
753 	                       p_prefix=>l_debug_prefix,
754 			       p_msg_level=>fnd_log.level_procedure);
755     END IF;
756 
757     --Standard call to get message count and if count is 1, get message info.
758     fnd_msg_pub.count_and_get(
759       p_encoded => fnd_api.g_false,
760       p_count   => x_msg_count,
761       p_data    => x_msg_data
762     );
763 
764     -- Debug info.
765     IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
766 	 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
767 	                       p_msg_data=>x_msg_data,
768 			       p_msg_type=>'WARNING',
769 			       p_msg_level=>fnd_log.level_exception);
770     END IF;
771     IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
772 	hz_utility_v2pub.debug(p_message=>'get_style_fmt_layout_rec (-)',
773 	                       p_prefix=>l_debug_prefix,
774 			       p_msg_level=>fnd_log.level_procedure);
775     END IF;
776 
777     -- Check if API is called in debug mode. If yes, disable debug.
778     --disable_debug;
779   EXCEPTION
780     WHEN fnd_api.g_exc_error THEN
781       x_return_status := fnd_api.g_ret_sts_error;
782       fnd_msg_pub.count_and_get(
783         p_encoded => fnd_api.g_false,
784         p_count => x_msg_count,
785         p_data  => x_msg_data
786       );
787 
788       -- Debug info.
789       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
790 		 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
791 	                       p_msg_data=>x_msg_data,
792 			       p_msg_type=>'ERROR',
793 			       p_msg_level=>fnd_log.level_error);
794         END IF;
795         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
796 	    hz_utility_v2pub.debug(p_message=>'get_style_fmt_layout_rec (-)',
797 	                       p_prefix=>l_debug_prefix,
798 			       p_msg_level=>fnd_log.level_procedure);
799         END IF;
800 
801 
802       -- Check if API is called in debug mode. If yes, disable debug.
803       --disable_debug;
804 
805     WHEN fnd_api.g_exc_unexpected_error THEN
806       x_return_status := fnd_api.g_ret_sts_unexp_error;
807 
808       fnd_msg_pub.count_and_get(
809         p_encoded => fnd_api.g_false,
810         p_count => x_msg_count,
811         p_data  => x_msg_data
812       );
813 
814       -- Debug info.
815       IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
816             hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
817 	                       p_msg_data=>x_msg_data,
818 			       p_msg_type=>'UNEXPECTED ERROR',
819 			       p_msg_level=>fnd_log.level_error);
820         END IF;
821         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
822 	   hz_utility_v2pub.debug(p_message=>'get_style_fmt_layout_rec (-)',
823 	                       p_prefix=>l_debug_prefix,
824 			       p_msg_level=>fnd_log.level_procedure);
825         END IF;
826 
827       -- Check if API is called in debug mode. If yes, disable debug.
828       --disable_debug;
829 
830     WHEN OTHERS THEN
831       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
832 
833       fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
834       fnd_message.set_token('ERROR' ,SQLERRM);
835       fnd_msg_pub.add;
836 
837       fnd_msg_pub.count_and_get(
838         p_encoded => fnd_api.g_false,
839         p_count => x_msg_count,
840         p_data  => x_msg_data
841       );
842 
843       -- Debug info.
844        IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
845              hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
846 	                       p_msg_data=>x_msg_data,
847 			       p_msg_type=>'SQL ERROR',
848 			       p_msg_level=>fnd_log.level_error);
849         END IF;
850         IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
851 	    hz_utility_v2pub.debug(p_message=>'get_style_fmt_layout_rec (-)',
852 	                       p_prefix=>l_debug_prefix,
853 			       p_msg_level=>fnd_log.level_procedure);
854         END IF;
855 
856       -- Check if API is called in debug mode. If yes, disable debug.
857       --disable_debug;
858 
859   END get_style_fmt_layout_rec;
860 
861 END HZ_STYLE_FMT_LAYOUT_V2PUB;