Skip to main content



      Home
Home » Archived » BIRT » PLEASE HELP--How Are You Supposed to Pass Data Set Input Parameters?
PLEASE HELP--How Are You Supposed to Pass Data Set Input Parameters? [message #179456] Fri, 21 July 2006 12:16 Go to next message
Eclipse UserFriend
Folks,
Going through past forum entries, I have seen many developers asking
the same question and never is there an answer--how do you pass a
parameter to a query?

<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Claim Data Set" id="6">
<property name="dataSource">Data Source</property>
<list-property name="parameters">
<structure>
<property name="name">WHERE_CLAUSE</property>
<property name="dataType">string</property>
<property name="position">1</property>
<property name="defaultValue">"1"</property>
<property name="isOptional">false</property>
<property name="allowNull">true</property>
<property name="isInput">true</property>
<property name="isOutput">false</property>
</structure>
</list-property>
<property name="queryText">
SELECT *
FROM CLAIM
WHERE '1' = ?
Re: PLEASE HELP--How Are You Supposed to Pass Data Set Input Parameters? [message #179473 is a reply to message #179456] Fri, 21 July 2006 13:29 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: danny.rosenberg.weblayers.com

Tyrone -

Open this report in the designer and let me know if you have any questions.

best,
-d.

"Tyrone Hed" <tyronehed@earthlink.net> wrote in message
news:08b9a2b54dc2083d495588a9d32f7a39$1@www.eclipse.org...
> Folks,
> Going through past forum entries, I have seen many developers asking
> the same question and never is there an answer--how do you pass a
> parameter to a query?
>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
> name="Claim Data Set" id="6">
> <property name="dataSource">Data Source</property>
> <list-property name="parameters">
> <structure>
> <property name="name">WHERE_CLAUSE</property>
> <property name="dataType">string</property>
> <property name="position">1</property>
> <property name="defaultValue">"1"</property>
> <property name="isOptional">false</property>
> <property name="allowNull">true</property>
> <property name="isInput">true</property>
> <property name="isOutput">false</property>
> </structure>
> </list-property>
> <property name="queryText">
> SELECT *
> FROM CLAIM
> WHERE '1' = ?
>


SOLVED! --How Are You Supposed to Pass Data Set Input Parameters? [message #179538 is a reply to message #179456] Fri, 21 July 2006 20:01 Go to previous message
Eclipse UserFriend
Folks,
Because of the help of Jason, I have been able to solve this. And I
would never have figured it out by myself. What I was trying to accomplish
was to pass in the contents of the where clause, which had been been
created dynamically at run time. Here's how I did it.

REPORT DESIGN FILE:

Important aspects of this:

1.) The WHERE_CLAUSE parameter is set up to be appended to the
query's
where clause. Notice the default is designed to produce no output so I
will notice if anything goes astray.

2.) The setting for the method is the critical part. You see that it
takes the property called "queryText" (which is defined right after it)
and
appends my parameter WHERE_CLAUSE to it and then it replaces the
original
with the version I added the WHERE CLAUSE to.

<method name="beforeOpen"><![CDATA[this.queryText = this.queryText + " " +
params["WHERE_CLAUSE"];]]></method>

3.) Finally, notice the end of my query. It ends in the statement
WHERE
I do that so the query is ready to accept the clause I've built in Java.



<?xml version="1.0" encoding="UTF-8"?>
<!-- Written by Eclipse BIRT 2.0 -->
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.0.1 Build
&lt;20060222-1204></property>
<property name="units">in</property>
<text-property name="displayName">Worksheet Report</text-property>
<parameters>
<scalar-parameter name="WHERE_CLAUSE" id="7">
<property name="valueType">static</property>
<property name="dataType">string</property>
<property name="allowNull">true</property>
<property name="defaultValue">1 = 0</property>
<property name="controlType">text-box</property>
<property name="format">Unformatted</property>
</scalar-parameter>
</parameters>
<data-sources>
<oda-data-source
extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source"
id="4">
<property
name="odaDriverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver </property>
<property
name="odaURL">jdbc:sqlserver://localhost:1433;databaseName=FREYA_DB</property>
<property name="odaUser">FREYA</property>
<encrypted-property
name="odaPassword">bWlkZ2FyZDE=</encrypted-property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set
extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet "
name="Claim Data Set" id="6">
<property name="dataSource">Data Source</property>
<method name="beforeOpen"><![CDATA[this.queryText =
this.queryText + " " + params["WHERE_CLAUSE"];]]></method>
<property name="queryText">
SELECT
CLAIM.CLAIM_EID
FROM
CLAIM
WHERE
</property>
</oda-data-set>





