Planungscode Differenz Export

Der Planungscode-Differenz Export ist eine Programmfunktion, die anhand eines fixen Zeitbereichs, der aktuell eingetragenen Planungscodes und der zuvor exportierten Planungscodes des Personals eine Differenz berechnet und diese als Text-Datei exportiert.

Dieser Export wird zum Datenaustausch mit der Lohnverrechnung beim Krankenstands-Dashboard verwendet.

Aufruf der Funktion

  • Rechtsklick in Reiter Systemeinstellungen: SAP/BI Planungscodes-Export ausführen

oder

  • automatisch einmal am Tag durch Daemon zur einstellbaren Stunde

Ausgangssituation

Damit der Export seine Eingabedaten sammeln kann muss er wissen,

  • welche Zeitbereich er betrachten muss.
    • Heute minus 3 Monate bis Morgen 00:00
    • Variante: Systemeinstellungen: SAP/BI Export: zukünftige Planungscodes exportieren: Heute minus 3 Monate bis in alle Zukunft
  • welche Planungscodes er exportieren muss.
    • Systemeinstellungen: SAP/BI Export: Planungscodes
  • welche Personen er berücksichtigen muss.
    • gesamtes Personal im System
    • einstellbar: Personal: SAP/BI Export: SAP/BI Export Planungscodes aktiv: Ja/Nein vererbt
  • welche Planungscodes für das einzelne Personal beim Export zuvor exportiert wurden.

Funktionsbeschreibung

Der Planungscode-Differenz Export kann sich jetzt pro Personal, zu exportierenden Planungscode und Zeitbereich die aktuelle Zeitleiste (in der Folge CURRENT) berechnen. Dann vergleicht er die berechnete Zeitleiste mit der zuvor exportierten (in der Folge PREVIOUS) für dieses Personal und diesen Planungscode.

Es gibt folgende Entscheidungsmöglichkeiten:

  • Deckungsgleiche Überschneidungen von PREVIOUS und CURRENT:
    • werden ignoriert
    • VARIANTE: werden falls sich das exportierte Bis-Datum geändert hat gelöscht und mit neuem Bis-Datum neu eingefügt, mehr unter Echtzeitkomponente
  • Nicht Deckungsgleiche Überschneidungen von PREVIOUS und CURRENT: PREVIOUS wird gelöscht, CURRENT wird eingefügt.
  • CURRENT ist in PREVIOUS nicht vorhanden: CURRENT wird eingefügt.
  • PREVIOUS ist in CURRENT nicht vorhanden: PREVIOUS wird gelöscht.

Deckungsgleiche Überschneidungen werden weitergeschrieben, neu Eingefügte werden weitergeschrieben und bilden die Basis für den nächsten Export. Gelöschte verfallen.

Änderungen bei Planungscodes außerhalb des exportierten Zeitbereiches werden nicht berücksichtigt.

Jeder Planungscode und Zeitbereich der neu eingefügt wird bekommt eine eindeutige Nummer, um ihn beim Löschen referenzieren zu können. Bei den nachfolgenden Beispielen wird diese eindeutige Nummer aus Gründen der Einfachheit nicht berücksichtigt.

Beispiele

Zur Vereinfachung betrachten wir ein System mit einem Personal (E), einem Planungscode (K) und exportiertem Zeitbereich (Tag 0-9)

Beispiel 1: Einfacher Ablauf

Situation zum Zeitpunkt t:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    |   |   |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: <leer>
Previous: E -> K -> {}
 
Situation zum Zeitpunkt t + 1:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: +;E;0-1;K
Previous: E -> K -> {[0-1]}

Situation zum Zeitpunkt t + 2:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: <leere Datei>
Previous: E -> K -> {[0-1]}

Situation zum Zeitpunkt t + 3:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K |   |   | K | K | K |   |   |   |

'Export wird durchgeführt'

Ergebnis: +;E;4-6;K
Previous: E -> K -> {[0-1],[4-6]}

Situation zum Zeitpunkt t + 4:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K |   |   | K | K | K | K |   |   |

'Export wird durchgeführt'

Ergebnis: -;E;4-6;K
          +;E;4-7;K
Previous: E -> K -> {[0-1],[4-7]}

Situation zum Zeitpunkt t + 5:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K | K | K | K | K | K | K |   |   |

'Export wird durchgeführt'

Ergebnis: -;E,0-1;K
          -;E,4-7;K
          +;E,0-7;K
Previous: E -> K -> {[0-7]}

Situation zum Zeitpunkt t + 6:
Tag | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    |   |   |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: -;E;0-7;K
Previous: E -> K -> {}

Beispiel 2: Planungscodes vollständig außerhalb exportiertem Zeitraum

Situation zum Zeitpunkt t:
Tag |-3 |-2 |-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K | K |   |   |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: <leer>
Previous: E -> K -> {}
 
Situation zum Zeitpunkt t + 1:
Tag |-3 |-2 |-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K |   | K |   |   |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: <leer>
Previous: E -> K -> {}

Beispiel 3: Planungscodes teilweise außerhalb exportiertem Zeitraum

Situation zum Zeitpunkt t:
Tag |-3 |-2 |-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K | K | K | K | K |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: +;E;-3-1;K
Previous: E -> K -> {[-3-1]}
 
Situation zum Zeitpunkt t + 1:
Tag |-3 |-2 |-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K |   | K | K | K |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: -;E;-3-1;K
          +;E;-1-1;K
Previous: E -> K -> {[-1-1]}

Situation zum Zeitpunkt t + 1:
Tag |-3 |-2 |-1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---------------------------------------------
    | K |   | K |   |   |   |   |   |   |   |   |   |   |

'Export wird durchgeführt'

Ergebnis: -;E;-1-1;K
Previous: E -> K -> {}

Echtzeitkomponente

Diese Vorgehensweise ist zurzeit Standard.

Es wird zu jedem exportiertem Zeitbereich das exportierte Bis-Datum gespeichert. Im Normalfall ist dieses ident dem Bis-Datum des exportierten Zeitbereichs.

Manche Lohnverrechnungssyteme verlangen, Zeitbereiche die noch nicht vollständig in der Vergangenheit liegen, als "offen" zu exportieren. Für diese Systeme wird als exportiertes Bis-Datum der 31.12.9999 gespeichert.

Verlagern sich diese Zeitbereiche durch verstreichen von Zeit in die Vergangenheit, kann sich dieses Bis-Datum ohne getätigte Änderung des Planungscode ändern und eine Änderung in der Schnittstelle kann notwendig werden.