DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.FA_FLEX_PVT

Source


1 PACKAGE BODY FA_FLEX_PVT  as
2 /* $Header: FAVFLEXB.pls 120.4 2009/03/26 23:53:29 bridgway ship $   */
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) 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',  p_log_level_rec => p_log_level_rec);
60      return false;
61 
62   when others then
63      fa_srvr_msg.add_sql_error(calling_fn => 'fa_flex_pvt.get_concat_segs',  p_log_level_rec => p_log_level_rec);
64      return false;
65 
66 END get_concat_segs;
67 
68 
69 END FA_FLEX_PVT;