Expand my Community achievements bar.

SOLVED

Report Filter For Tasks Using Complex Exists

Avatar

Level 1

Hello,

 

There is a need to create a report that shows all tasks who have an approval process on them whose approver is the currently logged in user or one of the currently logged in user's teams.

Since the filter capability is limited to 4 relationships in text mode, I assume the EXISTS should be used.
The link between the task and the teamID/userID is:


task->approvalProcess(ARVPRC)->approvalPaths(ARVPATH)->approvalSteps(ARVSTP)->stepApprovers(SPAPVR)->teamID/userID

Do you know how this can be achieved, so that all tasks have been listed whose step approvers are $$USER.ID or $$USER.teamIDs?

 

I have somewhat of an idea how this should be executed but sadly Workfront throws errors:

 

EXISTS:A:$$OBJCODE=TASK

EXISTS:A:approvalProcess=ARVPRC
EXISTS:A:approvalPaths=ARVPATH

EXISTS:A:approvalSteps=ARVSTP

EXISTS:A:stepApprovers=SPAPVR

EXISTS:A:userID=$$USER.ID

 

Essentially, the idea is to use the linking objects to link all the way to the userID starting from TASK->ARVPRC.

 

Thanks

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

I think you need to go back to the drawing board on this one. 

https://experienceleague.adobe.com/docs/workfront/using/reporting/reports/text-mode/create-complex-t... 

Think of your first line as "here's where I'm going to need to go to get the information I'm looking for". Think of your next line as "here is the link between the object that I'm in now, and the place I'm looking in for the information".

In your first two lines, you should be able to inform your report that from your task report, you're looking in a different object, and how you will link the two. (spoiler alert: you will not be able to use additional lines to step across multiple objects in the way you had hoped)

Looking at your string, this is all highly complex, and I don't really know that it will be able to be done in this way. In a normal situation you would simply go to one of your last two objects (e.g. approval stage or stage approvers) and be able to link straight back to the task in some way (e.g. through the approval process ID) but you can see this isn't possible.

I wonder therefore, if you would consider going through ARVSTS (the approver status collection), and linking through the task ID. I think this might provide much faster access to what you want (assuming I understand what you want!!). Sample code might look like this:

 

EXISTS:a:$$OBJCODE=ARVSTS
EXISTS:a:taskID=FIELD:ID

EXISTS:a:stepApprover:userID=$$USER.ID

EXISTS:a:status=AA

 

 

So there are the first two lines I was talking about. From your task report you want to link to approver statuses by using the task ID.

Then the actual filter is that the step approver user ID is the ID of whoever is logged in.

I threw in one more filter, which is that the approver status is still pending. (the logged in user is not interested in approvals that they already approved or rejected)

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

I think you need to go back to the drawing board on this one. 

https://experienceleague.adobe.com/docs/workfront/using/reporting/reports/text-mode/create-complex-t... 

Think of your first line as "here's where I'm going to need to go to get the information I'm looking for". Think of your next line as "here is the link between the object that I'm in now, and the place I'm looking in for the information".

In your first two lines, you should be able to inform your report that from your task report, you're looking in a different object, and how you will link the two. (spoiler alert: you will not be able to use additional lines to step across multiple objects in the way you had hoped)

Looking at your string, this is all highly complex, and I don't really know that it will be able to be done in this way. In a normal situation you would simply go to one of your last two objects (e.g. approval stage or stage approvers) and be able to link straight back to the task in some way (e.g. through the approval process ID) but you can see this isn't possible.

I wonder therefore, if you would consider going through ARVSTS (the approver status collection), and linking through the task ID. I think this might provide much faster access to what you want (assuming I understand what you want!!). Sample code might look like this:

 

EXISTS:a:$$OBJCODE=ARVSTS
EXISTS:a:taskID=FIELD:ID

EXISTS:a:stepApprover:userID=$$USER.ID

EXISTS:a:status=AA

 

 

So there are the first two lines I was talking about. From your task report you want to link to approver statuses by using the task ID.

Then the actual filter is that the step approver user ID is the ID of whoever is logged in.

I threw in one more filter, which is that the approver status is still pending. (the logged in user is not interested in approvals that they already approved or rejected)