Ci-dessous, les différences entre deux révisions de la page.
| 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 11: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 219: | Ligne 232: | ||
| ---- | ---- | ||
| <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> | ||