Vorgehensweise: |
Sie können Ihre eigenen Berechnungsroutinen in RECAP-Spalten angeben, um Sonderberechnungen durchzuführen. Dies ist besonders dann nützlich, wenn Ihre Berechnungen mathematisch komplex sind oder viele Indextabellen erfordern.
Von Benutzern geschriebene Funktionen werden als Unterroutinen codiert, in allen Sprachen, die Aufrufvorgänge unterstützen, wie z. B. FORTRAN, COBOL, PL/1 und BAL. Informationen darüber, wie Sie Ihre eigenen Funktionen erstellen, finden Sie im Handbuch Funktionen verwenden.
RECAP calcname[(s,e,i)][/format]=function (input1,...,inputn,'format2');
Hierbei gilt:
Ist der Name, den Sie dem berechneten Wert zuweisen.
Geben Sie einen Anfangswert (s), einen Endwert (e) und einen Inkrementwert (I) für die Spalte, in der Sie den Wert anzeigen möchten, an. Wenn Sie dies nicht tun, wird der Wert in allen Spalten angezeigt.
Das Format für die Berechnung ist optional. Der Default ist das Format der Spalte. Wenn die Berechnung nur aus der Unterroutine besteht, sollten Sie sicherstellen, dass das Format der Unterroutinenausgabewerts (format2) mit dem Berechnungsformat übereinstimmt. Falls das Berechnungsformat größer als die Spaltenbreite ist, wird der Wert in dieser Spalte mit Sternchen angezeigt (*).
Ist der Name der Funktion (bis zu 8 Zeichen lang). Er muss sich von allen Zeilenlabels unterscheiden und darf keines der folgenden Sonderzeichen enthalten:
= -, / ()
Sind die Eingabeargumente für den Aufruf der Funktion. Hierzu können numerische Konstante, alphanumerische Literale, Zeilen- und Spaltenverweisnotation, E-Notation, oder Labels gehören, oder Namen anderer RECAP-Berechnungen.
Stellen Sie sicher, dass die Werte, die an die Funktion weitergeleitet werden, in Nummer und Typ mit den in der Funktion codierten Argumenten übereinstimmen.
Ist das Format des Rückgabewerts, das in einfache Anführungszeichen gesetzt werden muss.
Angenommen Sie haben eine Funktion mit dem Namen INVEST in Ihrer privaten Funktionssammlung (INVEST ist in der angegebenen Bibliothek nicht vorhanden), und sie berechnet einen Betrag basierend auf Kassenbestand, Gesamtvermögen und aktuelles Datum. Um einen Report zu erstellen, der eine Übersicht über das Firmenvermögen ergibt und berechnet, wieviel Geld die Firma investieren kann, müssen Sie eine Reportanfrage erstellen, die die Funktion INVEST aufruft.
Das aktuelle Datum wird über die &YMD-Systemvariable abgerufen. Die NOPRINT-Option daneben verhindert, dass das Datum im Report angezeigt wird. Das Datum wird nur als Eingabe für die nächste RECAP-Anweisung verwendet.
Die Anfrage ist:
TABLE FILE LEDGER
HEADING CENTER
"ASSETS AND MONEY AVAILABLE FOR INVESTMENT </2"
SUM AMOUNT ACROSS HIGHEST YEAR
IF YEAR EQ 1985 OR 1986
FOR ACCOUNT
1010 AS 'CASH' LABEL CASH OVER
1020 AS 'ACCOUNTS RECEIVABLE' LABEL ACR OVER
1030 AS 'INTEREST RECEIVABLE' LABEL ACI OVER
1100 AS 'FUEL INVENTORY' LABEL FUEL OVER
1200 AS 'MATERIALS AND SUPPLIES' LABEL MAT OVER
BAR OVER
RECAP TOTCAS = CASH+ACR+ACI+FUEL+MAT; AS 'TOTAL ASSETS' OVER
BAR OVER
RECAP THISDATE/A8 = &YMD; NOPRINT OVER
RECAP INVAIL = INVEST(CASH,TOTCAS,THISDATE,'D12.2'); AS
'AVAIL. FOR INVESTMENT' OVER
BAR AS '='
END
Die Ausgabe wird im folgenden Bild illustriert.
WebFOCUS |