Planungscode Differenz Export: Unterschied zwischen den Versionen

Markierung: 2017-Quelltext-Bearbeitung
Markierung: 2017-Quelltext-Bearbeitung
Zeile 25: Zeile 25:
== Funktionslogik ==
== Funktionslogik ==


Der Planungscode-Differenz Export kann sich jetzt pro Personal, zu exportierenden Planungscode und Zeitbereich die aktuelle Zeitleiste (in der Folge '''NEU''') berechnen.
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 '''ALT''') für dieses Personal und diesen Planungscode.  
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:
Es gibt folgende Entscheidungsmöglichkeiten:


* Deckungsgleiche Überschneidungen von ALT und NEU: werden '''ignoriert'''.
* Deckungsgleiche Überschneidungen von PREVIOUS und CURRENT: werden '''ignoriert'''.
* Nicht Deckungsgleiche Überschneidungen von ALT und NEU: '''ALT''' wird '''gelöscht''', '''NEU''' wird '''eingefügt'''.
* Nicht Deckungsgleiche Überschneidungen von PREVIOUS und CURRENT: '''PREVIOUS''' wird '''gelöscht''', '''CURRENT''' wird '''eingefügt'''.
* NEU ist in ALT nicht vorhanden: '''NEU''' wird '''eingefügt'''.
* CURRENT ist in PREVIOUS nicht vorhanden: '''CURRENT''' wird '''eingefügt'''.
* ALT ist in NEU nicht vorhanden: '''ALT''' wird '''gelöscht'''.
* 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.
Deckungsgleiche Überschneidungen werden weitergeschrieben, neu Eingefügte werden weitergeschrieben und bilden die Basis für den nächsten Export. Gelöschte verfallen.

Version vom 20. Dezember 2022, 09:36 Uhr

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 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.
  • 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.

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 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'

Export:                <leer>
Basis nächster Export: 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'

Export:                <leer>
Basis nächster Export: 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'

Export:                +;E;-3-1;K
Basis nächster Export: 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'

Export:                -;E;-3-1;K
                       +;E;-1-1;K
Basis nächster Export: 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'

Export:                -;E;-1-1;K
Basis nächster Export: E -> K -> {}