1 PACKAGE BODY AP_APXINDTL_XMLP_PKG AS
2 /* $Header: APXINDTLB.pls 120.0 2007/12/27 07:51:32 vjaganat noship $ */
3 FUNCTION get_base_curr_data RETURN BOOLEAN IS
4 base_curr ap_system_parameters.base_currency_code%TYPE; prec fnd_currencies_vl.precision%TYPE; min_au fnd_currencies_vl.minimum_accountable_unit%TYPE; descr fnd_currencies_vl.description%TYPE;
5 BEGIN
6 prec := 0;
7 min_au := 0;
8 descr := '';
9 SELECT c.precision,
10 c.minimum_accountable_unit,
11 c.description
12 INTO prec,
13 min_au,
14 descr
15 FROM ap_system_parameters p,
16 fnd_currencies_vl c
17 WHERE p.base_currency_code = c.currency_code;
18 c_base_precision := prec;
19 c_base_min_acct_unit := min_au;
20 c_base_description := descr;
21 RETURN (TRUE);
22 RETURN NULL; EXCEPTION
23 WHEN OTHERS THEN
24 RETURN (FALSE);
25 END;
26 FUNCTION custom_init RETURN BOOLEAN IS
27 BEGIN
28 RETURN (TRUE);
29 RETURN NULL; EXCEPTION
30 WHEN OTHERS THEN
31 RETURN (FALSE);
32 END;
33 FUNCTION get_cover_page_values RETURN BOOLEAN IS
34 BEGIN
35 RETURN(TRUE);
36 RETURN NULL; EXCEPTION
37 WHEN OTHERS THEN
38 RETURN(FALSE);
39 END;
40 FUNCTION get_nls_strings RETURN BOOLEAN IS
41 nls_all ap_lookup_codes.displayed_field%TYPE; nls_yes fnd_lookups.meaning%TYPE; nls_no fnd_lookups.meaning%TYPE;
42 BEGIN
43 nls_all := '';
44 nls_yes := '';
45 nls_no := '';
46 SELECT ly.meaning,
47 ln.meaning,
48 la.displayed_field
49 INTO nls_yes, nls_no, nls_all
50 FROM fnd_lookups ly, fnd_lookups ln, ap_lookup_codes la
51 WHERE ly.lookup_type = 'YES_NO'
52 AND ly.lookup_code = 'Y'
53 AND ln.lookup_type = 'YES_NO'
54 AND ln.lookup_code = 'N'
55 AND la.lookup_type = 'NLS REPORT PARAMETER'
56 AND la.lookup_code = 'ALL';
57 c_nls_yes := nls_yes;
58 c_nls_no := nls_no;
59 c_nls_all := nls_all;
60 /*SRW.USER_EXIT('FND MESSAGE_NAME APPL="SQLAP" NAME="AP_APPRVL_NO_DATA"');*/null;
61 /*SRW.USER_EXIT('FND MESSAGE_GET OUTPUT_FIELD=":c_nls_no_data_exists"');*/null;
62 c_nls_no_data_exists := '*** '||c_nls_no_data_exists||' ***';
63 /*SRW.USER_EXIT('FND MESSAGE_NAME APPL="SQLAP" NAME="AP_ALL_END_OF_REPORT"');*/null;
64 /*SRW.USER_EXIT('FND MESSAGE_GET OUTPUT_FIELD=":c_nls_end_of_report"');*/null;
65 c_nls_end_of_report := '*** '||c_nls_end_of_report||' ***';
66 RETURN (TRUE);
67 RETURN NULL; EXCEPTION
68 WHEN OTHERS THEN
69 RETURN (FALSE);
70 END;
71 function BeforeReport return boolean is
72 begin
73 DECLARE
74 init_failure EXCEPTION;
75 BEGIN
76 P_START_DATE1 := to_char(P_START_DATE,'DD-MON-YY');
77 P_END_DATE1 := to_char(P_END_DATE,'DD-MON-YY');
78 P_VENDOR_TYPE_LOOKUP_CODE_1 := P_VENDOR_TYPE_LOOKUP_CODE;
79 /*SRW.USER_EXIT('FND SRWINIT');*/null;
80 IF (p_debug_switch = 'Y') THEN
81 /*SRW.MESSAGE('1','After SRWINIT');*/null;
82 END IF;
83 IF p_vendor_type_lookup_code is null then
84 p_vendor_type_lookup_code_1 := 'All';
85 END IF;
86 IF (set_dynamic_where() <> TRUE) THEN RAISE init_failure;
87 END IF;
88 IF (get_company_name() <> TRUE) THEN RAISE init_failure;
89 END IF;
90 IF (p_debug_switch = 'Y') THEN
91 /*SRW.MESSAGE('2','After Get_Company_Name');*/null;
92 END IF;
93 IF (get_nls_strings() <> TRUE) THEN RAISE init_failure;
94 END IF;
95 IF (p_debug_switch = 'Y') THEN
96 /*SRW.MESSAGE('3','After Get_NLS_Strings');*/null;
97 END IF;
98 IF (get_base_curr_data() <> TRUE) THEN RAISE init_failure;
99 END IF;
100 IF (p_debug_switch = 'Y') THEN
101 /*SRW.MESSAGE('4','After Get_Base_Curr_Data');*/null;
102 END IF;
103 IF (p_debug_switch = 'Y') THEN
104 /*SRW.BREAK;*/null;
105 END IF;
106 RETURN (TRUE);
107 EXCEPTION
108 WHEN OTHERS THEN
109 RAISE_application_error(-20101,null);/*SRW.PROGRAM_ABORT;*/null;
110 END; return (TRUE);
111 end;
112 function AfterReport return boolean is
113 begin
114 BEGIN
115 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
116 IF (P_DEBUG_SWITCH = 'Y') THEN
117 /*SRW.MESSAGE('20','After SRWEXIT');*/null;
118 END IF;
119 EXCEPTION
120 WHEN OTHERS THEN
121 RAISE_application_error(-20101,null);/*SRW.PROGRAM_ABORT;*/null;
122 END; return (TRUE);
123 end;
124 FUNCTION get_company_name RETURN BOOLEAN IS
125 l_chart_of_accounts_id gl_sets_of_books.chart_of_accounts_id%TYPE;
126 l_name gl_sets_of_books.name%TYPE;
127 l_sob_id NUMBER;
128 l_report_start_date DATE;
129 l_base_curr_code ap_system_parameters.base_currency_code%TYPE;
130 BEGIN
131 l_report_start_date := sysdate; l_sob_id := p_set_of_books_id;
132 SELECT gl.name,
133 gl.chart_of_accounts_id,
134 p.base_currency_code
135 INTO l_name,
136 l_chart_of_accounts_id,
137 l_base_curr_code
138 FROM gl_sets_of_books gl, ap_system_parameters p
139 WHERE gl.set_of_books_id = l_sob_id;
140 c_company_name_header := l_name;
141 c_chart_of_accounts_id := l_chart_of_accounts_id;
142 c_report_start_date := l_report_start_date;
143 c_base_currency_code := l_base_curr_code;
144 RETURN (TRUE);
145 RETURN NULL; EXCEPTION
146 WHEN OTHERS THEN
147 RETURN (FALSE);
148 END;
149 FUNCTION get_flexdata RETURN BOOLEAN IS
150 BEGIN
151 null;
152 RETURN (TRUE);
153 RETURN NULL; EXCEPTION
154 WHEN OTHERS THEN
155 RETURN(FALSE);
156 END;
157 FUNCTION get_nls_vendor_type RETURN BOOLEAN IS
158 l_nls_vndr_type_lkup_code po_lookup_codes.displayed_field%TYPE;
159 BEGIN
160 SELECT plc.displayed_field
161 INTO l_nls_vndr_type_lkup_code
162 FROM po_lookup_codes plc
163 WHERE plc.lookup_type = 'VENDOR TYPE'
164 AND plc.lookup_code = p_vendor_type_lookup_code;
165 c_nls_vndr_type_lkup_code := l_nls_vndr_type_lkup_code;
166 RETURN (TRUE);
167 RETURN NULL; EXCEPTION
168 WHEN OTHERS THEN
169 RETURN (FALSE);
170 END;
171 function c_allcurr_dscnt_amt_tknformula(C_SMRY_CURRENCY in varchar2, C_SMRY_DSCNT_AMT_TAKEN in number, C_SMRY_BASE_CURR_DTKN in number) return number is
172 begin
173 if C_BASE_CURRENCY_CODE = C_SMRY_CURRENCY then
174 return(C_SMRY_DSCNT_AMT_TAKEN);
175 else
176 return(C_SMRY_BASE_CURR_DTKN);
177 end if;
178 RETURN NULL; end;
179 function c_allcurr_inv_amtformula(C_SMRY_CURRENCY in varchar2, C_SMRY_INVOICE_AMOUNT in number, C_SMRY_BASE_CURR_AMT in number) return number is
180 begin
181 if C_BASE_CURRENCY_CODE = C_SMRY_CURRENCY then
182 return(C_SMRY_INVOICE_AMOUNT);
183 else
184 return(C_SMRY_BASE_CURR_AMT);
185 end if;
186 RETURN NULL; end;
187 function c_allcurr_dscnt_amt_lostformul(C_SMRY_CURRENCY in varchar2, C_SMRY_DSCNT_AMT_LOST in number, C_SMRY_BASE_CURR_DLST in number) return number is
188 begin
189 if C_BASE_CURRENCY_CODE = C_SMRY_CURRENCY then
190 return(C_SMRY_DSCNT_AMT_LOST);
191 else
192 return(C_SMRY_BASE_CURR_DLST);
193 end if;
194 RETURN NULL; end;
195 function c_allcurr_no_rate_cntformula(C_SMRY_CURRENCY in varchar2, C_SMRY_NO_RATE_COUNT in number) return number is
196 begin
197 if C_BASE_CURRENCY_CODE = C_SMRY_CURRENCY then
198 return(0);
199 else
200 return(C_SMRY_NO_RATE_COUNT);
201 end if;
202 RETURN NULL; end;
203 function c_m_allcurr_inv_amtformula(C_CURRENCY in varchar2, C_INVOICE_AMOUNT in number, C_BASE_CURRENCY_AMOUNT in number) return number is
204 begin
205 if C_BASE_CURRENCY_CODE = C_CURRENCY then
206 return(C_INVOICE_AMOUNT);
207 else
208 return(C_BASE_CURRENCY_AMOUNT);
209 end if;
210 RETURN NULL; end;
211 function c_m_allcurr_dtkn_amtformula(C_CURRENCY in varchar2, C_DISCOUNT_AMOUNT_TAKEN in number, C_BASE_CURR_DISCNT_TAKEN in number) return number is
212 begin
213 if C_BASE_CURRENCY_CODE = C_CURRENCY then
214 return(C_DISCOUNT_AMOUNT_TAKEN);
215 else
216 return(C_BASE_CURR_DISCNT_TAKEN);
217 end if;
218 RETURN NULL; end;
219 function c_m_allcurr_dlst_amtformula(C_CURRENCY in varchar2, C_DISCOUNT_AMOUNT_LOST in number, C_BASE_CURR_DISCNT_LOST in number) return number is
220 begin
221 if C_BASE_CURRENCY_CODE = C_CURRENCY then
222 return(C_DISCOUNT_AMOUNT_LOST);
223 else
224 return(C_BASE_CURR_DISCNT_LOST);
225 end if;
226 RETURN NULL; end;
227 function c_m_allcurr_no_rate_cntformula(C_CURRENCY in varchar2, C_NO_RATE_COUNT in number) return number is
228 begin
229 if C_BASE_CURRENCY_CODE = C_CURRENCY then
230 return(0);
231 else
232 return(C_NO_RATE_COUNT);
233 end if;
234 RETURN NULL; end;
235 FUNCTION SET_DYNAMIC_WHERE RETURN BOOLEAN IS
236 l_vendor_id_pred VARCHAR2(1000);
237 BEGIN
238 IF P_VENDOR_ID IS NOT NULL THEN
239 l_vendor_id_pred := 'AND v1.vendor_id = '||P_VENDOR_ID;
240 ELSE
241 l_vendor_id_pred := 'and 1=1';
242 END IF;
243 c_vendor_id_pred := l_vendor_id_pred;
244 RETURN(TRUE);
245 EXCEPTION
246 WHEN OTHERS THEN
247 RETURN(FALSE);
248 END;
249 FUNCTION SET_QUERY RETURN BOOLEAN IS
250 BEGIN
251 if P_summary_option = 'Y' THEN
252 /*srw.set_maxrow('Q_1',0);*/null;
253 else
254 /*srw.set_maxrow('Q_2',0);*/null;
255 end if;
256 return(TRUE);
257 END;
258 --Functions to refer Oracle report placeholders--
259 Function C_BASE_CURRENCY_CODE_p return varchar2 is
260 Begin
261 return C_BASE_CURRENCY_CODE;
262 END;
263 Function C_BASE_PRECISION_p return number is
264 Begin
265 return C_BASE_PRECISION;
266 END;
267 Function C_BASE_MIN_ACCT_UNIT_p return number is
268 Begin
269 return C_BASE_MIN_ACCT_UNIT;
270 END;
271 Function C_BASE_DESCRIPTION_p return varchar2 is
272 Begin
273 return C_BASE_DESCRIPTION;
274 END;
275 Function C_COMPANY_NAME_HEADER_p return varchar2 is
276 Begin
277 return C_COMPANY_NAME_HEADER;
278 END;
279 Function C_REPORT_START_DATE_p return date is
280 Begin
281 return C_REPORT_START_DATE;
282 END;
283 Function C_NLS_YES_p return varchar2 is
284 Begin
285 return C_NLS_YES;
286 END;
287 Function C_NLS_NO_p return varchar2 is
288 Begin
289 return C_NLS_NO;
290 END;
291 Function C_NLS_ALL_p return varchar2 is
292 Begin
293 return C_NLS_ALL;
294 END;
295 Function C_NLS_NO_DATA_EXISTS_p return varchar2 is
296 Begin
297 return C_NLS_NO_DATA_EXISTS;
298 END;
299 Function C_REPORT_RUN_TIME_p return varchar2 is
300 Begin
301 return C_REPORT_RUN_TIME;
302 END;
303 Function C_CHART_OF_ACCOUNTS_ID_p return number is
304 Begin
305 return C_CHART_OF_ACCOUNTS_ID;
306 END;
307 Function C_NLS_VNDR_TYPE_LKUP_CODE_p return varchar2 is
308 Begin
309 return C_NLS_VNDR_TYPE_LKUP_CODE;
310 END;
311 Function C_NO_RATE_COUNT_SAME_CURR_p return number is
312 Begin
313 return C_NO_RATE_COUNT_SAME_CURR;
314 END;
315 Function C_NLS_END_OF_REPORT_p return varchar2 is
316 Begin
317 return C_NLS_END_OF_REPORT;
318 END;
319 END AP_APXINDTL_XMLP_PKG ;
320