[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2006
    Beiträge
    85

    "Formatierten" Text mit SNDDST ausgeben

    Vorschau "Formatierten" Text mit SNDDST ausgeben
    hi, ich stopple mit

    Code:
     
    CHGVAR VAR(&MSGX) VALUE('NACHRICHT:' *BCAT &MSG *BCAT + ':/N' *BCAT &MSG2 *TCAT ':/N Nachrichten-ID:' *BCAT + &MSGID *TCAT ':/N Bewertung:' *BCAT &SEVA + *TCAT ':/N Sender:' *BCAT &SENDER) SNDDST TYPE(*LMSG) + TOINTNET(('test@xxx.AT')) + DSTD('AS400 MSG') LONGMSG(&MSGX)
    einen Text zusammen (aus dem Ergebnis eines rcvmsg), den ich mit SNDDST als Email versende.

    Wie kann ich diesen Text formatieren ? D.h. ich möchte z.b. Leerzeilen zwischen den einzelnen Zeilen haben.
    Momentan wird mir das in einer 'Wurst' geschrieben.

    lg Martin

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mehr als diese ':/N' und ':/P' sind mir auch nicht bekannt.
    Die Nachricht wird ja meist als Nur-Text versendet.
    Laut Hilfe sind auch Hex-Werte erlaubt, also x'0D25' (in Ebcdic für CRLF) müsste auch funktionieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Apr 2006
    Beiträge
    85
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Mehr als diese ':/N' und ':/P' sind mir auch nicht bekannt.
    Die Nachricht wird ja meist als Nur-Text versendet.
    Laut Hilfe sind auch Hex-Werte erlaubt, also x'0D25' (in Ebcdic für CRLF) müsste auch funktionieren.
    Das mit dem :/N und :/P bringt im Output dann &N und &P als Text.

    Ich habe das Coding übernommen und mir war gar nicht klar das diese beiden Parameter Leerzeilen erzeugen sollen.

    Funktioniert nun leider nicht Woran kann das liegen ?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ggf. am Empfänger, der diese nicht versteht.
    Versuche es wirklich mal mit den Hexcodes:

    ... *CAT X'0D25' *CAT ...
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    388
    Hallo Bettina, ich verwende auch das SNDDST für formatierte Textausgaben per Mail mit den zu verfügung stehenden Parametern :N + :P. Ich nutze die Option *LMSG im SNDDST

    Definition &NA + &NZ :

    DCL VAR(&NZ) TYPE(*CHAR) LEN(3) VALUE(':/N')
    DCL VAR(&NA) TYPE(*CHAR) LEN(3) VALUE(':/P')

    Code für das zusammenbasteln der Meldung :

    CHGVAR VAR(&LMSG) VALUE(' Jobinformation +
    ' *BCAT &NZ *BCAT +
    '---------------------------------------' +
    *BCAT &NA *BCAT 'System :' *BCAT +
    &SYSSYS *BCAT &NA *BCAT 'Objekt :' +
    *BCAT &SYSOBJ *BCAT &NZ *BCAT '-Art +
    :' *BCAT &SYSART *BCAT &NZ *BCAT +
    'Benutzer :' *BCAT &SYSUSR *BCAT &NZ +
    *BCAT 'Zeitüberw.:' *BCAT &SYSTIC *BCAT +
    &NZ *BCAT 'Von :' *BCAT &SYSTIV +
    *BCAT &NZ *BCAT 'Bis :' *BCAT +
    &SYSTIB *BCAT &NZ *BCAT 'Restart :' +
    *BCAT &SYSACN *BCAT &NZ *BCAT 'Befehl +
    :' *BCAT &SYSAC1 *BCAT &NZ *BCAT +
    'Param.-1 :' *BCAT &SYSAC2 *BCAT &NZ +
    *BCAT 'Param.-2 :' *BCAT &SYSAC3 *BCAT +
    &NZ *BCAT 'Fehler :' *BCAT &SYSMTX +
    *BCAT &NZ *BCAT &NZ *BCAT 'Aktion ! :' +
    *BCAT &AKTION)

    Vielleicht hilft Dir das ja weiter.

    Gruss aus HH, Andreas
    Andreas Herzfeldt

  6. #6
    Registriert seit
    Apr 2006
    Beiträge
    85
    Zitat Zitat von Andreas Herzfeldt Beitrag anzeigen
    Hallo Bettina, ich verwende auch das SNDDST für formatierte Textausgaben per Mail mit den zu verfügung stehenden Parametern :N + :P. Ich nutze die Option *LMSG im SNDDST

    Definition &NA + &NZ :

    DCL VAR(&NZ) TYPE(*CHAR) LEN(3) VALUE(':/N')
    DCL VAR(&NA) TYPE(*CHAR) LEN(3) VALUE(':/P')

    Code für das zusammenbasteln der Meldung :

    CHGVAR VAR(&LMSG) VALUE(' Jobinformation +
    ' *BCAT &NZ *BCAT +
    '---------------------------------------' +
    *BCAT &NA *BCAT 'System :' *BCAT +
    &SYSSYS *BCAT &NA *BCAT 'Objekt :' +
    *BCAT &SYSOBJ *BCAT &NZ *BCAT '-Art +
    :' *BCAT &SYSART *BCAT &NZ *BCAT +
    'Benutzer :' *BCAT &SYSUSR *BCAT &NZ +
    *BCAT 'Zeitüberw.:' *BCAT &SYSTIC *BCAT +
    &NZ *BCAT 'Von :' *BCAT &SYSTIV +
    *BCAT &NZ *BCAT 'Bis :' *BCAT +
    &SYSTIB *BCAT &NZ *BCAT 'Restart :' +
    *BCAT &SYSACN *BCAT &NZ *BCAT 'Befehl +
    :' *BCAT &SYSAC1 *BCAT &NZ *BCAT +
    'Param.-1 :' *BCAT &SYSAC2 *BCAT &NZ +
    *BCAT 'Param.-2 :' *BCAT &SYSAC3 *BCAT +
    &NZ *BCAT 'Fehler :' *BCAT &SYSMTX +
    *BCAT &NZ *BCAT &NZ *BCAT 'Aktion ! :' +
    *BCAT &AKTION)

    Vielleicht hilft Dir das ja weiter.

    Gruss aus HH, Andreas
    Super, das funktioniert jetzt so !

    Nur habe ich noch ein Problem: ich zeige in diesem Text die Variable an, welche aus dem Parameter SECLVL aus dem Befehl RCVMSG kommt.

    Dieser Text schaut in der Email so aus:

    Code:
    
    &N Ursache . . . . : Das CL-Programm TESTXXX in Bibliothek CMSMS1 hat einen Fehler bei Anweisung 200 festgestellt. Der Nachrichtentext für CPF0001 ist: Fehler in Befehl CALL gefunden.. &N Fehlerbeseitigung: Das Anzeigen der Anfragenachricht kann durch Ändern des Programms ausgeschlossen werden. Fehler überwachen (Befehl MONMSG) und die Fehlerbeseitigung innerhalb des Programms durchführen. Um fortzufahren, einen Antwortwert eingeben. &N Auswahlmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . : &B C -- CL-Programm abbrechen. &B D -- Speicherauszug der CL-Programmvariablen erstellen und Programm abbrechen. &B I -- Fehlgeschlagenen Befehl ignorieren. &B R -- Fehlgeschlagenen Befehl wiederholen.
    
    D.h. auch hier habe ich das &N und &B drinnen, auf das ich hier ja keinen Einfluss habe, weil es ja schon so angeliefert wird.

    Sonst funktioniert das ganze sehr schön wie du mir es geschildert hast wenn ich mit DCL die Variablen anlege.

    lg

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da hilft dir CLP leider nicht weiter.
    Hier musst du ein kleines RPG machen, dass dir diese &X entsprechend ersetzt.

    Alternativ gehst auch SQLRPGLE:

    exec sql;
    set : Text = replace(: Text, '&N', ':/N');
    end-exec;
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SNDDST ohne SMTP-Job aber mit Domino Server?
    By rebe in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-01-07, 16:06
  2. SNDDST Parameter für Dateianhänge
    By Luebbert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-11-06, 13:22
  3. Numerische Felder in Alfa-Feldgruppe ausgeben
    By dino in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 01-09-06, 12:54
  4. Fehler bei SNDDST
    By sysopr in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-08-06, 14:10
  5. Der von Ihnen eingegeben Text ist zu kurz.
    By ratinger in forum NEWSboard Server & Hardware Markt
    Antworten: 0
    Letzter Beitrag: 03-04-06, 11:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •