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 FurthestEdit
  • 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
  • für das einzelne Personal: welche Planungscodes beim Export zuvor exportiert wurden.

Funktionslogik

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

Es gibt folgende Entscheidungsmöglichkeiten:

  • Deckungsgleiche Überschneidungen von ALT und NEU: werden ignoriert.
  • Nicht Deckungsgleiche Überschneidungen von ALT und NEU: ALT wird gelöscht, NEU wird eingefügt.
  • NEU ist in ALT nicht vorhanden: NEU wird eingefügt.
  • ALT ist in NEU nicht vorhanden: ALT 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.

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'

Export:                <leer>
Basis nächster Export: 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
Basis nächster Export: 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>
Basis nächster Export: 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
Basis nächster Export: 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
Basis nächster Export: 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
Basis nächster Export: 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
Basis nächster Export: E -> K -> {}

Beispiel 2: Planungscodes außerhalb exportiertem Zeitraum