4 -- Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
5 -- See www.xtuple.com/CPAL for the full text of the software license.
7 SELECT apopen_id, apopen_ponumber, apopen_docnumber,
8 CASE WHEN (apopen_doctype='C') THEN <? value("creditMemo") ?>
9 WHEN (apopen_doctype='D') THEN <? value("debitMemo") ?>
10 WHEN (apopen_doctype='V') THEN <? value("voucher") ?>
11 ELSE <? value("other") ?>
13 vend_number, vend_name,
14 apopen_invcnumber AS invoicenumber,
15 apopen_docdate, apopen_duedate, apopen_amount, apopen_status,
16 <? if exists("isReport") ?>
17 formatDate(apopen_docdate) AS f_docdate,
18 formatDate(apopen_duedate) AS f_duedate,
19 formatMoney(apopen_amount) AS f_amount,
20 formatMoney(apopen_paid - COALESCE(SUM(apapply_target_paid),0)) AS f_paid,
21 formatMoney((apopen_amount - apopen_paid + COALESCE(SUM(apapply_target_paid),0)) *
22 CASE WHEN apopen_doctype IN ('D', 'V') THEN 1 ELSE -1
24 formatMoney((apopen_amount - apopen_paid + COALESCE(SUM(apapply_target_paid),0))
25 / apopen_curr_rate * (CASE WHEN apopen_doctype IN ('D', 'V') THEN 1 ELSE -1
26 END)) AS f_base_balance,
28 apopen_paid - COALESCE(SUM(apapply_target_paid),0) AS paid,
29 (apopen_amount - apopen_paid + COALESCE(SUM(apapply_target_paid),0)) *
30 CASE WHEN apopen_doctype IN ('D', 'V') THEN 1 ELSE -1
32 currConcat(apopen_curr_id) AS currAbbr,
33 (apopen_amount - apopen_paid + COALESCE(SUM(apapply_target_paid),0))
34 / apopen_curr_rate * (CASE WHEN apopen_doctype IN ('D', 'V') THEN 1 ELSE -1
36 'curr' AS apopen_amount_xtnumericrole,
37 'curr' AS paid_xtnumericrole,
38 'curr' AS balance_xtnumericrole,
39 'curr' AS base_balance_xtnumericrole,
40 0 AS base_balance_xttotalrole
42 JOIN vendinfo ON (vend_id=apopen_vend_id)
43 JOIN vendtype ON (vendtype_id=vend_vendtype_id)
44 LEFT OUTER JOIN apapply ON (((apopen_id=apapply_target_apopen_id)
45 OR (apopen_id=apapply_source_apopen_id))
46 AND (apapply_postdate > <? value("asofDate") ?>))
47 WHERE ( (COALESCE(apopen_closedate,date <? value("asofDate") ?> + integer '1')><? value("asofDate") ?>)
48 AND (CASE WHEN (<? value("useDocDate") ?>) THEN apopen_docdate ELSE apopen_distdate END<=<? value("asofDate") ?>)
49 <? if exists("vend_id") ?>
50 AND (apopen_vend_id=<? value("vend_id") ?>)
52 <? if exists("vendtype_id") ?>
53 AND (vendtype_id=<? value("vendtype_id") ?>)
55 <? if exists("vendtype_pattern") ?>
56 AND (vendtype_code~<? value("vendtype_pattern") ?>)
58 AND (apopen_duedate BETWEEN <? value("startDate") ?> AND <? value("endDate") ?>) )
59 GROUP BY apopen_id, apopen_ponumber, apopen_docnumber,apopen_doctype, apopen_invcnumber, apopen_docdate,
60 apopen_duedate, apopen_docdate, apopen_amount, apopen_paid, apopen_curr_id, apopen_curr_rate,
61 apopen.apopen_status, vend_number, vend_name
62 ORDER BY apopen_docdate;