Hi,
I have an ABAP transformation of an attribute view.
Using this transformation, I am generating views from abap into Hana.
Now I want to add filters to table columns and for that I have added some more XML tags
<columnFilter>
<valueFilter including="true">
<tt:namespace name="AccessControl"/>
<tt:attribute name="value" value-ref="$ref.filter"/>
</valueFilter>
</columnFilter>
The problem is that when I view this view in Hana studio, I see that filter is getting set but no value has been assigned to this filter.
Then I created a view manually and added the filter and value and exported the xml of this view.
I see there is a slight difference when i compare both the xmls. The difference is:
Manually created filter XML tag value filter looks like this: <valueFilter xsi:type="AccessControl:SingleValueFilter" including="true" value="GRUN"/>
ABAP generated view XML tag value filter looks like this: <valueFilter xsi:type="AccessControl:ValueFilter" including="true" value="GRUN"/>
I want to know how do I get "SingleValueFilter" in the namespace instead of "ValueFilter". Adding an extra attribute called type in value filter tag with value "AccessControl:SingleValueFilter" also doesn't work.
The complete XMl simple transformation is given below:
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates" version="0.1">
<tt:root name="S_DIM"/>
<tt:root name="S_ATTR_KEY"/>
<tt:root name="T_ATTR"/>
<tt:root name="T_TABLE_PROXY"/>
<tt:root name="T_JOIN"/>
<tt:template>
<Dimension:dimension xmlns:Dimension="http://www.sap.com/ndb/BiModelDimension.ecore" xmlns:AccessControl="http://www.sap.com/ndb/SQLCoreModelAccessControl.ecore" defaultClient="$$client$$" defaultLanguage="$$language$$" dimensionType="Standard"
schemaVersion="1.2" tt:ref=".S_DIM" visibility="internal">
<tt:attribute name="id" value-ref="id"/>
<descriptions>
<tt:attribute name="defaultDescription" value-ref="description"/>
</descriptions>
<metadata tt:ref=".S_DIM">
<tt:attribute name="activatedAt" value-ref="activatedAt"/>
<tt:attribute name="changedAt" value-ref="changedAt"/>
<tt:attribute name="createdAt" value-ref="createdAt"/>
</metadata>
<defaultSchmema/>
<attributes>
<attribute tt:ref=".S_ATTR_KEY">
<tt:attribute name="id" value-ref="id"/>
<tt:attribute name="key" value-ref="is_key"/>
<descriptions>
<tt:attribute name="defaultDescription" value-ref="text"/>
<description>
<tt:attribute name="language" value-ref="langu"/>
<tt:attribute name="description" value-ref="text"/>
</description>
</descriptions>
<searchProperties>
<rankingWeight>
<tt:value ref="rank"/>
</rankingWeight>
<freestyleSearch>
<tt:value ref="freestyle"/>
</freestyleSearch>
<fuzzySearch>
<tt:value ref="fuzzy"/>
</fuzzySearch>
<fuzzinessThreshold>
<tt:value ref="fthresh"/>
</fuzzinessThreshold>
</searchProperties>
<keyMapping>
<tt:attribute name="schemaName" value-ref=".S_DIM.schema"/>
<tt:attribute name="columnObjectName" value-ref="table"/>
<tt:s-cond check="not-initial(table_alias)">
<tt:attribute name="alias" value-ref="table_alias"/>
</tt:s-cond>
<tt:attribute name="columnName" value-ref="field"/>
</keyMapping>
</attribute>
<tt:loop ref=".T_ATTR">
<attribute tt:ref="$ref">
<tt:attribute name="id" value-ref="id"/>
<tt:attribute name="key" value-ref="is_key"/>
<descriptions>
<tt:attribute name="defaultDescription" value-ref="text"/>
<description>
<tt:attribute name="language" value-ref="langu"/>
<tt:attribute name="description" value-ref="text"/>
</description>
</descriptions>
<searchProperties>
<rankingWeight>
<tt:value ref="rank"/>
</rankingWeight>
<freestyleSearch>
<tt:value ref="freestyle"/>
</freestyleSearch>
<fuzzySearch>
<tt:value ref="fuzzy"/>
</fuzzySearch>
<fuzzinessThreshold>
<tt:value ref="fthresh"/>
</fuzzinessThreshold>
</searchProperties>
<keyMapping>
<tt:attribute name="schemaName" value-ref=".S_DIM.schema"/>
<tt:attribute name="columnObjectName" value-ref="table"/>
<tt:s-cond check="not-initial(table_alias)">
<tt:attribute name="alias" value-ref="table_alias"/>
</tt:s-cond>
<tt:attribute name="columnName" value-ref="field"/>
</keyMapping>
</attribute>
</tt:loop>
</attributes>
<calculatedAttributes/>
<privateDataFoundation>
<tableProxies>
<tt:loop ref=".T_TABLE_PROXY">
<tableProxy>
<table>
<tt:attribute name="schemaName" value-ref=".S_DIM.schema"/>
<tt:attribute name="columnObjectName" value-ref="$ref.table"/>
<tt:s-cond check="not-initial($ref.alias)">
<tt:attribute name="alias" value-ref="$ref.alias"/>
</tt:s-cond>
</table>
<tt:loop ref="$ref.T_FILTER">
<tt:s-cond check="not-initial($ref.filter)">
<columnFilter>
<tt:attribute name="columnName" value-ref="$ref.field"/>
<tt:s-cond check="not-initial($ref.operator)">
<valueFilter including="false" value="X">
<tt:namespace name="AccessControl"/>
</valueFilter>
</tt:s-cond>
<valueFilter including="true">
<tt:namespace name="AccessControl"/>
<tt:attribute name="value" value-ref="$ref.filter"/>
</valueFilter>
</columnFilter>
</tt:s-cond>
</tt:loop>
</tableProxy>
</tt:loop>
</tableProxies>
<joins>
<tt:loop ref=".T_JOIN">
<join>
<leftTable>
<tt:attribute name="schemaName" value-ref=".S_DIM.schema"/>
<tt:attribute name="columnObjectName" value-ref="$ref.left_table"/>
<tt:s-cond check="not-initial($ref.left_table_alias)">
<tt:attribute name="alias" value-ref="$ref.left_table_alias"/>
</tt:s-cond>
</leftTable>
<rightTable>
<tt:attribute name="schemaName" value-ref=".S_DIM.schema"/>
<tt:attribute name="columnObjectName" value-ref="$ref.right_table"/>
<tt:s-cond check="not-initial($ref.right_table_alias)">
<tt:attribute name="alias" value-ref="$ref.right_table_alias"/>
</tt:s-cond>
</rightTable>
<leftColumns>
<tt:loop ref="$ref.T_COL">
<columnName>
<tt:value ref="left_field"/>
</columnName>
</tt:loop>
</leftColumns>
<rightColumns>
<tt:loop ref="$ref.T_COL">
<columnName>
<tt:value ref="right_field"/>
</columnName>
</tt:loop>
</rightColumns>
<properties>
<tt:attribute name="cardinality" value-ref="$ref.cardinality"/>
<tt:attribute name="joinOperator" value-ref="$ref.joinOperator"/>
<tt:attribute name="joinType" value-ref="$ref.joinType"/>
</properties>
</join>
</tt:loop>
</joins>
</privateDataFoundation>
<hierarchies/>
</Dimension:dimension>
</tt:template>
</tt:transform>
Has anybody come across this issue?
Could you please guide.
Kind Regards,
Priyanka