Abgrenzungskriterien

Das Output-Management nutzt ein Regelwerk, um zu entscheiden welche Ausgangskanäle für die Dokumente genutzt werden. Da die in den Regeln verwendeten Kriterien die Nutzung der Ausgabekanäle abgrenzen, nennen wir diese Abgrenzungskriterien.

Beispiel - Vom Tarifdesign bis zum Ausgabekanal

  1. Während des Tarifdesigns wird die Tarifoption "Versandweg" mit den Optionen "Onlineportal" und "Postalisch" definiert.
  2. Im Billing-Prozess werden Dokumente (Rechnungen) erzeugt, einige davon für Verträge, für die der Versandweg "Postalisch" gewählt wurde. Diese Information wurde in den Dokumenten-Metadaten der Rechungen abgelegt.
  3. Das Output-Management wendet das definierte Regelwerk an. Alle Rechnungen, die den Versandweg "Postalisch" haben und deren PLZ nicht die lokale 47441 ist, sollen per FTP_DP Ausgabekanal an einen Druck- und Versanddienstleister übergeben werden. Alle postalisch zu versendenden Rechnungen, die im PLZ-Bereich 47441 liegen sollen über den "Drucker 0815" ausgegeben werden.

Abgrenzungskriterien festlegen

Das Regelwerk wird in Form einer DMN-Datei festgelegt (DMN - Decision Model and Notation). Für die Steuerung der Ausgabekanäle für Dokumente wird das in der Datei Dokumentenabgrenzung hinterlegte Regelwerk verwendet.

Abgrenzungskriterien über das UI bearbeiten

https://wiki/wiki/entwicklungswiki/view/Themenportale/dlm_omtui/

