TA-Systemkonfiguration und tacon.properties

Der Webdesk TA Connector (Interflex IF6020) wird über die Datei tacon.properties konfiguriert. Die Datei legt fest, mit welchem technischen Benutzer sich der Connector an der IF6020 anmeldet, welche IF6020-Konten und -Felder für Urlaub, Arbeitszeit und Personen verwendet werden und wie sich Buchungen, Anwesenheitstableau und Kalender verhalten. Die meisten Werte lassen sich in Webdesk in der Maske "Systemkonfiguration" (Aktion ta_editSystemConfig) bearbeiten, ohne auf den Server des Connectors zuzugreifen. Die Seite richtet sich an Administratoren und Berater, die einen TA Connector einrichten oder warten. Voraussetzung ist ein installierter und gestarteter Webdesk TA Connector (Installation siehe Webdesk TA Connector); Systemparameter der Zeitwirtschaft in Webdesk stehen auf der Seite Systemparameter TA.

Wie Webdesk, Connector und Datei zusammenspielen

  • Ablage: Die Datei liegt im Verzeichnis conf der TACon-Installation (z.B. TACon\conf). Der Connector findet sie über den Klassenpfad (in wrapper.conf ist ../conf eingetragen). Ohne die Datei startet der Connector nicht. Webdesk selbst liest die Datei nie direkt, sondern fragt den Connector über RMI.
  • Start des Connectors: Der Broker (TaBrokerStart) benennt zuerst veraltete Schlüssel um (siehe Abschnitt "Automatische Anpassungen beim Start"). Danach wird jeder Eintrag der Form Beanname.Eigenschaft als Überschreibung auf die gleichnamige Bean angewendet, sowohl im Broker als auch in jedem RMI-Server. Schlüssel, zu denen es keine Bean oder Eigenschaft gibt, werden ohne Fehlermeldung ignoriert. Tippfehler im Schlüssel bleiben deshalb unbemerkt.
  • Übergabe an die RMI-Server: Nach dem Start eines RMI-Servers liest der Broker die in der Maske bearbeitbaren Schlüssel aus der Datei und übergibt sie dem Server. Diese Werte haben Vorrang vor den in der Software hinterlegten Vorgaben. Ein fehlender Schlüssel gilt dabei als leer bzw. false und überschreibt die interne Vorgabe. Alle Schlüssel der Maske sollten daher in der Datei vorhanden sein; beim Speichern in der Maske werden sie automatisch alle geschrieben.
  • Bearbeiten in der Maske: Beim Öffnen der Maske holt Webdesk die aktuelle Konfiguration über RMI vom Broker (Adresse in webdesk.properties, siehe unten). Beim Speichern schreibt der Broker alle Werte in tacon.properties und übergibt sie sofort allen laufenden RMI-Servern. Ein Neustart ist nur für die in der Schlüsselreferenz vermerkten Ausnahmen nötig. Bei einer geclusterten Anbindung (mehrere, mit ; getrennte Adressen in webdesk.ta.if6020impl.rmi) erzwingt Webdesk nach dem Speichern einen Failover und speichert die Konfiguration auch auf dem zweiten Connector.
  • Bearbeiten der Datei von Hand: Der Broker hält die Datei im Speicher. Änderungen von Hand werden erst nach einem Neustart des Dienstes "Webdesk TA Connector for IF6020" wirksam. Speichert jemand vorher in der Maske, wird der Dateiinhalt mit dem alten Stand des Brokers überschrieben. Manuelle Änderungen daher nur bei gestopptem Dienst vornehmen.

Maske "Systemkonfiguration"

Die Maske finden Sie im Menü unter Zeitwirtschaft > IF6020 > Systemkonfiguration (Aktion ta_editSystemConfig). Sie zeigt immer genau eine Konfiguration (die des Connectors) und kann nicht gelöscht werden. Die Gruppenüberschriften der Maske sind fest englisch und werden nicht übersetzt. Die Felder der Maske sind mit den Schlüsseln der Datei wie folgt verknüpft:

Gruppe in der Maske

Schlüssel / Inhalt

Authentication

Zugangsdaten zur IF6020 (TaRmiService.*, credentials.encrypted)

Holiday Display (planned/unplanned)

Urlaubskonten und Urlaubsstichtag (TaJournalDAO.*), außerdem das Feld "Doppelte Neu-Abrechnung bei Kontokorrekturen verwenden"

Person Settings

Personenfelder und Personenverwaltung (TaPersonDAO.*, TaPersonDAOImpl.*, TaVacationEntitlementDAO.taPersonFieldEntryDate)

Vacation Calculation Binding

Urlaubsanspruch und Staffeln (TaVacationEntitlementDAO.*)

Booking Parameters

Buchungsverhalten (TaBookingDAO.*), die beiden Listen der Fehlgrund-IDs (nur lesbar), "Buchungsmitteilungen als Korrekturbemerkungen retournieren"

Accounting Parameters

Arbeitszeitkonten und Höchstarbeitszeiten (TaAccountDAO.*, TaBrokerImpl.personTaIdsReservedForCalculations)

Calendar Configuration

Kalender und Fehlzeiten (TaCalendarDAO.*, TaAbsenceIntervalDAO.*)

StatusList Configuration

Anwesenheitstableau (TaStatusTableauDAO.*)

Timemodel Administration

Nummernkreise für neue Tages- und Wochenprogramme (TaTimeModelDAO.minId, TaTimeModelProgramDAO.minId)

TA Data Warehouse

Schalter für das Data Warehouse (TaDataWarehouseDAO.warehouseEnabled)

  • Nur lesbar (kein Eingabefeld) sind: "Zugangsdaten verschlüsselt", "Name des Feldes, in dem die PoPerson-UID gespeichert ist", "Name des Feldes, in dem die Personalnummer gespeichert ist", "Name des Feldes, in dem die Kennzeichnung für die tatsächliche Beschäftigung gespeichert ist", "IDs der produktiven Fehlgründe" und "IDs der Fehlgründe mit Anwesenheitsverhalten". Diese Werte ändern Sie nur in der Datei (bei gestopptem Dienst) bzw. über die Fehlgrund-Verwaltung.
  • Felder für IF6020-Konten, Personenfelder, Tages- und Wochenprogrammfelder sowie Fehlgründe werden als Auswahllisten aus der IF6020 befüllt.
  • Schlüssel, die in der Maske nicht vorkommen (siehe "Weitere Schlüssel, nur in der Datei"), bleiben beim Speichern unverändert in der Datei erhalten.

Zugangsdaten und Verschlüsselung

Der Connector meldet sich mit einem technischen Benutzer an der IF6020 an. Benutzername und Passwort stehen in tacon.properties und werden beim Start des Connectors als Platzhalter in die RMI-Server eingesetzt. Sind die Zugangsdaten verschlüsselt, entschlüsselt der Connector sie beim Start mit dem Schlüssel encryption.key aus derselben Datei.

Ablauf der Verschlüsselung: Beim Start von Webdesk übergibt Webdesk dem Connector seinen Verschlüsselungsschlüssel. Fehlt encryption.key in der Datei und ist credentials.encrypted nicht ausdrücklich auf false gesetzt, verschlüsselt der Connector Benutzername und Passwort mit diesem Schlüssel, trägt den Schlüssel (Base64) ein und setzt credentials.encrypted=true. Ist credentials.encrypted=false gesetzt, bleiben die Zugangsdaten im Klartext. Im selben Schritt trägt Webdesk die beiden Listen der Fehlgrund-IDs ein, falls sie in der Datei noch leer sind (siehe Abschnitt Fehlgrund-Listen).

Achtung: Den Wert von encryption.key nie weitergeben oder in Dokumentation, Tickets oder Versionsverwaltung ablegen. Ist der Schlüssel verloren, können die verschlüsselten Zugangsdaten nicht mehr gelesen werden. Zur Sicherung des Webdesk-Schlüssels siehe Neue Features in 4.56.

Hinweis: In der Maske wird bei verschlüsselten Zugangsdaten anstelle der Felder "User" und "Passwort" je eine Schaltfläche zum Ändern angezeigt (z.B. "Benutzer ändern"). Neue Werte werden beim Speichern mit dem Schlüssel aus der Datei verschlüsselt. Nach einer Änderung von Benutzer oder Passwort muss der Dienst "Webdesk TA Connector for IF6020" neu gestartet werden.

Eigenschaft

Erklärung

mögliche Wert(e)

TaRmiService.username

Pflicht: ja. Technischer Benutzer in der IF6020, mit dem sich der Connector verbindet. Maske: "User". Bei verschlüsselten Zugangsdaten steht hier der verschlüsselte Base64-Wert. Änderung erst nach Neustart des Connectors wirksam.

Text (Standard: kein Standardwert; die mitgelieferte Datei enthält einen Beispielbenutzer, der durch den Benutzer der Installation zu ersetzen ist)

TaRmiService.password

Pflicht: ja. Passwort des technischen Benutzers. Maske: "Passwort". Bei verschlüsselten Zugangsdaten steht hier der verschlüsselte Base64-Wert. Änderung erst nach Neustart des Connectors wirksam.

Text (Standard: kein Standardwert; die mitgelieferte Datei enthält ein Beispielpasswort im Klartext, das zu ersetzen ist)

credentials.encrypted

Pflicht: nein. Kennzeichnet, ob Benutzername und Passwort verschlüsselt sind. Maske: "Zugangsdaten verschlüsselt" (nur lesbar). Wird beim ersten Webdesk-Start gesetzt (siehe oben). Fehlt der Schlüssel, liest der Connector die Zugangsdaten als Klartext.

true/false (Standard: nicht gesetzt = Klartext)

encryption.key

Pflicht: nein, wird automatisch eingetragen. Base64-Schlüssel, mit dem die Zugangsdaten verschlüsselt sind. Entspricht dem Verschlüsselungsschlüssel von Webdesk. In der Maske nicht sichtbar. Wert nie weitergeben.

Base64-Text (Standard: nicht gesetzt)

Schlüsselreferenz

Die Tabellen nennen je Schlüssel die Wirkung einschließlich der Angabe, ob der Schlüssel Pflicht ist, das zugehörige Feld der Maske (in Anführungszeichen, wie auf dem Bildschirm) und den Standardwert. "Standard" ist der Wert, der gilt, wenn der Schlüssel fehlt; "mitgelieferte Datei" bezeichnet die tacon.properties des Installationspakets. "Pflicht: ja" bedeutet, dass der Connector ohne Wert nicht oder nicht sinnvoll arbeitet; "bedingt" gilt nur für die genannte Funktion; "nein" bedeutet optional. Konto- und Feldnamen sind Namen aus der IF6020 (z.B. vkkonto4, stpinfo120, stwert5). Listen sind, wenn nicht anders angegeben, durch Komma getrennt. Es sind nur Schlüssel aufgeführt, die der Code tatsächlich auswertet.

Verbindung, Broker und Warteschlange

Die Webdesk-Seite der Verbindung steht in webdesk.properties, der Connector wird im Dienst über wrapper.conf gestartet. Beide sind keine Einträge der tacon.properties, werden hier aber mit aufgeführt, weil sie beim Einrichten zusammen geprüft werden. Die Schlüssel in der Tabelle sind nur in der Datei änderbar (nicht in der Maske).

Eigenschaft

Erklärung

mögliche Wert(e)

TaBrokerQueueHandler.startNewRmiServerIfCrashed

Pflicht: nein. Bei true startet der Broker einen neuen RMI-Server, wenn ein Server abgestürzt ist oder kein funktionsfähiger Server verfügbar ist (solange die zulässige Anzahl nicht überschritten ist). Bei false wird in diesem Fall ein Fehler gemeldet. Hinweis: Die mitgelieferte Datei enthält die Zeile TaBrokerQueue.startNewRmiServerIfCrashed=true. Im Code heißt die Bean TaBrokerQueueHandler; ein Schlüssel mit dem Präfix TaBrokerQueue findet keine Bean und bleibt wirkungslos.

true/false (Standard: false)

TaBrokerQueue.portReuseQuarantineMinutes

Pflicht: nein. Nur bei Betrieb mit Objekt-Pool (optionaler Startparameter useObjectPool): Zeit in Minuten, in der der Port eines ausgefallenen oder entfernten RMI-Servers nicht erneut vergeben wird. Fehlende, ungültige oder nicht positive Werte werden durch den Standard ersetzt.

Ganzzahl in Minuten (Standard: 30)

TaBroker.statusTableauFanOut.maxServers

