Question

(Aurena) Navigate to filtered list from lobby element


Badge +1

Hi,

 

I have a situation I could use some support with.  I have a Element which is performing a count, in this case of Service Contracts that meet specific criteria that is being set by the Data Source Definition below:

 

Data Source Definition

This gives me a number, and in EE I can click the number and it will take me to a filtered list which then shows me all the Service Contracts that match the data source conditions.

We also want this functionality in Aurena, so I added the URL to the Service Contracts list in the Navigation options, and in theory I’d just need to use the Data Source Condition, right?

 

Navigation Options for Element (Client Type is Aurena)

Unfortunately though, when I reload the lobby element in Aurena and click the lobby element, although the screen does load the Service Contracts screen, I receive the following error, and no contracts are loaded.

Database error occurred. Contact administrator.



Url: https://<redacted>/main/ifsapplications/projection/v1/ServiceContractsHandling.svc/ScServiceContracts?$select=ContractId,Contract,CustomerId,Objstate,ContractName,ContractType,AuthorizeCode,ContractManager,CurrencyCode,Company,FromDate,ExpiryDate,Created,Notes,FrozenDb,Documents,PeriodicAllocation,Cf_Revaluation_Performed,Cf_Sc_Invoice_Group,Cf_Finalised,Objgrants,luname,keyref&$expand=AuthorizeCodeRef($select=Name,luname,keyref),ContractManagerRef($select=Name,Objgrants,luname,keyref),CustomerIdRef($select=Name,luname,keyref),CurrencyCodeRef($select=Description,Objgrants,luname,keyref),ScServiceContract_Sc_Invoice_Group_Ref($select=Cf_DisplayText,luname,keyref)&filterby-lobby-ds=e051b569-6bee-43b3-b58d-f1dc7f91da85&filterby-lobby-params=%7B%22pageParams%22%3A%5B%5D%2C%22clientTimeMillis%22%3A1622134780766%2C%22dayOfWeek%22%3A4%7D&$skip=0&$top=25

Request Id = 63a2a076-0e21-48f5-aab9-a231da92a81c
Date = 2021-05-27T17:00:07.137Z
Client version = 10.11.112.0


I looked at the source code inspector and am seeing the following Oracle error:

Is it possible to filter a list using data source criteria in Aurena in this way?

Note:  We are on UPD11.

Thanks!


10 replies

Userlevel 6
Badge +11

Hi @Mitec_AdamT ,

I have tried sort of similar lobby and was able to recreate the error you received. In order to avoid the error, would you please remove the tick for “Use data source condition”, just under the Web Access URL Address in Navigation section in Element Designer. 

 


And again regarding the filtering and navigating in Aurena pages, yes you can do it. 
So, you may edit the Web Access URL Address with filter. 
eg: page/ServiceContracts/List;$filter=ContractId%20eq%20'4'

In your screenshot, I saw that you have an filter used for IEE forms with company 20. 
If you want to achieve it like that, you may use following.
page/ServiceContracts/List;$filter=Company%20eq%20'20' or 
page/ServiceContracts/List;$filter=Company eq '20'

 

For your further reference, I will provide this document link. 
https://docs.ifs.com/techdocs/default.htm?openpage=https://docs.ifs.com/techdocs/foundation1/010_overview/

Badge +1

Hi @Minoshini Fonseka , thank you for looking at this.

 

My understanding is that you are telling me that I cannot use a Data Source Condition in order to filter the standard Service Contract list in Aurena. 

 

I am familiar with the other options within the Navigation options and am comfortable filtering based on data.  I think I’ll go the custom field on the form route and see if I can filter on that.

 

Many thanks.

 

 

Userlevel 6
Badge +11

Hi @Mitec_AdamT ,

Let me explain a bit. I am not telling that we can not use data source condition to filter out values in Aurena. But in the condition you have used, I see some kind of slight adjustment is needed for it to work.

What if you put the condition like this: 
(In your lobby, you have used custom fields in your condition,  but for this example, I just used a one custom field.. but for sure, you can grab this idea anyway..)

