ich habe 2 Parameter, die Parameter-Klasse Boolean ist: java.lang.String
für: Abfrage und pSalesType Kann nicht von String werfen
Standardausdruck der Abfrage wie folgt aussehen wird:
(new String("all").equals($P{pSales_type}) ? "SELECT SALESMAN, SALES_AMOUNT, SALES_TYPE FROM (SELECT T1.SYS_USERNAME AS SALESMAN, SUM(REQ_SALES_AMOUNT) AS SALES_AMOUNT, 'Requisition' AS SALES_TYPE FROM t_requisition LEFT JOIN t_system_user T1 ON T1.SYSUSER_ID = T_REQUISITION.ENTERED_BY WHERE REQ_SALES_AMOUNT IS NOT NULL AND REQ_PROC_STATUS = 'Approved' UNION ALL SELECT T1.SYS_USERNAME AS SALESMAN, SUM(WRO_SALES_AMOUNT) AS SALES_AMOUNT, 'Work Order' AS SALES_TYPE FROM t_work_order LEFT JOIN t_system_user T1 ON T1.SYSUSER_ID = t_work_order.ENTERED_BY WHERE WRO_SALES_AMOUNT IS NOT NULL AND WRO_APPROVAL_STATUS = 'Y') xx GROUP BY SALESMAN, SALES_TYPE " :
(new String("rq").equals($P{pSales_type}) ? "SELECT T1.SYS_USERNAME AS SALESMAN, SUM(REQ_SALES_AMOUNT) AS SALES_AMOUNT, 'Requisition' AS SALES_TYPE FROM t_requisition LEFT JOIN t_system_user T1 ON T1.SYSUSER_ID = T_REQUISITION.ENTERED_BY WHERE REQ_SALES_AMOUNT IS NOT NULL AND REQ_PROC_STATUS = 'Approved'" :
(new String("wo").equals($P{pSales_type}) ? "SELECT T1.SYS_USERNAME AS SALESMAN, SUM(WRO_SALES_AMOUNT) AS SALES_AMOUNT, 'Work Order' AS SALES_TYPE FROM t_work_order LEFT JOIN t_system_user T1 ON T1.SYSUSER_ID = t_work_order.ENTERED_BY WHERE WRO_SALES_AMOUNT IS NOT NULL AND WRO_APPROVAL_STATUS = 'Y'" :
"SELECT T1.SYS_USERNAME AS SALESMAN, SUM(REQ_SALES_AMOUNT) AS SALES_AMOUNT, 'Requisition' AS SALES_TYPE FROM t_requisition LEFT JOIN t_system_user T1 ON T1.SYSUSER_ID = T_REQUISITION.ENTERED_BY WHERE REQ_SALES_AMOUNT IS NOT NULL AND REQ_PROC_STATUS = 'Approved'")))
auf die Bericht-Abfrage, ich setze so:
$P!{query}
es in der Lage, das Feld aus der Datenbank ohne Fehler zu laden.
SALESMAN
SALES_AMOUNT
SALES_TYPE
, aber wenn ich es eine Vorschau, den Fehler geben: nicht von String werfen kann
eine Idee zu lösen Boolean?
erste Stelle setzen, können Sie einfach 'gehen ("alle" .equals ($ P {pSales_type}) ...' für alle Saiten. Dann Ich würde * * nicht mit einer solchen Anweisung (Wartbarkeit) gehen, sondern drei Unterberichte oder Tabellen oder Datensätze erstellen und nur die anzeigen, die von Ihrem Parameter ausgewählt wird .. – tobi6