Outils pour utilisateurs

Outils du site


dev_doc:package:supervision_pkg

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dev_doc:package:supervision_pkg [2015/11/04 10:30]
renald
dev_doc:package:supervision_pkg [2020/12/21 19:43] (Version actuelle)
Ligne 19: Ligne 19:
 __Les rubriques du mail:__ __Les rubriques du mail:__
  
-  * **[[#​rubriques|Les fonctions ​pour récupérer les rubriques du mail]]**. +  * **[[#​rubriques|Les fonctions rubriques du mail]]**. 
-  * **[[#​exemple_formatage|Appel des fonctions ​de mise en forme pour une rubrique]]**.+  * **[[#​exemple_formatage|Exemple ​de fonction ​rubrique]]**.
  
  
Ligne 33: Ligne 33:
  
  
-<note important>​Cette API a été conçue pour éviter au moins d'​avoir du HTML à écrire dans les fonctions de rubrique !</​note>​+<note important>​Cette API a été conçue pour éviter au mieux d'​avoir du HTML à écrire dans les fonctions de rubrique !</​note>​
  
 ---- ----
Ligne 56: Ligne 56:
  
 <​code>​ <​code>​
-procedure envoi_mail();​+procedure envoi_mail ( 
 +    p_destination ​   varchar2 ​ default '​support@salamander-soft.com'​ 
 +    ,​p_mode ​         varchar2 ​ default '​APEX'​ 
 +);
 </​code>​ </​code>​
 +
 +  * **p_destination :** correspond à l'​adresse de destination du mail de supervision. Il est possible dans mettre plusieurs séparées d'une virgule (exemple : adr1@adr1.com,​adr2@adr2.com).
  
 **BUT :** **BUT :**
Ligne 70: Ligne 75:
  
 apex_mail.send( apex_mail.send(
-    p_to          => '​rmorice@salamander-soft.com,​ yroselier@salamander-soft.com,​ renaldmorice@hotmail.fr'​+    p_to          => p_destination
     ,​p_from ​      => '​noreply@salamander-soft.com'​     ,​p_from ​      => '​noreply@salamander-soft.com'​
     ,​p_body ​      ​=> ​ v_body     ,​p_body ​      ​=> ​ v_body
Ligne 81: Ligne 86:
 </​code>​ </​code>​
  
-  * **p_to :** adresses électroniques ​de destination.+  * **p_to :** adresse(s) électronique(s) ​de destination.
  
   * **p_from :** l'​émetteur.   * **p_from :** l'​émetteur.
Ligne 87: Ligne 92:
   * **p_body :** envoi d'un contenu purement textuel dans le cas d'une boîte mail ne voulant pas interpréter du HTML.   * **p_body :** envoi d'un contenu purement textuel dans le cas d'une boîte mail ne voulant pas interpréter du HTML.
  
-  * **p_body_html :** envoi du contenu HTML de la variable v_body_html.+  * **p_body_html :** envoi du contenu HTML de la variable v_body_html, voici son contenu : 
 + 
 +<​code>​ 
 +v_body_html := get_header 
 +    || -- Ici, faite la concaténation de toutes vos fonctions rubriques 
 +    || get_footer;​ 
 +</​code>​
  
   * **p_SUBJ :** sujet du mail.   * **p_SUBJ :** sujet du mail.
 +
 +<note important>​Pour le p_body et le p_body_html,​ la chaîne de caractère qui lui est passée doit contenir au moins un caractère d'​échappement tout les 1000 caractères. Pour cela, c'est une bonne pratique d'​ajouter " **|| utl_tcp.crlf** " à chaque concaténation de v_str_return ou de v_para !</​note>​
  
 ---- ----
Ligne 154: Ligne 167:
   * pour obtenir le début d'une rubrique (dans cet exemple, le feu est vert et le nom de la rubrique est "​Rubrique de test") :   * pour obtenir le début d'une rubrique (dans cet exemple, le feu est vert et le nom de la rubrique est "​Rubrique de test") :
 <​code>​ <​code>​
-get_html_row(1,​2,'​Rubirque ​de test'​);​+get_html_row(1,​2,'​Rubrique ​de test'​);​
 </​code>​ </​code>​
  
Ligne 161: Ligne 174:
 get_html_row(2);​ get_html_row(2);​
 </​code>​ </​code>​
 +
 +Le résultat des deux commandes précédentes :
 +
 +{{ :​dev_doc:​package:​supervision_rubrique_test.png?​nolink |}}
 +
 +----
 +<​BOOKMARK:​get_paragraphe>​
 +===== Function get_paragraphe =====
 +
 +**PROTOTYPE :**
 +
 +<​code>​
 +function get_paragraphe(
 +    p_titre varchar2
 +    ,p_para varchar2 default null
 +)return varchar2;
 +</​code>​
 +
 +**BUT :**
 +
 +retourne le code HTML pour le formatage d'un paragraphe interne d'une rubrique.
 +
 +**FONCTIONNEMENT :**
 +
 +retourne le contenu envoyé via les paramètres en paragraphe HTML :
 +
 +  * **p_titre :** correspond au titre du paragraphe. Celui-ci apparaitra en premier en gras précédent d'un '​→'​.
 +
 +  * **p_para :** le contenu du paragraphe.
 +
 +
 +**CAS D'​UTILISATION:​**
 +
 +Deux possibilités :
 +
 +  * Soit un souhaite un paragraphe avec seulement un titre (pratique quand on souhaite afficher une phrase) :
 +
 +<​code>​
 +get_paragraphe('​titre du paragraphe.'​);​
 +</​code>​
 +
 +Ce qui donne :
 +
 +{{ :​dev_doc:​package:​supervision_para2.png?​nolink |}}
 +
 +
 +  * Soit un souhaite un paragraphe avec un titre et du contenu :
 +
 +<​code>​
 +get_paragraphe('​titre du paragraphe :', '​contenu du paragraphe.'​);​
 +</​code>​
 +
 +Ce qui donne :
 +
 +{{ :​dev_doc:​package:​supervision_para1.png?​nolink |}}
  
 ---- ----
 <​BOOKMARK:​rubriques>​ <​BOOKMARK:​rubriques>​
-===== Les fonctions ​pour récupérer les rubriques du mail =====+===== Les fonctions rubriques du mail =====
  
 +Voici la liste des fonctions rubriques :
 +
 +  * **get_historisation :** contrôle la notification d'​historisation + % d'​écart des lignes PTF entre ajourd'​hui et hier.
 +
 +  * **get_import_frs :** contrôle les notifications fournisseurs + si les lignes PTF ont une valeur calculée pour "​perf3_YTD"​ et "​perf3_TOTAL"​.
 +
 +  * **get_import_depositaires :** contrôle les notifications dépositaires + si des lignes n'ont pas été traitées pendant l'​import de données dépositaires.
 +
 +  * **get_sauvegardes :** contrôle les notifications de sauvegarde.
 +
 +  * **get_jobs :** contrôle si des jobs sont en erreur.
 +
 +  * **get_objets_invalides :** contrôle si des objets Oracle sont invalides.
  
 ---- ----
 <​BOOKMARK:​exemple_formatage>​ <​BOOKMARK:​exemple_formatage>​
-===== Appel des fonctions ​de mise en forme pour une rubrique =====+===== Exemple ​de fonction rubrique ===== 
 + 
 +Voici un exemple de fonction simple ​pour créer ​une rubrique ​(c'est "​rubrique test" n'a rien de logique dans ce qu'​elle affiche, il ne s'agit que d'un exemple) : 
 + 
 +<​code>​ 
 +-- ====================================================================== 
 +-- get_rubrique_test() 
 +-- TYPE  Fonction PRIVEE 
 +-- DESCRIPTION Retourne la partie html de la rubrique test 
 +-- 
 +-- 1/  On commence par recuperer les données nécessaire à la rubrique 
 +-- 2/ ajout de la partie fixe HAUTE du HTML 
 +-- 3/ ajout contenu 
 +-- 4/  ajout de la partie fixe BASSE du HTML 
 +-- ====================================================================== ​  
 +function get_rubrique_test return varchar2 
 +IS 
 + v_chiffre number;​ 
 +  
 + v_para ​      ​ varchar2(32767);​ 
 + v_str_return varchar2(32767);​ 
 +  
 +BEGIN 
 + 
 + IF get_debug THEN 
 + outils_pkg.trace (g_spec, '​get_rubrique_test ' , 1); 
 + outils_pkg.trace (g_spec, '​==================================',​ 1); 
 + END IF; 
 +  
 + --1/ On commence par recuperer les données nécessaire à la rubrique 
 + ------------------------------------------------------------------- 
 + SELECT round(dbms_random.value(1,​10)) 
 + into v_chiffre 
 + FROM dual; 
 + 
 +  
 + IF get_debug THEN  
 + outils_pkg.trace (g_spec, '​v_chiffre : '​||v_chiffre,​ 3); 
 + END IF; 
 +  
 + --2/ ajout de la partie fixe HAUTE du HTML 
 + ------------------------------------------ 
 + IF v_chiffre >= 1 AND v_chiffre <= 5 THEN 
 + v_str_return := get_html_row(1,​ 0, '​Rubrique test :'); -- feu rouge car problème 
 +  
 + ELSE 
 + v_str_return := get_html_row(1,​ 2, '​Rubrique test :'); --feu vert car tout est OK  
 + END IF; 
 +  
 + 
 + --3/ ajout contenu 
 + ------------------ 
 +  
 + IF v_chiffre >= 1 AND v_chiffre <= 5 THEN 
 +  
 + --Exemple avec une liste a afficher en cas de probleme : 
 + v_para := '';​ 
 + FOR i in 1..10 LOOP 
 + v_para := v_para || '​-<​span style="​color:​ #​00000;">​ message d''​erreur num.'​||i||'"</​span><​br/>'​ ||utl_tcp.crlf;​  
 + END LOOP; 
 + v_str_return := v_str_return || get_paragraphe('​Element TEST à inspecter :', v_para); 
 +  
 + ELSE 
 + v_str_return := v_str_return|| get_paragraphe('​Element TEST à inspecter :', 'Tout est OK, valeur du chiffre : '​||v_chiffre);​ 
 + END IF; 
 +  
 +  
 + --4/ ajout de la partie fixe BASSE du HTML 
 + ------------------------------------------ 
 + v_str_return := v_str_return || get_html_row(2);​ 
 +  
 +  
 + IF get_debug THEN  
 + outils_pkg.trace (g_spec, 'FIN get_rubrique_test',​ 1); 
 + outils_pkg.trace (g_spec, '​==================================', 1); 
 + END IF; 
 +  
 + return v_str_return;​ 
 + 
 +EXCEPTION 
 + WHEN OTHERS THEN 
 + IF get_debug THEN 
 + outils_pkg.trace (g_spec, '​ERREUR_TECHNIQUE'​ , 0, true,p_msg=> true,​p_msg_0=> '​get_rubrique_test',​p_msg_1=>​sqlerrm);​ 
 + END IF; 
 + return get_html_row(1,​ 0, '​Rubrique test :'​)||'<​ul><​li><​strong>​Erreur sqlerrm :</​strong><​br/><​br/>'​|| sqlerrm||'</​li></​ul>'​ || get_html_row(2);​ 
 +END get_rubrique_test;​ 
 +</​code>​
  
dev_doc/package/supervision_pkg.1446633020.txt.gz · Dernière modification: 2020/12/21 19:43 (modification externe)