FUNCTION runscript(_self, _cScriptName)
//-DEFAULTSCRIPT-//
// -----------------------------------------
// 'Vermittlerabrechnung'
// -----------------------------------------
// benötigte Script's
global Deckblatt := _cScriptName + "01.txt"
global Titelblatt := _cScriptName + "02.txt"
global Tab_NeueZeile := _cScriptName + "03.txt"
global Tab_TitelZeile := _cScriptName + "04.txt"
global VertreterZeile := _cScriptName + "05.txt"
global AusgabeKopfzeile := _cScriptName + "06.txt"
global AusgabeFusszeile := _cScriptName + "07.txt"
global AusgabeText := _cScriptName + "08.txt"
global Summenzeile := _cScriptName + "09.txt"

local n
local m
local cVertreterName
local cAbrechnungstag
local cZeitraum
local aSaldo
local aAbrListSach
local aAbrListKV
local aAbrListLV
local aTab 
local nSumSach
local nSumKV
local nSumLV

aSaldo := _self:aSaldo
aAbrListSach := _self:aAbrListSach
aAbrListKV := _self:aAbrListKV
aAbrListLV := _self:aAbrListLV


// -----------------------------------------------
// Tab-Var's
// -----------------------------------------------
aTab := {275,400,260,490,160,230,200,290,180,190}

// -----------------------------------------------
// Deckblatt
// -----------------------------------------------
ExecuteScript(Deckblatt,_self)

// -----------------------------------------------
// Titelblatt
// -----------------------------------------------
ExecuteScript(TitelBlatt,_self)

// -----------------------------------------------
// Sach HUK
// -----------------------------------------------
IF (m := Len(aAbrListSach)) > 0
  // die einmaligen Werte ermitteln 
  cVertreterName := ASaldo[6]
  cAbrechnungstag := "Abrechnungstag : " + DToC( ASaldo[15])
  cZeitraum := "Re-Datum von " + DToC( ASaldo[2]) + " bis " + DToC( ASaldo[3])
	
  // erster Durchlauf : Sach/HUK
  _SELF:seite_neue_seite()
  _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_querformat() )
  _SELF:seite_setze_raender( 130, 150, 170, 100 )
  _SELF:wYStart := 0
  _SELF:wYMax := 1800
  _SELF:wYTemp := _SELF:wYStart
	
  ExecuteScript(VertreterZeile,_self, "Sach/HUK",cVertreterName,cAbrechnungstag,cZeitraum)
		
  ExecuteScript(tab_TitelZeile,_self, aTab)
	
  nSumSach := 0
  n := 1
  while n <= m
    ExecuteScript(tab_neuezeile,_self, aAbrListSach[n], aTab)
    nSumSach := nSumSach + aAbrListSach[n][11]
    n := n + 1
  enddo

  // Summenzeile
  ExecuteScript(summenzeile,_self, aSaldo[17], nSumSach, aTab)

ENDIF

// -----------------------------------------------
// KV
// -----------------------------------------------
IF ( m := Len(aAbrListKV) ) > 0
  // die einmaligen Werte ermitteln
  cVertreterName := aSaldo[6]
  cAbrechnungstag := "Abrechnungstag : " + DToC( aSaldo[15])
  cZeitraum := "Re-Datum von " + DToC( aSaldo[2]) + " bis " + DToC( aSaldo[3])
	
  // zweiter Durchlauf : KV
  _SELF:seite_neue_seite()
  _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_querformat() )
  _SELF:seite_setze_raender( 130, 150, 170, 100 )
  _SELF:wYStart := 0
  _SELF:wYMax := 1800
  _SELF:wYTemp := _SELF:wYStart
	
  ExecuteScript(VertreterZeile,_self, "KV",cVertreterName,cAbrechnungstag,cZeitraum)
		
  ExecuteScript(tab_TitelZeile,_self, aTab)
	
  nSumKV := 0
  n := 1
  while n <= m
    ExecuteScript(tab_neuezeile,_self, aAbrListKV[n], aTab)
    nSumKV := nSumKV + aAbrListKV[n][11]
    n := n + 1
  enddo

  // Summenzeile
  ExecuteScript(summenzeile,_self, aSaldo[17], nSumKV, aTab)

ENDIF

// -----------------------------------------------
// LV
// -----------------------------------------------
IF ( m := Len(aAbrListLV) ) > 0
  // die einmaligen Werte ermitteln
  cVertreterName := aSaldo[6]
  cAbrechnungstag := "Abrechnungstag : " + DToC( aSaldo[15])
  cZeitraum := "Re-Datum von " + DToC( aSaldo[2]) + " bis " + DToC( aSaldo[3])
	
  // zweiter Durchlauf : LV
  _SELF:seite_neue_seite()
  _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_querformat() )
  _SELF:seite_setze_raender( 130, 150, 170, 100 )
  _SELF:wYStart := 0
  _SELF:wYMax := 1800
  _SELF:wYTemp := _SELF:wYStart
	
  ExecuteScript(VertreterZeile,_self, "LV",cVertreterName,cAbrechnungstag,cZeitraum)
		
  ExecuteScript(tab_TitelZeile,_self, aTab)
	
  nSumLV := 0
  n := 1
  while n <= m
    ExecuteScript(tab_neuezeile,_self, aAbrListLV[n], aTab)
    nSumLV := nSumLV + aAbrListLV[n][11]
    n := n + 1
  enddo

  // Summenzeile
  ExecuteScript(summenzeile,_self, aSaldo[17], nSumLV, aTab)

ENDIF


return 0
