DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FLEX_PVT

Source


1 PACKAGE BODY FA_FLEX_PVT  as
2 /* $Header: FAVFLEXB.pls 120.3 2005/07/25 10:06:27 yyoon noship $   */
3 
4 FUNCTION get_concat_segs
5    (p_ccid                   IN  number,
6     p_application_short_name IN  varchar,
7     p_flex_code              IN  varchar,
8     p_flex_num               IN  number,
9     p_num_segs               OUT NOCOPY number,
10     p_delimiter              OUT NOCOPY varchar,
11     p_segment_array          OUT NOCOPY FND_FLEX_EXT.SEGMENTARRAY,
12     p_concat_string          OUT NOCOPY varchar,
13     p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
14 
15    l_num           number := 1;
16    error_found     exception;
17 
18 BEGIN
19 
20    -- initialize
21    p_concat_string := '';
22 
23    IF (NOT FND_FLEX_EXT.GET_SEGMENTS(p_application_short_name,
24                                      p_flex_code,
25                                      p_flex_num,
26                                      p_ccid,
27                                      p_num_segs,
28                                      p_segment_array)) THEN
29        RAISE error_found;
30    END IF;
31 
32    p_delimiter := FND_FLEX_EXT.get_delimiter(
33                                      p_application_short_name,
34                                      p_flex_code,
35                                      p_flex_num);
36 
37    if (p_delimiter is null) then
38        RAISE error_found;
39    end if;
40 
41    -- fill the string for messaging with concat segs...
42 
43    while (l_num <= p_num_segs) loop
44 
45       if (l_num > 1) then
46           p_concat_string := p_concat_string || p_delimiter;
47       end if;
48 
49       p_concat_string := p_concat_string || p_segment_array(l_num);
50 
51       l_num := l_num + 1;
52 
53    end loop;
54 
55    return true;
56 
57 EXCEPTION
58   when error_found then
59      fa_srvr_msg.add_message(calling_fn => 'fa_flex_pvt.get_concat_segs'
60           ,p_log_level_rec => p_log_level_rec);
61      return false;
62 
63   when others then
64      fa_srvr_msg.add_sql_error(calling_fn => 'fa_flex_pvt.get_concat_segs'
65           ,p_log_level_rec => p_log_level_rec);
66      return false;
67 
68 END get_concat_segs;
69 
70 
71 END FA_FLEX_PVT;