Hi,
from my point of view there is easier way to exclude item(s).
1) Exclude item type
a) Use your WebFlow Connector Configuration
As in your example you can set parameter of your WebFlow connector of FISystem - Exclude Item Types to "TS90100041". But this will disable all task types for this external type also. Not sure if this is what you would like to achieve.
b) Use custom View / ItemType name.
- In view, where you don't want to see this items, set parameter supportedItemTypes, so this item type won't match.
- Sometimes it's hard, id you have many item types, and your supportedItemTypes is set to something like "uwl.task". Then you can use some custom name value in your ItemType definition. For example set this item like this:
<ItemTypename="uwl.excluded_task.TS90100041.FISystem"connector="WebFlowConnector"defaultView="DefaultView"defaultAction="launchSAPAction"executionMode="default">
<ItemTypeCriteriasystemId="FISystem"externalType="TS90100041"connector="WebFlowConnector"/>
...
</ItemType>
In this scenario as items are collected from backends using WebFlow connector, this items will be assigned/paired with name "uwl.excluded_task.TS90100041.FISystem" Then it won't match supportedItemTypes in your view.
2) ItemTypeCriteria and CompoundExpression
Here are few things I've got from my tries and tests. So some conclusions may be reslts of buggy UWLJWF application. Or even there's still another way how this should work, that I'm not aware of yet.
a) You can't use CompoundExpression to specify ItemTypeCriteria parameters?
If I got this right, then acording to my tests parameters systemId, externalType and connector of ItemTypeCriteria need to be specified in ItemTypeCriteria node, and won't be accepted in CompoundExpression node. So I think node CompoundExpression is used only to extend(post process) determination of ItemType.
So as in your example, if you don't specify parameter externalType, UWL will assign/pair it to ItemType to "uwl.task.webflow.default".
b) You can use standard item parameters in CompoundExpression. But custom attributes won't work(At least for me)?
For example this will work:
<ItemTypename="uwl.task.normal_priority.TS90100041.FISystem"connector="WebFlowConnector"defaultView="View_Test"defaultAction="Action_launchWebDynPro"executionMode="default">
<ItemTypeCriteriasystemId="FISystem"externalType="TS90100041"connector="WebFlowConnector">
<CompoundExpression>
<Expressionname="priority"comparator="Equals"value="NORMAL"/>
</CompoundExpression>
</ItemTypeCriteria>
...
</ItemType>
This will assign/pair correct specified ItemType.
But this won't:
WEBFLOW_CONTAINER:
<ItemTypename="uwl.task.custom_attribute_task.TS90100041.FISystem"connector="WebFlowConnector"defaultView="View_Test"defaultAction="Action_launchWebDynPro"executionMode="default">
<ItemTypeCriteriasystemId="FISystem"externalType="TS90100041"connector="WebFlowConnector">
<CompoundExpression>
<Expressionname="CUSTOM_ATTRIBUTE"comparator="Equals"value="SomeValue"/>
</CompoundExpression>
</ItemTypeCriteria>
<CustomAttributes>
<CustomAttributeSourceid="WEBFLOW_CONTAINER"objectIdHolder="externalObjectId"objectType="WebflowContainer"cacheValidity="final">
<Attributename="CUSTOM_ATTRIBUTE"type="string"displayName="CUSTOM_ATTRIBUTE"/>
</CustomAttributeSource>
</CustomAttributes>
</ItemType>
ABAP_BOR:
<ItemTypename="uwl.task.custom_attribute_bor.TS90100041.FISystem"connector="WebFlowConnector"defaultView="View_Test"defaultAction="Action_launchWebDynPro"executionMode="default">
<ItemTypeCriteriasystemId="FISystem"externalType="TS90100041"connector="WebFlowConnector">
<CompoundExpression>
<Expressionname="CUSTOM_ATTRIBUTE"comparator="Equals"value="SomeValue"/>
</CompoundExpression>
</ItemTypeCriteria>
<CustomAttributes>
<CustomAttributeSourceid="ABAP_BOR"objectIdHolder="_WI_Object_ID"objectType="Z_TEST"cacheValidity="final">
<Attributename="CUSTOM_ATTRIBUTE"type="string"displayName="CUSTOM_ATTRIBUTE"/>
</CustomAttributeSource>
</CustomAttributes>
</ItemType>
I've tried also another comparator like "StartsWith", and tried to enable connector parameter "Retrieve custom attributes using primary pull" to Enabled, but I won't be able to achieve assigning/pairing my custom ItemType. So it will assign/pair to "uwl.task.webflow.default". But on the other hand, it's questionable, if custom attributes can be read before the evaluation of ItemType, that specifies this kind of attributes.
At least documentation of CompoundExpression and Expression -> http://help.sap-ag.de/saphelp_nw74/helpdata/en/4a/f9b4db7b721115e10000000a42189c/content.htm says:
name | Refers to a standard attribute or custom attribute of the item |
But maybe it's usable only in AllowedFilters, and it's not applicable in ItemTypeCriteria node, as there attributes should be accessible.