IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

CLP: Message email avec texte en couleur (codes hexa)


Sujet :

AS/400

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut CLP: Message email avec texte en couleur (codes hexa)
    Bonjour

    En V6R1, j'expérimente des difficultés à utiliser les codes héxadécimaux dans une variable (CHGVAR) pour ensuite l'utiliser dans la commande SNDDST qui permet d'envoyer un email.
    Le but étant d'envoyer un texte message avec des caractères en couleur.

    Selon une nomenclature des codes Héxa pour les couleurs en EBCDIC AS400, on peut normalement dans un CHGVAR définir ce code dans le CLP :

    CHGVAR (&ROUGE) VAR(X'28') => code héxa pour couleur rouge

    Puis dans une variable texte du message concaténer cette couleur :

    CHGVAR(&MESSAGE) VAR('Bonjour' *CAT &ROUGE *CAT 'Comment ça va ?')

    Puis en envoi message :

    SNDDST (DESC(&MESSAGE) .....)

    Le texte du message email reçu ne donne pas la couleur sinon un '^' devant le texte : Bonjour, ^Comment ça va ?

    De plus , le code héxa pour le saut de ligne ne fonctionne pas :

    CHGVAR (&NEL) VAR(X'15')

    Seul le code d'insertion d'espace fonctionne :

    CHGVAR (&LF) VAR(X'25')

    Avez-vous expérimenté le même souci et si une solution a été apportée ?

    Est-ce un souci de MAJ PTF sachant que je suis en i5 V6R1 ?
    Ou un fichier source TXT de codage qui manquerait dans la bibliothèque QTXTSRC de QSYS (comme pour les pilotes d'imprimante) ?

    Merci pour vos réponses et expériences.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    Bonjour,
    Heu... Sans vouloir te vexer t'as tout faux là...
    Tu parles de codes couleur hexa, qui sont utilisés pour l'affichage sur de l'émulation 5250, et tu essaies de mettre çà dans un email, qui en dehors de sa version HTML, est en texte brut, qui plus est au format ASCII. Donc exit les couleurs.
    La seule solution pour envoyer des couleurs serait de créer un fichier HTML, et d'envoyer le mail au format mime. Ce que tu peux aisément faire avec la bibliothèque MMAIL.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Merci Hurricane
    C'est ce que j'en avais conclu, de l'EBCDIC avec l'ASCII ne fait bon ménage.
    En HTML bien sûr...
    Seulement va falloir faire du RPG en HTML (comme pour le XML)...
    Je vais lire la doc sur le lien et les APi proposés.

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Quoiqu'après réflexion,
    S'il faut créer un fichier HTML pour le mettre en fichier joint à l'email, autant créer un PRTF avec les attributs en couleur, gras et souligné, puis un OVRPRTF pour le générer en PDF, et ensuite un SNDDST pour l'envoyer en *DOC par email.

    D'une lourdeur équivaut bien à une autre lourdeur
    Mais qui prêterait attention à un message même en couleur s'il est joint à un email plutôt que du texte message dans un email ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    1) Un mail ne peut pas être un PDF, c'est obligatoirement une pièce jointe... En revanche un mail peut parfaitement être en HTML.
    2) Les besoins RPG sont finalement légers. Les procédures et commandes de la bibliothèque MMAIL facilitent grandement le travail. Si tu veux un message simple, il y a une commande équivalente à SNDDST, mais si tu veux plus compliqué, c'est possible. Les maquettes sont aisément construites avec n'importe quel éditeur HTML, puis une fois copiées sur l'IFS et les variables remplies via un petit RPG, tu envoies çà. Si tu n'as même pas de variables, tu as juste à envoyer le mail via une commande !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Merci pour l'attention
    Mais est-ce MMAIL donne la couleur, les polices de caractères, le gras, surbrillance etc...pour le message email ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    Oui, si tu fais un message au format HTML.
    Note que certains règlent leur client de messagerie (Thunderbird, Outlook, Mail, etc...), pour n'accepter que du "texte brut". Dans ce cas, tu auras beau faire il ne recevront pas autre chose que des caractères sans attributs.
    Reste qu'aucun outil sur le serveur ne permet de saisir le message au format HTML en wysiwig.
    Quelle complexité ont tes messages, et à quel usage les destines tu ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Juste pour envoyer des messages aux utilisateurs pour une fermeture de session avec heure et date en couleur....

    J'attend d'IBM un API special email en couleur qui n'est pas l'API SNDMSGMAIL lequel est assez compliqué à utiliser, mais apparemment un autre où il suffirait d'écrire le texte et le passer en paramètre de l'API avec des codes couleurs. Pas certains que ce serait du HTML...

    Je vous le communiquerais dès reception et test...

  9. #9
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    Mail réutilisable donc. Alors, MMAIL est la solution à ton problème.
    Tu crées la maquette du mail via un éditeur Wysiwyg, avec les variables désirées placées dedans, et avec ton RPG, zou, tu remplis "les cases" et tu envoies. Pas compliqué.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Hé non, je ne pense pas qu'il s'agit de MMAIL
    Je n'ai pas acheté la licence ni le produit.
    C'est un API (programme système paramétré) qu'IBM va m'envoyer, alors patience...Pour V6R1 au moins

    Peut être qu'il s'agirait d"un API extrait du lot de patch de MMAIL, je ne demande qu'à le tester en espérant que le paramétrage ne soit pas lourdingue puisque issu d'ILE avec des syntaxes SQLILE incrustées.

    Il s'agirait notamment de ne passer que des paramètres couleurs et le corps du texte sur une certaine longueur.

  11. #11
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    Je ne disais pas qu'IBM allait t'envoyer des API de MMAIL, je disais que vu tes besoins, MMAIL était une bonne solution.
    Et pour çà tu n'avais pas besoin d'attendre.
    Chez nous le système émet au minimum 300 emails par jour, basés sur ce principe. J'ai une vingtaine de maquettes, élaborées via un éditeur Wysiwyg et stockée sur l'IFS, un module RPG par maquette pour remplir les variables (parce que ce sont des mails complexes et particuliers), et j'ai un module chargé d'émettre. Par exemple, toutes les offres ou accusés de commandes envoyées aux clients, le sont sous ce format.
    Dans ton cas, ça a l'air plus simple et le code serait vraiment léger.

    Mais bon, si IBM te file quelque chose, j'aimerais bien savoir ce que c'est. Çà peut toujours servir.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Il s'agit de la commande (CMD) : MAILMSG
    qui permet d'envoyer des pièces jointes, puis le message mail est à faire dans un CLP , variable CHGVAR , dans une syntaxe de type HTML, et il faut juste avant le texte à colorier écrire :

    CHGVAR VAR(&MESSAGE) VALUE(''<font color=red> Bonjour,.....")

    Puis, il faut passer 5 paramètres à respecter rigoureusement pour que la CMD prenne en compte l'envoi en email.

    C'est à tester et je vous dirais si cela est bien effective et simple à réaliser....

  13. #13
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    MailMsg ?
    Ca sent le Perl revisité çà.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Voici un exemple de CLP pour envoyer un email en couleur en utilisant la commande API MAILMSG. C'est dans le script de la commande que l'émulation HTML est déclenchée et qui permet la traduction de la syntaxe HTML dans un CLP.

    Il faut aussi créer une Data Area MIMEFILE pour y écrire le lien du répertoire dans lequel le texte du message 'mime' sera traduit : /répertoire/mime.txt

    Ca s'utilise comme la SNDDST , et donc il faut passer qlqs paramètres, le corps du message email est toujours dans une CHGVAR ajouté des balises HTML.
    Le texte peut être long et agrémenté de variables dates etc...Mais tout le texte doit être dans la CHGVAR avec en extension le signe + en fin de colonne pour coninuer le texte sur la ligne suivante. A vous d'agencer visuellement pour une maintenance du texte plus facile.

    Pour insérer une variable dans le texte du CHGVAR, utiliser la concaténation avec *CAT comme d'hab. :

    texte<b>' *CAT &variable *CAT '</b>suite du texte....
    (la variable ici sera en gras)

    Avant le texte, on peut déterminer la grosseur des caractères avec <big>, soit deux fois pour obtenir la taille police équivalente à du 10 CPI : <big><big>texte

    La syntaxe HTML est facile et il faut suivre la nomenclature des balises HTML, soit :

    <u> = souligné </u> = enlever le souligné
    <b> = gras </b> = enlever le gras
    <font color=red> = Couleur rouge </font> enlever
    <br> = saut d'une ligne


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    /*------------------------------------------------------------------*/ 
    /*  Variables   Commande MAILMSG                                   */ 
    /*----------------------------------------------------------------*/ 
                                                                           
                 DCL        VAR(&MAIL) TYPE(*CHAR) LEN(50) +            
                              VALUE('Nom_email@free.fr')                
                 DCL        VAR(&TITRE) TYPE(*CHAR) LEN(255)              
                 DCL        VAR(&MSG) TYPE(*CHAR) LEN(1500) 
                 DCL        VAR(&NOMBIB) TYPE(*CHAR) LEN(10)            
     /*------------------------------------------------------------------*/  
    /*  Utilisation Commande MAILMSG                                    */  
    /*------------------------------------------------------------------*/  
                                                                            
                 DLTDTAARA  DTAARA(QTEMP/MIMEFILE)                          
                 MONMSG     MSGID(CPF0000)                                  
                                                                            
                 CRTDTAARA  DTAARA(QTEMP/MIMEFILE) TYPE(*CHAR) LEN(255)     
                 CHGDTAARA  DTAARA(MIMEFILE (1 20)) VALUE('/répertoire/mime.txt')               
    
                CHGVAR     VAR(&TITRE) VALUE('Mon titre de l'email')                               
                                                                                                      
                CHGVAR     VAR(&MSG) VALUE(' <big><big> +           
                           Bonjour,<br><br><font color=red><b>Comment ça va</b></font><br><br>Cordialement')                                                         
    
                RTVOBJD    OBJ(MAILMSG) OBJTYPE(*CMD) RTNLIB(&NOMBIB)                                    
                MAILMSG    RECIPADDR((&MAIL TO)) +                                                 
                             SENDERADDR('NomEmetteur@Free.fr') +                                    
                             SUBJECT(&TITRE) MESSAGE(&MSG)
    Ca marche très bien, et l'email est envoyé avec le titre et le corps du message selon les couleurs souhaitées.
    Vous pouvez ajouter une pièce jointe en précisant dans le paramètre de la commande MAILMSG (ATTACHMENT : donner le lien IFS où se trouve le document à joindre)

  15. #15
    Membre éprouvé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 691
    Points : 996
    Points
    996
    Par défaut
    Hum, çà sent bizarre.
    J'hésite entre l'API Perl revisitée, et une MMAIL déguisée. Car il faut savoir que l'auteur de MMAIL, Giovanni Perotti travaillait pour IBM quand il a, avec l'aide de Mel Rothman, et sur la base des travaux de ce dernier, développé les outils comme CGIDEV et MMAIL. Ces outils étaient "OpenSource", et quand IBM a décidé d'arrêter, il a continué seul. IBM a alors, sous le feu des critiques, repris provisoirement le développement d'une version parallèle. Mais çà n'a pas duré. Il ont toutefois toujours le code et accès aux sources, modifications et corrections apportés sur les versions libres.

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Ce n'est pas du PERL, sinon bien de l'hypertexte HTML et ses balises.

    Voici un lexique des balises HTML pour définir les textes d'un applet :

    http://www.referencement-team.com/me...e-balises.html

    Je trouve la syntaxe plus simple que du XML et moins chargée.
    Amusez-vous bien avec la définition de coprs de texte de l'email !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lien cellule excel avec texte en couleur
    Par Benito37 dans le forum Excel
    Réponses: 3
    Dernier message: 07/05/2014, 21h24
  2. Réponses: 1
    Dernier message: 05/06/2007, 10h34
  3. Réponses: 4
    Dernier message: 28/03/2007, 21h45
  4. Réponses: 1
    Dernier message: 07/05/2006, 16h33
  5. [Mail] Besoin d'aide sur code email avec PJ
    Par flysurfer dans le forum Langage
    Réponses: 1
    Dernier message: 23/02/2006, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo