Dieser Eingabepunkt wird bei der automatischen Generierung von Sonderbeschaffungs-FA verwendet.
Mit ihm können individuelle Felder in die Vorlagenmaske BUD aufgenommen werden.
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].
Es ist keine Protokolldatei geöffnet.
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.
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