Finally, for the sake of completeness, I will give you the method that
builds the query. The portion you really need to focus on here is any one
of the ones that builds a WHERE CLAUSE:



public void populateParameters2( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11 ],
pIn[ 12 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}







COMPLETE CLASS



package com.ingenix.freya.web.components.reporting;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;

import org.apache.tapestry.AbstractComponent;
import org.apache.tapestry.IMarkupWriter;
import org.apache.tapestry.IRequestCycle;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.HTMLRenderContext;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.ReportEngine;
import org.eclipse.birt.report.model.api.DesignElementHandle;
import org.eclipse.birt.report.model.api.OdaDataSourceHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.api.SlotHandle;

import com.ingenix.freya.api.configuration.ConfigurationService;
import com.ingenix.freya.api.configuration.ConfigurationServiceAcce ssor;
import com.ingenix.freya.web.reporting.PeReportCriteria;
import com.ingenix.freya.web.reporting.ReportingUtil;
import com.ingenix.freya.web.util.CipherUtilityWeb;

public abstract class PeReportRenderer extends AbstractComponent
{
private String mEditErrorType = "";
public void setEditErrorType( String pEditErrorType )
{
mEditErrorType = pEditErrorType;
}
public String getEditErrorType()
{
return mEditErrorType;
}

public static final String cEDIT_ERROR_TYPE_CLAIM = "CLAIM";
public static final String cEDIT_ERROR_TYPE_PATIENT = "PATIENT";
public static final String cEDIT_ERROR_TYPE_PROVIDER = "PROVIDER";
public static final String cEDIT_ERROR_TYPE_PLAN = "PLAN";
public static final String cEDIT_ERROR_TYPE_ACCOUNT = "ACCOUNT";

public abstract boolean[] getAccountSelection();
public abstract void setAccountSelection( boolean[] pAccountSelection );

public abstract boolean[] getPlanSelection();
public abstract void setPlanSelection( boolean[] pPlanSelection );

public abstract boolean[] getFlagSelection();
public abstract void setFlagSelection( boolean[] pFlagSelection );


protected void renderComponent(IMarkupWriter pWriter, IRequestCycle
pCycle)
{
pWriter.begin("p");
getHTMLReport(pWriter, pCycle.getListenerParameters());
pWriter.end("p");
}

private void getHTMLReport(IMarkupWriter pWriter, Object[] pParameters)
{
ReportEngine engine = ReportingUtil.getEngine();

// Run reports, etc.
try
{
HashMap<String, Object> parameters = new HashMap<String, Object>();

setOutgoingParameters( parameters, pParameters );

IReportRunnable design = getReportSpecification( engine,
(String)pParameters[ 0 ] );

// Create task to run the report and render the report
IRunAndRenderTask task = engine.createRunAndRenderTask(design);

// Set Render context to handle url and image locataions
HTMLRenderContext renderContext = new HTMLRenderContext();
// renderContext.setImageDirectory("image");
HashMap<String, Object> contextMap = new HashMap<String, Object>();
contextMap.put(EngineConstants.APPCONTEXT_HTML_RENDER_CONTEX T,
renderContext);
task.setAppContext(contextMap);

task.setParameterValues(parameters);

populateDatabaseConnectionParameters( design );

// create output stream
ByteArrayOutputStream out = new ByteArrayOutputStream(2048);
// Set rendering options - such as file or stream output,
// output format, whether it is embeddable, etc
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputStream(out);
options.setOutputFormat("html");
task.setRenderOption(options);

// UTF-8
task.run();
pWriter.printRaw( out.toString( "UTF-8" ) );
//printReport(pWriter, engine, report);
}
catch (Exception e1)
{
e1.printStackTrace();
}
// Shut down the engine.

if (engine != null)
{
engine.destroy();
}

}

private IReportRunnable getReportSpecification( ReportEngine pEngine,
String pFileName ) throws Exception
{
InputStream stream =
PeReportRenderer.class.getClassLoader().getResourceAsStream( pFileName );

IReportRunnable design = pEngine.openReportDesign( stream );

return design;
}

/** Because each report has its own set of particulars that must be set,
this method just redirects to the
* particular methods that are designed for that report.*/
private void setOutgoingParameters( HashMap<String,
Object>pOutgoingParameters, Object[] pIncomingParameters )
{
// First, determine which report this is.
String reportParm = (String) pIncomingParameters[ 0 ];

if( reportParm == null )
{
return;
}

int reportNumber = -1;

String[] reportPaths = PeReportCriteria.cReportPaths;

for( int i = 0; i < reportPaths.length; i++ )
{
if( reportParm.equals( reportPaths[ i ] ) )
{
reportNumber = i;
break;
}
}


switch( reportNumber )
{
case -1:
break;
case 0:
//populateParameters0( pOutgoingParameters, pIncomingParameters
); // This is actually redirected to other Edit Error reports.
break;
case 1:
populateParameters1( pOutgoingParameters, pIncomingParameters );
break;
case 2:
populateParameters2( pOutgoingParameters, pIncomingParameters );
break;
case 3:
populateParameters3( pOutgoingParameters, pIncomingParameters );
break;
case 4:
populateParameters4( pOutgoingParameters, pIncomingParameters );
break;
case 5:
populateParameters5( pOutgoingParameters, pIncomingParameters );
break;
case 6:
populateParameters6( pOutgoingParameters, pIncomingParameters );
break;
case 7:
populateParameters7( pOutgoingParameters, pIncomingParameters );
break;
case 8:
populateParameters8( pOutgoingParameters, pIncomingParameters );
break;
case 9:
populateParameters9( pOutgoingParameters, pIncomingParameters );
break;
case 10:
populateParameters10( pOutgoingParameters, pIncomingParameters );
break;
case 11:
populateParameters11( pOutgoingParameters, pIncomingParameters );
break;
case 12:
populateParameters12( pOutgoingParameters, pIncomingParameters );
break;
case 13:
populateParameters13( pOutgoingParameters, pIncomingParameters );
break;
case 14:
populateParameters14( pOutgoingParameters, pIncomingParameters );
break;
case 15:
populateParameters15( pOutgoingParameters, pIncomingParameters );
break;
case 16:
populateParameters16( pOutgoingParameters, pIncomingParameters );
break;
}
}

