[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    67

    Definition für Symbol 'QtmhSendMail' nicht gefunden.

    Hallo zusammen
    habe folgendes Programm per KI erstellen lassen.

    H DFTACTGRP(*NO) ACTGRP(*CALLER)
    /* Prototype für QtmhSendMail */
    D SendMail PR EXTPROC('QtmhSendMail')
    D**** SendMail PR EXTPROC('QTMMSNDM')
    D headerPtr * VALUE
    D headerLen 10I 0 VALUE
    D bodyPtr * VALUE
    D bodyLen 10I 0 VALUE

    DHeader S 2000A
    DBody S 2000A


    bekomme beim wandeln der Fehler : Definition für Symbol 'QtmhSendMail' nicht gefunden.
    Woran könnte das liegen.
    Vielen Dank.

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.969
    Meines Wissens heißt die Prozedur QtmmSendMail und nicht QtmhSendMail.
    Die Frage ist muss es denn das API sein?
    Schau Dir doch mal den IBM Service SEND_EMAIL in der Bibliothek QSYS2 an.
    SEND_EMAIL
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 6. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    67
    Vielen Dank für die Antwort. Schaue es mir an.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.916
    Hier findest du auch die Beschreibung:
    https://www.ibm.com/docs/en/i/7.6.0?topic=ssw_ibm_i_76/apis/qtmmsendmail.html

    https://www.mcpressonline.com/programming/apis/cool-things-a-simple-utility-for-sending-html-emails-on-the-ibm-i


    Und ihr eine Diskussion dazu:
    http://newsolutions.de/forum-systemi...M-brauche-Hile

    Wichtig in den H-Bestimmungen: BNDDIR('QC2LE')

    Du kannst auch statt dessen QTCP/QTMMSNDM statt dem C-API verwenden.
    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
    Aug 2003
    Beiträge
    67
    BNDDIR('QC2LE') hat leider nicht funktioniert.

    Habe folgendes herausgefunden:
    QtmmSendMail bezieht sich auf das Programm QTCP/QTMMSNDM
    Dieses ist vorhanden und
    Prozedurenexporte:

    Prozedurname ARGOPT
    QtmmSendMail *NO

    Ist auch vorhanden. Trotzdem kommt der Fehler. Wir haben V5R4

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    67
    Ich habe es wohl gefunden.
    Man braucht diese 2 Befehle:

    CRTRPGMOD MODULE(QTEMP/XRSEND) SRCFILE(SOURCELIB/QRPGLESRC)
    CRTPGM PGM(QTEMP/XRSEND) MODULE(QTEMP/XRSEND) BNDSRVPGM(QTCP/QTMMSNDM)

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.916
    Eigentlich sollte das Programm in einem BNDDIR stecken. GGf. gibts das in der QTCP.
    Dann könntest du das in dem BNDDIR('QTCP/xyz') ja angeben und kannst wieder normal compilieren.
    Ansonsten mal per SQL suchen, wo es stecken könnte:
    https://www.rpgpgm.com/2022/09/sql-v...directory.html
    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

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.969
    In allen API Beschreibungen (zumindest den Beschreibungen von Prozeduren/Funktionen) ist hinterlegt in welchem Service-Programm die Prozedur/Funktion hinterlegt ist:
    Service Program Name: QTCP/QTMMSNDM

    Dieses Service-Programm kann in einem beliebigen Binderverzeichnis hinterlegt werden.
    Dieses Binder-Verzeichnis wiederum, kann dann sowohl beim CRTRPGMOD als auch beim CRTPGM/CRTSRVPGM angegeben werden.
    Noch besser ist es allerdings, wenn man das Binder-Verzeichnis in den H-Bestimmungen (CTLOPT) hinterlegt.
    Dann ist nämlich eine Compilierung mit CRTBNDRPG möglich , ohne dass man sich Gedanken machen muss, wie die Parameter gesetzt werden müssen.
    Binder-Verzeichnisse sind immer additiv, d.h. die in den H-Bestimmungen hinterlegten Binderverzeichnisse werden ebenso durchsucht, wie die im Compile-Command angegebenen Binerverzeichnissen.
    Wichtig ist, dass die Aktivierungsgruppe nicht de Default-Aktivierungsgruppe ist! Die Aktivierungsgruppe kann ebenfalls in den H-Bestimmungen (CTL-OPT) hinterlegt werden.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 6. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  9. #9
    Registriert seit
    Aug 2003
    Beiträge
    67
    Vielen Dank für die Erläuterungen !!! Haben mir sehr geholfen.

Similar Threads

  1. Antworten: 4
    Letzter Beitrag: 25-02-21, 12:22
  2. ENTRY-PLIST und PCML-Definition für REST-WebService
    By Peet in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 10-10-16, 07:54
  3. Symbol für "Durchmesser"
    By SLN in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-10-10, 11:31
  4. PRTF für IDPS Drucker Definition INTERL2OF5
    By eisslerhs in forum NEWSboard Drucker
    Antworten: 1
    Letzter Beitrag: 08-11-06, 22:09
  5. CRTRPGPGM nicht gefunden
    By DEVJO in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-11-02, 09:41

Tags for this Thread

Berechtigungen

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