{ properties.i } DEF VAR cMailTo AS CHAR NO-UNDO. DEF VAR cAnrede AS CHAR NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO INIT '1000'. DEF VAR dFakDat AS DATE NO-UNDO INIT 04/23/2021. DEF VAR cMailBody AS CHAR NO-UNDO. DEF VAR cDateiName AS CHAR NO-UNDO. DEF VAR cInstallation AS CHAR NO-UNDO INIT 'huber'. DEF BUFFER bAdresse FOR Adresse. DEF BUFFER bDebst FOR Debst. DEFINE TEMP-TABLE tSendMail FIELD iKnr AS INTEGER FIELD cKunde AS CHARACTER FIELD cMail AS CHARACTER FIELD iFaknr AS INTEGER FIELD rDebst AS RECID FIELD rAdresse AS RECID . FOR EACH Debop NO-LOCK WHERE Debop.Firma = Firma AND Debop.Fakdat = dFakDat: FIND Debst NO-LOCK WHERE Debst.Firma = Debop.Firma AND Debst.Knr = Debop.Knr. IF Debst.DokumentStatus = 0 THEN NEXT. FIND Adresse NO-LOCK WHERE Adresse.Firma = Debop.Firma AND Adresse.Knr = Debop.Knr. CREATE tSendMail. ASSIGN tSendMail.iKnr = Debop.KNr tSendMail.cKunde = Adresse.Anzeig_Br tSendMail.iFaknr = Debop.Faknr tSendMail.rDebst = RECID(Debst) tSendMail.rAdresse = RECID(Adresse) . END. FOR EACH tSendMail: ASSIGN cMailTo = '' cAnrede = ''. FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = tSendMail.rAdresse. FIND bDebst NO-LOCK WHERE RECID(bDebst) = tSendMail.rDebst. FIND FIRST Savko NO-LOCK WHERE Savko.Firma = Debop.Firma AND Savko.Fak_Knr = Debop.Knr AND Savko.Faknr = Debop.Faknr. FOR EACH Ansprech NO-LOCK WHERE Ansprech.Firma = Firma AND Ansprech.Knr = bDebst.Knr AND Ansprech.Debitoren = TRUE AND Ansprech.Mail <> '': cMailTo = cMailTo + (IF cMailTo = '' THEN '' ELSE ';') + Ansprech.Mail. cAnrede = cAnrede + (IF cAnrede = '' THEN '' ELSE ', ') + Ansprech.BriefAnr. END. IF cMailTo = '' THEN DO: cMailTo = bAdresse.Mail. cAnrede = bAdresse.BriefAnr. END. RUN getMailBody ( bAdresse.Sprcd, OUTPUT cMailBody ). cMailBody = SUBSTITUTE(cMailBody, bAdresse.BriefAnr, tSendMail.iFaknr). cDateiName = SUBSTITUTE(cMailVersandPath, STRING(tSendMail.iKnr ,'999999'), STRING(tSendMail.iFaknr ,'9999999'), DYNAMIC-FUNCTION('getDokumentArt':U, Savko.Fak_Art) ). CREATE ASMutation. ASSIGN ASMutation.asmutation_id = NEXT-VALUE(asmutation_id) ASMutation.MutArt = 'MAIL' ASMutation.Aktiv = TRUE ASMutation.cStatus = '' ASMutation.Datum = 04/23/2021 ASMutation.Firma = Firma ASMutation.cFeld_1 = SUBSTITUTE('TO:&1;CC:&2', cMailTo, cKopieRechnung) ASMutation.cFeld_2 = SUBSTITUTE('Rechnung Nr &1', tSendMail.iFaknr ) ASMutation.cFeld_3 = cMailBody ASMutation.cKey_1 = STRING(Savko.Fak_Art,'99') ASMutation.cKey_2 = cDateiName. RELEASE ASMutation. END. PROCEDURE getMailBody : DEFINE INPUT PARAMETER ipiSprcd AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER opcBody AS CHARACTER NO-UNDO. DEFINE VARIABLE cBodyDatei AS CHARACTER INIT ? NO-UNDO. DEFINE VARIABLE cBody AS CHARACTER INIT '' NO-UNDO. DEFINE VARIABLE lBody AS LONGCHAR NO-UNDO. DO WHILE cBodyDatei = ?: cBodyDatei = SUBSTITUTE('druckprogramme/&1/Mail-Rechnung-&2.html', cInstallation, ipiSprcd). cBodyDatei = SEARCH(cBodyDatei). LEAVE. END. IF cBodydatei = ? THEN cBody = ''. ELSE DO: FILE-INFO:FILE-NAME = cBodyDatei. cBodyDatei = FILE-INFO:FULL-PATHNAME. COPY-LOB FILE cBodydatei TO lBody NO-CONVERT. cBody = lBody. END. opcBody = cBody. END PROCEDURE. FUNCTION getDokumentArt RETURNS CHARACTER ( ipFakart AS INTEGER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND Tabel NO-LOCK USE-INDEX Tabel-k2 WHERE Tabel.Firma = Firma AND Tabel.RecArt = 'FAKART' AND Tabel.CodeI = ipFakart AND Tabel.CodeC = '' AND Tabel.Sprcd = 1 NO-ERROR. IF AVAILABLE Tabel THEN RETURN Tabel.Bez2. ELSE RETURN "??????????". END FUNCTION.