Die Abgrenzung kann pro Systemstrukturelement festgelegt werden. Melde Dich auf dem gewünschen Systemstrukturelement an und strate den Prozess Document Lifecycle Management > Outputmanagment >Abgrenzungskriterien verwalten (#DLOMAV).

Auch wenn es möglich ist die Dateimittels Download/Upload direkt zu bearbeiten, raten wir davon ab.

Nach Auswahl von Bearbeiten, erscheint der Dialogablauf Abgrenzungskriterien verwalten.

Die Dialogseite Abgrenzungskriterien bearbeiten ist in drei Abschnitte aufgeteilt:

  1. Eingabeparameter für Abrenzungsregeln
  2. Abgrenzungsregeln
  3. Externe Funktionen

Eingabeparameter für Abgrenzungsregeln

Die in der Mitte der Seite angezeigten Abgrenzungsregeln verwenden Abgrenzungskriterien. Damit ein Abgrenzungskriterium in den Regeln verwendet werden kann, muss es hier hinzugefügt werden.

Sobald zwei Zeichen eingegeben wurden, erscheint eine Auswahlliste mit verfügbaren Abgrenzungskriterien.

Durch Betätigen der [ + ] oder [ - ] Köpfe können Eingabefelder hinzugefügt oder entfernt werden. Jedes gewählte Abgrenzungskriterium erscheint in jeder Abgrenzungsregel.

Das Feld Ausgabekanal ist in diesem Abschnitt nicht editierbar. Es dient lediglich der optischen Nachahmung einer Zeile mit einer Abgrenzungsregel.

Abgrenzungsregeln

In der Mitte der Seite werden die Abgrenzungsregeln angezeigt. Jede Zeile ist eine Regel, die aus mehreren Abgrenzungskriterien und einem Ausgabekanal besteht.

Ein Abgrenzungskriterium wird mit dem Wert im zugehörigen Eingabefeld zu einem Ausdruck zusammengefügt der sich zu wahr oder falsch evaluieren lassen muss.

Eine Regel wird als positiv ausgewertet, wenn die Auswertung jedes Abgrenzungskriteriums in der Zeile das Ergebnis wahr hat.

Wird eine Regel positiv evaluiert, wird das Dokument an den am rechten Ende der Regel stehenden Ausgabekanal gesendet. Alle Regeln (alle Zeilen) werden einzeln evaluiert. Jede positiv evaluierte Zeile führt zu einer Ausgabe des Dokumentes in den zugeordneten Kanal, d.h. das Dokument kann über mehrere Kanäle ausgegeben werden.

Abgrenzungsparameter

Die verwendbaren Abgrenzungsparameter ergeben sich durch eine Auswahl von Sprachelementen der anwenderfreundlichen Ausdruckssprache "FEEL", welche vom Regelwerk (DMN:Decision Model and Notation) des Outputmanagement verwendet wird.

AbgrenzungsparameterDatentypBeschreibungBeispiel
" "StringPrüfung auf einen String"Zeichenfolge"
[Zahl]
<,>,==,<=,>=,in
IntegerPrüfung auf eine Zahl>=42
in[42,29]
[Zahl].[Nachkommastelle]
<,>,==,<=,>=,in
DecimalPrüfung auf eine Zahl mit Nachkommastelle>=42.25
in[42.25,29.47]
date
<,>,==,<=,>=
DatePrüfung auf ein Datum (Systemdatum)<=date("26.03.2024")
true
false
BooleanPrüfung auf die Werte
"Wahr" oder "Falsch"
true
false
containsvordefinierte FunktionPrüfung auf eine Teilzeichenfolgecontains(?,"Teilzeichenfolge")
notvordefinierte FunktionVerneinung eines Ausdrucksnot("Ausdruck")
not(>=42)
not(contains(?,"Teilzeichenfolge"))
not(in[42,29])
Übersicht der derzeit unterstützten Abgrenzungsparameter

Eine Spezifikation des Regelwerks DMN:Decision Model and Notation, kann auf der externen Seite der "Objekt Management Group" heruntergeladen werden.

Abgrenzungskriterien

Abgrenzungskriterien sind entweder Dokumenten-Metadatenelemente oder externe Funktionen.

Externe Funktionen

CustomFunctions sind externe Funktionen, die in den Abgrenzungskriterien eingebunden und verwendet werden können, um beispielsweise Abgrenzungsregeln mit individuellen/ externen Parametern zu versehen.

Einbinden einer externen Funktion per PowerShell

Erstellte CustomFunctions lassen sich mit dem u.g. Skript per Powershell, auf den Systemknoten wo DLM vorhanden ist, einbinden.

$SessionToken = Request-SessionToken -ViewName Standard -ElementName LieferantMoersHuelsdonk1 -ElementTypeName Mandant -SystemUsages Produktiv

function ExecuteCustomFunctionAction
 {
  param (
   [string] $ActionVerb
  )

  try
  {
   if($ActionVerb -eq "Create")
   {
    $cf = New-CSCustomFunction `
      -SessionToken $SessionToken `
      -FullyQuilifiedClassName "Tests.OMS.CustomFunctions.OutputManagementCustomFunctions" `
      -MethodName "ExecuteSampleCustomFunction" `
      -InputParameterKeys ("SystemAndClassificationAttribute.DocumentType") `
      -ExecutesServiceCall

    $global:customFunction = $cf
    [void](Save-CSCustomFunction -CustomFunction $cf -SessionToken $SessionToken)
   }

   if($ActionVerb -eq "Delete")
   {
    $selectedCustomFunctionIds = New-Object "System.Collections.Generic.List``1[Guid]" 
    $selectedCustomFunctionIds.Add($global:customFunction.Id)
    [void](Remove-CSCustomFunctions -Ids $selectedCustomFunctionIds -SessionToken $SessionToken)
   }
   Write-Verbose "Die '$ActionVerb' Operation wurde für die benutzerdefinierte Funktion erfolgreich ausgeführt."
  }
  catch
  {
   Write-Verbose "Die '$ActionVerb' Operation wurde für die benutzerdefinierte Funktion nicht ausgeführt."
   Write-Error $_.Exception.Message
  }
 }
ExecuteCustomFunctionAction -ActionVerb Create
Eingabe über das UI

Sofern CustomFunctions eingebunden wurden, können diese in den Abgrenzungskriterien hinzugefügt werden.

Aufruf des Dialogs Externe Funktionen bearbeiten
Document Lifecycle Management > Outputmanagement > Abgrenzungskriterien verwalten > Dokumentenabgrenzung Kontextmenü: bearbeiten > im Grid Externe Funktionen Kontextmenü: Neu (oder bearbeiten)

Nach Eingabe des Namens und nach Auswahl der CustomFunction müssen die Parameter der Externen Funktion angegeben werden.

Nach dem Übernehmen steht die konfigurierte CustomFunction in den Abgrenzungskriterien zur Verfügung und kann dort den Abgrenzungsregeln hinzugefügt werden.

Simulation

Um die Regeln zu simulieren, bzw. zu testen, können alle Regeln auf einer Auswahl an Dokumenten angwendet werden. Sinn der Simulation ist es, zu erkennen, ob alle Dokumente auch einem Ausgabekanal zugeordnet werden können. So erkennt man schnell, ob es Dokumente gobt, die nicht durch die Regeln getroffen werden. Dadurch können Regeln wasserdicht gestaltet werden.

Dokumente auswählen

Zuerst müssen dazu die Dokumente ausgewählt werden, über die eine Simualtion gestartet werden soll. Die gewünschten Dokumente werden per Berry-Picking ausgewählt:

Wenn man den Dialog über weiter verlässt, werden alle Metadaten der Dokumente gesammelt und auf die Regeln angewendet. Das Ergebnis wird in der nächsten Seite angezeigt.

Simulationsergebnisse

In den Simulationsergebnissen werden die Ausgabeportionen pro Ausgabekanal tabellarisch festgehalten - Die absolute Zahl zeigt, wieviele Dokumente würden an die einzelenen Ausgabekanälen gesendet werden.
Wenn es eine Portion undefined gibt, beinhaltet diese die Dokumente, die nicht von den Regeln getroffen wurden.

Wenn eine Portion ausgewählt wird, werden die Dokumente, die diese beinhaltet, angezeigt:

Abschließend werden die Werte in einem Ringdiagramm visualisiert:

Cookie Consent mit Real Cookie Banner