Skip to main content
Question

Lobby Filter Parameters

  • January 22, 2020
  • 8 replies
  • 4394 views

Forum|alt.badge.img+3

Hi,

 

I am building some lobbies in IFS 10 and I would like to know if it is possible to use a predefined list of values to use in the lobby filter parameter. For example, if you want to filter by site, you would get a LOV on the parameter filter with the available sites in the system. 

Another interesting filter at the lobby level would be to have the calendar option available, whenever you wish to filter a parameter by date. Does anyone know how to do this or if it’s possible?

CallumW
Superhero (Partner)
Forum|alt.badge.img+15
  • Superhero (Partner)
  • January 22, 2020

Hi,

 

I’m fairly certain this is not possible as the parameters only accept text or context substitution values. - Very good ideas though
 

One thing that might be worth investigating is creating your own context substitution variable. 
 

I’ve never actually tried to create my own personally, but tempted to give it a go as could be useful in the future. Although the CSV screen is read only screen in IFS, the API does have the new_ procedure and in the documentation it doesn’t state you can’t create more. So fair game right??

 

In this case, it’s not overly helpful but instead of hard coding every site as a default for the user - even if they don’t have access to some. You could create a new server side CSV to find the sites the user has access to and only search for them. 

That is if we can actually create them and they work first!


  • Superhero (Employee)
  • January 25, 2020

It’s not possible to create LOVs for the parameters unfortunately, but you can use data in the lobby to pass into the parameter section. Let’s say you have a lobby element that lists all sites in your company, then you could set navigation from that lobby element up to populate the parameters with the value you have clicked on. 

Let’s say you have a lobby element that lists all sites i.e. column name CONTRACT, that you want to pass into your parameter SITE, you’d setup a navigation URL that opens the same lobby page, but passes the value you have clicked on into the parameter. Please note that you have to setup your data sources to take filters into account as well.

 

ifswin:Ifs.Fnd.CompositePageRenderer.PageContainer?page_id=[lobby page id]&&[lobby parameter]=[$value to pass to parameter$]

e.g. 

ifswin:Ifs.Fnd.CompositePageRenderer.PageContainer?page_id=9c8c74b2-a291-7dc5-93a1-322d31e61a06&&SITE=$CONTRACT$

When you click on the value, it would pass CONTRACT into the parameter called SITE. 

Example:

Data source:
 

 

Lobby Element

 

Lobby Page with parameter

 

The result?

 


baris.halici
Hero (Customer)
Forum|alt.badge.img+12

@anmise thank you


hhy38
Superhero (Customer)
Forum|alt.badge.img+16
  • Superhero (Customer)
  • February 14, 2020
baris.halici wrote:

@anmise thank you

Nice ;)


Forum|alt.badge.img+3
  • Do Gooder
  • February 8, 2021

Hello,

Is it possible to use column value instead of filter parameter value in the URL Address? For example : ifswin:Ifs.Fnd.CompositePageRenderer.PageContainer?page_id=9c8c74b2-a291-7dc5-93a1-322d31e61a06&&COMPANY=[COMPANY column value]

Thank you ! 

Best regards,

Shady


alicedc91
Sidekick (Customer)
Forum|alt.badge.img+8
  • Sidekick (Customer)
  • October 16, 2021

Hi @anmise,

 

Does this syntax also work in Aurena “ifswin:Ifs.Fnd.CompositePageRenderer.PageContainer?page_id= “ ? I am struggling at the moment as it says page not found in Aurena, whereas it is working fine in IEE.

 


CallumW
Superhero (Partner)
Forum|alt.badge.img+15
  • Superhero (Partner)
  • October 20, 2021
CallumW wrote:

Hi,

 

I’m fairly certain this is not possible as the parameters only accept text or context substitution values. - Very good ideas though
 

One thing that might be worth investigating is creating your own context substitution variable. 
 

I’ve never actually tried to create my own personally, but tempted to give it a go as could be useful in the future. Although the CSV screen is read only screen in IFS, the API does have the new_ procedure and in the documentation it doesn’t state you can’t create more. So fair game right??

 

In this case, it’s not overly helpful but instead of hard coding every site as a default for the user - even if they don’t have access to some. You could create a new server side CSV to find the sites the user has access to and only search for them. 

That is if we can actually create them and they work first!

Revisiting my previous comment over a year ago.. but I have just had the need to create a CSV to use as a lobby filter, so it can be done. - However I think if you ever have an IFS upgrade then the value will be wiped out of the CSV table and need to be recreated.

My created CSV finds all of the sites the user has access to - After the script is executed, users would need to sign out and back into IFS again to get it to work

 


declare 
  name_ VARCHAR2(32000) := 'USER_ALL_SITE';
  attr_ VARCHAR2(32000);
  info_ varchar2(32000);
  objid_ varchar2(32000);
  objversion_ varchar2(32000);
begin
  client_sys.Clear_Attr(attr_);
          Client_SYS.Add_To_Attr('NAME','USER_ALL_SITE', attr_);

        Client_SYS.Add_To_Attr('SERVER_METHOD','CUSTOM_LOBBY_API.Get_All_Sites', attr_);
      Client_SYS.Add_To_Attr('IMPLEMENTATION_TYPE', 'Server', attr_);
      Client_SYS.Add_To_Attr('FND_DATA_TYPE', 'String', attr_);
      Client_SYS.Add_To_Attr('TRANSIENT',   'False', attr_);
      Client_SYS.Add_To_Attr('MODULE',   'FNDBAS', attr_);

  context_substitution_var_api.new__(info_,
                                     objid_,
                                     objversion_,
                                     attr_ ,
                                     'DO');
end;
FUNCTION Get_All_Sites RETURN VARCHAR2
IS

   FUNCTION Core RETURN VARCHAR2
   IS
      userid_ varchar2(30);
   --
      temp_ varchar2(32000);
      CURSOR get_attr IS
         SELECT LISTAGG(contract, ';') WITHIN GROUP (ORDER BY contract)
         FROM USER_ALLOWED_SITE_TAB
         WHERE userid = userid_;
      BEGIN
      userid_ := Fnd_Session_API.Get_Fnd_User;
       --
      OPEN get_attr;
      FETCH get_attr INTO temp_;
      CLOSE get_attr;
      RETURN temp_;
   END Core;

BEGIN
   RETURN Core;
END Get_All_Sites;

 

Then in the lobby data source you can use the following regular expression to filter by all sites as found in the CSV:

 

Users can type in their own sites if they wanted to narrow the filter such as: KEMP;TPCM in the site lobby parameter


  • Superhero (Employee)
  • October 21, 2021
alicedc91 wrote:

Hi @anmise,

 

Does this syntax also work in Aurena “ifswin:Ifs.Fnd.CompositePageRenderer.PageContainer?page_id= “ ? I am struggling at the moment as it says page not found in Aurena, whereas it is working fine in IEE.

 

Hi @alicedc91, no that is specific to IEE. In Aurena you need to enter the url in web URL and the syntax is: lobby/[lobby id]?pageParams=

The value from the list you want to pass should be added as PARAMETER:$[VALUE_FROM_LIST_ELEMENT]$


E.g. lobby/4e9f55ed-522d-4b2d-8f11-247e258b65g8?pageParams=MANAGER:$[MANAGER]$


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings