Skip to main content

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!

 

Hi ​@sahango 

Did you try refreshing the Dictionary cache?

Thanks & Regards,
Asanka.


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!


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