L’utilisation de packages APEX hors de l’application APEX, c’est à dire en executant la procédure ‘à la main’, provoque une erreur.
ERROR
ORA-20001: This procedure must be invoked from within an application session.
ORA-06512: at “FLOWS_030000.WWV_FLOW_MAIL”, line 109
ORA-06512: at “FLOWS_030000.WWV_FLOW_MAIL”, line 139
La solution est de se donner les autorisation nécessaires en récupérant le Workspace Id, de l’application concernée dans Apex, via l’interface de gestion. Ensuite on positionne cet ID, avec wwv_flow_api.set_security_group_id et l’on peut executer la procédure désirée.
exemple :
begin
wwv_flow_api.set_security_group_id(1860821609902858);
– et execution d’un envoi de mail
apex_mail.send(p_to => ‘didier.deleglise@dd.fr’,
p_from => ‘test@test.com’,
p_body => ‘test’,
p_subj => ‘test ‘);
end;