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.