1 PACKAGE BODY AR_RAXIIR_XMLP_PKG AS
2 /* $Header: RAXIIRB.pls 120.1 2008/01/07 14:53:15 abraghun noship $ */
3
4 function BeforeReport return boolean is
5 begin
6
7 P_CONC_REQUEST_ID:=FND_GLOBAL.conc_request_id;
8 /*SRW.USER_EXIT('FND SRWINIT');*/null;
9
10 return (TRUE);
11 end;
12
13 function AfterReport return boolean is
14 begin
15
16 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
17 return (TRUE);
18 end;
19
20 function report_nameformula(Company_Name in varchar2) return varchar2 is
21 begin
22
23 DECLARE
24 l_report_name VARCHAR2(80);
25 BEGIN
26 RP_Company_Name := Company_Name;
27 SELECT substrb(cp.user_concurrent_program_name,1,80)
28 INTO l_report_name
29 FROM FND_CONCURRENT_PROGRAMS_VL cp,
30 FND_CONCURRENT_REQUESTS cr
31 WHERE cr.request_id = P_CONC_REQUEST_ID
32 AND cp.application_id = cr.program_application_id
33 AND cp.concurrent_program_id = cr.concurrent_program_id;
34
35 RP_Report_Name := l_report_name;
36 RETURN(l_report_name);
37 EXCEPTION
38 WHEN NO_DATA_FOUND
39 THEN RP_REPORT_NAME := 'Incomplete Invoice Report';
40 RETURN('REPORT TITLE');
41 END;
42 RETURN NULL; end;
43
44 function c_data_not_foundformula(Number_A in varchar2) return number is
45 begin
46
47 rp_data_found := Number_A ;
48 return (0);
49 end;
50
51 function AfterPForm return boolean is
52 begin
53
54 DECLARE
55
56 l_min_customer_number VARCHAR2 (50);
57
58 BEGIN
59
60
61 pd_min_customer_name := '-19B23' ;
62
63 select min(account_number)
64 into l_min_customer_number
65 from hz_cust_accounts;
66
67 pd_min_customer_number := l_min_customer_number ;
68
69 if p_invoice_num_low is NOT NULL then
70 lp_item_number_low := 'and ct.trx_number >= :p_invoice_num_low' ;
71 end if ;
72 if p_invoice_num_high is NOT NULL then
73 lp_item_number_high := 'and ct.trx_number <= :p_invoice_num_high' ;
74 end if ;
75
76 if p_customer_number_low is NOT NULL then
77 lp_customer_number_low := 'and nvl(cust.account_number,:pd_min_customer_number) >= :p_customer_number_low' ;
78 end if ;
79 if p_customer_number_high is NOT NULL then
80 lp_customer_number_high := 'and nvl(cust.account_number,:pd_min_customer_number) <= :p_customer_number_high' ;
81 end if ;
82
83 if p_customer_name_low is NOT NULL then
84 lp_customer_name_low := 'and nvl(party.party_name,:pd_min_customer_name) >= :p_customer_name_low' ;
85 end if ;
86 if p_customer_name_high is NOT NULL then
87 lp_customer_name_high := 'and nvl(party.party_name,:pd_min_customer_name) <= :p_customer_name_high' ;
88 end if ;
89
90 END ;
91 return (TRUE);
92 end;
93
94 function CF_ORDER_BYFormula return Char is
95
96 order_meaning AR_LOOKUPS.MEANING%TYPE;
97 begin
98
99 SELECT
100 MEANING
101 INTO order_meaning
102 FROM AR_LOOKUPS
103 WHERE LOOKUP_TYPE = 'SORT_BY_RAXIIR'
104 AND UPPER(LOOKUP_CODE) = UPPER(P_ORDER_BY);
105
106 RETURN (ORDER_MEANING);
107
108 EXCEPTION
109 WHEN NO_DATA_FOUND THEN
110 RETURN(P_ORDER_BY);
111
112 end;
113
114 --Functions to refer Oracle report placeholders--
115
116 Function RP_COMPANY_NAME_p return varchar2 is
117 Begin
118 return RP_COMPANY_NAME;
119 END;
120 Function RP_REPORT_NAME_p return varchar2 is
121 Begin
122 return substr(RP_REPORT_NAME,1,instr(RP_REPORT_NAME,' (XML)'));
123 END;
124 Function RP_DATA_FOUND_p return varchar2 is
125 Begin
126 return RP_DATA_FOUND;
127 END;
128 END AR_RAXIIR_XMLP_PKG ;
129