DBA Data[Home] [Help]

PACKAGE BODY: APPS.FUN_TRX_ENTRY_UTIL

Source


1 PACKAGE BODY FUN_TRX_ENTRY_UTIL AS
2 --  $Header: funtrxentryutilb.pls 120.12 2006/03/27 23:19:25 dhaimes ship $
3 
4 /****************************************************************
5 * FUNCTION  : get_concatenated_accounted                        *
6 *                                                               *
7 *       This function returns the concatenated segments  for a  *
8 *       transaction type name given ccid                        *
9 ****************************************************************/
10 
11 FUNCTION get_concatenated_account
12 (
13  p_ccid in NUMBER
14 ) RETURN VARCHAR2
15 IS
16 
17 CURSOR c_details IS
18 SELECT  fifs.concatenated_segment_delimiter,
19         gcc.segment1,
20         gcc.segment2,
21         gcc.segment3,
22         gcc.segment4,
23         gcc.segment5,
24         gcc.segment6,
25         gcc.segment7,
26         gcc.segment8,
27         gcc.segment9,
28         gcc.segment10,
29         gcc.segment11,
30         gcc.segment12,
31         gcc.segment13,
32         gcc.segment14,
33         gcc.segment15,
34         gcc.segment16,
35         gcc.segment17,
36         gcc.segment18,
37         gcc.segment19,
38         gcc.segment20,
39         gcc.segment21,
40         gcc.segment22,
41         gcc.segment23,
42         gcc.segment24,
43         gcc.segment25,
44         gcc.segment26,
45         gcc.segment27,
46         gcc.segment28,
47         gcc.segment29,
48         gcc.segment30
49 FROM    fnd_id_flex_structures fifs,
50         gl_code_combinations gcc
51 WHERE   fifs.application_id=101
52 AND     fifs.id_flex_code = 'GL#'
53 AND     fifs.id_flex_num = gcc.chart_of_accounts_id
54 AND     gcc.code_combination_id = p_ccid;
55 
56 l_concat_value varchar2(1000);
57 l_details c_details%rowtype;
58 l_nseg number;
59 
60 BEGIN
61 
62 OPEN c_details;
63 FETCH c_details INTO l_details;
64 
65 IF c_details%NOTFOUND  THEN
66         return null;
67 END IF;
68 
69 CLOSE c_details;
70 
71 SELECT   count(1) into l_nseg
72 FROM     fnd_id_flex_segments fifs,
73          gl_code_combinations glcc
74 WHERE    fifs.application_id = 101 and
75          fifs.id_flex_code = 'GL#' and
76          fifs.id_flex_num = glcc.chart_of_accounts_id and
77          glcc.code_combination_id =p_ccid;
78 
79 l_concat_value := FND_FLEX_SERVER.get_concatenated_value(
80          P_DELIMITER            => l_details.concatenated_segment_delimiter,
81          P_SEGMENT_COUNT        => l_nseg,
82          P_SEGMENT1             => l_details.segment1,
83          P_SEGMENT2             => l_details.segment2,
84          P_SEGMENT3             => l_details.segment3,
85          P_SEGMENT4             => l_details.segment4,
86          P_SEGMENT5             => l_details.segment5,
87          P_SEGMENT6             => l_details.segment6,
88          P_SEGMENT7             => l_details.segment7,
89          P_SEGMENT8             => l_details.segment8,
90          P_SEGMENT9             => l_details.segment9,
91          P_SEGMENT10            => l_details.segment10,
92          P_SEGMENT11            => l_details.segment11,
93          P_SEGMENT12            => l_details.segment12,
94          P_SEGMENT13            => l_details.segment13,
95          P_SEGMENT14            => l_details.segment14,
96          P_SEGMENT15            => l_details.segment15,
97          P_SEGMENT16            => l_details.segment16,
98          P_SEGMENT17            => l_details.segment17,
99          P_SEGMENT18            => l_details.segment18,
100          P_SEGMENT19            => l_details.segment19,
101          P_SEGMENT20            => l_details.segment20,
102          P_SEGMENT21            => l_details.segment21,
103          P_SEGMENT22            => l_details.segment22,
104          P_SEGMENT23            => l_details.segment23,
105          P_SEGMENT24            => l_details.segment24,
106          P_SEGMENT25            => l_details.segment25,
107          P_SEGMENT26            => l_details.segment26,
108          P_SEGMENT27            => l_details.segment27,
109          P_SEGMENT28            => l_details.segment28,
110          P_SEGMENT29            => l_details.segment29,
111          P_SEGMENT30            => l_details.segment30 );
112 
113 RETURN (l_concat_value);
114 
115 End get_concatenated_account;
116 
117 /****************************************************************
118 * FUNCTION  : get_ledger_id                                     *
119 *                                                               *
120 *       This function returns the ledger_id for a               *
121 *       intercompany organization                               *
122 ****************************************************************/
123 
124         FUNCTION get_ledger_id
125         (
126           p_party_id IN NUMBER,
127           p_party_type IN Varchar2
128         ) RETURN NUMBER
129         IS
130 l_ledger_id Number;
131 l_return_id Number;
132 
133 Begin
134 
135 -- David Haimes bug 4962308
136 -- removed the hz_party table from the sql below as it was redundant.
137 
138 SELECT ledger_id INTO l_return_id
139 FROM gl_ledger_le_v ledger_le, xle_firstparty_information_v le
140 WHERE fun_tca_pkg.get_le_id(p_party_id) = le.party_id
141 AND le.legal_entity_id = ledger_le.legal_entity_id
142 AND ledger_le.ledger_category_code = 'PRIMARY';
143 
144 return l_return_id;
145 
146 EXCEPTION
147 WHEN OTHERS THEN
148   l_return_id := -99;
149   return l_return_id;
150 
151 end get_ledger_id;
152 
153 /****************************************************************
154 * FUNCTION  : get_default_ccid             		        *
155 *								*
156 *	This function returns the default intercompany account (ccid)*
157 * for an initiator/recipient combination       			*
158 ****************************************************************/
159 
160 FUNCTION get_default_ccid
161 (
162   p_from_le_id IN NUMBER,
163   p_to_le_id   IN NUMBER,
164   p_type       IN VARCHAR2
165 ) RETURN NUMBER
166 IS
167 l_cc_id Number;
168 Begin
169 
170 begin
171  SELECT ccid INTO l_cc_id
172  FROM fun_inter_accounts
173  WHERE from_le_id = p_from_le_id
174  AND to_le_id = p_to_le_id
175  AND type = p_type
176  AND rownum = 1
177  ORDER by default_flag;
178 exception
179 when no_data_found then
180  SELECT ccid INTO l_cc_id
181  FROM fun_inter_accounts
182  WHERE from_le_id = p_from_le_id
183  AND to_le_id = -99
184  AND type = p_type
185  AND rownum = 1
186  ORDER by default_flag;
187 end;
188 
189 return l_cc_id;
190 
191 EXCEPTION
192 WHEN OTHERS THEN
193   l_cc_id := 0;
194   return l_cc_id;
195 END get_default_ccid;
196 
197 /****************************************************************
198 * FUNCTION  : log_debug          		                *
199 *						                *
200 *	This procedure calls fnd_log to log debug messages      *
201 *   Debug Levels:                                               *
202 *    LEVEL_UNEXPECTED CONSTANT NUMBER  := 6;                    *
203 *    LEVEL_ERROR      CONSTANT NUMBER  := 5;                    *
204 *    LEVEL_EXCEPTION  CONSTANT NUMBER  := 4;                    *
205 *    LEVEL_EVENT      CONSTANT NUMBER  := 3;                    *
206 *    LEVEL_PROCEDURE  CONSTANT NUMBER  := 2;                    *
207 *    LEVEL_STATEMENT  CONSTANT NUMBER  := 1;                    *
208 ****************************************************************/
209 
210 PROCEDURE log_debug
211 (
212   p_log_level IN VARCHAR2 ,
213   p_module    IN VARCHAR2,
214   p_message   IN VARCHAR2
215 )
216 IS
217 l_debug_level NUMBER;
218 BEGIN
219   l_debug_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
220   IF (p_log_level >= l_debug_level) THEN
221     FND_LOG.STRING(p_log_level, p_module, p_message);
222   END IF;
223 END log_debug;
224 
225 END FUN_TRX_ENTRY_UTIL;