/** This is for the Worksheet_Report.rptdesign */
public void populateParameters1( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );

/** The following logic is necessary in case we arrived here via the
Claim Edit Screen, which only
* supplies parameters for parms 0, 1, 2 */
if( pIn.length > 3 )
{
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3
], pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5
], pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7
], pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9
], pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11
], pIn[ 12 ] ) );

where.append( populateFlags( pOut, pIn[ 17
], pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21
], pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23
], pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );
}

pOut.put( "WHERE_CLAUSE", where.toString() );
}

/** This is the Edit Summary Report, Edit_Summary_Report.rptdesign */
public void populateParameters2( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11 ],
pIn[ 12 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Savings Summary Report, Savings_Summary_Report.rptdesign
*/
public void populateParameters3( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}

/** This is the Diagnosis Drill Down Report,
Dx_Drill_Down_Report.rptdesign */
public void populateParameters4( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndDiagnosisCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Diagnosis Frequency Report,
Diagnosis_Frequency_Report.rptdesign */
public void populateParameters5( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndDiagnosisCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Frequency by Diagnosis by Procedure Report,
Freq_by_Diag_Proc_Report.rptdesign */
public void populateParameters6( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndDiagnosisCode( pOut, pIn[ 13],
pIn[ 14 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 15],
pIn[ 16 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}



/** This is the Frequency by Procedure by Diagnosis Report,
Freq_by_Proc_Diag_Report.rptdesign */
public void populateParameters7( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndDiagnosisCode( pOut, pIn[ 13],
pIn[ 14 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 15],
pIn[ 16 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Px_Drill_Down_Report.rptdesign */
public void populateParameters8( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Procedure_Frequency_Report.rptdesign */
public void populateParameters9( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );

where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11 ],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Proc_Frequency_by_Proc.rptdesign */
public void populateParameters10( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( "\n AND CLAIM_LINE1.ADJUSTED_PROCEDURE_CODE <>
CLAIM_LINE2.ADJUSTED_PROCEDURE_CODE " );
where.append( "\n AND CLAIM_LINE1.PRACTITIONER_IID IS NOT NULL " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11 ],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


/** This is the Database Customization Report,
KB_Customization_Report.rptdesign */
public void populateParameters11( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n AUDIT_LOG.COMPONENT_NAME = 'DIAGNOSIS_CODE' " );
where.append( populateStartAndEndUserIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndAuditDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndRulesetName( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndEnterpriseName( pOut, pIn[ 7 ],
pIn[ 8 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}





/** This is the EditError_Claim_Report.rptdesign */
public void populateParameters12( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}

/** This is the EditError_Patient_Report.rptdesign */
public void populateParameters13( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}



/** This is the EditError_Provider_Report.rptdesign */
public void populateParameters14( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );
where.append( populateStartAndEndProcedureCode( pOut, pIn[ 13],
pIn[ 14 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}

/** This is the Edit Error Plan Report, EditError_Plan_Report.rptdesign
*/
public void populateParameters15( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11],
pIn[ 12 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}

/** This is for the EditError_Account_Report.rptdesign */
public void populateParameters16( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer where = new StringBuffer();

where.append( " \n CLAIM1.DISCRIMINATOR = 'PRO' " );
where.append( populateStartAndEndClaimIID( pOut, pIn[ 1 ],
pIn[ 2 ] ) );
where.append( populateStartAndEndSystemEntryDate( pOut, pIn[ 3 ],
pIn[ 4 ] ) );
where.append( populateStartAndEndServiceStartDate( pOut, pIn[ 5 ],
pIn[ 6 ] ) );
where.append( populateStartAndEndBatchEID( pOut, pIn[ 7 ],
pIn[ 8 ] ) );
where.append( populateStartAndEndPractitionerEID( pOut, pIn[ 9 ],
pIn[ 10 ] ) );
where.append( populateStartAndEndMedicalRecordNumber( pOut, pIn[ 11 ],
pIn[ 12 ] ) );

where.append( populateFlags( pOut, pIn[ 17 ],
pIn[ 18 ], pIn[ 19 ], pIn[ 20 ] ) );
where.append( populateEnvironment( pOut, pIn[ 21 ],
pIn[ 22 ] ) );
where.append( populateAdditionalData( pOut, pIn[ 23 ],
pIn[ 24 ], pIn[ 25 ] ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

where.append( populateAccountsList( pOut, pIn ) );
where.append( populatePlansList( pOut, pIn ) );
where.append( populateFlagsList( pOut, pIn ) );

pOut.put( "WHERE_CLAUSE", where.toString() );
}


private String populateStartAndEndClaimIID( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND \n " );
where.append( " (" );
where.append( "\n" );
where.append( " (CLAIM1.CLAIM_EID = '" + start + "')" );
where.append( "\n" );
where.append( " )" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (" );
where.append( "\n" );
where.append( " (CLAIM1.CLAIM_EID >= '" + start + "') AND
(CLAIM1.CLAIM_EID <= '" + end + "') " );
where.append( "\n" );
where.append( " )" );
}

return where.toString();
}

private String populateStartAndEndSystemEntryDate( HashMap<String,
Object> pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
Date start = (Date) pStart;
Date end = (Date) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (CLAIM1.SYSTEM_ENTRY_DATE = '" +
start.toString() + "' )" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (CLAIM1.SYSTEM_ENTRY_DATE >= '" +
start.toString() + "' ) AND (CLAIM1.SYSTEM_ENTRY_DATE <= '" +
end.toString() + "' ) " );
}

return where.toString();
}

private String populateStartAndEndServiceStartDate( HashMap<String,
Object> pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
Date start = (Date) pStart;
Date end = (Date) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE.SERVICE_START_DATE = '" +
start.toString() + "' )" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE.SERVICE_START_DATE >= '" +
start.toString() + "' ) AND (CLAIM_LINE.SERVICE_START_DATE <= '" +
end.toString() + "' ) " );
}

return where.toString();
}

private String populateStartAndEndAuditDate( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
Date start = (Date) pStart;
Date end = (Date) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (AUDIT_LOG.AUDIT_DATE = '" + start.toString() +
"' )" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (AUDIT_LOG.AUDIT_DATE >= '" + start.toString() +
"' ) AND (AUDIT_LOG.AUDIT_DATE <= '" + end.toString() + "' ) " );
}

return where.toString();
}


private String populateStartAndEndBatchEID( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (CLAIM1.BATCH_EID = '" + start + "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (CLAIM1.BATCH_EID >= '" + start + "') AND
(CLAIM1.BATCH_EID <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndPractitionerEID( HashMap<String,
Object> pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (PRACTITIONER.PRACTITIONER_EID = '" + start +
"')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (PRACTITIONER.PRACTITIONER_EID >= '" + start +
"') AND (PRACTITIONER.PRACTITIONER_EID <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndMedicalRecordNumber( HashMap<String,
Object> pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (PATIENT.MEDICAL_RECORD_NUMBER = '" + start +
"')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (PATIENT.MEDICAL_RECORD_NUMBER >= '" + start +
"') AND (PATIENT.MEDICAL_RECORD_NUMBER <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndUserIID( HashMap<String, Object> pOut,
Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (PERMISSIBLE_USER.USERNAME = '" + start + "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (PERMISSIBLE_USER.USERNAME >= '" + start + "')
AND (PERMISSIBLE_USER.USERNAME <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndRulesetName( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (FREYA_RULESET.NAME = '" + start + "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (FREYA_RULESET.NAME >= '" + start + "') AND
(FREYA_RULESET.NAME <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndEnterpriseName( HashMap<String,
Object> pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (ENTERPRISE.NAME = '" + start + "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (ENTERPRISE.NAME >= '" + start + "') AND
(ENTERPRISE.NAME <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndDiagnosisCode( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE_DIAGNOSIS.DIAGNOSIS_CODE = '" +
start + "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE_DIAGNOSIS.DIAGNOSIS_CODE >= '" +
start + "') AND (CLAIM_LINE_DIAGNOSIS.DIAGNOSIS_CODE <= '" + end + "') " );
}

return where.toString();
}

private String populateStartAndEndProcedureCode( HashMap<String, Object>
pOut, Object pStart, Object pEnd )
{
StringBuffer where = new StringBuffer();
String start = (String) pStart;
String end = (String) pEnd;

if( start == null && end == null )
{
}
else if( start != null && end == null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE.ADJUSTED_PROCEDURE_CODE = '" + start
+ "')" );
}
else if( start != null && end != null )
{
where.append( "\n" );
where.append( " AND (CLAIM_LINE.ADJUSTED_PROCEDURE_CODE >= '" +
start + "') AND (CLAIM_LINE.ADJUSTED_PROCEDURE_CODE <= '" + end + "') " );
}

return where.toString();
}

private String populateFlags( HashMap<String, Object> pOut, Object
pProfile, Object pDeny, Object pReview, Object pInterim )
{
StringBuffer where = new StringBuffer();
String p = (String) pProfile;
String d = (String) pDeny;
String r = (String) pReview;

int pp = p.indexOf( "true" );
int dd = d.indexOf( "true" );
int rr = r.indexOf( "true" );
boolean needOR = false;

if( pp > -1 || dd > -1 || rr > -1 )
{
where.append( "\n" );
where.append( " AND " );
where.append( "\n" );
where.append( " (" );
where.append( "\n" );
where.append( " 1 = 0 " );
where.append( "\n" );
where.append( " OR " );
where.append( "\n" );

if( pp > -1 )
{
where.append( " (CLAIM_LINE_EDIT.ACTION = 'P') " );
where.append( "\n" );
needOR = true;
}

if( dd > -1 )
{
if( needOR )
{
where.append( " OR " );
where.append( "\n" );
needOR = false;
}

where.append( " (CLAIM_LINE_EDIT.ACTION = 'R') " );
where.append( "\n" );
needOR = true;
}

if( rr > -1 )
{
if( needOR )
{
where.append( " OR " );
where.append( "\n" );
needOR = false;
}

where.append( " (CLAIM_LINE_EDIT.ACTION = 'D') " );
where.append( "\n" );
}

where.append( " )" );
where.append( "\n" );
}


return where.toString();
}

private String populateEnvironment( HashMap<String, Object> pOut, Object
pLive, Object pTest )
{
StringBuffer where = new StringBuffer();
String l = (String) pLive;
String t = (String) pTest;
int ll = l.indexOf( "true" );
int tt = t.indexOf( "true" );

if( ll > -1 || tt > -1 )
{
where.append( "AND " );
where.append( "\n" );
where.append( "(" );
where.append( " 1 = 0 " );
where.append( " OR " );

if( ll > -1 )
{
where.append( " (CLAIM1.CONTEXT = 1) " );
where.append( "\n" );
}

if( tt > -1 )
{
where.append( " (CLAIM1.CONTEXT = 0) " );
where.append( "\n" );
}

where.append( ")" );
where.append( "\n" );
}


return where.toString();
}

private String populateAdditionalData( HashMap<String, Object> pOut,
Object pAccounts, Object pPlans, Object pFlags )
{
StringBuffer where = new StringBuffer();


return where.toString();
}


private void populateDatabaseConnectionParameters( IReportRunnable
pDesign )
{
ConfigurationService cs = ConfigurationServiceAccessor.getService();

String dbUrl = cs.getValue( "/t360/framework/reporting",
"reporting.db.url", "" );
String dbUser = cs.getValue( "/t360/framework/reporting",
"reporting.db.userid", "" );
String dbPassword = cs.getValue( "/t360/framework/reporting",
"reporting.db.password", "" );

/** The password comes to us encrypted from the database. This will
decrypt it. */
dbPassword = CipherUtilityWeb.decrypt( dbPassword );

DesignElementHandle deh = pDesign.getDesignHandle();
SlotHandle slotHandle = deh.getSlot(
ReportDesignHandle.DATA_SOURCE_SLOT );
Iterator iter = slotHandle.iterator();

try
{
while( iter.hasNext() )
{
Object obj = iter.next();
OdaDataSourceHandle odaSrcHdl = (OdaDataSourceHandle) obj;
Iterator propIter = odaSrcHdl.getPropertyIterator();

while( propIter.hasNext() )
{
PropertyHandle propHdl = (PropertyHandle) propIter.next();

if( propHdl.getPropertyDefn().getName().equalsIgnoreCase(
"odaURL" ) )
{
propHdl.setStringValue( dbUrl );
}
else if( propHdl.getPropertyDefn().getName().equalsIgnoreCase(
"odaUser" ) )
{
propHdl.setStringValue( dbUser );
}
else if( propHdl.getPropertyDefn().getName().equalsIgnoreCase(
"odaPassword" ) )
{
propHdl.setStringValue( dbPassword );
}
}
}
}
catch( Exception e )
{
e.printStackTrace();
}
}


public String populateAccountsList( HashMap<String, Object> pOut,
Object[] pIn )
{
StringBuffer out = new StringBuffer();
out.append( "AND " );
out.append( "\n" );
out.append( "CLAIM1.ACCOUNT_EID IN " );
out.append( "\n" );
out.append( "( " );
out.append( "\n" );

boolean foundAccount = false;
boolean needComma = false;

for( int i = 0; i < pIn.length; i++ )
{
Object slot = pIn[ i ];

if( slot instanceof String )
{
String slt = (String) slot;
int accountIndex = slt.indexOf( PeReportCriteria.ACCOUNT_PARMS );
// start
int planIndex = slt.indexOf( PeReportCriteria.PLAN_PARMS );
// end

// This means don't filter at all by this term.
if( slt.equals( PeReportCriteria.ALL_BRACKETED ) || slt.equals(
PeReportCriteria.NO_RECORDS ) )
{
return "";
}

if( planIndex > -1 )
{
out.append( "\n" );
out.append( ")" );
out.append( "\n" );
break;
}

if( needComma )
{
out.append( ", " );
needComma = false;
}

if( foundAccount )
{
out.append( "'" + slt + "'" );
needComma = true;
}

if( accountIndex > -1 )
{
foundAccount = true;
}
}
}

return out.toString();
}

public String populatePlansList( HashMap<String, Object> pOut, Object[]
pIn )
{
StringBuffer out = new StringBuffer();
out.append( "AND " );
out.append( "\n" );
out.append( "CLAIM1.PLAN_EID IN " );
out.append( "\n" );
out.append( "( " );
out.append( "\n" );

boolean foundPlan = false;
boolean needComma = false;

for( int i = 0; i < pIn.length; i++ )
{
Object slot = pIn[ i ];

if( slot instanceof String )
{
String slt = (String) slot;
int planIndex = slt.indexOf( PeReportCriteria.PLAN_PARMS ); //
start
int flagIndex = slt.indexOf( PeReportCriteria.FLAG_PARMS ); //
end

// This means don't filter at all by this term.
if( slt.equals( PeReportCriteria.ALL_BRACKETED ) || slt.equals(
Pe
Previous Topic:hide parameters on a post
Next Topic:BIRT Ignores Data Set Input Parameters [AKA paramBinding]
Goto Forum:
  


Current Time: Tue Jul 15 05:10:33 EDT 2025

Powered by FUDForum. Page generated in 0.09878 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top