details: /erp/devel/pi/rev/289974ed369e
changeset: 7904:289974ed369e
user: Sivaraman Rajagopal <sivaraman.rajagopal <at> openbravo.com>
date: Thu Jul 22 09:56:13 2010 +0530
summary: Fixes issue 13900: The Payment Tracker does not work with a big
amount of data
Pagination has been implemented for Payment Tracker report and also validation
rule has been implemented for exporting PDF functionality.
diffstat:
src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack.java | 111
+++-
src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack_data.xsql | 282
+++++++++-
2 files changed, 367 insertions(+), 26 deletions(-)
diffs (truncated from 464 to 300 lines):
diff -r b788095e7704 -r 289974ed369e
src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack.java
--- a/src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack.java
Wed Jul 21 18:07:54 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack.java
Thu Jul 22 09:56:13 2010 +0530
@@ -85,9 +85,33 @@
String strDPM = vars.getRequestGlobalVariable("inpDPM",
"ReportDebtPaymentTrack|DPM");
String strDPC = vars.getRequestGlobalVariable("inpDPC",
"ReportDebtPaymentTrack|DPC");
String strDPB = vars.getRequestGlobalVariable("inpDPB",
"ReportDebtPaymentTrack|DPB");
+ vars.setSessionValue("ReportDebtPaymentTrack.initRecordNumber", "0");
printPageDataSheet(response, vars, strDateFrom, strDateTo,
strcBpartnerId, strAmtFrom,
strAmtTo, strInvoice, strDPCNA, strDPCA, strDPGNA, strDPGA, strDPM,
strDPC, strDPB);
- // setHistoryCommand(request, "FIND");
+ } else if (vars.commandIn("PREVIOUS_RELATION")) {
+ String strInitRecord =
vars.getSessionValue("ReportDebtPaymentTrack.initRecordNumber");
+ String strRecordRange = Utility.getContext(this, vars, "#RecordRange",
+ "ReportDebtPaymentTrack");
+ int intRecordRange = strRecordRange.equals("") ? 0 :
Integer.parseInt(strRecordRange);
+ if (strInitRecord.equals("") || strInitRecord.equals("0"))
+ vars.setSessionValue("ReportDebtPaymentTrack.initRecordNumber", "0");
+ else {
+ int initRecord = (strInitRecord.equals("") ? 0 :
Integer.parseInt(strInitRecord));
+ initRecord -= intRecordRange;
+ strInitRecord = ((initRecord < 0) ? "0" :
Integer.toString(initRecord));
+ vars.setSessionValue("ReportDebtPaymentTrack.initRecordNumber",
strInitRecord);
+ }
+ response.sendRedirect(strDireccion + request.getServletPath());
+ } else if (vars.commandIn("NEXT_RELATION")) {
+ String strInitRecord =
vars.getSessionValue("ReportDebtPaymentTrack.initRecordNumber");
+ String strRecordRange = Utility.getContext(this, vars, "#RecordRange",
+ "ReportDebtPaymentTrack");
+ int intRecordRange = strRecordRange.equals("") ? 0 :
Integer.parseInt(strRecordRange);
+ int initRecord = (strInitRecord.equals("") ? 0 :
Integer.parseInt(strInitRecord));
+ initRecord += intRecordRange;
+ strInitRecord = ((initRecord < 0) ? "0" : Integer.toString(initRecord));
+ vars.setSessionValue("ReportDebtPaymentTrack.initRecordNumber",
strInitRecord);
+ response.sendRedirect(strDireccion + request.getServletPath());
} else if (vars.commandIn("PRINT_PDF")) {
String strDateFrom = vars.getRequestGlobalVariable("inpDateFrom",
"ReportDebtPaymentTrack|DateFrom");
@@ -108,32 +132,53 @@
String strDPM = vars.getRequestGlobalVariable("inpDPM",
"ReportDebtPaymentTrack|DPM");
String strDPC = vars.getRequestGlobalVariable("inpDPC",
"ReportDebtPaymentTrack|DPC");
String strDPB = vars.getRequestGlobalVariable("inpDPB",
"ReportDebtPaymentTrack|DPB");
- printPageDataPdf(response, vars, strDateFrom, strDateTo, strcBpartnerId,
strAmtFrom,
+ printPageDataPdf(request, response, vars, strDateFrom, strDateTo,
strcBpartnerId, strAmtFrom,
strAmtTo, strInvoice, strDPCNA, strDPCA, strDPGNA, strDPGA, strDPM,
strDPC, strDPB);
// setHistoryCommand(request, "FIND");
} else
pageError(response);
}
- private void printPageDataPdf(HttpServletResponse response,
VariablesSecureApp vars,
- String strDateFrom, String strDateTo, String strcBpartnerId, String
strAmtFrom,
- String strAmtTo, String strInvoice, String strDPCNA, String strDPCA,
String strDPGNA,
- String strDPGA, String strDPM, String strDPC, String strDPB) throws
IOException,
- ServletException {
+ private void printPageDataPdf(HttpServletRequest request,
HttpServletResponse response,
+ VariablesSecureApp vars, String strDateFrom, String strDateTo, String
strcBpartnerId,
+ String strAmtFrom, String strAmtTo, String strInvoice, String strDPCNA,
String strDPCA,
+ String strDPGNA, String strDPGA, String strDPM, String strDPC, String
strDPB)
+ throws IOException, ServletException {
+ int limit = 0;
+ int mycount = 0;
+ try {
+ limit = Integer.parseInt(Utility.getPreference(vars, "ReportsLimit",
""));
+ if (limit > 0) {
+ String strDocTypes = "'" + strInvoice + "','" + strDPCNA + "','" +
strDPCA + "','"
+ + strDPGNA + "','" + strDPGA + "','" + strDPM + "','" + strDPC +
"','" + strDPB + "'";
+ mycount =
Integer.parseInt(ReportDebtPaymentTrackData.selectCount(this,
vars.getLanguage(),
+ Utility.getContext(this, vars, "#User_Client",
"ReportDebtPayment"), Utility
+ .getContext(this, vars, "#AccessibleOrgTree",
"ReportDebtPayment"), strcBpartnerId,
+ strDateFrom, strDateTo, strAmtFrom, strAmtTo, strDocTypes));
+ }
+ } catch (NumberFormatException e) {
+ }
+
if (log4j.isDebugEnabled())
log4j.debug("Output: dataSheet");
response.setContentType("text/html; charset=UTF-8");
ReportDebtPaymentTrackData[] data = null;
-
- String strDocTypes = "'" + strInvoice + "','" + strDPCNA + "','" + strDPCA
+ "','" + strDPGNA
- + "','" + strDPGA + "','" + strDPM + "','" + strDPC + "','" + strDPB +
"'";
- data = ReportDebtPaymentTrackData.select(this, vars.getLanguage(),
Utility.getContext(this,
- vars, "#User_Client", "ReportDebtPayment"), Utility.getContext(this,
vars,
- "#AccessibleOrgTree", "ReportDebtPayment"), strcBpartnerId,
strDateFrom, strDateTo,
- strAmtFrom, strAmtTo, strDocTypes);
- String strReportName =
"@basedesign@/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTracker.jrxml";
- renderJR(vars, response, strReportName, "pdf", null, data, null);
-
+ if (limit > 0 && mycount > limit) {
+ String msgbody = Utility.messageBD(this, "ReportsLimitBody",
vars.getLanguage());
+ msgbody = msgbody.replace("@rows@", Integer.toString(mycount));
+ msgbody = msgbody.replace("@limit@", Integer.toString(limit));
+ advisePopUp(request, response, "ERROR", Utility.messageBD(this,
"ReportsLimitHeader", vars
+ .getLanguage()), msgbody);
+ } else {
+ String strDocTypes = "'" + strInvoice + "','" + strDPCNA + "','" +
strDPCA + "','" + strDPGNA
+ + "','" + strDPGA + "','" + strDPM + "','" + strDPC + "','" + strDPB
+ "'";
+ data = ReportDebtPaymentTrackData.select(this, "0", vars.getLanguage(),
Utility.getContext(
+ this, vars, "#User_Client", "ReportDebtPayment"),
Utility.getContext(this, vars,
+ "#AccessibleOrgTree", "ReportDebtPayment"), strcBpartnerId,
strDateFrom, strDateTo,
+ strAmtFrom, strAmtTo, strDocTypes, null, null, null);
+ String strReportName =
"@basedesign@/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTracker.jrxml";
+ renderJR(vars, response, strReportName, "pdf", null, data, null);
+ }
}
private void printPageDataSheet(HttpServletResponse response,
VariablesSecureApp vars,
@@ -144,6 +189,26 @@
if (log4j.isDebugEnabled())
log4j.debug("Output: dataSheet");
response.setContentType("text/html; charset=UTF-8");
+ String strRecordRange = Utility
+ .getContext(this, vars, "#RecordRange", "ReportDebtPaymentTrack");
+ int intRecordRange = (strRecordRange.equals("") ? 0 :
Integer.parseInt(strRecordRange));
+ String strInitRecord =
vars.getSessionValue("ReportDebtPaymentTrack.initRecordNumber");
+ int initRecordNumber = (strInitRecord.equals("") ? 0 :
Integer.parseInt(strInitRecord));
+ String rowNum = "0";
+ String oraLimit1 = null;
+ String oraLimit2 = null;
+ String pgLimit = null;
+ if (intRecordRange != 0) {
+ if (this.myPool.getRDBMS().equalsIgnoreCase("ORACLE")) {
+ rowNum = "ROWNUM";
+ oraLimit1 = String.valueOf(initRecordNumber + intRecordRange);
+ oraLimit2 = (initRecordNumber + 1) + " AND " + oraLimit1;
+ } else {
+ rowNum = "0";
+ pgLimit = intRecordRange + " OFFSET " + initRecordNumber;
+ }
+ }
+
PrintWriter out = response.getWriter();
XmlDocument xmlDocument = null;
ReportDebtPaymentTrackData[] data = null;
@@ -157,17 +222,19 @@
} else {
String strDocTypes = "'" + strInvoice + "','" + strDPCNA + "','" +
strDPCA + "','" + strDPGNA
+ "','" + strDPGA + "','" + strDPM + "','" + strDPC + "','" + strDPB
+ "'";
- data = ReportDebtPaymentTrackData.select(this, vars.getLanguage(),
Utility.getContext(this,
- vars, "#User_Client", "ReportDebtPayment"), Utility.getContext(this,
vars,
- "#AccessibleOrgTree", "ReportDebtPayment"), strcBpartnerId,
strDateFrom, strDateTo,
- strAmtFrom, strAmtTo, strDocTypes);
+ data = ReportDebtPaymentTrackData.select(this, rowNum,
vars.getLanguage(), Utility
+ .getContext(this, vars, "#User_Client", "ReportDebtPayment"),
Utility.getContext(this,
+ vars, "#AccessibleOrgTree", "ReportDebtPayment"), strcBpartnerId,
strDateFrom, strDateTo,
+ strAmtFrom, strAmtTo, strDocTypes, oraLimit1, oraLimit2, pgLimit);
}
xmlDocument = xmlEngine.readXmlTemplate(
"org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack",
discard).createXmlDocument();
ToolBar toolbar = new ToolBar(this, vars.getLanguage(),
"ReportDebtPaymentTrack", false, "",
"", "", false, "ad_reports", strReplaceWith, false, true);
- toolbar.prepareSimpleToolBarTemplate();
+ boolean hasPrevious = !(data == null || data.length == 0 ||
initRecordNumber <= 1);
+ boolean hasNext = !(data == null || data.length == 0 || data.length <
intRecordRange);
+ toolbar.prepareRelationBarTemplate(hasPrevious, hasNext);
xmlDocument.setParameter("toolbar", toolbar.toString());
try {
WindowTabs tabs = new WindowTabs(this, vars,
diff -r b788095e7704 -r 289974ed369e
src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack_data.xsql
--- a/src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack_data.xsql
Wed Jul 21 18:07:54 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportDebtPaymentTrack_data.xsql
Thu Jul 22 09:56:13 2010 +0530
@@ -28,6 +28,9 @@
<SqlMethodComment></SqlMethodComment>
<Sql>
<![CDATA[
+ SELECT * FROM (
+ SELECT *
+ FROM ( SELECT '0' AS RN1, C1.* FROM (
select A.tipo, A.DocType, A.documentno, A.name, A.datetrx,
replace(replace(A.description,chr(10),'|'),chr(13),'|') as description,
A.amount, A.dateplanned,replace(replace(A.obs,chr(10),'|'),chr(13),'|')
as obs,
COALESCE(B.initialamount,0) as bp_amt, COALESCE(C.initialamount,0) as
ppa_amt , A.amt_doc_bp, A.amt_doc_ppa, A.URL, A.ID
@@ -223,6 +226,281 @@
AND 9=9
AND A.DocType in ('1')
order by A.name, A.datetrx, A.documentno
+ ) C1
+ ) B WHERE 10=10 AND 11=11
+ ) A
+ ]]></Sql>
+ <Field name="rownum" value="count"/>
+ <Parameter name="rownum" type="replace" optional="true" after="FROM (
SELECT " text="'0'" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adLanguage" />
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_Client_ID IN (" text="'1'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_Org_ID IN (" text="'1'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
1=1"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_Client_iD IN (" text="'2'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_Org_iD IN (" text="'2'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
2=2"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="dP.AD_Client_ID IN (" text="'3'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="dP.AD_Org_ID IN (" text="'3'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
3=3"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="Dp.AD_Client_ID IN (" text="'4'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="Dp.AD_Org_ID IN (" text="'4'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
4=4"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.aD_Client_ID IN (" text="'5'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.aD_Org_ID IN (" text="'5'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
5=5"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.Ad_Client_ID IN (" text="'6'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.Ad_Org_ID IN (" text="'6'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
6=6"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_client_ID IN (" text="'7'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_org_ID IN (" text="'7'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
7=7"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_CLient_ID IN (" text="'8'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_ORg_ID IN (" text="'8'"/>
+ <Parameter name="cBpartnerId" optional="true" type="argument" after="and
8=8"><![CDATA[ and bp.c_bpartner_id in]]></Parameter>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_ClIent_ID IN (" text="'9'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_OrG_ID IN (" text="'9'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_CLIENT_ID IN (" text="'10'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_ORG_ID IN (" text="'10'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="dP.AD_CLIENT_ID IN (" text="'11'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="dP.AD_ORG_ID IN (" text="'11'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="Dp.AD_CLIENT_ID IN (" text="'12'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="Dp.AD_ORG_ID IN (" text="'12'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.aD_CLIENT_ID IN (" text="'13'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.aD_ORG_ID IN (" text="'13'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.Ad_CLIENT_ID IN (" text="'14'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.Ad_ORG_ID IN (" text="'14'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_cLIENT_ID IN (" text="'15'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_oRG_ID IN (" text="'15'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_ClIENT_ID IN (" text="'16'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_Org_id IN (" text="'16'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="adUserClient" type="replace" optional="true"
after="DP.AD_CLiENT_ID IN (" text="'17'"/>
+ <Parameter name="adUserOrg" type="replace" optional="true"
after="DP.AD_ORg_id in (" text="'17'"/>
+ <Parameter name="dateFrom"/>
+ <Parameter name="dateTo" optional="true" after="AND 9=9"><![CDATA[ and
A.datetrx < TO_DATE(?)]]></Parameter>
+ <Parameter name="moreThan" optional="true" after="AND 9=9"><![CDATA[ and
A.amount > TO_NUMBER(?)]]></Parameter>
+ <Parameter name="lessThan" optional="true" after="AND 9=9"><![CDATA[ and
A.amount < TO_NUMBER(?)]]></Parameter>
+ <Parameter name="docTypes" optional="true" type="replace" after="AND
A.DocType in (" text="'1'"/>
+ <Parameter name="oraLimit1" type="argument" optional="true" after=")
C1"><![CDATA[ WHERE ROWNUM <= ]]></Parameter>
+ <Parameter name="oraLimit2" type="argument" optional="true" after="WHERE
10=10"><![CDATA[ AND RN1 BETWEEN ]]></Parameter>
+ <Parameter name="pgLimit" type="argument" optional="true"
after="11=11"><![CDATA[ LIMIT ]]></Parameter>
+ </SqlMethod>
+ <SqlMethod name="set" type="constant" return="multiple">
+ <SqlMethodComment></SqlMethodComment>
+ <Sql></Sql>
+ </SqlMethod>
+ <SqlMethod name="selectCount" type="preparedStatement" return="string"
default="0">
+ <SqlMethodComment></SqlMethodComment>
+ <Sql>
+ <![CDATA[
+ select COUNT ( A.tipo || A.DocType || A.documentno || A.name || A.datetrx
|| A.amount || A.dateplanned
+ || COALESCE(B.initialamount,0) || COALESCE(C.initialamount,0) ||
A.amt_doc_bp || A.amt_doc_ppa || A.URL || A.ID ) AS COUNT
+ from
+ (select AD_MESSAGE_GET2('PTR_INVOICE', ?) as tipo, 'I' as DocType,
i.documentno, bp.c_bpartner_id, bp.name, i.dateinvoiced as dateTrx,
max(dp.description) as description,
+ sum((CASE dp.isreceipt WHEN 'Y' THEN dp.amount ELSE -dp.amount END))
as amount, max(dp.dateplanned) as dateplanned,
+ to_char(i.description) as obs, sum((CASE dp.isreceipt WHEN 'Y' THEN
dp.amount ELSE -dp.amount END)) as amt_doc_bp, 0 as amt_doc_ppa,
+ (CASE i.issotrx WHEN 'N' THEN
'../PurchaseInvoice/Header_Relation.html?Command=DIRECT' ELSE
'../SalesInvoice/Header_Relation.html?Command=DIRECT' END) as URL,
'inpcInvoiceId=' || i.c_invoice_id as id
+ from c_debt_payment dp, c_invoice i, c_bpartner bp
+ where dp.c_invoice_id = i.c_invoice_id
+ AND DP.AD_Client_ID IN ('1')
+ AND DP.AD_Org_ID IN ('1')
+ and dp.c_bpartner_id = bp.c_bpartner_id
+ and 1=1
+ group by i.documentno, bp.c_bpartner_id, bp.name, i.dateinvoiced,
to_char(i.description), i.issotrx, i.c_invoice_id
+ union all
+ select AD_MESSAGE_GET2('PTR_MANUAL', ?), 'M' as DocType, s.documentno,
bp.c_bpartner_id, bp.name, s.dateTrx as dateTrx, dp.description,
+ (CASE dp.isreceipt WHEN 'Y' THEN dp.amount ELSE -dp.amount END) as
amount, dp.dateplanned,
+ s.description as obs, (CASE dp.isreceipt WHEN 'Y' THEN dp.amount ELSE
-dp.amount END) as amt_doc_bp, 0 as amt_doc_ppa,
+ '../ManualSettlement/CreatePayment_Relation.html?Command=DIRECT' AS
URL, 'inpcDebtPaymentId=' || dp.C_DEBT_PAYMENT_ID as id
+ from c_debt_payment dp, c_settlement s, c_bpartner bp
+ where dp.c_settlement_generate_id = s.c_settlement_id
+ AND DP.AD_Client_iD IN ('2')
+ AND DP.AD_Org_iD IN ('2')
+ and dp.c_bpartner_id = bp.c_bpartner_id
+ and dp.ismanual='Y'
+ and dp.isValid='Y'
+ and 2=2
+ union all
+ select AD_MESSAGE_GET2('PTR_CP_UNPAID', ?), 'C' as DocType,
s.documentno, bp.c_bpartner_id, bp.name, s.dateTrx as dateTrx, dp.description,
+ (CASE dp.isreceipt WHEN 'Y' THEN dp.amount ELSE -dp.amount END) as
amount, dp.dateplanned,
+ s.description as obs, (CASE dp.isreceipt WHEN 'Y' THEN -dp.amount ELSE
dp.amount END) as amt_doc_bp, 0 as amt_doc_ppa,
+ '../Settlement/CancelledPayments_Relation.html?Command=DIRECT' as URL,
'inpcDebtPaymentId=' || dp.C_DEBT_PAYMENT_ID as id
+ from c_debt_payment dp, c_settlement s, c_bpartner bp
+ where dp.c_settlement_cancel_id = s.c_settlement_id
+ AND dP.AD_Client_ID IN ('3')
+ AND dP.AD_Org_ID IN ('3')
+ and dp.c_bpartner_id = bp.c_bpartner_id
+ and dp.cancel_processed='Y'
+ and dp.isPaid='N'
+ and 3=3
+ union all
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits