Parameter > Buchhaltung > Buchhaltungsschnittstelle > Variablen Autom.journal 

Mit dieser Funktion können Variablen zu Automatik-Buchungen definiert und im Anschluss daran in den Formeln der Automatik-Buchungen verwendet werden.

Variablen können bei komplexen Initialisierungen von Feldern einer Buchungsposition nützlich sein, wenn sich die Initialisierungen nicht auf einen einfachen Ausdruck reduzieren lassen. Wenn bei der Initialisierung eine Variable verwendet wird, so wird ein Unterprogramm aufgerufen, dass diese Variable auswertet und es dem Generator ermöglicht, den Feldinhalt der Buchungsposition zu initialisieren.

Parametrierung der Automatik-Buchungsvariablen

Jeder Automatik-Buchungsvariablen ist ein Code zugeordnet, der mit jeder beliebigen Automatik-Buchungsposition verwendet werden kann.

Wenn in einer Formel eine Variable verwendet wird, so wird ein in der Verarbeitung definiertes Unterprogramm aufgerufen, dessen Namen in den hierfür vorgesehenen Feldern parametriert werden muss.

Jede Variable:

 kann eine bestimmte Anzahl von Wertparametern umfassen, die zur Auswertung dieser Variable notwendig sind (die Variablen werden dem Unterprogramm als Parameter übergeben)

 muss zwingend einen Referenzparameter umfassen. Dieser Parameter entspricht dem Auswertungsergebnis.

 gibt neben dem Auswertungsparameter eine Variable vom Typ integer zurück, mit der ein Fehlercode definiert werden kann. Dieser Parameter muss nicht in der Parameterliste definiert werden, sondern wird beim Aufruf des Unterprogramms automatisch hinzugefügt: Er muss folglich im Code des Unterprogramms enthalten sein.

Beispiel:

Zu bestimmten Automatik-Buchungspositionen muss der anzuwendende Mehrwertsteuersatz bekannt sein, wobei der Steuercode, das Buchungsdatum und das Unternehmen berücksichtigt werden müssen. Für die Auswertung des Steuersatzes wurde in der Standardversion die Variable 'TVA' eingeführt. Diese umfasst folgende Parameter:

 drei für die Auswertung des Steuersatzes notwendige Wertparameter: Unternehmen (CPY) vom Typ 'char', Steuercode (TAX) vom Typ 'char', Datum (DAT) vom Typ 'date'

 ein Referenzparameter, der dem gesuchten Ergebnis entspricht: Steuersatz (VATRAT) vom Typ 'decimal'

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Erfassungsmaske

Übersicht

Parametrierungsprinzip in den Formeln

Mit der Syntax V_XXXXX (wobei XXXXX für den Variablencode steht) kann jede Variable in der den Buchungspositionsfeldern zugeordneten Formeltabelle verwendet werden. Nach der Erfassung einer Variablen wird ein kleines Fenster geöffnet, in dem der Benutzer die Werte aller Parameter erfassen muss, die zur Variablenauswertung benötigt werden (Wertparameter). Die zu den einzelnen Parametern angegebenen Werte müssen den korrekten Typ aufweisen.

Wir weisen darauf hin, dass es sich bei den beim Aufruf des Unterprogramms übergebenen Parametern um Konstanten, Variablen oder komplexe Ausdrücke mit Variablen handeln kann.

Beispiel :

Wenn in einer der Automatik-Buchung BPCIN zugeordneten Formel eine Variable mit dem Journalcode aus dieser Tabelle belegt werden soll, so ist die Formel [F:SIH]JOU als Parameter zu übergeben.

Es wird darauf hingewiesen, dass in einer Formel für eine Automatik-Buchungsposition mehrere Automatik-Buchungsvariablen verwendet werden können.

Beispiel: :

V_CONVERT-ar2(V_CONVERT/(1+V_TVA)) bzw. V_CONVERT soll einen Betrag inkl. Mehrwertsteuer zurückgeben, V_TVA soll einen Steuersatz zurückgeben, und die Formel soll einen Mehrwertsteuerbetrag zurückgeben.

Die Referenzierung einer Automatik-Buchungspositionsvariablen zieht in der Verarbeitung WMGAUYYYYY (wobei YYYYY für den Automatik-Buchungscode steht) den Aufruf des fraglichen Unterprogramms nach sich. Bei diesem Aufruf werden übergeben:

 Variablenparameter korrekten Typs, in der Reihenfolge, wie sie bei der Parametrierung der Automatik-Buchungsvariable erfasst wurden

 Parameter 'STAT' vom Typ 'integer', mit dem ggf. dem Automatik-Buchungsgenerator ein Rückgabestatus zurückgegeben werden kann. Ist STAT = 98, so wird keine Buchung generiert, und es wird die Fehlermeldung angezeigt, die in der globalen Variable GMESSAGE enthalten ist.

