[Home] [Help]
PACKAGE BODY: APPS.PA_PAXSIADJ_XMLP_PKG
Source
1 PACKAGE BODY PA_PAXSIADJ_XMLP_PKG AS
2 /* $Header: PAXSIADJB.pls 120.0 2008/01/02 12:17:55 krreddy noship $ */
3 function BeforeReport return boolean is
4 CURSOR C_GET_LEDGER_ID_CUR IS
5 SELECT set_of_books_id
6 FROM pa_implementations;
7 CURSOR C_GET_LEDGER_DETAILS_CUR(p_ledger_id NUMBER) IS
8 SELECT period_set_name
9 , currency_code
10 FROM gl_ledgers_public_v
11 WHERE ledger_id = p_ledger_id;
12 CURSOR C_GET_GL_PERIOD_START_DATE_CUR(p_period_set_name VARCHAR2, p_period_name VARCHAR2) IS
13 SELECT start_date
14 FROM gl_periods
15 WHERE period_set_name = p_period_set_name
16 AND period_name = p_period_name;
17 CURSOR C_GET_GL_PERIOD_END_DATE_CUR(p_period_set_name VARCHAR2, p_period_name VARCHAR2) IS
18 SELECT end_date
19 FROM gl_periods
20 WHERE period_set_name = p_period_set_name
21 AND period_name = p_period_name;
22 begin
23 /*SRW.USER_EXIT('FND SRWINIT');
24 srw.user_exit('FND GETPROFILE
25 NAME="PA_DEBUG_MODE"
26 FIELD=":p_debug_mode"
27 PRINT_ERROR="N"');*/
28 IF p_debug_mode = 'Y' THEN
29 -- srw.message(10,'Getting Ledger ID');
30 NULL;
31 END IF;
32 OPEN C_GET_LEDGER_ID_CUR;
33 FETCH C_GET_LEDGER_ID_CUR INTO P_LEDGER_ID;
34 CLOSE C_GET_LEDGER_ID_CUR;
35 IF p_debug_mode = 'Y' THEN
36 -- srw.message(20,'Ledger ID : ' || :P_LEDGER_ID);
37 -- srw.message(30,'Getting Period Set Name and Currency Code');
38 NULL;
39 END IF;
40 OPEN C_GET_LEDGER_DETAILS_CUR(P_LEDGER_ID);
41 FETCH C_GET_LEDGER_DETAILS_CUR INTO P_PERIOD_SET_NAME,P_CURRENCY_CODE;
42 CLOSE C_GET_LEDGER_DETAILS_CUR;
43 IF p_debug_mode = 'Y' THEN
44 -- srw.message(40,'Period Set Name : ' || :P_PERIOD_SET_NAME);
45 -- srw.message(50,'Currency Code : ' || :P_CURRENCY_CODE);
46 NULL;
47 END IF;
48 IF P_FROM_GL_PERIOD IS NOT NULL THEN
49 IF p_debug_mode = 'Y' THEN
50 -- srw.message(60,'Getting Start Date of GL Period ' || :P_FROM_GL_PERIOD);
51 NULL;
52 END IF;
53 OPEN C_GET_GL_PERIOD_START_DATE_CUR(P_PERIOD_SET_NAME,P_FROM_GL_PERIOD);
54 FETCH C_GET_GL_PERIOD_START_DATE_CUR INTO P_FROM_GL_DATE;
55 CLOSE C_GET_GL_PERIOD_START_DATE_CUR;
56 IF p_debug_mode = 'Y' THEN
57 -- srw.message(70,'Start Date : ' || :P_FROM_GL_DATE);
58 NULL;
59 END IF;
60 END IF;
61 IF P_TO_GL_PERIOD IS NOT NULL THEN
62 IF p_debug_mode = 'Y' THEN
63 -- srw.message(80,'Getting End Date of GL Period ' || :P_TO_GL_PERIOD);
64 NULL;
65 END IF;
66 OPEN C_GET_GL_PERIOD_END_DATE_CUR(P_PERIOD_SET_NAME,P_TO_GL_PERIOD);
67 FETCH C_GET_GL_PERIOD_END_DATE_CUR INTO P_TO_GL_DATE;
68 CLOSE C_GET_GL_PERIOD_END_DATE_CUR;
69 IF p_debug_mode = 'Y' THEN
70 -- srw.message(90,'End Date : ' || :P_TO_GL_DATE);
71 NULL;
72 END IF;
73 END IF;
74 IF FND_GLOBAL.APPLICATION_SHORT_NAME = 'GMS' THEN
75 P_IS_GRANTS_INSTALLED := 'Y';
76 P_GMS_WHERE := ' AND pa_gms_api.vert_is_award_within_range( '
77 || ' ei.expenditure_item_id '
78 || ' ,''' || P_FROM_AWARD_NUMBER || ''' '
79 || ' ,''' || P_TO_AWARD_NUMBER || ''' '
80 || ' ) = ''Y'' ';
81 ELSE
82 P_GMS_WHERE := ' ';
83 END IF;
84 IF P_FROM_GL_ACCOUNT IS NOT NULL
85 AND P_TO_GL_ACCOUNT IS NOT NULL THEN
86 IF p_debug_mode = 'Y' THEN
87 -- srw.message(100,'Deriving where condition using account range');
88 NULL;
89 END IF;
90 /* srw.user_exit('FND FLEXSQL CODE="GL#"
91 NUM=":P_COA_ID"
92 APPL_SHORT_NAME="SQLGL"
93 OUTPUT=":P_ACC_WHERE"
94 TABLEALIAS="CC"
95 MODE="WHERE"
96 DISPLAY="ALL"
97 OPERATOR="BETWEEN"
98 OPERAND1=":P_FROM_GL_ACCOUNT"
99 OPERAND2=":P_TO_GL_ACCOUNT"');
100 */
101 P_ACC_WHERE := ' AND ' || P_ACC_WHERE;
102 IF p_debug_mode = 'Y' THEN
103 -- srw.message(110,'Where condition formed : ' || :P_ACC_WHERE);
104 NULL;
105 END IF;
106 END IF;
107 /*If Adjustment Type is all adjustments then, no predicate is to be appended to the WHERE CLAUSE */
108 IF P_ADJUSTMENT_TYPE = 'ALL' THEN
109 P_INV_REV_ADJ_WHERE := ' ';
110 P_RCV_REV_ADJ_WHERE := ' ';
111 P_PAY_REV_ADJ_WHERE := ' ';
112 P_INV_PA_ADJ_WHERE := ' ';
113 P_RCV_PA_ADJ_WHERE := ' ';
114 P_PAY_PA_ADJ_WHERE := ' ';
115 ELSIF P_ADJUSTMENT_TYPE = 'REV_ADJ' THEN
116 P_INV_REV_ADJ_WHERE :=
117 ' AND ei.transaction_source IN (''AP VARIANCE'',''AP INVOICE'',''AP NRTAX'',''AP DISCOUNTS'',''AP ERV'''
118 || ' ,''INTERCOMPANY_AP_INVOICES'',''INTERPROJECT_AP_INVOICES'',''AP EXPENSE'')'
119 || ' AND EXISTS (select NULL'
120 || ' from pa_cost_distribution_lines cdl1'
121 || ' where cdl1.expenditure_item_id = ei.expenditure_item_id'
122 || ' and cdl1.line_num = 1'
123 || ' and NVL(cdl1.reversed_flag,''N'') <> ''Y'')'
124 || ' AND ei.net_zero_adjustment_flag = ''N'''
125 || ' AND ei.transferred_from_exp_item_id IS NULL'
126 || ' AND EXISTS (select NULL'
127 || ' from pa_expenditure_items ei2'
128 || ' where (ei2.document_header_id, ei2.document_distribution_id) IN'
129 || ' ( SELECT apdist2.invoice_id, apdist2.old_distribution_id'
130 || ' from ap_invoice_distributions apdist1,'
131 || ' ap_invoice_distributions apdist2 '
132 || ' where ei.document_distribution_id = apdist1.invoice_distribution_id'
133 || ' and NVL(apdist1.historical_flag,''N'') <> ''Y'''
134 || ' and apdist1.reversal_flag = ''Y'''
135 || ' and apdist1.parent_reversal_id = apdist2.invoice_distribution_id'
136 || ' and apdist2.old_distribution_id IS NOT NULL)'
137 || ' and ( ei2.net_zero_adjustment_flag = ''Y'''
138 || ' OR EXISTS ( SELECT NULL'
139 || ' FROM pa_cost_distribution_lines_all cdl2'
140 || ' WHERE cdl2.expenditure_item_id = ei2.expenditure_item_id'
141 || ' AND cdl2.line_num = 1'
142 || ' AND cdl2.reversed_flag = ''Y''))) ';
143 P_RCV_REV_ADJ_WHERE :=
144 ' AND ei.transaction_source IN (''PO RECEIPT'',''PO RECEIPT NRTAX'''
145 || ' ,''PO RECEIPT NRTAX PRICE ADJ'''
146 || ' ,''PO RECEIPT PRICE ADJ'')'
147 || ' AND EXISTS (select NULL'
148 || ' from pa_cost_distribution_lines cdl1'
149 || ' where cdl1.expenditure_item_id = ei.expenditure_item_id'
150 || ' and cdl1.line_num = 1'
151 || ' and NVL(cdl1.reversed_flag,''N'') <> ''Y'')'
152 || ' AND ei.net_zero_adjustment_flag = ''N'''
153 || ' AND ei.transferred_from_exp_item_id IS NULL'
154 || ' AND EXISTS (select NULL'
155 || ' from pa_expenditure_items ei2'
156 || ' where (ei2.document_header_id, ei2.document_distribution_id) IN'
157 || ' ( select rcv2.po_header_id, rcv2.transaction_id'
158 || ' from rcv_transactions rcv1'
159 || ' , rcv_transactions rcv2'
160 || ' where rcv1.transaction_id = ei.document_distribution_id'
161 || ' and rcv1.transaction_type in (''RETURN TO RECEIVING'',''RETURN TO VENDOR'',''CORRECT'')'
162 || ' and rcv1.parent_transaction_id = rcv2.transaction_id)'
163 || ' and ( ei2.net_zero_adjustment_flag = ''Y'''
164 || ' OR EXISTS ( SELECT NULL'
165 || ' FROM pa_cost_distribution_lines_all cdl2'
166 || ' WHERE cdl2.expenditure_item_id = ei2.expenditure_item_id'
167 || ' AND cdl2.line_num = 1'
168 || ' AND cdl2.reversed_flag = ''Y''))) ';
169 P_PAY_REV_ADJ_WHERE := ' AND 1 = 2 ';
170 P_INV_PA_ADJ_WHERE := ' ';
171 P_RCV_PA_ADJ_WHERE := ' ';
172 P_PAY_PA_ADJ_WHERE := ' ';
173 ELSIF P_ADJUSTMENT_TYPE = 'PA_ADJ' THEN
174 P_INV_REV_ADJ_WHERE := ' ';
175 P_RCV_REV_ADJ_WHERE := ' ';
176 P_PAY_REV_ADJ_WHERE := ' ';
177 P_INV_PA_ADJ_WHERE := ' AND cdl.transfer_status_code <> ''V'' ';
178 P_RCV_PA_ADJ_WHERE := ' AND cdl.transfer_status_code <> ''V'' ';
179 P_PAY_PA_ADJ_WHERE := ' AND cdl.transfer_status_code <> ''V'' ';
180 END IF;
181 /* This will be appended to the ORDER BY clause based on the "Sort Order" parameter */
182 IF P_SORT_ORDER = 'AP' THEN
183 P_ORDER_BY := ', Invoice_Number '
184 || ', Invoice_Line_Num '
185 || ', Invoice_Dist_Line_Num '
186 || ', AP_PO_Number '
187 || ', AP_PO_Line_Num '
188 || ', AP_PO_Dist_Num ';
189 ELSE
190 P_ORDER_BY := ', PO_Number '
191 || ', PO_Line_Num '
192 || ', PO_Dist_Num '
193 || ', Invoice_Number '
194 || ', Invoice_Line_Num '
195 || ', Invoice_Dist_Line_Num ';
196 END IF;
197 return (TRUE);
198 end;
199 FUNCTION AFTERREPORT RETURN BOOLEAN IS
200 BEGIN
201 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
202 RETURN (TRUE);
203 END AFTERREPORT;
204 FUNCTION CF_COMPANY_NAMEFORMULA RETURN CHAR IS
205 L_COMPANY_NAME VARCHAR2(30);
206 CURSOR C_GET_COMPANY_NAME_CUR IS
207 SELECT
208 GL.NAME
209 FROM
210 GL_LEDGERS_PUBLIC_V GL,
211 PA_IMPLEMENTATIONS IMP
212 WHERE GL.LEDGER_ID = IMP.SET_OF_BOOKS_ID;
213 BEGIN
214 OPEN C_GET_COMPANY_NAME_CUR;
215 FETCH C_GET_COMPANY_NAME_CUR
216 INTO L_COMPANY_NAME;
217 CLOSE C_GET_COMPANY_NAME_CUR;
218 RETURN L_COMPANY_NAME;
219 END CF_COMPANY_NAMEFORMULA;
220 FUNCTION CF_NO_DATA_FOUNDFORMULA(CS_COUNT IN NUMBER) RETURN CHAR IS
221 L_NO_DATA_FOUND VARCHAR2(80);
222 CURSOR C_GET_NO_DATA_FOUND_MSG_CUR IS
223 SELECT
224 MEANING
225 FROM
226 PA_LOOKUPS
227 WHERE LOOKUP_TYPE = 'MESSAGE'
228 AND LOOKUP_CODE = 'NO_DATA_FOUND';
229 BEGIN
230 IF CS_COUNT = 0 THEN
231 OPEN C_GET_NO_DATA_FOUND_MSG_CUR;
232 FETCH C_GET_NO_DATA_FOUND_MSG_CUR
233 INTO L_NO_DATA_FOUND;
234 CLOSE C_GET_NO_DATA_FOUND_MSG_CUR;
235 END IF;
236 RETURN L_NO_DATA_FOUND;
237 END CF_NO_DATA_FOUNDFORMULA;
238 FUNCTION CF_AWARD_NUMBERFORMULA(TRANSACTION_ID IN NUMBER) RETURN CHAR IS
239 BEGIN
240 RETURN PA_GMS_API.VERT_GET_AWARD_NUMBER(P_EXPENDITURE_ITEM_ID => TRANSACTION_ID);
241 END CF_AWARD_NUMBERFORMULA;
242 END PA_PAXSIADJ_XMLP_PKG;
243