1 PACKAGE BODY PO_POXSUCAT_XMLP_PKG AS
2 /* $Header: POXSUCATB.pls 120.2 2011/01/11 09:05:32 vlalwani ship $ */
3
4 USER_EXIT_FAILURE EXCEPTION;
5
6 function BeforeReport return boolean is
7 begin
8
9 BEGIN
10
11 P_PO_CREATION_DATE_FROM := P_CREATION_DATE_FROM;
12 P_PO_CREATION_DATE_TO := P_CREATION_DATE_TO;
13
14 /*SRW.USER_EXIT('FND SRWINIT');*/null;
15
16 if (get_p_struct_num <> TRUE )
17 then /*SRW.MESSAGE('1','Init failed');*/null;
18
19 end if;
20
21
22
23
24
25 null;
26
27 null;
28 RETURN TRUE;
29 END; return (TRUE);
30 end;
31
32 function get_p_struct_num return boolean is
33
34 l_p_struct_num number;
35
36 begin
37 select structure_id
38 into l_p_struct_num
39 from mtl_default_sets_view
40 where functional_area_id = 2 ;
41
42 P_STRUCT_NUM := l_p_struct_num ;
43
44 return(TRUE) ;
45
46 RETURN NULL; exception
47 when others then return(FALSE) ;
48 end;
49
50 function AfterReport return boolean is
51 begin
52
53 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
54
55 return (TRUE);
56 end;
57
58 function P_creation_date_toValidTrigger return boolean is
59 begin
60
61
62 IF (P_Creation_Date_To IS NOT null) THEN
63 P_Creation_Date_To := fnd_date.displaydt_to_date(
64 fnd_date.date_to_displaydate(P_Creation_Date_To)
65 || '23:59:59');
66 END IF;
67 return (TRUE);
68 end;
69
70 function P_PO_CREATION_DATE_TOValidTrig return boolean is
71 begin
72
73 return (TRUE);
74 end;
75
76 function AfterPForm return boolean is
77 begin
78
79
80 /*
81 * Block modified for Bug 11062439 starts:
82 * Added decode statement so that it will check the range of dates with po creation date or release creation date
83 * depending on the po_release_id
84 */
85 IF (P_Creation_Date_From IS NOT null AND
86 P_Creation_Date_To IS NOT null) THEN
87
88 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
89 AND decode(poll.po_release_id, NULL, trunc(poh.creation_date), trunc(por.creation_date))
90 BETWEEN :P_PO_Creation_Date_From
91 AND :P_PO_Creation_Date_To';
92
93 ELSE
94 IF (P_Creation_Date_From IS NOT null) THEN
95 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
96 AND decode(poll.po_release_id, NULL, trunc(poh.creation_date), trunc(por.creation_date)) >= :P_PO_Creation_Date_From';
97 ELSIF (P_Creation_Date_To IS NOT null) THEN
98 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
99 AND decode(poll.po_release_id, NULL, trunc(poh.creation_date), trunc(por.creation_date))<= :P_PO_Creation_Date_To';
100 END IF;
101 END IF;
102
103 /* Block modified for Bug 11062439 ends */
104
105 IF (P_Vendor_From IS NOT null AND P_Vendor_To IS NOT null) THEN
106 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
107 AND pov.vendor_name
108 BETWEEN :P_Vendor_From AND :P_Vendor_To';
109 ELSE
110 IF (P_Vendor_From IS NOT null) THEN
111 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
112 AND pov.vendor_name >= :P_Vendor_From';
113 ELSIF (P_Vendor_To IS NOT null) THEN
114 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
115 AND pov.vendor_name <= :P_Vendor_To';
116 END IF;
117 END IF;
118
119
120 IF (P_Buyer_From IS NOT null AND P_Buyer_To IS NOT null) THEN
121 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
122 AND ppf.full_name BETWEEN
123 :P_Buyer_From AND :P_Buyer_To';
124 ELSE
125 IF (P_Buyer_From IS NOT null) THEN
126 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
127 AND ppf.full_name >= :P_Buyer_From';
128 ELSIF (P_Buyer_To IS NOT null) THEN
129 WHERE_PERFORMANCE := WHERE_PERFORMANCE || '
130 AND ppf.full_name <= :P_Buyer_To';
131 END IF;
132 END IF;
133
134 If WHERE_PERFORMANCE is null then
135 WHERE_PERFORMANCE:= 'and 1=1';
136 end if;
137 return (TRUE);
138
139 end;
140
141 --Functions to refer Oracle report placeholders--
142 function P_PO_CREATION_DATE_FROM_p return date is
143 begin
144
145 return P_PO_CREATION_DATE_FROM;
146 end;
147
148
149 function P_PO_CREATION_DATE_TO_p return date is
150 begin
151
152 return P_PO_CREATION_DATE_TO;
153 end;
154
155 END PO_POXSUCAT_XMLP_PKG ;
156