Darüber hinaus wird darauf hingewiesen, dass in den bei der Buchung der Automatik-Buchungen generierten Verarbeitungen die Haupttabelle nicht unter ihrer eigenen Abkürzung, sondern unter der Abkürzung [F:TB0]  geöffnet ist; die Positionstabelle hingegen ist unter ihrer eigenen Abkürzung [F:TB1] geöffnet. Dies wirkt sich weder auf die erfassten Formeln noch auf die bei der Buchungsparametrierung übergebenen Parameterausdrücke aus. Da bei der Freigabe von Automatik-Buchungen die Abkürzungen in den Ausdrücken automatisch ersetzt werden, können die üblichen Abkürzungen der Haupttabellen weiterverwendet werden. Wenn allerdings die von der Variable aufgerufene Verarbeitung im aktuellen Datensatz mit Spalten der Haupttabelle oder der Positionstabelle arbeiten muss (was zum Beispiel der Fall ist, wenn die Verarbeitung Datensatzfelder prüft, die eventuell nicht als Argument übergeben wurden), müssen in der Verarbeitung die Abkürzungen [TB0] und [TB1] verwendet werden.

Beispiel: Nach der Referenzierung der Variable 'TVA' in Position 11 der Automatik-Buchung 'PRINC' wird in der Verarbeitung WMGAUPRINC folgender Aufruf generiert: 

Call LECTAUX([F:TB0]CPY,[F :TB1]VATLIN,[F:TB0]ACCDAT,[L]VATRAT,STAT) From CPTINIVAR,

 wobei TB0 für die Abkürzung der Triggertabelle steht (für die Automatik-Buchung PRINC ist dies die Tabelle PAYMENTH),            

 wobei TB1 die Abkürzung der 'allgemeinen' Tabelle bezeichnet (Tabelle PAYMENTD),

 wobei die Parameter [F:TB0]CPY, [F :TB1]VATLIN, [F:TB0]ACCDAT den Wertparametern entsprechen,

 wobei der Parameter [L]VATRAT dem Referenzparameter entspricht

 und wobei der Parameter STAT für den Rückgabestatus steht.

Buchungsregel des Unterprogramms, das die Variable auswertet

Das Unterprogramm, das die Variable auswertet, muss in Einklang mit den beim Aufruf übergebenen Parametern stehen, d. h. das Unterprogramm muss folgende Elemente in folgender Reihenfolge umfassen:

 Variablenparameter korrekten Typs, in der Reihenfolge, wie sie bei der Parametrierung der Variable erfasst wurden (char, integer, date oder decimal)

 Parameter 'STAT' vom Typ 'integer', mit dem ggf. dem Automatik-Buchungsgenerator ein Rückgabestatus zurückgegeben werden kann. Sollte bei der Auswertung der Variable ein Fehler auftreten (z. B. Lesefehler), der die Anlage der Buchung verhindert, so muss das Unterprogramm die Variable STAT auf den Wert 98 setzen und die globale Variable GMESSAGE mit der entsprechenden Fehlermeldung belegen.

Beispiel: :

Subprog LECTAUX(SOC,TAX,DAT,TAUX,STAT)

Value    Char    SOC()

Value    Char    TAX()

Value    Date    DAT

Variable Decimal TAUX

Variable Integer STAT

If clalev([F:TRA])=0 : Local File TABRATVAT [TRA] : Endif

Filter [TRA] Where CPY=SOC & VAT=TAX & STRDAT<=DAT

Read [TRA]TRA0 Last

If fstat>2

 Filter [TRA] Where CPY="" & VAT=TAX & STRDAT<=DAT

  Read [TRA]TRA0 Last

  If !fstat

   TAUX = [F:TRA]VATRAT/100

  Endif

 Filter [TRA]

Endif

If fstat>2

  STAT = 98

  GMESSAGE = "Fehler bei der Auswertung des Steuersatzes" - TAX

Endif

End

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Kopf

  • Variable (Feld CODVAR)
  • Feld DESTRA

 

Blocknummer 2

Unterprogramme

  • Verarbeitung (Feld CODTRT)

 

  • Unterprogramme (Feld SUBPRG)

 

Tabelle Einstellungen

  • Nr. (Feld NUMLIG)

 

  • Code (Feld CODPAR)
  • Parameterbez. (Feld DESTRAPAR)

 

  • Parametertyp (Feld TYPPAR)

 

  • Argumenttyp (Feld ADRVAL)

Bezeichnung

  • Feld ZINFO

 

Schließen

 

Spezielle Buttons

Mit diesem Button kann der Variablencode einer Automatik-Buchung in einen anderen Ordner kopiert werden.

Fehlermeldungen

Nur generische Fehlermeldungen.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung