Function runScript(_self, _cScriptName)
//-DEFAULTSCRIPT-//
// ---------------------------
// Maklermahnung
// ---------------------------
// benötigte Script's
global AusgabeFussZeile := _cScriptName + "01.txt"
global AusgabeGeschZeit := _cScriptName + "02.txt"
global AusgabeKopfZeile := _cScriptName + "03.txt"
global AusgabeTelFax := _cScriptName + "04.txt"
global AusgabeText := _cScriptName + "05.txt"
global Umbruch := _cScriptName + "06.txt"

local m,n,i,x

local aMakMahnNr

aMakMahnNr := _self:aMakMahnNr

// Ausgabe

local m,n
local cText
local nMakMahnSum
local nMakMahnSumDEM
local nMakMahnSumEUR
local dLastBuDat
local nNummer
//doc_tabelle
local nWaehrung
local cWaehrung

local nMakMahnStaRef
local lUseMahnStaTxt
local nMakMahnSta
local cMahnTxt

local nFontSize 

_self:_dbsetdeleted("DBMKM", .T.)
_self:_dbsetorder("DBMKM", 1)

nFontSize := 35

IF ( n := Len( aMakMahnNr )) > 0

  FOR m := 1 TO n
    IF _self:__dbseek("DBMKM", aMakMahnNr[m])
				
      // Beginn Seite erzeugen				
      _SELF:seite_neue_seite()
      _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_hochformat() )
      _SELF:seite_setze_raender( _self:nRandLinks, _self:nRandOben, _self:nRandRechts, _self:nRandUnten )
      _SELF:wYTemp := 0
      _SELF:AusgabeBmp()
      ExecuteScript(AusgabeFussZeile, _self)	
      ExecuteScript(AusgabeKopfZeile, _self)
      ExecuteScript(AusgabeTelFax, _self)
      ExecuteScript(AusgabeGeschZeit, _self)
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

// --------------------------------------------------
// Anschrift
// --------------------------------------------------
      _SELF:wYTemp := _SELF:nY_Pos_Anschr_Text	//80
      IF ! Empty(cText := _self:_dbfieldget("DBMKM", "VN_AN_ANR"))
        _SELF:txt_gerichtet(_SELF:wYTemp, _self:_txt_links(), AllTrim(cText))
        _SELF:wYTemp := _self:wYTemp + nFontSize 
      ENDIF
      IF ! Empty(cText := _self:_dbfieldget("DBMKM", "VN_AN_NAME"))
        _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
        _SELF:wYTemp := _self:wYTemp + nFontSize 
      ENDIF
      IF ! Empty(cText := _self:_dbfieldget("DBMKM", "VN_AN_ZUS"))
        _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
        _SELF:wYTemp := _self:wYTemp + nFontSize 
      ENDIF
      IF ! Empty(cText := _self:_dbfieldget("DBMKM", "VN_STR"))
        _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
        _SELF:wYTemp := _self:wYTemp + (nFontSize * 2)
      ENDIF
      _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_self:_dbfieldget("DBMKM", "VN_ANSCHR")))

// --------------------------------------------------
// Rechnungsnummer ...
// --------------------------------------------------
      _SELF:wYTemp := _self:wYTemp + 130
      // Rahmen
      _SELF:waehle_farbe( _self:_farbe_weiss() )
      _SELF:waehle_farb_pinsel()
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
      _SELF:gdi_rect( 0, _SELF:wYTemp-10, 350, _self:wYTemp+120 )
      // weiter
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", 20, _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_absolut(30,_SELF:wYTemp,"Kundennummer")
      _SELF:txt_absolut(690,_SELF:wYTemp,"Ihr Ansprechpartner")
      _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),"Datum")

      _SELF:wYTemp := _self:wYTemp + 30
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_fett() )
      _SELF:txt_absolut(30,_SELF:wYTemp,_self:_dbfieldget("DBMKM", "KDNR_G")+_self:_dbfieldget("DBMKM", "KDNR_U"))
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),DToC(_self:_dbfieldget("DBMKM", "MAKMAHNDAT")))
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_absolut(690,_SELF:wYTemp,_self:pdf_cUserNameFromUserNr(_self:pdf_nUserNr()))
      _SELF:txt_absolut(690,_SELF:wYTemp+30,"Durchwahl "+_self:pdf_cUserDurchwahlFromUserNr(_self:pdf_nUserNr()))

      _SELF:wYTemp := _self:wYTemp + 50
      _SELF:waehle_schrift( "ARIAL", 20, _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_absolut(30,_SELF:wYTemp,"Bei Rückfragen immer angeben")
      _SELF:wYTemp := _self:wYTemp + 130

// --------------------------------------------------
// Zahlungserinnerung
// --------------------------------------------------
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_fett() )
      IF _SELF:lZweitschrift == .T.
        _SELF:txt_absolut(0,_SELF:wYTemp,"Zahlungserinnerung - Zweitschrift")
      ELSE	
        _SELF:txt_absolut(0,_SELF:wYTemp,"Zahlungserinnerung")
      ENDIF
      _SELF:wYTemp := _self:wYTemp + 150

// --------------------------------------------------
// Ihr Kundenkonto ...
// --------------------------------------------------
      _self:tab_initTab(0,_SELF:wYTemp,1,1)
      _self:tab_setze_zeilenhoehe(1,150)
      _self:tab_setze_spaltenbreite(1,1700)
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

      nWaehrung := _self:_dbfieldget("DBMKM", "WAEHRUNG")
      nMakMahnSum := _self:_dbfieldget("DBMKM", "MAKMAHNSUM")
      nMakMahnSumDEM := _self:pdf_nUmrechnung(nWaehrung, nMakMahnSum, 0)
      nMakMahnSumEUR := _self:pdf_nUmrechnung(nWaehrung, nMakMahnSum, 1)
				
      dLastBuDat := _self:_dbfieldget("DBMKM", "LASTBUDAT")
      cText := "Ihr Kundenkonto weist zur Zeit offene Debitoren-Positionen in Höhe von "+;
		 AllTrim(Str(nMakMahnSumEUR,10,2))+" EUR " + ;
		 " aus ( vergleichen Sie bitte nachfolgenden Kontoauszug )."+;
		 " Hierbei haben wir unsere Buchungen bis einschließlich "+DToC(dLastBuDat)+;
		 " berücksichtigt."
      _self:tab_setze_zelleEx(1,1,0,0,_self:_tcx_umbruch(),cText)
      _SELF:wYTemp := _self:wYTemp + 200

// --------------------------------------------------
// Positionen
// --------------------------------------------------
      _SELF:waehle_schrift( "ARIAL", 25, _self:_schrift_roman(), _self:_attr_normal() )
      nNummer := _self:_dbfieldget("DBMKM", "NUMMER")
      _self:_dbsetdeleted("DBMKMPos", .T.)
      _self:_dbsetorder("DBMKMPos", 1)
      IF _self:__dbseek("DBMKMPos", nNummer)
        _self:tab_InitTab(0,_SELF:wYTemp,7,1)
        _self:tab_setze_spaltenbreite(1,150)
        _self:tab_setze_spaltenbreite(2,150)
        _self:tab_setze_spaltenbreite(3,560)
        _self:tab_setze_spaltenbreite(4,440)
        _self:tab_setze_spaltenbreite(5,150)
        _self:tab_setze_spaltenbreite(6,150)
        _self:tab_setze_spaltenbreite(7,70)
        _self:tab_zeilenhoehe(90)
        _self:tab_rahmen(1,1,7,1,_self:_stift_durchgezogen(),_self:_stift_durchgezogen(),1,_self:_tab_umrandung())	
        _self:tab_setze_zelleEx(1,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Rechnungs Nummer")
        _self:tab_setze_zelleEx(2,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Rechnungs Datum")
        _self:tab_setze_zelleEx(3,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Versicherungsschein-Nummer"+_self:pdf_CRLF()+"Sparte")
        _self:tab_setze_zelleEx(4,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Versicherer")
        _self:tab_setze_zelleEx(5,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Rechnungs Betrag")
        _self:tab_setze_zelleEx(6,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"Offener Betrag")
        _self:tab_setze_zelleEx(7,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),"MS")
        _SELF:wYTemp := _self:wYTemp + 90

        nMakMahnSta := 0
        nMakMahnStaRef := _self:_dbfieldget("DBMKMPos", "MAKMAHNSTA")
        lUseMahnStaTxt := .T.

        DO WHILE _self:_dbfieldget("DBMKMPos", "NUMMER") == nNummer
	  // Umbruch ?
          IF _SELF:wYTemp + 100 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
            ExecuteScript(Umbruch, _self)
          ENDIF

          nMakMahnSta := _self:_dbfieldget("DBMKMPos", "MAKMAHNSTA")

          // Check Mahnstatus
          IF nMakMahnSta <> nMakMahnStaRef
           lUseMahnStaTxt := .F.
          ENDIF

          // Währung
          cWaehrung := _self:pdf_GetWaehrungBezeich(_self:_dbfieldget("DBMKMPOS", "WAEHRUNG"))

          _self:tab_initTab(0,_SELF:wYTemp,7,1)
          _self:tab_setze_spaltenbreite(1,150)
          _self:tab_setze_spaltenbreite(2,150)
          _self:tab_setze_spaltenbreite(3,560)
          _self:tab_setze_spaltenbreite(4,440)
          _self:tab_setze_spaltenbreite(5,150)
          _self:tab_setze_spaltenbreite(6,150)
          _self:tab_setze_spaltenbreite(7,70)
          _self:tab_zeilenhoehe(90)
          _self:tab_rahmen(1,1,7,1,_self:_stift_durchgezogen(),_self:_stift_durchgezogen(),1,_self:_tab_umrandung())	
          _self:tab_setze_zelleEx(1,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links(),AllTrim(Str(_self:_dbfieldget("DBMKMPos", "RENR"))))
          _self:tab_setze_zelleEx(2,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),DToC(_self:_dbfieldget("DBMKMPos", "REDAT")))
          _self:tab_setze_zelleEx(3,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links(),AllTrim(_self:_dbfieldget("DBMKMPos", "VSNR"))+_self:pdf_CRLF()+AllTrim(_self:pdf_Art2Text2(_self:_dbfieldget("DBMKMPOs", "ART"))))
          _self:tab_setze_zelleEx(4,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links(),_self:pdf_VU2Text(_self:_dbfieldget("DBMKMPos", "VU")))
          _self:tab_setze_zelleEx(5,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),AllTrim(Str(_self:_dbfieldget("DBMKMPos", "BRUTTO"),10,2))+_self:pdf_CRLF()+cWaehrung)
          _self:tab_setze_zelleEx(6,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),AllTrim(Str(_self:_dbfieldget("DBMKMPos", "OFFEN"),10,2))+_self:pdf_CRLF()+cWaehrung)
          _self:tab_setze_zelleEx(7,1,10,10,_self:_tcx_umbruch()+_self:_tcx_hzentriert(),AllTrim(Str(_self:_dbfieldget("DBMKMPos", "MAKMAHNSTA"))))
          _SELF:wYTemp := _self:wYTemp + 90
          _self:_dbskip("DBMKMPos")
        ENDDO						
      ENDIF

      _SELF:wYTemp := _self:wYTemp + 50

// --------------------------------------------------
// Da rechtzeitige ...
// --------------------------------------------------
      // Umbruch ?
      IF _SELF:wYTemp + 250 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
        ExecuteScript(Umbruch, _self)
      ENDIF
      _self:tab_initTab(0,_SELF:wYTemp,1,1)
      _self:tab_setze_zeilenhoehe(1,250)
      _self:tab_setze_spaltenbreite(1,1700)
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

      cMahnTxt := "Da rechtzeitige Prämienzahlung Ihren Versicherungsschutz sicherstellt, "+;
	           "wären wir Ihnen dankbar, wenn Sie Ihr Konto innerhalb der nächsten 10 Tage "+;
		    "unter Angabe Ihrer Kundennummer und Rechnungsnummer ausgleichen.")

      IF lUseMahnStaTxt == .T.
       // nur wenn alle Mahnstufen gleich sind werden unterschiedliche Mahntexte verwendet
       IF nMakMahnSta == 2
        cMahnTxt := "Die Zahlung der oben angegebenen Prämie haben wir bereits einmal angemahnt. Trotzdem konnten wir den Eingang des Betrages "+;
                    " bisher nicht feststellen. " + cMahnTxt
       ELSEIF nMakMahnSta > 2
        cMahnTxt := cMahnTxt + " Wir weisen Sie darauf hin, dass wir bei Nichtbezahlung der Prämie innerhalb der Frist, die Angelegenheit an den "+;
                    "Versicherer zur Einleitung des gerichtlichen Mahnverfahrens abgeben werden."
       ENDIF
      ENDIF
      _self:tab_setze_zelleEx(1,1,0,0,_self:_tcx_umbruch(),cMahnTxt)
      _SELF:wYTemp := _self:wYTemp + 250

// --------------------------------------------------
// Sollten Sie ...
// --------------------------------------------------
      // Umbruch ?
      IF _SELF:wYTemp + 100 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
        ExecuteScript(Umbruch, _self)
      ENDIF
      _self:tab_initTab(0,_SELF:wYTemp,1,1)
      _self:tab_setze_zeilenhoehe(1,100)
      _self:tab_setze_spaltenbreite(1,1700)
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

      _self:tab_setze_zelleEx(1,1,0,0,_self:_tcx_umbruch(),"Sollten Sie die Überweisung zwischenzeitlich vorgenommen haben, betrachten Sie "+;
                                                           "dieses Schreiben bitte als gegenstandslos." )
      _SELF:wYTemp := _self:wYTemp + 150

// --------------------------------------------------
// Bitte haben Sie ...
// --------------------------------------------------
      // Umbruch ?
      IF _SELF:wYTemp + 100 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
        ExecuteScript(Umbruch, _self)
      ENDIF
      _self:tab_initTab(0,_SELF:wYTemp,1,1)
      _self:tab_setze_zeilenhoehe(1,100)
      _self:tab_setze_spaltenbreite(1,1700)
      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )
      _self:tab_setze_zelleEx(1,1,0,0,_self:_tcx_umbruch(),"Bitte haben Sie dafür Verständnis, daß dieses Schreiben maschinell erstellt"+;
						" wurde. Es ist auch ohne Unterschrift gültig.")
      _SELF:wYTemp := _self:wYTemp + 150

// --------------------------------------------------
// Mit freundlichen ...
// --------------------------------------------------
      // Umbruch ?
      IF _SELF:wYTemp + 150 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
        ExecuteScript(Umbruch, _self)
      ENDIF

      _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
      _SELF:waehle_farbe( _self:_farbe_schwarz() )
      _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

      ExecuteScript(AusgabeText, _self, _SELF:wYTemp,_self:_TXT_LINKS(),_SELF:cTxt_mfG,40)
    ENDIF
  NEXT m

ENDIF

RETURN