CONTRACT_ID in (select CONTRACT_ID from SC_SRV_CONTRACT_INVPLN_CFV where Cf$_TEST1 is NULL and SEQ_NO =100) 



 

Data Source


 

Element Designer


 

Aurena Lobby Page


We can navigate to it’s values as well..
 

I hope ​, you will be able to achieve with a small adjustment.. But if you have any other alternatives, sure you can go ahead with them too.. :relaxed:

​​​​​

Userlevel 6
Badge +11

@Mitec_AdamT ,

Hi @Mitec_AdamT ,

Let me explain a bit. I am not telling that we can not use data source condition to filter out values in Aurena. But in the condition you have used, I see some kind of slight adjustment is needed for it to work.

What if you put the condition like this: 
(In your lobby, you have used custom fields in your condition,  but for this example, I just used a one custom field.. but for sure, you can grab this idea anyway..)

CONTRACT_ID in (select CONTRACT_ID from SC_SRV_CONTRACT_INVPLN_CFV where Cf$_TEST1 is NULL and SEQ_NO =100) 



 

Data Source


 

Element Designer


 

Aurena Lobby Page


We can navigate to it’s values as well..
 

I hope ​, you will be able to achieve with a small adjustment.. But if you have any other alternatives, sure you can go ahead with them too.. :relaxed:

​​​​​

and with this you can use the data source condition.. 

Badge +1

@Minoshini Fonseka 

Amazing explaining everything here. I have a quick question. In this case Mitec_AdamT is only filtering for only 1 company. How would you write to filter for 2 companies or more, which will be define by the user in the parameters. I have a case where we are filtering by Customer. 

 

My Source Condition is the following:

 

As you might notice i can simply add multiple customer numbers with a comma in the parameter in Aurena. However, i cant seem to figure out what the right syntax is in the URL.

 

This is my URL that i am using the filter:

page/ServiceQuotations/List?$filter=((Objstate eq IfsApp.ServiceQuotationsHandling.ServiceQuotationState'Released') and (Contract eq 'NADIV' or (ContractDesc eq 'NADIV'))) and (CustomerId eq $CUSTOMER$ or (CustomerInfoRef/Name eq $CUSTOMER$))

 

Unforutnately that URL only filters 1 customer at a time. How i can filter for 2+ and still make it work? Is there a “in” in odata that works with IFS Lobbies?

 


 

Userlevel 6
Badge +11

Hi @jpriesco ,

I tried condition somewhat closer to the data source you use , and that seems to work. 

Data Source


 

Element


Aurena Client​​​​

 

So, it’s possible to filter by multiple values..

Badge +1

Hello @Minoshini Fonseka 

Thank you for your response! It did work for the counter element, however, the Links element does not work for what I am trying to do. It works in IEE but not in Aurena. The "Use Data source condition" is not filtering the Web Access URL Address. The element shows the number in Aurena but once I clicked it, it prompt me to the unfiltered page, showing all data. Would you mind trying that same method on a Links element please?

 

 

 

Userlevel 6
Badge +11


Hi @jpriesco ,

Link also works for me. 
 

1. Data Source

 
2. Element Designer


Aurena Lobby Page
 


 

 


Again as an alternative way, you can add parameters separately. This also works.
 

1. Data Source

 

2. Element Designer



Aurena lobby page
 

 

Badge +1

@Minoshini Fonseka 

 

Thank you so much for this! Looks like the list parameter option wont work with the “Links” element correct? You had to create 2 separate parameters to filter to those 2 customers. I am wondering if you have to filter for 5 customers, you will have to create Customer1, Customer2, Customer3, Customer4, and Customer5 parameter to make it work in the Links element correct?

 

JP

Userlevel 6
Badge +11

@Minoshini Fonseka

 

Thank you so much for this! Looks like the list parameter option wont work with the “Links” element correct? You had to create 2 separate parameters to filter to those 2 customers. I am wondering if you have to filter for 5 customers, you will have to create Customer1, Customer2, Customer3, Customer4, and Customer5 parameter to make it work in the Links element correct?

 

JP



Yes. Unfortunately it is a limitation.  

Reply