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

Reply via email to