Die Archivierungsregel ist eine formale Beschreibung, unter welchen Bedingungen eine Druckausgabe für die Archivierung bereitzustellen ist.

Für diese Beschreibung werden programmspezifisch Felder bereitgestellt, deren Inhalte in der Archivierungsregel abgefragt werden können. Alle möglichen Felder lassen sich mit der Listfunktion anzeigen. Für die Formulierung der Regel muss einem Feld das Zeichen $ vorabgestellt werden. Mehrere Felder wiederum kann man durch logische Operatoren miteinander verknüpfen.
Es ist auch die "leere" Regel zulässig. Das bedeutet, dass die Druckausgabe bedingungslos für die Archivierung bereitgestellt werden kann.


Es gelten folgende Syntaxregeln:

Boolesche Operatoren (Priorität NOT, UND, ODER, Klammerung ist möglich):      

&&UND 
||ODER
!  NOT

Erweiterte boolesche Operatoren werden mit einem Punkt an die Variablen gehängt, Argumente können Strings, numerische Werte oder eine andere Variable sein: 

.eq(Argument)Test auf Gleichheit
.ne(Argument)Test auf Ungleichheit
.startsWith(Argument)Beginnt Variableninhalt mit dem Argument?
.endsWith(Argument)Endet Variableninhalt mit dem Argument?
.between(Argument, Argument)Liegt Variableninhalt im Wertebereich?
.contains(Argument)Enthält Variableninhalt das Argument?
.ge(Argument)Variableninhalt größer oder gleich dem Argument?
.gt, .lt, .le entsprechend .ge
.isDigit(Argument)Variableninhalt nummerisch?
.isEmpty(Argument)Variableninhalt „leer“ (*ZEROS, *BLANKS)?
.isHival(Argument)Variableninhalt maximal?    
.isLoval(Argument) Variableninhalt minimal?
Field1.eval(Field2)setzte Wert Feld 1 = Wert Feld 2
concat(Field1, … Fieldn)verbindet Feld 1 bis n zu einem String
subst(Field, start index, length)gibt den Teilstring der Länge length beginnend an Stelle start index zurück (Achtung: Indexzählung beginnt mit 0)


Bespiel für eine Regel (Druck einer Auftragsbestätigung):

$MNFIRM.eq("190") && $IS_ORIGINAL_PRINT.eq("true") && $KOAKDNR.startsWith("10") && !$TX_COPY.eq("Kopie")

Die entsprechende Druckausgabe wird für die Archivierung bereitgestellt, wenn sie in der Firma 190 abgerufen wurde $MNFIRM.eq("190") und ein Originaldruck ist $IS_ORIGINAL_PRINT.eq("true") und die Kundennummer mit 10 beginnt $KOAKDNR.startsWith("10") und es sich um keine Kopie handelt !$TX_COPY.eq("Kopie").

Für die Abfrage des Inhalts der Felder $IS_ORIGINAL_PRINT.eq("true") und TX_COPY ist programmspezifisches Wissen erforderlich.

  • Keine Stichwörter