Sample Example

Sample Report in PLT:

<Report public="true">
	<Name>CurrencyConversionReport</Name>
		<SqlDef Name="CurrencyConversionReport" GroupName="SampleSqls"><![CDATA[
		SELECT FROM_CURRENCY,TO_CURRENCY,EFFECTIVE_START_INCLUSIVE,EFFECTIVE_END_EXCLUSIVE,FACTOR,NAME ${ReportInjection:SELECT,SELECT_CLAUSE}
		FROM CURRENCY_CONVERSION 
		WHERE ${ReportInjection:WHERE,WHERE_CLAUSE} ]]>
	]]></SqlDef>
<ActionDef>
			<PrimaryModelLevelType>CurrencyConversionFactor</PrimaryModelLevelType>
		</ActionDef>
	<Filters bindSqlNulls="true">
	.....

Sample Report Injection in ZBKS:

File Name: PLT.CurrencyConversionReport.rptInject

<ReportInjection  xmlns="http://www.onenetwork.com/Platform">
	<ReportName>PLT.CurrencyConversionReport</ReportName>
	<SQLInjections>
		<SQLInjection name="SELECT_CLAUSE">CONVERSION_FACTOR_NAME</SQLInjection>
		<SQLInjection name="WHERE_CLAUSE"> <![CDATA[${filterIfNotNull:CONVERSION_FACTOR_NAME, UPPER(CONVERSION_FACTOR_NAME) like UPPER($CONVERSION_FACTOR_NAME$)}]]></SQLInjection>
	</SQLInjections> 
	 
	 <FilterAdditions>
		<CustomFilterField>
			<FieldRef category="PDF" levelType="CurrencyConversionFactor">
				<FieldName>ConverterName</FieldName>
			</FieldRef>
			<Type>STRING</Type>
			<Optional>true</Optional>
			<SimpleMapping sqlName="CONVERSION_FACTOR_NAME"/>
		</CustomFilterField>
	</FilterAdditions>
	 
	<RetrievalAdditions>
		<CustomRetrievalField>
			<FieldRef category="PDF" levelType="CurrencyConversionFactor">
				<FieldName>ConverterName</FieldName>
			</FieldRef>
			<Type>STRING</Type>
			<SimpleMapping sqlName="CONVERTER_NAME"/>
		</CustomRetrievalField>
	</RetrievalAdditions>	
</ReportInjection>

The final query after the injection(s) applied will be:

SELECT FROM_CURRENCY,TO_CURRENCY,EFFECTIVE_START_INCLUSIVE,EFFECTIVE_END_EXCLUSIVE,FACTOR,NAME, CONVERSION_FACTOR_NAME
      FROM CURRENCY_CONVERSION 
      WHERE ${filterIfNotNull:CONVERSION_FACTOR_NAME, UPPER(CONVERSION_FACTOR_NAME) like UPPER($CONVERSION_FACTOR_NAME$)}


When merging SELECT clauses, Platform will automatically add a comma between each injection.

When merging JOIN clauses, Platform will automatically insert space betwen each injection.

When merging WHERE clauses, Platform will automatically add "AND " before each injection, and surround the injection with parens.