1 PACKAGE BODY AR_ARXINREV_XMLP_PKG AS
2 /* $Header: ARXINREVB.pls 120.2 2011/03/08 13:30:55 dgaurab ship $ */
3 function BeforeReport return boolean is
4 begin
5 declare
6 due_date date;
7 errorbuf varchar2(1000); x char(1);
8 acc_start_date date;
9 acc_org_id number(15);
10 l_msg varchar2(2000);
11 begin
12 /*SRW.USER_EXIt('FND SRWINIT');*/null;
13 IF (p_debug_switch = 'Y') THEN
14 /*SRW.MESSAGE('1','After SRWINIT');*/null;
15 END IF;
16 /*srw.message('1000','start');*/null;
17 select max(due_date)
18 into due_date
19 from ar_payment_schedules;
20 IF (p_debug_switch = 'Y') THEN
21 /*SRW.MESSAGE('2','After Selecting Due Date');*/null;
22 END IF;
23 /*srw.reference(p_test_layout);*/null;
24 if p_test_layout = 'Y'
25 then
26 raise no_data_found;
27 end if;
28 if P_CHART_OF_ACCOUNTS_ID is null
29 then
30 select to_char(gl.chart_of_accounts_id)
31 into P_CHART_OF_ACCOUNTS_ID
32 from gl_sets_of_books gl, ar_system_parameters p
33 where gl.set_of_books_id = p.set_of_books_id;
34 end if;
35 IF (p_debug_switch = 'Y') THEN
36 /*SRW.MESSAGE('3','After Selecting Chart of Accounts Id');*/null;
37 END IF;
38 select currency_code
39 into P_CURRENCY
40 from gl_sets_of_books gl, ar_system_parameters ar
41 where ar.set_of_books_id = gl.set_of_books_id;
42 IF (p_debug_switch = 'Y') THEN
43 /*SRW.MESSAGE('4','After Selecting Currency Code');*/null;
44 END IF;
45 select precision
46 into P_PRECISION
47 from fnd_currencies
48 where currency_code = P_CURRENCY;
49 IF (p_debug_switch = 'Y') THEN
50 /*SRW.MESSAGE('5','After Selecting Precision');*/null;
51 END IF;
52 select minimum_accountable_unit
53 into P_MIN_ACCOUNTABLE_UNIT
54 from fnd_currencies
55 where currency_code = P_CURRENCY;
56 IF (p_debug_switch = 'Y') THEN
57 /*SRW.MESSAGE('6','After Selecting Minimum Accountable Unit');*/null;
58 END IF;
59 select gl.name, gl.set_of_books_id, ar.org_id
60 into P_NAME, P_SET_OF_BOOKS_ID,acc_org_id
61 from gl_sets_of_books gl, ar_system_parameters ar
62 where gl.set_of_books_id = ar.set_of_books_id;
63 IF (p_debug_switch = 'Y') THEN
64 /*SRW.MESSAGE('7','After Selecting Set Of Books Id, Company Name');*/null;
65 END IF;
66 select end_date
67 into P_END_DATE
68 from gl_period_statuses gl
69 where gl.set_of_books_id = P_SET_OF_BOOKS_ID and gl.application_id = 222
70 and gl.period_name = P_REVALUATION_PERIOD;
71 LP_END_DATE:=P_END_DATE;
72 select min(start_date)
73 into acc_start_date
74 from gl_period_statuses gl
75 where gl.set_of_books_id = P_SET_OF_BOOKS_ID
76 and gl.application_id=222;
77 IF arp_util.open_period_exists('3000',acc_org_id,acc_start_date,p_end_date) THEN
78 FND_MESSAGE.SET_NAME('AR','AR_REPORT_ACC_NOT_GEN');
79 l_msg := FND_MESSAGE.get;
80 CP_ACC_MESSAGE := l_msg;
81 ELSE
82 CP_ACC_MESSAGE := NULL;
83 END IF;
84 IF (p_debug_switch = 'Y') THEN
85 /*SRW.MESSAGE('8','P End Date ' || P_END_DATE || ' ' || P_UP_TO_DUE_DATE );*/null;
86 END IF;
87 P_REVALUATION_DATE := P_END_DATE;
88 if P_UP_TO_DUE_DATE is null
89 then
90 P_DUE_DATE_DISP := P_UP_TO_DUE_DATE;
91 LP_UP_TO_DUE_DATE := due_date;
92 else
93 P_DUE_DATE_DISP := P_UP_TO_DUE_DATE;
94 end if;
95 IF P_RATE_TYPE_LOOKUP = 'DAILY' THEN
96 IF P_DAILY_RATE_TYPE IS NULL OR P_RATE_DATE IS NULL THEN
97 C_DAILY_RATE_LOOKUP_ERROR := 'Y';
98 ELSE
99 C_DAILY_RATE_LOOKUP_ERROR := 'N';
100 END IF;
101 END IF;
102 IF (p_debug_switch = 'Y') THEN
103 /*SRW.MESSAGE('9','Before USER EXIT FND FLEX Balancing Segment Low');*/null;
104 END IF;
105 if p_bal_segment_low is NOT NULL then
106 null;
107 IF (p_debug_switch = 'Y') THEN
108 /*SRW.MESSAGE('100','After USER EXIT FND FLEX Balancing Segment Low');*/null;
109 END IF;
110 lp_bal_segment_low := ' and '|| lp_bal_segment_low || '||'''' >= ''' || p_bal_segment_low || ''' ';
111 end if ;
112 if p_bal_segment_high is NOT NULL then
113 null;
114 lp_bal_segment_high := ' and '|| lp_bal_segment_high || '||'''' <= ''' || p_bal_segment_high || ''' ';
115 end if ;
116 IF (p_debug_switch = 'Y') THEN
117 /*SRW.MESSAGE('10','After USER EXIT FND FLEX Balancing Segment High');*/null;
118 END IF;
119 null;
120 IF (p_debug_switch = 'Y') THEN
121 /*SRW.MESSAGE('11','After USER EXIT FND FLEX ALL');*/null;
122 END IF;
123 exception
124 WHEN others THEN
125 errorbuf := SQLERRM(SQLCODE);
126 /*srw.message('12',errorbuf);*/null;
127 raise_application_error(-20101,null);/*srw.PROGRAM_ABORT;*/null;
128 end;
129 return (TRUE);
130 end;
131 function AfterReport return boolean is
132 begin
133 BEGIN
134 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
135 IF (P_DEBUG_SWITCH = 'Y') THEN
136 /*SRW.MESSAGE('12','After SRWEXIT');*/null;
137 END IF;
138 EXCEPTION
139 WHEN OTHERS THEN
140 RAISE_application_error(-20101,null);/*SRW.PROGRAM_ABORT;*/null;
141 END; return (TRUE);
142 end;
143 function aol_round( n in number, precision in number, mac in number) return number is
144 begin
145 if precision is null
146 then
147 /*srw.message( '100', 'Precision is null in call to aol_round');*/null;
148 end if;
149 if mac is null
150 then
151 return(round(n, precision));
152 else
153 return( round( n / mac ) * mac );
154 end if;
155 RETURN NULL; end;
156 function c_eop_rateformula(C_CURR in varchar2, C_TYPE in varchar2, C_EXCHANGE_RATE in number) return number is
157 begin
158 declare
159 eop_rate number;
160 begin
161 /*srw.reference(C_CURR);*/null;
162 /*srw.reference(C_TYPE);*/null;
163 /*srw.reference(C_EXCHANGE_RATE);*/null;
164 if C_CURR = P_CURRENCY then return(1.00);
165 else
166 IF P_RATE_TYPE_LOOKUP = 'PERIOD' THEN
167 select decode(tr.EOP_RATE, 0,0, 1/tr.EOP_RATE) into eop_rate
168 from gl_translation_rates tr
169 where tr.set_of_books_id = P_SET_OF_BOOKS_ID
170 and tr.to_currency_code = C_CURR
171 and upper(tr.period_name) = upper(P_REVALUATION_PERIOD)
172 and tr.actual_flag = 'A';
173 ELSE
174 eop_rate := gl_currency_api.get_rate_sql
175 (c_curr,P_currency,
176 P_RATE_DATE,
177 P_DAILY_RATE_TYPE);
178 if eop_rate < 0 then
179 raise NO_DATA_FOUND ;
180 end if;
181 END IF;
182 end if;
183 if C_TYPE = 'DEP'
184 then
185 eop_rate := C_EXCHANGE_RATE;
186 end if;
187 return(eop_rate * 1.00);
188 EXCEPTION
189 WHEN NO_DATA_FOUND THEN
190 /*srw.message(1000, 'No End of Period Rate found for ' || C_CURR );*/null;
191 end;
192 RETURN NULL; end;
193 function c_open_funcformula(C_OPEN_ORIG in number, C_EXCHANGE_RATE in number) return number is
194 begin
195 /*srw.reference(CF_EOP_EXCH_RATE);*/null;
196 /*srw.reference(C_EXCHANGE_RATE);*/null;
197 /*srw.reference(c_open_orig);*/null;
198 return (nvl(C_OPEN_ORIG,0) * nvl(C_EXCHANGE_RATE,1));
199 end;
200 function c_open_revformula(C_EOP_RATE in number, C_EXCHANGE_RATE in number, C_OPEN_ORIG in number, C_OPEN_FUNC in number) return number is
201 begin
202 declare
203 revaluated number;
204 begin
205 /*srw.reference(C_EOP_RATE);*/null;
206 /*srw.reference(C_EXCHANGE_RATE);*/null;
207 /*srw.reference(C_OPEN_ORIG);*/null;
208 /*srw.reference(C_OPEN_FUNC);*/null;
209 if nvl(C_EOP_RATE,0) < C_EXCHANGE_RATE
210 then
211 revaluated := nvl(C_OPEN_ORIG,0) * nvl(C_EOP_RATE,0);
212 else
213 revaluated := nvl(C_OPEN_FUNC,0);
214 end if;
215 if C_EOP_RATE is NULL then
216 revaluated := NULL;
217 end if;
218 return(revaluated);
219 end;
220 RETURN NULL; end;
221 function c_diffformula(C_OPEN_REV in number, C_OPEN_FUNC in number) return number is
222 begin
223 return (nvl(C_OPEN_REV,0) - nvl(C_OPEN_FUNC,0));
224 end;
225 function c_receiptsformula(C_PAY_ID in number) return number is
226 begin
227 declare
228 receipt number;
229 begin
230 /*srw.reference(C_PAY_ID);*/null;
231 if p_cleared = 'N'
232 then
233 select sum(nvl(app.amount_applied,0) + nvl(app.earned_discount_taken,0) + nvl(app.unearned_discount_taken,0))
234 into receipt
235 from ar_receivable_applications app
236 where app.applied_payment_schedule_id = C_PAY_ID
237 and app.status = 'APP'
238 and app.gl_date <= P_END_DATE
239 and app.application_type='CASH'
240 and not exists (
241 select 'reversed'
242 from ar_cash_receipt_history crh
243 where app.cash_receipt_id = crh.cash_receipt_id
244 and crh.status = 'REVERSED'
245 and crh.gl_date <= P_END_DATE);
246 else
247 select sum(nvl(app.amount_applied,0) + nvl(app.earned_discount_taken,0) + nvl(app.unearned_discount_taken,0))
248 into receipt
249 from ar_receivable_applications app
250 where app.applied_payment_schedule_id = C_PAY_ID
251 and app.status = 'APP'
252 and app.gl_date <= P_END_DATE
253 and app.application_type='CASH'
254 and exists
255 ( select 'Cleared Receipt'
256 from ar_cash_receipt_history_all crh
257 where crh.cash_receipt_id = app.cash_receipt_id
258 and crh.status = 'CLEARED'
259 and crh.gl_date <= P_END_DATE
260 and nvl(crh.reversal_gl_date,P_END_DATE+1) > P_END_DATE) ;
261 end if;
262 return(receipt);
263 EXCEPTION
264 when NO_DATA_FOUND then
265 return(0);
266 end;
267 RETURN NULL; end;
268 function c_open_origformula(C_PAY_AMOUNT in number, C_RECEIPTS in number, C_ADJUST in number, C_CM in number, C_CM1 in number) return number is
269 STATED_REPORTING_PERIOD_RCPTS number;
270 begin
271 /*srw.reference(C_REVALUATE_YES_NO);*/null;
272 /*srw.reference(C_PAY_AMOUNT);*/null;
273 /*srw.reference(C_RECEIPTS);*/null;
274 /*srw.reference(C_ADJUST);*/null;
275 /*srw.reference(C_CM);*/null;
276 /*srw.reference(C_CM1);*/null;
277 return(nvl(C_PAY_AMOUNT,0) - nvl(C_RECEIPTS,0) + nvl(C_ADJUST,0) - nvl(C_CM,0) + nvl(C_CM1,0));
278 End;
279 function calc_open_funcformula(C_OPEN_FUNC in number) return number is
280 begin
281 declare
282 calc_amount number;
283 begin
284 /*SRW.REFERENCE(C_OPEN_FUNC);*/null;
285 calc_amount := aol_round(C_OPEN_FUNC,
286 P_PRECISION, P_MIN_ACCOUNTABLE_UNIT);
287 /*srw.reference (c_trx_number);*/null;
288 /*srw.reference(C_PREVIOUS_CUST_TRX_ID);*/null;
289 /*srw.reference(C_TYPE);*/null;
290 return(nvl(calc_amount,0));
291 end;
292 RETURN NULL;
293 end;
294 function calc_open_revformula(C_OPEN_REV in number) return number is
295 begin
296 declare
297 calc_amount number;
298 begin
299 /*SRW.REFERENCE(C_OPEN_REV);*/null;
300 calc_amount := aol_round(C_OPEN_REV,
301 P_PRECISION, P_MIN_ACCOUNTABLE_UNIT);
302 return(calc_amount);
303 end;
304 RETURN NULL; end;
305 function calc_eop_amountformula(C_EOP_AMOUNT in number) return number is
306 begin
307 declare
308 calc_amount number;
309 begin
310 /*SRW.REFERENCE(C_EOP_AMOUNT);*/null;
311 calc_amount := aol_round(C_EOP_AMOUNT,
312 P_PRECISION, P_MIN_ACCOUNTABLE_UNIT);
313 return(calc_amount);
314 end;
315 RETURN NULL; end;
316 function c_adjustformula(C_PAY_ID in number) return number is
317 begin
318 declare
319 adjust number;
320 begin
321 /*srw.reference(C_PAY_ID);*/null;
322 select sum(amount)
323 into adjust
324 from ar_adjustments adj
325 where adj.payment_schedule_id = C_PAY_ID
326 and adj.gl_date <= P_END_DATE
327 and adj.status = 'A';
328 return(adjust);
329 EXCEPTION
330 when NO_DATA_FOUND then
331 return(0);
332 end;
333 RETURN NULL; end;
334 function c_eop_amountformula(C_EOP_RATE in number, C_OPEN_ORIG in number) return number is
335 begin
336 /*srw.reference(C_EOP_RATE);*/null;
337 /*srw.reference(C_OPEN_FUNC);*/null;
338 /*srw.reference(C_OPEN_ORIG);*/null;
339 /*srw.reference(CF_EOP_EXCH_RATE);*/null;
340 /*srw.reference(C_EXCHANGE_RATE);*/null;
341 if C_EOP_RATE is not NULL then
342 return(nvl(C_OPEN_ORIG,0) * nvl(C_EOP_RATE,0));
343 else
344 return(NULL);
345 end if;
346 RETURN NULL; end;
347 function c_eop_diffformula(C_SUM_EOP_AMOUNT in number, C_SUM_OPEN_FUNC in number) return number is
348 begin
349 return (nvl(C_SUM_EOP_AMOUNT,0) - nvl(C_SUM_OPEN_FUNC,0));
350 end;
351 function c_rev_diffformula(C_SUM_OPEN_REV in number, C_SUM_OPEN_FUNC in number) return number is
352 begin
353 return (nvl(C_SUM_OPEN_REV,0) - nvl(C_SUM_OPEN_FUNC,0));
354 end;
355 function c_sum_eop_diffformula(C_SUM_EOP_AMOUNT in number, C_SUM_OPEN_FUNC in number) return number is
356 begin
357 return (nvl(C_SUM_EOP_AMOUNT,0) - nvl(C_SUM_OPEN_FUNC,0));
358 end;
359 function c_sum_rev_diffformula(C_SUM_OPEN_REV in number, C_SUM_OPEN_FUNC in number) return number is
360 begin
361 return (nvl(C_SUM_OPEN_REV,0) - nvl(C_SUM_OPEN_FUNC,0));
362 end;
363 function c_flagformula(C_EOP_RATE in number, C_OPEN_ORIG in number) return number is
364 begin
365 /*srw.reference(C_EOP_RATE);*/null;
366 /*srw.reference(C_OPEN_ORIG);*/null;
367 if C_EOP_RATE is NULL and C_OPEN_ORIG <> 0
368 then return(1);
369 else return(0);
370 end if;
371 RETURN NULL; end;
372 function c_cmformula(C_PAY_ID in number) return number is
373 begin
374 declare
375 cm number;
376 begin
377 /*srw.reference(C_PAY_ID);*/null;
378 select sum(nvl(app.amount_applied,0))
379 into cm
380 from ar_receivable_applications app
381 where app.gl_date <= P_END_DATE
382 and app.status ='APP'
383 and app.application_type = 'CM'
384 and app.applied_payment_schedule_id = C_PAY_ID ;
385 return(cm);
386 EXCEPTION
387 when NO_DATA_FOUND then
388 return(0);
389 end;
390 RETURN NULL; end;
391 function c_tot_eop_diffformula(C_TOT_EOP_AMOUNT in number, C_TOT_OPEN_FUNC in number) return number is
392 begin
393 /*srw.reference(C_TOT_OPEN_FUNC);*/null;
394 /*srw.reference(C_TOT_EOP_AMOUNT);*/null;
395 return(nvl(C_TOT_EOP_AMOUNT,0) - nvl(C_TOT_OPEN_FUNC,0));
396 end;
397 function c_tot_rev_diffformula(C_TOT_OPEN_REV in number, C_TOT_OPEN_FUNC in number) return number is
398 begin
399 /*srw.reference(C_TOT_OPEN_REV);*/null;
400 /*srw.reference(C_TOT_OPEN_FUNC);*/null;
401 return(nvl(C_TOT_OPEN_REV,0) - nvl(C_TOT_OPEN_FUNC,0));
402 end;
403 function cf_eop_reval_amountformula(Cf_EOP_EXCH_RATE in number, C_TYPE in varchar2, c_exchange_rate in number, C_REVALUATE_YES_NO in varchar2, C_OPEN_ORIG in number, c_previous_cust_trx_id in number) return number is
404 begin
405 if Cf_EOP_EXCH_RATE is not null and C_TYPE <> 'CM' then
406 if (Cf_EOP_EXCH_RATE < c_exchange_rate and C_REVALUATE_YES_NO = 'Y') then
407 return(nvl(C_OPEN_ORIG,0) * nvl(Cf_EOP_EXCH_RATE,0));
408 else
409 return(nvl(C_OPEN_ORIG,0) * nvl(C_EXCHANGE_RATE,0));
410 END IF;
411 elsif
412 Cf_EOP_EXCH_RATE is not null and C_TYPE = 'CM' then
413 if (Cf_EOP_EXCH_RATE > c_exchange_rate and C_REVALUATE_YES_NO = 'Y') then
414 if c_previous_cust_trx_id <> 0 then
415 return 0;
416 else
417 return(nvl(C_OPEN_ORIG,0) * nvl(Cf_EOP_EXCH_RATE,0));
418 end if;
419 else
420 if c_previous_cust_trx_id <> 0 then
421 return 0;
422 else
423 return(nvl(C_OPEN_ORIG,0) * nvl(C_EXCHANGE_RATE,0));
424 end if;
425 END IF;
426 return(NULL);
427 end if;
428 return(NULL);
429 end;
430 function cf_total_adjustmentsformula(C_PAY_ID in number, C_OPEN_ORIG in number) return number is
431 BEGIN
432 declare
433 adjust number;
434 ratio number;
435 begin
436 /*srw.reference(C_PAY_ID);*/null;
437 /*srw.reference(C_OPEN_ORIG);*/null;
438 select sum(amount)
439 into adjust
440 from ar_adjustments adj
441 where adj.payment_schedule_id = C_PAY_ID
442 and adj.gl_date > P_REVALUATION_DATE
443 and adj.status = 'APP';
444 ratio := C_OPEN_ORIG/(C_OPEN_ORIG + ADJUST);
445 return(RATIO);
446 EXCEPTION
447 when NO_DATA_FOUND then
448 return(1);
449 end;
450 END;
451 function AfterPForm return boolean is
452 begin
453 LP_END_DATE:= P_END_DATE;
454 P_RATE_DATE1 := to_char(P_RATE_DATE,'dd-MON-yy');
455 LP_UP_TO_DUE_DATE:=P_UP_TO_DUE_DATE;
456 --(orig st)lp_dates := ' Pay.DUE_DATE <= :P_UP_TO_DUE_DATE and pay.gl_date <= :P_end_date and ';
457 lp_dates := ' Pay.DUE_DATE <= :LP_UP_TO_DUE_DATE and pay.gl_date <= :LP_END_DATE and ';
458 IF P_POSTED = 'Y' THEN
459 lp_posted := ' dist.gl_posted_date is not null and ';
460 ELSE
461 lp_posted := ' ';
462 END IF;
463 IF P_POSTED = 'Y' THEN
464 lp_posted_RECEIPTS := ' AND crh.gl_posted_date is not null ';
465 ELSE
466 lp_posted_receipts := ' ';
467 END IF;
468 IF P_CLEARED = 'Y' THEN
469 lp_cleared := ' and crh.status =' || '''CLEARED''' ;
470 --(orig st)lp_cleared_new := 'and ((pay.gl_date_closed > :P_END_DATE) ' ||
471 lp_cleared_new := 'and ((pay.gl_date_closed > :LP_END_DATE) ' ||
472 ' or exists ' ||
473 ' ( select ''receipt clear after p_end_date'' ' ||
474 ' from ar_receivable_applications_all app ' ||
475 ' ,ar_cash_receipt_history_all crh ' ||
476 ' where trx.customer_trx_id = app.applied_customer_Trx_id ' ||
477 ' and app.cash_receipt_id = crh.cash_receipt_id' ||
478 ' and crh.status <> ''CLEARED'' ' ||
479 --(orig st)' and crh.gl_date <= :P_END_DATE' ||
480 ' and crh.gl_date <= :LP_END_DATE' ||
481 --(orig st) ' and nvl(crh.reversal_gl_date, :P_END_DATE +1 ) > :P_END_DATE ) ) ' ;
482 ' and nvl(crh.reversal_gl_date, TO_DATE(:LP_END_DATE,''DD-MON-YYYY'') +1 ) > :LP_END_DATE ) ) ';
483 ELSE
484 --(orig st)lp_cleared_new := ' and pay.gl_date_closed > :P_END_DATE ' ;
485 lp_cleared_new := ' and pay.gl_date_closed > :LP_END_DATE ' ;
486 END IF;
487 return (TRUE);
488 end;
489 function cf_curr_to_func_exch_rateformu(C_EXCHANGE_RATE in number) return number is
490 RATE NUMBER;
491 begin
492 /*SRW.REFERENCE(C_EXCHANGE_RATE);*/null;
493 RATE := C_EXCHANGE_RATE;
494 return round(rate,p_precision);
495 end;
496 function cf_eop_exch_rateformula(c_revaluate_yes_no in varchar2, c_exchange_rate in number, c_curr in varchar2) return number is
497 rate number;
498 begin
499 /*srw.reference(c_exchange_rate);*/null;
500 /*srw.reference(c_revaluate_yes_no);*/null;
501 If nvl(c_revaluate_yes_no, 'N') <> 'Y' then
502 return round(c_exchange_rate,p_precision);
503 end if;
504 /*srw.reference(c_curr);*/null;
505 If P_currency = c_curr then
506 return 1;
507 else
508 /*srw.reference(c_inv_date);*/null;
509 /*srw.reference(P_RATE_TYPE);*/null;
510 /*srw.reference(P_REVALUATION_DATE);*/null;
511 rate := gl_currency_api.get_rate_sql(P_CURRENCY,c_curr,P_REVALUATION_DATE,P_RATE_TYPE);
512 return round(rate,p_precision);
513 End if;
514 end;
515 FUNCTION total (a number, b number) RETURN number is
516 BEGIN
517 return nvl(a,0) + nvl(b,0);
518 END;
519 function CF_todayFormula return char is
520 begin
521 --Bug11799279
522 return(fnd_date.date_to_chardate(sysdate, calendar_aware=> FND_DATE.calendar_aware_alt));
523 end;
524 function CF_Revaluation_dateFormula return char is
525 begin
526 --Bug11799279
527 return(fnd_date.date_to_chardate(p_revaluation_date, calendar_aware=> FND_DATE.calendar_aware_alt));
528 end;
529 function CF_due_date_dispFormula return Char is
530 begin
531 --Bug11799279
532 return(fnd_date.date_to_chardate(p_due_date_disp, calendar_aware=> FND_DATE.calendar_aware_alt));
533 end;
534 function c_2(cs_2 in number) return boolean is
535 BEGIN
536 /*srw.reference(cp_1);*/null;
537 /*srw.reference(cs_2);*/null;
538 if cp_1 = cs_2 then /*srw.message('1003', 'last');*/null;
539 return true; else return false; end if;
540 END;
541 procedure set_last_cust(c_balancing IN VARCHAR2 , cs_2 IN NUMBER)is
542 BEGIN
543 /*srw.reference(cs_2);*/null;
544 /*srw.reference(c_balancing);*/null;
545 /*srw.message ('1007', c_balancing || ' ' || cs_2);*/null;
546 If c_balancing = cs_2 then
547 /*srw.message ('1002', cs_2);*/null;
548 cp_1 := Cs_2;
549 end if;
550 END;
551 function c_cm1formula(C_PAY_ID in number) return number is
552 begin
553 declare
554 cm number;
555 begin
556 /*srw.reference(C_PAY_ID);*/null;
557 select sum(nvl(app.amount_applied,0))
558 into cm
559 from ar_receivable_applications app
560 where app.gl_date <= P_END_DATE
561 and app.status ='APP'
562 and app.application_type = 'CM'
563 and app.payment_schedule_id = C_PAY_ID ;
564 return(cm);
565 EXCEPTION
566 when NO_DATA_FOUND then
567 return(0);
568 end;
569 RETURN NULL; end;
570 function CF_RATE_TYPE_LOOKUPFormula return Char is
571 l_return_var VARCHAR2(80);
572 begin
573 SELECT displayed_field
574 INTO l_return_var
575 FROM ap_lookup_codes
576 WHERE lookup_type = 'APXINREV_RATE_TYPE'
577 AND lookup_code = P_RATE_TYPE_LOOKUP;
578 return l_return_var;
579 exception
580 WHEN OTHERS THEN
581 return P_RATE_TYPE_LOOKUP;
582 end;
583 function CF_USER_DAILY_RATE_TYPEFormula return Char is
584 l_return_var VARCHAR2(80);
585 begin
586 SELECT user_conversion_type
587 INTO l_return_var
588 FROM gl_daily_conversion_types
589 WHERE conversion_type = p_daily_rate_type;
590 return l_return_var;
591 exception
592 WHEN OTHERS THEN
593 return P_daily_rate_type;
594 end;
595 function CF_TRANS_TO_GLFormula return Char is
596 return_value varchar2(240);
597 begin
598 select meaning
599 into return_value
600 from fnd_lookups
601 where lookup_type = 'YES_NO'
602 and lookup_code = P_POSTED;
603 return(return_value);
604 end;
605 function CF_CLEARED_ONLYFormula return Char is
606 return_value varchar2(240);
607 begin
608 select meaning
609 into return_value
610 from fnd_lookups
611 where lookup_type = 'YES_NO'
612 and lookup_code = P_CLEARED;
613 return(return_value);
614 end;
615 function P_NAMEValidTrigger return boolean is
616 begin
617 return (TRUE);
618 end;
619 --Functions to refer Oracle report placeholders--
620 Function CP_TOT_TMP_p return number is
621 Begin
622 return CP_TOT_TMP;
623 END;
624 Function CP_TMP_p return number is
625 Begin
626 return CP_TMP;
627 END;
628 Function RP_DATA_FOUND_p return varchar2 is
629 Begin
630 return RP_DATA_FOUND;
631 END;
632 Function RP_SUB_TITLE_p return varchar2 is
633 Begin
634 return RP_SUB_TITLE;
635 END;
636 Function REVALUATION_DATE_p return number is
637 Begin
638 return REVALUATION_DATE;
639 END;
640 Function CP_TEMP_p return number is
641 Begin
642 return CP_TEMP;
643 END;
644 Function CP_1_p return varchar2 is
645 Begin
646 return CP_1;
647 END;
648 Function C_DAILY_RATE_LOOKUP_ERROR_p return varchar2 is
649 Begin
650 return C_DAILY_RATE_LOOKUP_ERROR;
651 END;
652 Function CP_ACC_MESSAGE_p return varchar2 is
653 Begin
654 return CP_ACC_MESSAGE;
655 END;
656 END AR_ARXINREV_XMLP_PKG ;
657
658