[Home] [Help]
PACKAGE BODY: APPS.OKL_BPD_ADV_MON_RPT_PVT
Source
1 PACKAGE BODY OKL_BPD_ADV_MON_RPT_PVT AS
2 /* $Header: OKLRAVRB.pls 120.13 2007/08/02 07:10:30 dcshanmu noship $ */
3
4 -- Procedure for Advance Monies Report Generation
5 PROCEDURE DO_REPORT(p_errbuf OUT NOCOPY VARCHAR2,
6 p_retcode OUT NOCOPY NUMBER,
7 p_rcpt_applic_stat IN VARCHAR2,
8 p_From_date IN VARCHAR2,
9 p_To_date IN VARCHAR2)
10
11 IS
12
13 --Cursor for Applied Receipts
14 CURSOR C_Appld_Rcpts(lap_from_date DATE, lap_to_Date DATE) IS
15 /*SELECT DISTINCT okl_ext_csh_rcpts_b.check_number check_number,
16 okl_ext_csh_rcpts_b.receipt_date receipt_date,
17 okl_ext_csh_rcpts_b.remittance_amount remittance_amount,
18 okx_customer_accounts_v.NAME NAME,
19 okl_ext_csh_rcpts_b.customer_number customer_number,
20 okl_ext_csh_rcpts_b.CURRENCY_CODE currency_code,
21 ( SELECT NVL(Sum(amount_applied),0)
22 FROM AR_RECEIVABLE_APPLICATIONS_ALL
23 WHERE status = 'ACC'
24 AND cash_Receipt_id = okl_ext_csh_rcpts_b.icr_id) Amount,
25 okc_k_headers_b.Contract_Number Contract_number ,
26 okl_xtl_csh_apps_b.invoice_number invoice_number,
27 okl_xtl_csh_apps_b.TRX_DATE TRX_DATE,
28 okl_xtl_csh_apps_b.amount_applied amount_applied
29 FROM okl_ext_csh_rcpts_b,okl_xtl_csh_apps_b,okl_txl_rcpt_apps_b,
30 okx_customer_accounts_v,okc_k_headers_b, okl_trx_csh_receipt_b
31 WHERE okl_ext_csh_rcpts_b.ID = okl_xtl_csh_apps_b.XCR_ID_DETAILS
32 AND okl_trx_csh_receipt_b.id = okl_txl_rcpt_apps_b.RCT_ID_DETAILS
33 AND okl_txl_rcpt_apps_b.ILE_ID = okx_customer_accounts_v.ID1
34 AND okc_k_headers_b.id(+) = okl_txl_rcpt_apps_b.khr_id
35 AND okl_trx_csh_receipt_b.receipt_type = 'ADV'
36 AND okl_ext_csh_rcpts_b.RCT_ID = okl_trx_csh_receipt_b.id
37 AND okl_ext_csh_rcpts_b.Receipt_date >= NVL(lap_from_date,okl_ext_csh_rcpts_b.Receipt_date)
38 AND okl_ext_csh_rcpts_b.Receipt_date <= NVL(lap_to_Date,okl_ext_csh_rcpts_b.Receipt_date)
39 ORDER BY Check_number;
40 */
41
42 SELECT DISTINCT a.receipt_number check_number,
43 b.receipt_date receipt_date,
44 b.amount remittance_amount,
45 f.NAME NAME,
46 b.pay_from_customer customer_number,
47 b.CURRENCY_CODE currency_code,
48 ( SELECT NVL(Sum(amount_applied),0)
49 FROM AR_RECEIVABLE_APPLICATIONS_ALL
50 WHERE status = 'ACC'
51 AND cash_Receipt_id = a.cash_receipt_id) Amount,
52 c.Contract_Number Contract_number ,
53 a.invoice_number invoice_number,
54 d.trx_date trx_date,
55 ( SELECT NVL(SUM(a.line_applied + a.tax_applied), 0)
56 FROM okl_receipt_applications_uv
57 WHERE cash_receipt_id = a.cash_receipt_id) amount_applied
58 FROM okl_receipt_applications_uv a, ar_cash_receipts_all b, okc_k_headers_b c,
59 ar_payment_schedules_all d, okl_trx_csh_receipt_b e, okx_customer_accounts_v f,
60 ar_receivable_applications_all g
61 WHERE a.cash_receipt_id = b.cash_receipt_id
62 AND b.cash_receipt_id = e.cash_receipt_id
63 AND b.cash_receipt_id = g.cash_receipt_id
64 AND g.applied_payment_schedule_id = d.payment_schedule_id
65 AND b.pay_from_customer = f.ID1
66 AND a.contract_number(+) = c.contract_number
67 AND e.receipt_type = 'ADV'
68 AND b.Receipt_date >= NVL(null,b.Receipt_date)
69 AND b.Receipt_date <= NVL(null,b.Receipt_date)
70 ORDER BY Check_number;
71
72 --Cursor for Unapplied Receipts
73 CURSOR C_Unappld_Rcpts(lup_from_date DATE, lup_to_Date DATE) IS
74 /*SELECT DISTINCT okl_ext_csh_rcpts_b.check_number check_number,
75 okl_ext_csh_rcpts_b.receipt_date receipt_date,
76 okl_ext_csh_rcpts_b.remittance_amount remittance_amount,
77 okx_customer_accounts_v.NAME NAME,
78 okl_ext_csh_rcpts_b.customer_number customer_number,
79 okl_ext_csh_rcpts_b.CURRENCY_CODE currency_code,
80 ( SELECT NVL(Sum(amount_applied),0)
81 FROM AR_RECEIVABLE_APPLICATIONS_ALL
82 WHERE status = 'ACC'
83 AND cash_Receipt_id = okl_ext_csh_rcpts_b.icr_id)Amount,
84 okc_k_headers_b.Contract_Number Contract_number
85 FROM okl_ext_csh_rcpts_b,okl_txl_rcpt_apps_b,okx_customer_accounts_v,okc_k_headers_b, okl_trx_csh_receipt_b
86 WHERE okl_trx_csh_receipt_b.id = okl_txl_rcpt_apps_b.RCT_ID_DETAILS
87 AND okl_txl_rcpt_apps_b.ILE_ID = okx_customer_accounts_v.ID1
88 AND okc_k_headers_b.id (+) = okl_txl_rcpt_apps_b.khr_id
89 AND okl_trx_csh_receipt_b.receipt_type = 'ADV'
90 AND okl_ext_csh_rcpts_b.RCT_ID = okl_trx_csh_receipt_b.id
91 AND okl_ext_csh_rcpts_b.Receipt_date >= NVL(lup_From_date,okl_ext_csh_rcpts_b.Receipt_date)
92 AND okl_ext_csh_rcpts_b.Receipt_date <= NVL(lup_To_date,okl_ext_csh_rcpts_b.Receipt_date)
93 AND NOT EXISTS (select id from okl_xtl_csh_apps_b where xcr_id_details = okl_ext_csh_rcpts_b.id)
94 ORDER BY Check_number;
95 */
96
97 SELECT DISTINCT a.receipt_number check_number,
98 b.receipt_date receipt_date,
99 b.amount remittance_amount,
100 f.NAME NAME,
101 b.pay_from_customer customer_number,
102 b.CURRENCY_CODE currency_code,
103 ( SELECT NVL(Sum(amount_applied),0)
104 FROM AR_RECEIVABLE_APPLICATIONS_ALL
105 WHERE status = 'ACC'
106 AND cash_Receipt_id = a.cash_receipt_id) Amount,
107 c.Contract_Number Contract_number
108 FROM okl_receipt_applications_uv a, ar_cash_receipts_all b, okc_k_headers_b c,
109 okl_trx_csh_receipt_b e, okx_customer_accounts_v f
110 WHERE a.cash_receipt_id = b.cash_receipt_id
111 AND b.cash_receipt_id = e.cash_receipt_id
112 AND b.pay_from_customer = f.ID1
113 AND a.contract_number(+) = c.contract_number
114 AND e.receipt_type = 'ADV'
115 AND b.Receipt_date >= NVL(null,b.Receipt_date)
116 AND b.Receipt_date <= NVL(null,b.Receipt_date)
117 AND NOT EXISTS (select id from okl_txl_rcpt_apps_b where rct_id_details = e.id)
118 ORDER BY Check_number;
119
120 CURSOR org_csr (l_org_id IN NUMBER) IS
121 SELECT name
122 FROM hr_operating_units
123 WHERE organization_id = l_org_id;
124
125 l_receipt_no OKL_TRX_CSH_RECEIPT_V.CHECK_NUMBER%Type DEFAULT 0;
126 l_Cust_No AR_CASH_RECEIPTS_ALL.PAY_FROM_CUSTOMER%Type DEFAULT 0;
127 l_Contract_No okc_k_headers_b.Contract_Number%Type DEFAULT 0;
128
129 l_from_date DATE;
130 l_to_date DATE;
131 l_org_id NUMBER := MO_GLOBAL.GET_CURRENT_ORG_ID();
132 l_org_name VARCHAR2(240);
133 i NUMBER DEFAULT 0;
134 j NUMBER DEFAULT 0;
135
136 --length
137 l_Receipt#_len CONSTANT NUMBER DEFAULT 10;
138 l_Receipt_Date_len CONSTANT NUMBER DEFAULT 12;
139 l_Receipt_Amount_len CONSTANT NUMBER DEFAULT 15;
140 l_Customer_Name_len CONSTANT NUMBER DEFAULT 33;
141 l_Customer#_len CONSTANT NUMBER DEFAULT 10;
142 l_Account_Balance_len CONSTANT NUMBER DEFAULT 15;
143 l_Contract_Number_len CONSTANT NUMBER DEFAULT 20;
144 l_Invoice#_len CONSTANT NUMBER DEFAULT 10;
145 l_Invoice_Date_len CONSTANT NUMBER DEFAULT 12;
146 l_Amount_Applied_len CONSTANT NUMBER DEFAULT 15;
147 l_length_till_invc CONSTANT NUMBER DEFAULT 116;
148 l_length_till_invc1 CONSTANT NUMBER DEFAULT 121;
149 l_total_length CONSTANT NUMBER DEFAULT 152;
150
151 BEGIN
152
153 l_from_date:= FND_DATE.CANONICAL_TO_DATE(p_from_date);
154 l_to_date := FND_DATE.CANONICAL_TO_DATE(p_to_date);
155
156 FOR org_rec IN org_csr (l_org_id)
157 LOOP
158 l_org_name := org_rec.name;
159 END LOOP;
160
161
162 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', 52 , ' ' ) || fnd_message.get_string('OKL','OKLHOMENAVTITLE') ||
163 RPAD(' ', 53 , ' ' ));
164 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
165 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
166 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', 52 , ' ' ) || fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_TITLE') ||
167 RPAD(' ', 53 , ' ' ));
168 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ',50, ' ' ) || '-------------------------------' || RPAD(' ', 51, ' ' ));
169 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
170 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
171 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
172 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_OPERUNIT')
173 ||' : '|| SUBSTR(l_org_name, 1, 30) || RPAD(' ', 50 , ' ' ) || fnd_message.get_string('OKL','OKL_REQUEST_ID')
174 ||' : ' || Fnd_Global.CONC_REQUEST_ID);
175 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, fnd_message.get_string('OKL','OKL_AGN_RPT_CURRENCY')
176 ||' : '|| okl_accounting_util.get_func_curr_code || RPAD(' ', 70 , ' ' )
177 || Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_RUN_DATE') ||' : ' ||
178 SUBSTR(TO_CHAR(SYSDATE, 'DD-MON-YYYY'), 1, 27));
179 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
180 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
181 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', 100 , '-' ));
182 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,fnd_message.get_string('OKL','OKL_RCPT_APP_STATUS') || ' : '
183 || fnd_message.get_string('OKL',p_rcpt_applic_stat));
184 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,fnd_message.get_string('OKL','OKL_FROM_DATE') || ' : ' || l_from_date);
185 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,fnd_message.get_string('OKL','OKL_TO_DATE') || ' : ' || l_to_date);
186 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', 100 , '-' ));
187
188 --Report Header for Applied Receipts
189 IF (p_rcpt_applic_stat = 'APPLIED') OR (p_rcpt_applic_stat = 'BOTH') THEN
190
191 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, RPAD(' ', l_total_length, ' ' ));
192 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_APPLD_RCPT'));
193 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', 20 , '-' ));
194 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', l_total_length+8 , '-' ));
195 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(
196 fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_NO'),l_Receipt#_len,'TITLE')||' '||
197 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_DT'),l_Receipt_Date_len,'TITLE')||' '||
198 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_AMNT'),l_Receipt_Amount_len,'TITLE')||' '||
199 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CUST_NAME'),l_Customer_Name_len,'TITLE')||' '||
200 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CUST_NO'),l_Customer#_len,'TITLE')||' '||
201 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_ACCNT_BLNC'),l_Account_Balance_len,'TITLE')||' '||
202 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CNTRCT_NO'),l_Contract_Number_len,'TITLE')||' '||
203 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_INVC_NO'),l_Invoice#_len,'TITLE')||' '||
204 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_INVC_DT'),l_Invoice_Date_len,'TITLE')||' '||
205 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_AMNT_APPLD'),l_Amount_Applied_len,'TITLE'));
206 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('=', l_total_length+8 , '=' ));
207 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,' ');
208 -- start report Applied Receipts
209 FOR r_appld_rcpts IN C_appld_Rcpts(l_from_date,l_to_date) LOOP
210 j:= j+1;
211 IF i = 0 THEN
212 l_receipt_no := r_appld_rcpts.Check_number;
213 l_cust_no := r_appld_rcpts.customer_number;
214 l_contract_no := r_appld_rcpts.contract_number;
215 END IF;
216 i:= i+1;
217
218 IF (l_receipt_no = r_appld_rcpts.Check_number)
219 AND (l_cust_no = r_appld_rcpts.customer_number)
220 AND (l_contract_no = r_appld_rcpts.contract_number) THEN
221
222 IF i = 1 AND j = 1 THEN
223 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(r_appld_rcpts.check_number,l_Receipt#_len,'DATA')||' '||
224 GET_PROPER_LENGTH(r_appld_rcpts.receipt_date,l_Receipt_Date_len,'DATA')||' '||
225 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.remittance_amount,r_appld_rcpts.currency_code)
226 ,l_Receipt_Amount_len,'DATA')||' '||
227 GET_PROPER_LENGTH(r_appld_rcpts.NAME,l_Customer_Name_len,'DATA')||' '||
228 GET_PROPER_LENGTH(r_appld_rcpts.customer_number,l_Customer#_len,'DATA')||' '||
229 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.amount,r_appld_rcpts.currency_code)
230 ,l_Receipt_Amount_len,'DATA')||' '||
231 GET_PROPER_LENGTH(r_appld_rcpts.contract_number,l_Contract_Number_len,'DATA')||' '||
232 GET_PROPER_LENGTH(r_appld_rcpts.invoice_number,l_Invoice#_len,'DATA')||' '||
233 GET_PROPER_LENGTH(r_appld_rcpts.Trx_Date,l_Invoice_Date_len,'DATA')||' '||
234 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.amount_applied,r_appld_rcpts.currency_code),l_Amount_Applied_len,'DATA'));
235 ELSE
236 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(' ',l_length_till_invc1,'DATA')|| ' '||
237 GET_PROPER_LENGTH(r_appld_rcpts.invoice_number,l_Invoice#_len,'DATA')||' '||
238 GET_PROPER_LENGTH(r_appld_rcpts.Trx_Date,l_Invoice_Date_len,'DATA')||' '||
239 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.amount_applied,r_appld_rcpts.currency_code),l_Amount_Applied_len,'DATA'));
240 END IF;
241 ELSE
242 i := 0;
243 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(r_appld_rcpts.check_number,l_Receipt#_len,'DATA')||' '||
244 GET_PROPER_LENGTH(r_appld_rcpts.receipt_date,l_Receipt_Date_len,'DATA')||' '||
245 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.remittance_amount,r_appld_rcpts.currency_code)
246 ,l_Receipt_Amount_len,'DATA')||' '||
247 GET_PROPER_LENGTH(r_appld_rcpts.NAME,l_Customer_Name_len,'DATA')||' '||
248 GET_PROPER_LENGTH(r_appld_rcpts.customer_number,l_Customer#_len,'DATA')||' '||
249 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.amount,r_appld_rcpts.currency_code)
250 ,l_Receipt_Amount_len,'DATA')||' '||
251 GET_PROPER_LENGTH(r_appld_rcpts.contract_number,l_Contract_Number_len,'DATA')||' '||
252 GET_PROPER_LENGTH(r_appld_rcpts.invoice_number,l_Invoice#_len,'DATA')||' '||
253 GET_PROPER_LENGTH(r_appld_rcpts.Trx_Date,l_Invoice_Date_len,'DATA')||' '||
254 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_appld_rcpts.amount_applied,r_appld_rcpts.currency_code),l_Amount_Applied_len,'DATA'));
255 END IF;
256 END LOOP;
257 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD(' ', l_total_length , ' ' ));
258 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', l_total_length+8 , '-' ));
259 END IF;
260
261 IF (p_rcpt_applic_stat = 'UNAPPLIED') OR (p_rcpt_applic_stat = 'BOTH') THEN
262 --Report Header for Unapplied Receipts
263
264 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,' ');
265 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_UNAPPLD'));
266 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', 20 , '-' ));
267 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', l_length_till_invc , '-' ));
268 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(
269 fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_NO'),l_Receipt#_len,'TITLE')||' '||
270 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_DT'),l_Receipt_Date_len,'TITLE')||' '||
271 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_RCPT_AMNT'),l_Receipt_Amount_len,'TITLE')||' '||
272 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CUST_NAME'),l_Customer_Name_len,'TITLE')||' '||
273 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CUST_NO'),l_Customer#_len,'TITLE')||' '||
274 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_ACCNT_BLNC'),l_Account_Balance_len,'TITLE')||' '||
275 GET_PROPER_LENGTH(fnd_message.get_string('OKL','OKL_BPD_ADV_MNY_RPT_CNTRCT_NO'),l_Contract_Number_len,'TITLE'));
276 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('=', l_length_till_invc , '=' ));
277 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,' ');
278
279 -- start report Unapplied Receipts
280 FOR r_unappld_rcpts IN C_unappld_Rcpts(l_from_date,l_to_date) LOOP
281 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,GET_PROPER_LENGTH(r_unappld_rcpts.check_number,l_Receipt#_len,'DATA')||' '||
282 GET_PROPER_LENGTH(r_unappld_rcpts.receipt_date,l_Receipt_Date_len,'DATA')||' '||
283 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_unappld_rcpts.remittance_amount,r_unappld_rcpts.currency_code)
284 ,l_Receipt_Amount_len,'DATA')||' '||
285 GET_PROPER_LENGTH(r_unappld_rcpts.NAME,l_Customer_Name_len,'DATA')||' '||
286 GET_PROPER_LENGTH(r_unappld_rcpts.customer_number,l_Customer#_len,'DATA')||' '||
287 GET_PROPER_LENGTH(okl_accounting_util.format_amount(r_unappld_rcpts.amount,r_unappld_rcpts.currency_code)
288 ,l_Receipt_Amount_len,'DATA')||' '||
289 GET_PROPER_LENGTH(r_unappld_rcpts.contract_number,l_Contract_Number_len,'DATA'));
290 END LOOP;
291 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD(' ', l_total_length , ' ' ));
292 FND_FILE.PUT_LINE(FND_FILE.OUTPUT,RPAD('-', l_length_till_invc , '-' ));
293 END IF;
294
295 EXCEPTION
296 WHEN OTHERS THEN
297 p_errbuf := SQLERRM;
298 p_retcode := 2;
299
300 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error: '||SQLERRM);
301
302 IF (SQLCODE <> -20001) THEN
303 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error: '||SQLCODE||SQLERRM);
304 --APP_EXCEPTION.RAISE_EXCEPTION;
305 RAISE;
306 ELSE
307 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error: '||SQLCODE||SQLERRM);
308 --g_error_message := Sqlerrm;
309 APP_EXCEPTION.RAISE_EXCEPTION;
310 END IF;
311
312 END do_report;
313
314 -- Function for length formatting
315
316 FUNCTION GET_PROPER_LENGTH(p_input_data IN VARCHAR2,
317 p_input_length IN NUMBER,
318 p_input_type IN VARCHAR2)
319 RETURN VARCHAR2
320
321 IS
322
323 x_return_data VARCHAR2(1000);
324
325 BEGIN
326
327 IF (p_input_type = 'TITLE') THEN
328 IF (p_input_data IS NOT NULL) THEN
329 x_return_data := RPAD(SUBSTR(ltrim(rtrim(p_input_data)),1,p_input_length),p_input_length,' ');
330 ELSE
331 x_return_data := RPAD(' ',p_input_length,' ');
332 END IF;
333 ELSE
334 IF (p_input_data IS NOT NULL) THEN
335 IF (length(p_input_data) > p_input_length) THEN
336 x_return_data := SUBSTR(p_input_data,1,p_input_length);
337 ELSE
338 x_return_data := RPAD(p_input_data,p_input_length,' ');
339 END IF;
340 ELSE
341 x_return_data := RPAD(' ',p_input_length,' ');
342 END IF;
343 END IF;
344
345 RETURN x_return_data;
346
347 END GET_PROPER_LENGTH;
348
349 END okl_bpd_adv_mon_rpt_pvt;