Einsprungpunkte > Modul Buchhaltung > Standardskript SUBTBU 

TBUZONSPE: Hinzufügen von individuellen Feldern in der Budgeterfassung.

Mit dem Eingabepunkt TBUZONSPE können bei der Generierung der Masken für die Budgettransaktionen neue Felder hinzugefügt werden.

Kontext und Funktionsmodus


Aufrufkontext

Dieser Eingabepunkt wird bei der automatischen Generierung von Sonderbeschaffungs-FA verwendet.
Mit ihm können individuelle Felder in die Vorlagenmaske BUD aufgenommen werden.


Transaction

Es ist eine laufende Maskensteuerung vorhanden ([F:AMK2], [F:AMZ2], [F:AMA2] & [F:AMP2]). Aber hier interessiert uns zunächst nur die Tabelle AMSKZON [AMZ2].


Protokolldatei

Es ist keine Protokolldatei geöffnet.


Verfügbare Variablen und Masken

In [F:AMZ2] wird auf Basis der Maskenvorlage [F:AMZ] geschrieben.

Die Variable MASKREF bezeichnet die Referenzmaske, hier BUD.
Die Variable MASKDES bezeichnet die Zielmaske WMBUD+Transaktionscode.

Die Tabelle TABBUDTYP [F:TBU] ist geöffnet, mit [F:TBU]BUCAT kann also die Budgetkategorie identifiziert werden (Periode / Konto / Sektor).

Beim Hinzufügen der neuen Spalte in die Maske BUD wird künftig die Positionsdefinition (Spaltennummer in der Tabelle) berücksichtigt. Die neue Spalte wird stets vor den in der Tabelle der Budgettransaktion definierten berechneten Spalten angezeigt.

Den Namen der neuen gewünschten Spalt wird mir NOMZ = Name der neuen Spalte charakterisiert, und um sie in der generierten Maske anzeigen zu können, wird in AMKZON [AMZ2] geschrieben.

Die Variable GOK wird bei der Retoure des Eingabepunkts in SUBTBU.src verwaltet, mit einem Rollback auf GOK=0 und einem Rollback+Roll wenn GOK<1.


Verwendungsbeispiel:

Im Folgenden ein individuelles Verarbeitungsbeispiel für eine Spalte NEWZONE, die in die Maske BUD aufgenommen werden soll. Die Spalte soll für alle Budgets der Kategorie "Konto" angezeigt werden:

$ACTION
Case ACTION
 When "TBUZONSPE" : Gosub TBUZONSPE
 When Default
Endcase
Return

$TBUZONSPE
If [F:TBU]BUDCAT = 3 : # Budgetkategorie Konto 
 For NOMZ="NEWZONE"
  Read [AMZ]CODE=MASKREF;NOMZ
  If !fstat
   NUMCOL +=1
   [F:AMZ2] = [F:AMZ] 
   [F:AMZ2]NUMLIG = NUMCOL
   [F:AMZ2]CODMSK = MASKDES
   Write [AMZ2]
   If fstat
    GOK=0 : Call FSTA("AMZ2") From GLOCK : Break
   Endif
   Call COPIE_ACTION(MASKREF,MASKDES,[F:AMZ]CODZON,[F:AMZ2]CODZON,0)
    If GOK<1 : break : Endif
  Endif
 Next
Endif
Return