Specifies the filters to be applied while loading the project.
The filters can be specified either in the new way (V5R18 onwards) or the old way.
New Way of Filtering:
In the new way of filtering different filters can be set for P,P,R
by specifiying different filter sets for each area and also a global filter set.
Old way of Filtering:
In case of P,P,R filters, either
(a) A Filter string can be supplied OR
(b) A Calculation Model ID can be supplied
Note: Calculation Model filters MUST only be supplied through their IDs.
In case of extended filters, either
(a) A Filter string can be supplied OR
(b) A Calculation Model ID can be supplied OR
(c) Both string AND Model ID can be supplied (Combined effectivity case)
Note: Calculation Model filters MUST only be supplied through their IDs.
In case of effectivity filter mode, one of the following rules can be supplied
(a) Give the objects whose begin & end dates contains the begin & end date filters values.
The rule value is 1.
(b) Give the object whose begin & end dates are with in the begin & end dates filter values.
The rule value is 2.
(c) Give the object whose begin date value is lesser than the begin date filter value &
the end date value on the object is contained with in the begin & end date filter values.
The rule value is 4.
(d) Give the object whose begin date value is contained with in the begin & end date filter values &
the end date value on the object is greater than the end date filter value.
The rule value is 8.
(e) Give the object whose begin & end dates exactly match with that of the begin & end date filter values
The rule value is 16.
Note: Combination of the above said rules can also be used.
For example: If the user wants the combination of rule a & c, then the value of 5 should be passed
Note: If the user has not specified any value for this filter, then a default value of 31 (combination of all rules) will be used.
- Parameters:
-
- iFilters
- [in]
The filters to be set.
This is a list of values separated by XML type tags. User Should specify tags only from one of the below
set of tags applicable for new and old filtering.
The following tags are supported for New way of Filtering:
<GlobalFilterSetName>Global Filter Name</GlobalFilterSetName>
<ProductFilterSetName>Product Filter Name</ProductFilterSetName>
<ProcessFilterSetName>Process Filter Name</ProcessFilterSetName>
<ResourceFilterSetName>Process Filter Name</ResourceFilterSetName>
<ModStatementFilterID>Filter Value</ModStatementFilterID>
<ProductFilterByCO>Filter Value</ProductFilterByCO>
<PreFilter>Filter Value</PreFilter>
<PostFilter>Filter Value</PostFilter>
<PrePostFilter>Filter Value</PrePostFilter>
<PlanningStateOwnerFilterID>ID of Planning State</PlanningStateOwnerFilterID>
<PlanningStateOtherFilterID>ID of Planning State</PlanningStateOtherFilterID>
<ApplyImplicitFilter>TRUE or FALSE</ApplyImplicitFilter>
The following tags are supported for Old way of Filtering:
<ProcessFilter>Filter Value</ProcessFilter>
<ProcessFilterCalcModelID>ID of Calculation Model Filter</ProcessFilterCalcModelID>
<ProductFilter>Filter Value</ProductFilter>
<ProductFilterCalcModelID>ID of Calculation Model Filter</ProductFilterCalcModelID>
<ResourceFilter>Filter Value</ResourceFilter>
<ResourceFilterCalcModelID>ID of Calculation Model Filter</ResourceFilterCalcModelID>
<StartDateEffectivityFilter>Filter Value</StartDateEffectivityFilter>
<EndDateEffectivityFilter>Filter Value</EndDateEffectivityFilter>
<EffectivityFilterMode>Filter Value</EffectivityFilterMode>
<LineNumberFilter>Filter Value</LineNumberFilter>
<LabelFilter>Filter Value</LabelFilter>
<ModStatementFilterID>Filter Value</ModStatementFilterID>
<PlanningStateOwnerFilterID>ID of Planning State</PlanningStateOwnerFilterID>
<PlanningStateOtherFilterID>ID of Planning State</PlanningStateOtherFilterID>
<ApplyImplicitFilter>TRUE or FALSE</ApplyImplicitFilter>
<ProcessExtendedEffectivityFilter>Filter Value</ProcessExtendedEffectivityFilter>
<ProcessExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ProcessExtendedEffectivityFilterCalcModelID>
<ProductExtendedEffectivityFilter>Filter Value</ProductExtendedEffectivityFilter>
<ProductExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ProductExtendedEffectivityFilterCalcModelID>
<ResourceExtendedEffectivityFilter>Filter Value</ResourceExtendedEffectivityFilter>
<ResourceExtendedEffectivityFilterCalcModelID>ID of Calculation Model Filter</ResourceExtendedEffectivityFilterCalcModelID>
Attribute filters can be supplied using the following tags
<AttributeFilters>
<ProcessAttributeFilters>
<AttributeFilter>
<PlanTypeName>Name of the Plantype</PlanTypeName>
<AttributeName>Name of the Attribute</AttributeName>
<Operator>Type of Operator. See list of legal values below</Operator>
<AttributeValue>Value of the Attribute</AttributeValue>
Add more <AttributeValue>...</AttributeValue> if more attribute values need to be specified
</AttributeFilter>
Add more <AttributeFilter>...</AttributeFilter> if more attribute filters need to be specified
</ProcessAttributeFilters>
<ProductAttributeFilters>
Add <AttributeFilter>...</AttributeFilter> as specified above
</ProductAttributeFilters>
<ResourceAttributeFilters>
Add <AttributeFilter>...</AttributeFilter> as specified above
</ResourceAttributeFilters>
</AttributeFilters>
Note: Instead of specifying plantype name, the object typename (e.g., "ergocompprocessdefault,
"ergocomporgprocess", etc) can also be supplied if filter is to be applicable to all plantypes
Note: For the <Operator> tag, the following are the legal values
   =
   !=
   <
   >
   <=
   >=
   LIKE
   NOT LIKE
- Example:
- In new way of filtering:
iFilters = "<ProcessFilterSetName>Name</ProcessFilterSetName><ProductFilterSetName>Name</ProductFilterSetName><ResourceFilterSetName>Name</ResourceFilterSetName>"
The order is NOT important. e.g., "<ResourceFilterSetName>...</ResourceFilterSetName>" can come before "<ProcessFilterSetName>...</ProcessFilterSetName>"
- Example:
- In old way of filtering:
iFilters = "<ProcessFilter>Process Type A</ProcessFilter><LabelFilter>Label B</LabelFilter><LineNumberFilter>10</LineNumberFilter>"
The order is NOT important. e.g., "<LabelFilter>...</LabelFilter>" can come before "<ProcessFilter>...</ProcessFilter>"
- Example:
- In old way of filtering:
Example with attribute filers. Assuming user wishes to filter on Line Number 10 and load only those Workplans that are labelled "Workplan A" and "Workplan C"
iFilters = "<LineNumberFilter>10</LineNumberFilter><AttributeFilters><ProcessAttributeFilters><AttributeFilter>
<PlanTypeName>Workplan</PlanTypeName>
<AttributeName>name</AttributeName>
<Operator>=</Operator>
<AttributeValue>Workplan A</AttributeValue>
<AttributeValue>Workplan C</AttributeValue>
</AttributeFilter></ProcessAttributeFilters></AttributeFilters>"
- Returns:
-
S_OK if all OK
E_INVALIDARG if incorrect input format