Question

User defined system parameter

  • 9 August 2022
  • 4 replies
  • 326 views

Userlevel 3
Badge +6

Is there a best practices way to define a custom system parameter and read that parameter in an event action with plsql?

 

We are looking to feature flag some new functionality.


4 replies

Userlevel 6
Badge +14

@mdeanton,

I have noticed that out IFS partner is doing this:

 

select Object_Property_API.Get_Value('CDelnoteTransfer','IND002','TABLE_NAME_LINK') from dual;

Userlevel 6
Badge +12

@mdeanton 

There is no way you can define new system parameters as a configuration, but you can define them as a customization. Once added, it will be available in FndSetting.

When it comes to its usage in event action, I can see two easy ways to do that (of course there could be even many).

  1. In Custom Event, define a new custom attribute which fetches the new system parameter value from FndSetting using PLSQL (Documentation: Manage Event Actions - Technical Documentation For IFS Cloud)
  2. If the event action is an execute online SQL type action, then fetch the value of the system parameter again from FndSetting from that PLSQL block.
Userlevel 3
Badge +6

@mdeanton,

I have noticed that out IFS partner is doing this:

 

select Object_Property_API.Get_Value('CDelnoteTransfer','IND002','TABLE_NAME_LINK') from dual;

Thanks, looks like a possibility. Now if only I could figure out how to give myself permissions to add on this screen….

Userlevel 6
Badge +14

@mdeanton,

You can add new values like this:

declare 
info_ varchar2(32000);
objid_ varchar2(32000);
objversion_ varchar2(32000);
attr_ varchar2(32000);
begin

client_sys.Clear_Attr(attr_);
client_sys.Add_To_Attr('OBJECT_LU','OBJECT_LU',attr_);
client_sys.Add_To_Attr('OBJECT_KEY','OBJECT_KEY',attr_);
client_sys.Add_To_Attr('PROPERTY_NAME','PROPERTY_NAME',attr_);
client_sys.Add_To_Attr('PROPERTY_VALUE','PROPERTY_VALUE',attr_);
client_sys.Add_To_Attr('VALIDATION_METHOD','',attr_);
client_sys.Add_To_Attr('VALIDATION_ENABLED','FALSE',attr_);

Object_Property_API.New__(info_, objid_, objversion_, attr_, 'DO');

end;

But as a customer, I am not sure you are allowed to.

When we have some custom settings, we store them in a CLU.

Reply