Pflicht: nein. Nur bei Betrieb mit Objekt-Pool: maximale Anzahl RMI-Server, auf die eine Anfrage des Anwesenheitstableaus verteilt werden darf.

Ganzzahl (Standard: 4)

TaBroker.statusTableauFanOut.reservedServersForBookings

Pflicht: nein. Nur bei Betrieb mit Objekt-Pool: Anzahl RMI-Server, die bei der Verteilung einer Tableau-Anfrage für andere Aufrufe (v.a. Buchungen) frei bleiben.

Ganzzahl (Standard: 2)

TaBroker.statusTableauFanOut.minPersonsPerServer

Pflicht: nein. Nur bei Betrieb mit Objekt-Pool: Mindestanzahl Personen pro RMI-Server bei der Verteilung. Kleinere Anfragen werden nicht aufgeteilt.

Ganzzahl (Standard: 25)

Gegenstelle und Startparameter außerhalb der tacon.properties

Eigenschaft

Erklärung

mögliche Wert(e)

webdesk.properties: webdesk.ta.if6020impl.rmi

Adresse des Brokers aus Sicht von Webdesk, z.B. rmi://localhost:4009/taRmiBroker. Bei mehreren Connectoren (Cluster) werden mehrere Adressen mit ; getrennt.

Text (Standard der Installation: rmi://localhost:4009/taRmiBroker)

webdesk.properties: webdesk.ta.if6020impl.rmi.timeoutMillis

Zeitlimit in Millisekunden für den Verbindungs-Handshake zum Broker.

Zahl (Standard: 2000)

webdesk.properties: webdesk.ta.if6020impl.rmi.connectTimeoutMillis

Zeitlimit in Millisekunden für den TCP-Verbindungsaufbau zum Broker.

Zahl (Standard: 3000)

wrapper.conf: wrapper.app.parameter.2

Port des Brokers (und Startport; die RMI-Server verwenden die darauffolgenden Ports).

Zahl (Standard der Installation: 4009)

wrapper.conf: wrapper.app.parameter.3

Anzahl der gleichzeitig laufenden RMI-Server, also der parallel möglichen Zugriffe auf die IF6020. Beim Update bleibt der bisherige Wert erhalten.

Zahl (Standard der mitgelieferten wrapper.conf: 2)

wrapper.conf: wrapper.app.parameter.4 bis .7

Optional, in dieser Reihenfolge: Anzahl Verbindungsversuche je RMI-Server, maximale Gesamtzahl RMI-Server (nur mit Objekt-Pool), Objekt-Pool verwenden (true/false), Startmethode der RMI-Server (ant, jexec oder wrapper).

Standard: 20 Versuche, 20 Server, Objekt-Pool false, Startmethode ant

Urlaub: Konten, Stichtag und Fehlgründe

Diese Schlüssel steuern die Anzeige von Resturlaub sowie von verplantem und unverplantem Urlaub. Hinweis: Sind das Resturlaubskonto in Tagen oder das in Stunden leer, werden die Werte für verplanten/unverplanten Urlaub überhaupt nicht berechnet; im Connector-Log erscheint eine Warnung ("Remaining Account Holidays not set"). Beide Konten müssen daher gesetzt sein, auch wenn nur in Tagen gerechnet wird. Die Seite Berechnung und Darstellung von verplanten/unverplanten Urlaub beschreibt die Berechnung und Darstellung.

Eigenschaft

Erklärung

mögliche Wert(e)

TaJournalDAO.remainingAccountHolidays

Pflicht: ja. Bedingt: erforderlich, wenn Resturlaub bzw. verplanter/unverplanter Urlaub angezeigt wird. Name des IF6020-Kontos (vkkonto<Nr>) mit dem Resturlaub in Tagen. Maske: "Resturlaubskonto (T)". Die mitgelieferte Datei setzt vkkonto4.

Kontoname (Standard: leer; mitgelieferte Datei: vkkonto4)

TaJournalDAO.remainingAccountHolidaysS

Pflicht: ja. Bedingt wie oben. Name des IF6020-Kontos mit dem Resturlaub in Stunden. Maske: "Resturlaubskonto (h)". Die mitgelieferte Datei setzt vkkonto3.

Kontoname (Standard: leer; mitgelieferte Datei: vkkonto3)

TaJournalDAO.holidayEntitlement

Pflicht: ja. Bedingt wie oben. Name des IF6020-Personenfeldes (Stammsatz), das den jährlich hinzugezählten Urlaubsanspruch enthält. Maske: "Personenfeld für Urlaubsanspruch". Die mitgelieferte Datei setzt stwert5.

Feldname (Standard: leer; mitgelieferte Datei: stwert5)

TaJournalDAO.holidayAbsenceReasons

Pflicht: ja. Bedingt wie oben. Kommagetrennte Liste der Fehlgrund-Nummern, die als Urlaub gelten (für verplanten/unverplanten Urlaub und die Urlaubsberechnungen). Maske: "Urlaubsfehlgründe". Der frühere Schlüssel TaJournalDAO.allowedAbsenceReasons wird beim Start in diesen Schlüssel umbenannt.

Liste, z.B. 1 (Standard: leer; mitgelieferte Datei: 1)

TaJournalDAO.entryDateForAccountHolidays

Pflicht: nein. Bei true gilt das Eintrittsdatum als systemweiter Standard-Stichtag für die jährliche Hinzuzählung des Urlaubsanspruchs, sofern bei der Person nichts anderes hinterlegt ist. Maske: "Eintrittsdatum als Urlaubsstichtag".

true/false (Standard: false)

TaJournalDAO.alternativeDateForAccountHolidays

Pflicht: nein. Fester systemweiter Urlaubsstichtag als Rückfall. Format TT.MM. oder TT.MM.JJJJ; ohne Jahr wird das aktuelle Jahr ergänzt. Maske: "Alternativer Urlaubsstichtag".

Datum (Standard: leer, dann 1.1.)

TaJournalDAO.taPersonFieldnameAlternativeDateForAccountHolidays

Pflicht: nein. Name des Personenfeldes, in dem der Urlaubsstichtag der einzelnen Person steht. Maske: "Personenfeldname mit Urlaubsstichtag".

Feldname (Standard: leer)

TaJournalDAO.taPersonFieldnameFlagEntryDateForAccountHolidays

Pflicht: nein. Name eines Personenfeldes, das den Wert J enthalten muss, damit bei dieser Person das Eintrittsdatum der Stichtag ist. Maske: "Boolscher Personenfeldname für die Urlaubshinzuzählung zum Eintrittsdatum".

Feldname (Standard: leer)

TaJournalDAO.infoFieldTimeModelIdentifyingHalfDayVacation

Pflicht: nein. Name eines Feldes im Tagesprogramm, das mit J Tagesprogramme für Tage wie 24.12. oder 31.12. markiert, die bei ganztägigem Urlaub nur als halber Urlaubstag zählen. Maske: "Marker-Feld Tagesprogramm für Sondertage mit Wertigkeit halber Urlaubstag". Leer: Funktion aus.

Feldname (Standard: leer)

Reihenfolge, in der der Stichtag für die jährliche Hinzuzählung des Urlaubsanspruchs bestimmt wird (die erste zutreffende Regel gilt):

  1. Das Personenfeld aus taPersonFieldnameFlagEntryDateForAccountHolidays enthält J: Eintrittsdatum der Person.
  2. Das Personenfeld aus taPersonFieldnameAlternativeDateForAccountHolidays enthält ein Datum: dieses Datum.
  3. entryDateForAccountHolidays ist true: Eintrittsdatum der Person.
  4. alternativeDateForAccountHolidays ist gesetzt: dieser Tag und Monat.
  5. Sonst: 1. Januar.

Urlaubsanspruch und Staffeln

Diese Schlüssel (Maskengruppe "Vacation Calculation Binding") legen fest, aus welchen Personenfeldern und Konten der jährliche Urlaubsanspruch bestimmt wird. Der Anspruch hängt von den Dienstjahren ab: Staffel 1 gilt, solange die Dienstjahre unter dem Wert der 2. Staffel liegen, danach Staffel 2, ab dem Wert der 3. Staffel Staffel 3. Die Staffeln 2 und 3 werden nur gelesen, wenn sowohl das Anspruchsfeld als auch das Feld mit den Dienstjahren der Staffel gesetzt sind (Staffel 3 zusätzlich nur, wenn Staffel 2 gesetzt ist). Die Dienstjahre werden ab dem Eintrittsdatum gerechnet.

Eigenschaft

Erklärung

mögliche Wert(e)

TaVacationEntitlementDAO.taPersonFieldEntryDate

Pflicht: bedingt (ja, wenn der Urlaubsanspruch berechnet wird; ohne Eintrag gilt laut Maske-Hilfe das Feld steindat). Name des Personenfeldes mit dem Eintrittsdatum, das für Dienstjahre und Urlaubsstichtag herangezogen wird. Maske: "Personenfeldname Eintrittsdatum" (Gruppe "Person Settings"). Ist kein Datum lesbar, wird der Beginn der Gültigkeit des Personensatzes verwendet.

Feldname (Standard laut Maske-Hilfe: steindat)

TaVacationEntitlementDAO.taPersonFieldHolidayEntitlement

Pflicht: bedingt (ja, wenn der Urlaubsanspruch aus Personenfeldern berechnet wird). Personenfeld mit dem Jahresurlaub (Tage) der 1. Staffel. Maske: "Personenfeld für Urlaubsanspruch (1. Staffel)". Ist das Feld leer oder 0, gelten 25 Tage.

Feldname (Standard: leer; Ersatzwert 25 Tage)

TaVacationEntitlementDAO.taPersonFieldHolidayEntitlementLevel2

Pflicht: nein. Personenfeld mit dem Jahresurlaub (Tage) der 2. Staffel. Maske: "Personenfeld für Urlaubsanspruch (2. Staffel)". Ist das Feld leer oder 0, gelten 30 Tage.

Feldname (Standard: leer; Ersatzwert 30 Tage)

TaVacationEntitlementDAO.taPersonFieldHolidayEntitlementLevel2Years

Pflicht: nein. Personenfeld mit der Anzahl Dienstjahre, ab der die 2. Staffel gilt. Maske: "Personenfeld Dienstjahre für die 2. Urlaubs-Staffel)". Ist das Feld leer oder 0, wird die 2. Staffel nicht erreicht.

Feldname (Standard: leer)

TaVacationEntitlementDAO.taPersonFieldHolidayEntitlementLevel3

Pflicht: nein. Personenfeld mit dem Jahresurlaub (Tage) der 3. Staffel. Maske: "Personenfeld für Urlaubsanspruch (3. Staffel)". Ist das Feld leer oder 0, gelten 35 Tage.

Feldname (Standard: leer; Ersatzwert 35 Tage)

TaVacationEntitlementDAO.taPersonFieldHolidayEntitlementLevel3Years

Pflicht: nein. Personenfeld mit der Anzahl Dienstjahre, ab der die 3. Staffel gilt. Maske: "Personenfeld Dienstjahre für die 3. Urlaubs-Staffel".

Feldname (Standard: leer)

TaVacationEntitlementDAO.taPersonFieldHolidayCalculationUnit

Pflicht: nein. Personenfeld, das die Berechnungseinheit der Urlaubsrechnung festlegt. Hat das Feld den Wert S, wird in Stunden gerechnet, bei jedem anderen oder leeren Wert in Tagen. Maske: "Personenfeld für Urlaubsanspruch (Berechnungseinheit)".

Feldname (Standard: leer = Berechnung in Tagen)

TaVacationEntitlementDAO.taHistoricFieldHolidayEntitlement

Pflicht: nein. Name des Kontos bzw. tagesbezogenen Wertes, in dem die Abrechnung den Urlaubsanspruch (1. Staffel) historisch ablegt. Für Stichtage in der Vergangenheit wird der Anspruch am jeweiligen Urlaubsstichtag von dort gelesen; ist der Wert nicht lesbar, werden die Personenfelder verwendet. Maske: "Konto/tglt.Wert für historischen Urlaubsanspruch".

Konto-/Wertname (Standard: leer)

TaVacationEntitlementDAO.taHistoricFieldHolidayEntitlementLevel2

Pflicht: nein. Wie oben für die 2. Staffel. Maske: "Konto/tglt.Wert für historischen Urlaubsanspruch Staffel 2".

Konto-/Wertname (Standard: leer)

TaVacationEntitlementDAO.taHistoricFieldHolidayEntitlementLevel3

Pflicht: nein. Wie oben für die 3. Staffel. Maske: "Konto/tglt.Wert für historischen Urlaubsanspruch Staffel 3".

Konto-/Wertname (Standard: leer)

TaVacationEntitlementDAO.vacationRemunerationAccountName

Pflicht: nein. Konto (jährlich fortlaufend) für Urlaubsablöse, z.B. als Kompensation für Minussalden oder ausbezahlte Urlaubstage. Wird in der Darstellung der Resturlaubsentwicklung berücksichtigt. Maske: "Konto für Urlaubsablöse". Leer: keine Ablöse.

Kontoname (Standard: leer)

TaVacationEntitlementDAO.vacationRemunerationCorrectionAccountName

Pflicht: nein. Monatliches Konto für die Korrektur der Urlaubsablöse. Maske: "Konto für Urlaubsablöse Korrektur (mtl.)". Leer: keine Korrektur.

Kontoname (Standard: leer)

Personen: Synchronisation, Infofelder und Löschen

Webdesk legt für jede Person (bei mehreren Beschäftigungen für jede Beschäftigung) einen Personenstammsatz in der IF6020 an. Diese Schlüssel legen fest, in welchen IF6020-Infofeldern Name, Personalnummer und Personen-UID abgelegt werden. Die Infofelder müssen in der IF6020 angelegt, ungenutzt und lang genug sein (Hinweise und Prüfskript auf Breaking Changes). Bestehende Daten werden mit dem Job migrateEmployeeId in die konfigurierten Felder übernommen.

Eigenschaft

Erklärung

mögliche Wert(e)

TaPersonDAO.fnFirstName

Pflicht: ja. IF6020-Infofeld, das den Vornamen enthält (die IF6020 kennt standardmäßig nur einen zusammengesetzten Namen). Maske: "Feldname für Vorname". Die mitgelieferte Datei setzt stpinfo120.

Feldname (Standard: leer; mitgelieferte Datei: stpinfo120)

TaPersonDAO.fnLastName

Pflicht: ja. IF6020-Infofeld, das den Nachnamen enthält. Maske: "Feldname für Nachname". Die mitgelieferte Datei setzt stpinfo118.

Feldname (Standard: leer; mitgelieferte Datei: stpinfo118)

TaPersonDAO.nameOfFieldStoringPersonUid

Pflicht: ja. Bedingt: bei Anbindung an Webdesk ab 4.64 laut Breaking Changes einzurichten. Pstamm-Infofeld, in dem die Personen-UID (PoPerson) gespeichert wird. Maske: "Name des Feldes, in dem die PoPerson-UID gespeichert ist" (nur lesbar, Änderung nur in der Datei). Die Hilfe der Maske nennt mindestens 20 Zeichen, die Seite Breaking Changes 50 Zeichen Feldlänge.

Feldname (Standard: leer)

TaPersonDAO.employeeIdField

Pflicht: ja. Bedingt wie oben. Pstamm-Infofeld mit der echten Webdesk-Personalnummer (nicht das Standardfeld stpersnr), mindestens 20 Zeichen lang. Maske: "Name des Feldes, in dem die Personalnummer gespeichert ist" (nur lesbar). Die Vorgabe ist bewusst leer, damit das Feld konfiguriert werden muss.

Feldname (Standard: leer)

TaPersonDAO.effectiveEmploymentMarkerField

Pflicht: ja. Bedingt wie oben. Pstamm-Infofeld (1 Zeichen) mit dem Kennzeichen J/N, ob der Personensatz die aktuell wirksame Beschäftigung darstellt. Dient der Suche nach Personalnummer. Maske: "Name des Feldes, in dem die Kennzeichnung für die tatsächliche Beschäftigung gespeichert ist" (nur lesbar). Die Vorgabe ist bewusst leer.

Feldname (Standard: leer)

TaPersonDAO.taIdOfTemplatePerson

Pflicht: nein. TA-ID eines Musterstammsatzes, der beim Anlegen einer neuen Person kopiert wird, wenn keine andere Vorlage angegeben ist. Maske: "Musterstammsatznr für Neuanlagen".

TA-ID (Standard: leer)

TaPersonDAO.plausiPliNumberForSaveAndDeletePersons

Pflicht: nein. Nummer eines PLI-Skripts der IF6020 ("PlausiPli"), das bei jedem Speichern (Argumente: TA-ID und insert bzw. update) und vor dem Löschen (delete) einer Person ausgeführt wird. Das Skript kann Pflichtfelder prüfen und das Speichern verhindern. Maske: "ID der PlausiPli". Leer: kein Skript.

PLI-Nummer (Standard: leer)

TaPersonDAO.disableOrgUnitCheckOnSave

Pflicht: nein. Bei true wird beim Speichern nicht geprüft, ob die Abteilung der Person in der IF6020 existiert. Sinnvoll, wenn Personen in Webdesk verwaltet werden und die Abteilungen in der IF6020 nicht gepflegt sind. Maske: "Überprüfung der zugeordneten Abteilung ausschalten beim Speichern?".

true/false (Standard: false)

TaPersonDAOImpl.pliNumberToRunOnTerminationDateChange

Pflicht: nein. Nummer eines IF6020-Skripts (PLI), das ausgeführt wird, nachdem sich das Austrittsdatum einer Person tatsächlich geändert hat; auch beim Löschen des Austrittsdatums (dann nur mit Fehlerprotokoll, falls das Skript scheitert). Maske: "PLI-Nummer welche bei Austrittsdatums-Änderung ausgeführt wird.". Ohne Nummer wird nichts ausgeführt. Achtung: Der Schlüssel beginnt mit TaPersonDAOImpl, nicht mit TaPersonDAO.

PLI-Nummer (Standard: leer)

TaPersonDAOImpl.pliArgumentsToUseOnTerminationDateChange

Pflicht: nein. Argumente für das Skript, durch ; getrennt. Der Platzhalter $taId wird durch die TA-ID der gespeicherten Person ersetzt. Maske: "PLI-Argumente welche übergeben werden".

Liste, z.B. $taId;1 (Standard: leer)

TaPersonDAO.additionalTablesForTaPersonDeletion

Pflicht: nein. Zusätzliche IF6020-Tabellen mit Personendaten, die beim Löschen eines Stammsatzes aus Webdesk mitgelöscht werden. Je Tabelle: Tabellenname, Feld mit der TA-ID und optional ein Datumsfeld, getrennt durch ,; mehrere Tabellen durch ; trennen, z.B. tabelleA, ta_id_feld, datumsfeld; tabelleB, ta_id_feld. Ohne Datumsfeld werden alle Zeilen der Person gelöscht, mit Datumsfeld nur Zeilen mit einem Datum nach dem 1.1.2000. Maske: "Extra Tabellen mit PersonenInfos".

Text (Standard: leer)

Buchungen und Schichtwechsel

Diese Schlüssel betreffen Buchungen, die aus Webdesk in die IF6020 geschrieben werden (Maskengruppe "Booking Parameters").

Eigenschaft

Erklärung

mögliche Wert(e)

TaBookingDAO.terminal

Pflicht: nein. Nummer des IF6020-Terminals, das bei Buchungen aus Webdesk als Referenz gespeichert wird. Hat die Person eine Zeitzone, wird stattdessen das passende virtuelle Terminal dieser Zeitzone verwendet; gibt es keines, wird die Buchung mit Fehler abgelehnt. Maske: "ID des 6020 Terminals für Webdesk Buchungen".

Terminalnummer (Standard: 1000, wenn leer; mitgelieferte Datei: 1)

TaBookingDAO.allowDirectSwitchingToAbsenceCodesWithAttendantBehavior

Pflicht: nein. Bei true kann bei einem offenen Anwesenheits- oder Fehlgrund-Intervall (nur "Kommt"-Buchung) direkt auf einen anderen Fehlgrund mit Anwesenheitscharakter umgeschaltet werden. Bei false erscheint eine Fehlermeldung. Maske: "Direktes Umschalten auf Fehlgrund mit Anwesenheitscharakter erlauben".

true/false (Standard der Bean: true; fehlt der Schlüssel, gilt beim Start false)

TaBookingDAO.logDeletionsToInvalidBookings

Pflicht: nein. Bei true werden Löschungen und Änderungen von Buchungen in den ungültigen Buchungen der IF6020 protokolliert und sind dort theoretisch wiederherstellbar. Maske: "Protokolliere Löschungen in den 'ungültigen' Buchungen?".

true/false (Standard der Bean: true; fehlt der Schlüssel, gilt beim Start false)

TaBookingDAO.enableTimeModelShift

Pflicht: nein. Bei true wählt eine Buchung aus Webdesk automatisch das passende Tagesprogramm (Schicht) und setzt es für den Tag (Voraussetzung: gültige Schichtwechsel-Berechtigung der Person und Schichtfenster für Kommen/Gehen in den Tagesprogrammen). Maske: "Automatischer Schichtwechsel abhängig von Buchung". Neustart nötig: Die Änderung wird beim Speichern in die Datei geschrieben, im laufenden Connector aber erst nach einem Neustart angewendet.

true/false (Standard: false)

TaJournalDAO.keepBookingMessagesInCorrectionComments

Pflicht: nein. Bei true werden Buchungsmitteilungen im Journal und im Korrekturclient als Korrekturbemerkungen angezeigt. Maske: "Buchungsmitteilungen als Korrekturbemerkungen retournieren".

true/false (Standard: false)

TaBookingDAO.ipToTerminalAsString

Pflicht: nein. Nicht in der Maske. Ordnet IP-Bereichen Terminals zu: Einträge der Form <Terminal>:<IP-Anfang>, durch ; getrennt, z.B. 2:192.168.0;3:10.. Es gilt der am besten passende IP-Anfang; passt keiner, gilt das Terminal aus TaBookingDAO.terminal. Wirkt nur bei Personen ohne Zeitzone. Wird beim Start des Connectors gelesen.

Text (Standard: leer)

Arbeitszeitkonten und Höchstarbeitszeit

Diese Schlüssel (Maskengruppe "Accounting Parameters") steuern die Anzeige der aktuellen Arbeitszeit und die Prüfung auf die tägliche und wöchentliche Höchstarbeitszeit (siehe Job checkMaxWorkingTime). Die aktuelle Arbeitszeit wird ermittelt, indem die bisherigen Buchungen des Tages auf einen Dummy-Personensatz gelegt und dort abgerechnet werden.

Eigenschaft

Erklärung

mögliche Wert(e)

TaBrokerImpl.personTaIdsReservedForCalculations

Pflicht: ja. Bedingt: erforderlich für die Funktionen aktuelle Tages- und Wochenarbeitszeit; ohne Eintrag melden diese Funktionen einen Konfigurationsfehler. Kommagetrennte Liste von TA-IDs eigener Personenstammsätze, die ausschließlich für diese Berechnungen dienen (mehrere erlauben parallele Berechnungen). Die Sätze dürfen nicht anderweitig verwendet werden; sie werden vom Data-Warehouse-Export ausgenommen. Maske: "Personen-Dummy-TA-ID(s) für Arbeitszeit-Berechnung". Der frühere Schlüssel TaAccountDAO.taIdOfDummyRecordForCalculations wird beim Start umbenannt.

Liste von TA-IDs (Standard: leer)

TaAccountDAO.infoFieldsToCopyForCalculations

Pflicht: nein. Personen-Infofelder, die für die Berechnung relevant sind und deshalb vor der Berechnung auf den Dummy-Satz kopiert werden. Maske: "Personen-Infofelder für Dummy-Stammsatz".

Liste von Feldnamen (Standard der Bean: stwert1, stwert2; fehlt der Schlüssel, gilt beim Start eine leere Liste)

TaAccountDAO.workingTimeAccount

Pflicht: nein. Konto mit der bewerteten täglichen Arbeitszeit, auch für die Prüfung der täglichen Höchstarbeitszeit. Maske: "Konto für die tägliche Arbeitszeit".

Kontoname (Standard: twistzeit, auch wenn leer)

TaAccountDAO.weeklyWorkingTimeAccount

Pflicht: nein. Konto mit der bewerteten wöchentlichen Arbeitszeit, auch für die Prüfung der wöchentlichen Höchstarbeitszeit. Maske: "Konto für die wöchentliche Arbeitszeit".

Kontoname (Standard: vkwoche, auch wenn leer)

TaAccountDAO.infoFieldTimeModelMaxDailyWorkingTime

Pflicht: nein. Feld im Tagesprogramm mit der maximalen täglichen Arbeitszeit (Industriestunden/-minuten). Hat Vorrang vor dem Personenfeld. Maske: "Tagesprogrammfeld maximale tägliche Arbeitszeit".

Feldname (Standard: leer)

TaAccountDAO.infoFieldMaxDailyWorkingTime

Pflicht: nein. Personenfeld mit der maximalen täglichen Arbeitszeit; Rückfall, wenn das Tagesprogramm keinen Wert liefert. Ist nirgends ein Wert hinterlegt, gelten 10 Stunden. Maske: "Personenfeld maximale tägliche Arbeitszeit".

Feldname (Standard: leer; Ersatzwert 10 Stunden)

TaAccountDAO.infoFieldTimeModelProgramMaxWeeklyWorkingTime

Pflicht: nein. Feld im Wochenprogramm mit der maximalen wöchentlichen Arbeitszeit. Hat Vorrang vor dem Personenfeld. Maske: "Wochenprogrammfeld maximale wöchentliche Arbeitszeit".

Feldname (Standard: leer)

TaAccountDAO.infoFieldMaxWeeklyWorkingTime

Pflicht: nein. Personenfeld mit der maximalen wöchentlichen Arbeitszeit; Rückfall, wenn das Wochenprogramm keinen Wert liefert. Ist nirgends ein Wert hinterlegt, gelten 50 Stunden. Maske: "Personenfeld maximale wöchentliche Arbeitszeit".

Feldname (Standard: leer; Ersatzwert 50 Stunden)

TaAccountDAO.doubleReaccountingRequired

Pflicht: nein. Bei true wird der Tag bei einer Kontokorrektur zweimal neu abgerechnet. Nur für Installationen mit eigenen Abrechnungsskripten, die erst bei doppelter Abrechnung das richtige Ergebnis liefern; kostet zusätzliche Rechenzeit. Maske: "Doppelte Neu-Abrechnung bei Kontokorrekturen verwenden" (erscheint in den Gruppen "Holiday Display (planned/unplanned)" und "Accounting Parameters").

true/false (Standard: false)

Fehlgrund-Listen und Kalender

Hinweis zu den Listen mit Fehlgrund-Nummern in diesem Abschnitt und im Abschnitt Urlaub: Es werden die in der IF6020 definierten Fehlgrund-Nummern verwendet. In der Maske werden sie aus den vorhandenen Fehlgründen ausgewählt.

Eigenschaft

Erklärung

mögliche Wert(e)

TaAbsenceReasonSettings.idsOfProductiveAbsenceReasons

Pflicht: nein. Kommagetrennte IDs der Fehlgründe, die als produktiv gelten (zählen als Arbeit). Wird von Webdesk gepflegt: Beim Start von Webdesk eingetragen, falls leer, und aktualisiert, wenn ein Fehlgrund in der Aktion editAbsenceReason gespeichert wird. Maske: "IDs der produktiven Fehlgründe" (nur lesbar). Nicht von Hand ändern.

Liste von IDs (Standard: leer; wird automatisch befüllt)

TaAbsenceReasonSettings.idsOfAbsenceReasonsWithAttendantBehavior

Pflicht: nein. Kommagetrennte IDs der Fehlgründe mit Anwesenheitsverhalten (z.B. Tele- oder Heimarbeit). Wird wie die vorige Liste von Webdesk gepflegt. Maske: "IDs der Fehlgründe mit Anwesenheitsverhalten" (nur lesbar). Das Verhalten legen Sie am Fehlgrund fest (siehe Systemparameter TA).

Liste von IDs (Standard: leer; wird automatisch befüllt)

TaCalendarDAO.absenceCodesForSickLeaves

Pflicht: nein. Fehlgrund-Nummern für Krankheit. Grundlage für die Summe der Kranktage pro Monat im Kalender. Maske: "Fehlgründe für Krankheit".

Liste (Standard: leer)

TaCalendarDAO.absenceCodesForSpecialLeaves

Pflicht: nein. Fehlgrund-Nummern für Sonderurlaub (z.B. Umzug, Todesfall in der Familie). Grundlage für die Summe der Sonderurlaubstage pro Monat im Kalender. Maske: "Fehlgründe für Sonderurlaub".

Liste (Standard: leer)

TaCalendarDAO.repairCalendarIntervalsOnTheFly

Pflicht: nein. Bei true werden Fehlzeit-Intervalle aus der IF6020 vor der Rückgabe mit den ursprünglichen Anträgen (Prozess-IDs) verglichen und gegebenenfalls wieder aufgeteilt. Hintergrund: Beim Eintragen werden angrenzende Intervalle mit gleichem Fehlgrund unter Umständen automatisch zusammengeführt. Maske: "Fehlzeit-Intervalle im Kalender konsistent zu Anträgen halten".

true/false (Standard: false)

TaAbsenceIntervalDAO.taCalendarSuffixFuerUntertgFehlzeiten

Pflicht: nein. Kürzel der benutzerdefinierten IF6020-Tabelle für passive, untertägige Fehlzeiten (z.B. f1). Setzt eine Abrechnungserweiterung auf der Interflex-Seite voraus, die in diese Tabelle schreibt. Maske: "Kürzel Benutzerdef. Tabelle für untertg. Fehlzeiten". Leer: Funktion aus. Der frühere Schlüssel TaCalendarDAO.taCalendarSuffixFuerUntertgFehlzeiten wird beim Start umbenannt.

Kürzel (Standard: leer)

Anwesenheitstableau

Diese Schlüssel (Maskengruppe "StatusList Configuration") bestimmen, wie der Status von Personen im Anwesenheitstableau ermittelt wird. Die Listen enthalten Nummern von Tages- bzw. Wochenprogrammen, durch Komma getrennt.

Eigenschaft

Erklärung

mögliche Wert(e)

TaStatusTableauDAO.tpnrNotBooking

Pflicht: nein. Nummern der Tagesprogramme für Personen, die nicht buchen ("Nicht-Bucher"). Wer ohne Buchung eines dieser Tagesprogramme hat, erhält den Status "Person bucht nicht" statt "abwesend". Maske: "Liste von Tagesprogramme für Nicht-Bucher". Die mitgelieferte Datei setzt -1 (kein Programm).

Liste (Standard: leer; mitgelieferte Datei: -1)

TaStatusTableauDAO.tpnrAbsenceOnlyBookingList

Pflicht: nein. Nummern der Tagesprogramme für reine Absenzerfasser (Negativ-Zeiterfasser). Deren Absenzen werden wie bei normalen Zeiterfassern angezeigt; ohne Absenz lautet der Status "Person bucht nicht". Maske: "Liste von Tagesprogramme für reine Absenzverwaltung".

Liste (Standard: leer)

TaStatusTableauDAO.wpnrAbsenceOnlyBookingList

Pflicht: nein. Wie oben, jedoch Nummern von Wochenprogrammen. Maske: "Liste von Wochenprogrammen für reine Absenzverwaltung".

Liste (Standard: leer)

TaStatusTableauDAO.statusPresentForAbsenceCodesWithAttendantBehavior

Pflicht: nein. Bei true werden Personen auch dann als anwesend angezeigt, wenn sie gerade mit einem Fehlgrund mit Anwesenheitscharakter gebucht sind. Maske: "Status Anwesend für Fehlgründe mit Anwesenheitscharakter".

true/false (Standard: false)

Hinweis: Einträge, die Sie in den drei Programmlisten in der Maske löschen, werden im laufenden Connector nicht entfernt (neue Einträge werden nur ergänzt). Die Löschung wirkt erst nach einem Neustart des Dienstes.

Nummernkreise für Tages- und Wochenprogramme

Legt Webdesk neue Tages- oder Wochenprogramme in der IF6020 an, wird die erste freie Nummer ab dem hier angegebenen Wert vergeben (Maskengruppe "Timemodel Administration").

Eigenschaft

Erklärung

mögliche Wert(e)

TaTimeModelDAO.minId

Pflicht: nein. Untere Schwelle für die Nummern neu angelegter Tagesprogramme. Maske: "Minimale ID für Tagesprogramme". Leer: nächste freie Nummer ab 1.

Ganzzahl (Standard: 1)

TaTimeModelProgramDAO.minId

Pflicht: nein. Untere Schwelle für die Nummern neu angelegter Wochenprogramme. Maske: "Minimale ID für Wochenprogramme". Leer: nächste freie Nummer ab 1.

Ganzzahl (Standard: 1)

Data Warehouse

Optional kann die Zeitwirtschaft einen Teil der Zeitdaten aus einem Data Warehouse (SQL-Datenbank) statt aus der IF6020 lesen. Der Export wird über die Datei synchronization-job.xml im Verzeichnis conf des Connectors konfiguriert; fehlt sie, wird nicht exportiert. Die laufende Synchronisation übernimmt der Job taIf2sqlSynchronizationJob.

Eigenschaft

Erklärung

mögliche Wert(e)

TaDataWarehouseDAO.warehouseEnabled

Pflicht: nein. Schaltet die Verwendung des Data Warehouse ein. Maske: "TA Data Warehouse Aktiviert". Das Umschalten wirkt sofort im Broker. Wird beim Aufbau des Warehouses ein Datenbankfehler erkannt, schaltet der Connector die Verwendung selbstständig ab.

true/false (Standard: false)

Weitere Schlüssel, nur in der Datei

Neben den oben beschriebenen Schlüsseln wertet der Connector jeden Eintrag der Form Beanname.Eigenschaft aus, zu dem es eine Bean und eine setzbare Eigenschaft gibt (siehe Abschnitt zum Zusammenspiel). Darüber hinaus ist folgender Eintrag der mitgelieferten Datei von Bedeutung:

Eigenschaft

Erklärung

mögliche Wert(e)

TaCalendarDAO.dayProgsThatAvoidAMerge

Kommagetrennte Tagesprogramm-Nummern, die ein Zusammenführen aufeinanderfolgender Fehlzeiten verhindern. Betrifft nur den alten Fehlzeitenspeicher und ist im Code als veraltet markiert. Die mitgelieferte Datei setzt 1,2.

Liste (Standard: leer)

Automatische Anpassungen beim Start

Beim Start benennt der Broker folgende veraltete Einträge um oder entfernt sie und schreibt die Datei zurück:

Alter Schlüssel

Aktion

TaJournalDAO.allowedAbsenceReasons

wird zu TaJournalDAO.holidayAbsenceReasons

TaAccountDAO.taIdOfDummyRecordForCalculations

wird zu TaBrokerImpl.personTaIdsReservedForCalculations

TaCalendarDAO.taCalendarSuffixFuerUntertgFehlzeiten

wird zu TaAbsenceIntervalDAO.taCalendarSuffixFuerUntertgFehlzeiten

TaPersonDAO.bookingMessageField

wird entfernt

Bei einem Update des Connectors mit dem Installationspaket übernimmt der Installer die Einträge der alten tacon.properties in die neue Datei; gleichnamige Schlüssel behalten ihren bisherigen Wert, neue Schlüssel der neuen Datei bleiben erhalten. Sichern Sie die Datei vor jedem Update (siehe Update mit Installpackage + Patches).

Einrichtung und Prüfung

  1. Dienst "Webdesk TA Connector for IF6020" stoppen und tacon.properties sichern.
  2. Mindestens eintragen: TaRmiService.username und TaRmiService.password (technischer IF6020-Benutzer), die Konten und Felder der Urlaubsberechnung, TaPersonDAO.fnFirstName und TaPersonDAO.fnLastName, bei Webdesk 4.64 und höher die drei Infofelder für Personen-UID, Personalnummer und Wirksamkeitskennzeichen sowie bei Bedarf TaBrokerImpl.personTaIdsReservedForCalculations.
  3. Dienst starten. Im Log wrapper.log muss die Meldung "TA RMI Broker successfully started with N running servers of M requested" erscheinen.
  4. In Webdesk die Maske "Systemkonfiguration" öffnen, die übrigen Werte kontrollieren und einmal speichern. Dadurch werden alle Schlüssel der Maske in die Datei geschrieben.
  5. Die Zugangsdaten werden beim nächsten Start von Webdesk verschlüsselt (siehe oben); danach in der Maske kontrollieren, dass "Zugangsdaten verschlüsselt" aktiv ist.

Hinweis: Schreibfehler in einem Schlüssel werden nicht gemeldet, der Eintrag bleibt einfach wirkungslos. Prüfen Sie den Schlüsselnamen bei unerwartetem Verhalten zuerst mit dieser Seite. Ein Fehler beim Start der Anbindung steht im Connector-Log (wrapper.log im Verzeichnis logs).

Kommentare (0)