Skip to main content
Solved

Custom PL/SQL Procedure Not Appearing in “Select Method” for Database Task (IFS Apps 8)


Forum|alt.badge.img+7
  • Sidekick (Customer)
  • 41 replies

Hello,

I have developed a new PL/SQL procedure (Auto_Purchase_Req) inside a custom package (BSM_PURCH_UTIL_API) in our IFS Apps 8 environment.
The package is compiled successfully and the procedure is working as expected when called directly from the database.

However, when I try to create a new Database Task in IFS and click on “Select Method”, my custom procedure does not appear in the method list.
I have already restarted both the Test Application and Test Database servers, but the issue persists.

Is there a specific way to refresh the IFS metadata or PL/SQL definitions so that new procedures/functions appear in the Select Method list for Database Tasks?
If so, can you please advise on the steps or the correct menu to use for this operation?

Any help or recommendations would be greatly appreciated.

Thank you in advance!

 

Best answer by asanka1055

Hi ​@sahango 

Did you try refreshing the Dictionary cache?

Thanks & Regards,
Asanka.

View original
Did this topic help you find an answer to your question?

3 replies

asanka1055
Hero (Partner)
Forum|alt.badge.img+9
  • Hero (Partner)
  • 54 replies
  • Answer
  • May 22, 2025

Hi ​@sahango 

Did you try refreshing the Dictionary cache?

Thanks & Regards,
Asanka.


Forum|alt.badge.img+7
  • Author
  • Sidekick (Customer)
  • 41 replies
  • May 22, 2025
asanka1055 wrote:

Hi ​@sahango 

Did you try refreshing the Dictionary cache?

Thanks & Regards,
Asanka.

Thank you for your quick response!
Refreshing the Dictionary cache solved the issue. Now I can see my custom procedure in the method list.
Much appreciated!


Manulak
Hero (Customer)
Forum|alt.badge.img+8
  • Hero (Customer)
  • 89 replies
  • May 22, 2025

As ​@asanka1055 mentioned, try refreshing the cache.

If that doesn’t work either, you can manually enter this just for testing, etc. using the following script.

DECLARE
   lu_name_ VARCHAR2(100) := 'XxxXxxXxx';
   module_  VARCHAR2(100) := 'XXXXXX';
   api_     VARCHAR2(100) := 'XXXXXXX_API';
   proc_    VARCHAR2(100) := 'XxxXxxXxxxx';

BEGIN

   IF NOT Dictionary_sys.Logical_Unit_Is_Installed(lu_name_) THEN
      INSERT INTO dictionary_sys_tab(lu_name, module, lu_prompt, lu_type, rowversion)
           VALUES(lu_name_, module_, lu_name_, 'L', SYSDATE);
   END IF;

   IF NOT Dictionary_SYS.Package_Is_Installed(api_) THEN
      INSERT INTO dictionary_sys_package_tab(lu_name, package_name, package_index, package_type, rowversion) 
           VALUES(lu_name_, api_, 1, 'N', SYSDATE);
   END IF;

   IF NOT Dictionary_sys.Method_Is_Installed(api_, proc_) THEN
      INSERT INTO dictionary_sys_method_tab(lu_name, package_name, method_name, method_type, rowversion) 
           VALUES(lu_name_, api_, proc_, 'N', SYSDATE);
   END IF;

   COMMIT;
END;

 


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