Grundlegende Informationen zur NTCS Allgemein finden Sie unter Einfache Handhabung.Automatisierungsmakros | Makros, die entworfen werden, um häufig ausgeführte Vorgänge mittels eines Menübefehls oder einer Tastenkombination schneller ausführen zu können. |
Erweiterungsmakros | Makros, die BMD NTCS neue Funktionen hinzufügen. |
Anwendungsmakros | Vollständige Makrosysteme, die zur Ausführung komplexerer Vorgänge entworfen werden. |
Feld einfügen | |
Funktion | Funktion einfügen |
Starten | Makro starten |
Kompilieren | Makro kompilieren |
Makro-Text löschen |
![]() | //============================================== // Erstelldatum : 25.09.2005 10:28:20 // Ersteller : LOI401 // Beschreibung : Fenstermakro im Fenster Kundenerfassung (Kunden) //============================================== BMD_SHOWMESSAGE('Hallo Welt!') //Zeigt die Makro-Meldung 'Hallo Welt!' an. |
![]() | Wenn Marlene Zeit hat, lade ich sie ins Kino ein; sonst lade ich Julia ein. In Pascal könnten Sie diesen Satz folgendermaßen ausdrücken: if MarleneZeit = true then begin EinladungKino("Marlene") end else begin EinladungKino("Julia") end; Die Folge if ... then ... else wird Kontrollstruktur genannt, da sie die gesamte Struktur der Routine kontrolliert. Der Text MarleneZeit ist eine Variable, die Sie sich als einen Platzhalter zur Aufnahme verschiedener Datentypen vorstellen können. In diesem Fall kann MarleneZeit entweder den Wert TRUE oder FALSE enthalten. Der Text MarleneZeit = true ist ein Ausdruck, dessen Auswertung in diesem Fall entweder den Wert TRUE oder FALSE ergeben kann. Das Element EinladungKino ist eine Unterroutine (hier nicht aufgeführt), die Aufgaben spezifiziert, die außerhalb dieser Routine auszuführen sind. |
Upper | Der Befehl BMD_UPPER('Text') wandelt einen Text in Großbuchstaben um. BMD_UPPER('Text') liefert 'TEXT' als Ergebnis. |
Lower | Der Befehl BMD_LOWER('Text') wandelt einen Text in Kleinbuchstaben um. BMD_LOWER('Text') liefert 'text' als Ergebnis. |
Copy | Der Befehl BMD_COPY('Text',<Ab Position>,<Länge>) kopiert einen Teil aus einem Text. BMD_COPY('Text',2,2) liefert das Ergebnis 'xt'. |
Trim | BMD_TRIM('Text') Leerzeichen am Begin und am Ende des Textes werden entfernt. |
RTrim | BMD_RTRIM('Text') Leerzeichen am Ende des Textes werden entfernt. |
LTrim | BMDLTRIM('Text') Leerzeichen am Anfang des Textes werden entfernt. |
Concat | Der Befehl BMD_CONCAT('Text1','Text2') verkettet Texte. BMD_CONCAT('Text1','Text2') liefert 'Text1Text2' als Ergebnis. |
Pos | Die Funktion BMD_POS('Text','Teilstring') liefert die Position einer spezifizierten Such-Zeichenfolge in einer Ziel-Zeichenfolge. BMD_POS('Text','e') liefert 2 als Ergebnis. |
Len | Die Funktion BMD_LEN('Text') liefert die Anzahl der Zeichen einer Zeichenfolge (Länge). BMD_LEN('Text') liefert 4 als Ergebnis. |
TextToNumDef | Die Funktion BMD_TEXTTONUMDEF('Text') wandelt einen Text in eine Zahl um. Bei Fehler wird 0 zurückgegeben. BMD_TEXTTONUMDEF('1234') liefert 1234 als Ergebnis. Leerzeichen am Anfang und Ende werden ignoriert. Das Dezimaltrennzeichen ist standardmäßig ein Beistrich; Tausendertrennzeichen und Währungssymbole sind nicht zulässig. Beispiel
| ||
EAN | BMD_EAN(<Länge>,'Text') Liefert die EAN inkl. Prüfziffer. Die Länge ist die Länge der Zahl inkl. Prüfziffer. | ||
Ext_Field | EXT_FIELD('Datenquelle','Externes Feld','Bedingung1','Wert1','Bedingung2','Wert2','Bedingung3','Wert3') Liefert einen Wert aus einer externen Datenbank, die über ODBC angesprochen wird, retour. Beispiel
| ||
Stringreplace | Die Funktion BMD_STRINGREPLACE('Text','OldPattern','NewPattern', <AllOccurrences (opt)>, <CaseSensitive (opt)>) ersetzt in einer Zeichenfolge eine Such-Zeichenfolge (OldPattern) durch eine neue (NewPattern). Standardmäßig ist die Funktion case-sensitive und es werden alle Vorkommen ersetzt. BMD_STRINGREPLACE('Text','e','x') liefert 'Txxt' als Ergebnis. |
Left | |
Right | |
Asc | |
Chr$ |
FormatNum | Mit der Funktion BMD_FORMATNUM('Format',<Wert>) wird eine Zahl formatiert. Formatoptionen: 0 Ziffer wird immer angedruckt. # Ziffer wird angedruckt, wenn sie vorhanden ist. . Kennzeichnet das Tausendertrennzeichen. , Kennzeichnet das Komma. BMD_FORMATNUM('#.##0,00', 1234) liefert '1.234,00' als Ergebnis. | ||
Min | BMD_MIN(<Zahl>,<Zahl>) Das Minimum von zwei Zahlen wird berechnet. BMD_MIN(1,2) liefert 1 zurück. BMD_MIN(1.5,2) liefert 1,5 zurück. | ||
Max | BMD_MAX(<Zahl>,<Zahl>) Das Maximum von zwei Zahlen wird berechnet. BMD_MAX(1,2) liefert 2 zurück. | ||
Round | BMD_ROUND(<Zahl>,<Stellen>) Eine Zahl wird auf X-Stellen gerundet. BMD_ROUND(3456.789, 2) liefert 3456.79. BMD_ROUND(3456.789, -2) liefert 3500. BMD_ROUND(3456.789,0) liefert 3457. | ||
RoundX | BMD_ROUNDX(<Zahl>,<Basis>,<Rundungsart (opt)>) Eine Zahl wird aufgrund der Basis gerundet. Mit der Rundungsart kann eingestellt werden, ob kaufmännisch gerundet, ab- oder aufgerundet werden soll. Parameter:
Beispiele
|
Abs | BMD_ABS(<Zahl>) Der Absolutwert einer Zahl wird berechnet. BMD_ABS(1) liefert 1. BMD_ABS(-1) liefert 1. |
Trunc | BMD_TRUNC(<Zahl>) Trunc konvertiert eine Gleitkommazahl in einen Integer-Wert. Die Nachkommastellen werden abgeschnitten. BMD_TRUNC(1.5) liefert 1. BMD_TRUNC(1.9) liefert 1. |
Power | BMD_POWER(<Base>,<Exp>) Power errechnet aus Base und einem beliebigen Wert die Potenz. BMD_POWER(3,2) liefert 9. BMD_POWER(2,3) liefert 8. |
Sqrt | BMD_SQRT(<Zahl>) Die Quadratwurzel wird berechnet. BMD_SQRT(9) liefert 3. |
Modulo | BMD_MODULO(<Zahl>,<Zahl>) Der Operator "Modulo" liefert den Rest, der sich bei der Division seiner Operanden ergibt. BMD_MODULO(7,5) liefert 2. BMD_MODULO(5,2) liefert 1. |
Time | Die Funktion BMD_TIME() liefert die aktuelle Zeit. Beispiel
| ||
Date | Die Funktion BMD_DATE() liefert das aktuelle Datum. Beispiel
| ||
DayOfWeek | Die Funktion DAYOFWEEK('Datum') gibt den Wochentag des angegebenen Datums zurück, z. B. "Sonntag". Parameter:
Beispiel
| ||
WeekOfYear | Die Funktion WEEKOFYEAR('Datum') gibt die Kalenderwoche des angegebenen Datums zurück. Parameter:
Beispiel
| ||
Day | Die Funktion BMD_DAY('Datum') liefert den Tag des angegebenen Datums zurück. Parameter:
Beispiel
|
Month | Die Funktion BMD_MONTH('Datum') liefert den Monat des angegebenen Datums zurück. Parameter:
Beispiel
| ||
Year | Die Funktion BMD_YEAR('Datum') liefert das Jahr des angegebenen Datums zurück. Parameter:
Beispiel
| ||
DateDiff | Die Funktion BMD_DATEDIFF('Datum1','Datum2') liefert die Anzahl der Tage zwischen zwei Daten zurück. Parameter:
Beispiel
| ||
DateSum | Die Funktion BMD_DATESUM('Datum', <Zahl>) addiert Tage zum angegebenen Datum. Parameter:
Beispiel
| ||
MonthDiff | Die Funktion BMD_MONTHDIFF('Datum1','Datum2') liefert den Absolutwert der Monate zwischen zwei Daten zurück. Tage bleiben bei der Berechnung unberücksichtigt (keine Rundung). Parameter:
Beispiel
|
LastDayOfMonth | Die Funktion BMD_LASTDAY(<Monat>, <Jahr>) liefert den letzten Tag zum angegebenen Monat und Jahr. Parameter:
Beispiel
| ||
Ist Schaltjahr? | Die Funktion BMD_ISLEAPYEAR(<Jahr>) liefert für Schaltjahre 1 zurück, sonst 0. Parameter:
Beispiel
| ||
DateToISOFormat | Die Funktion BMD_DATETOISOFORMAT('Datum') bzw. BMD_DATETOISOFORMAT('Datum Zeit') liefert Datum und Zeit im ISO-Format (ISO 8601) zurück. Das ISO-Format wird z. B. in den Internetkopfzeilen einer E-Mail verwendet. Neben der Ortszeit steht die Differenz zur UTC. UTC steht für Universal Time Coordonné, die Koordinierte Weltzeit (engl.: Universal Time Coordinated). Parameter:
Beispiel
| ||
FormatDate | Die Funktion BMD_FORMATDATE('Datum','Eingabeformat','Ausgabeformat') liefert Datum/Zeit formatiert zurück. Bei einem Fehler wird das aktuelle Datum zurückgegeben. Parameter:
Ausnahmen:
Beispiel
|
![]() | Nicht erlaubte Eingabeformate: BMD_FORMATDATE('1.11.23','D.Y.M','DDD DD.MM.YYYY') liefert Di 01.11.2023 zurück. BMD_FORMATDATE('01012023','DDMMYYYY','DDDD DD.MM.YYYY HH:NN:SS') liefert Mittwoch 26.10.2023 12:00:00 zurück (wenn Sie die Funktion am 26.10.2023 um 12 Uhr aufrufen). BMD_FORMATDATE('01.01.2023','DDMMYYYY','DDDD DD.MM.YYYY HH:NN:SS') liefert Samstag 01.01.2023 00:00:00 zurück. |
3.5 Tools Funktionen
3.5.1 UserName
3.5.2 ComputerName
3.5.3 GetNav_CompanyNo
3.5.4 GetNav_CustomerNo
3.5.5 GetNav_ArtCompanyNo
3.5.6 GetNav_ArticleNo
3.6 Zins- und Sparfunktionen
3.6.1 Rate
Die Funktion BMD_SAVEINTEREST_BEST_SPARZIEL(<Endwert>, <Anfangskapital>, <Gesamtanzahl Raten>, <Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Zahlungen erfolgen>, <Zahlungsweise>) berechnet die Rate bei gegebenem Endwert.
Parameter
Zahlungen erfolgen: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Zahlungsweise: 0 … vorschüssig, 1 … nachschüssig
Beispiele
BMD_SAVEINTEREST_BEST_SPARZIEL(19993,811,17,5,25,1,0) liefert für eine jährliche, vorschüssige Zahlungsweise 767,785223237073 als Rate.
BMD_SAVEINTEREST_BEST_SPARZIEL(19993,811,17,5,25,2,1) liefert für eine ½-jährliche, nachschüssige Zahlungsweise 954,754916603932 als Rate.
BMD_SAVEINTEREST_BEST_SPARZIEL(19993,811,17,5,25,4,0) liefert für eine ¼-jährliche, vorschüssige Zahlungsweise 1030,06264321424 als Rate.
BMD_SAVEINTEREST_BEST_SPARZIEL(19993,811,17,5,25,12,1) liefert für eine monatliche, nachschüssige Zahlungsweise 1098,25770692474 als Rate.
3.6.2 Endwert bei Raten
Die Funktion BMD_SAVEINTEREST_EW_REGEL_ZAHLUNGEN(<Anfangskapital>, <Rate>, <Gesamtanzahl Raten>, <Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Zahlungen erfolgen>, <Zahlungsweise>, <Anzeige von>) berechnet die Summe der Raten, die Zinsen, die Kapitalertragsteuer und den Endwert.
Parameter
Zahlungen erfolgen: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Zahlungsweise: 0 … vorschüssig, 1 … nachschüssig
Anzeige von: 1 … Summe der Raten, 2 … Zinsen, 3 … Kapitalertragsteuer, 4 … Endwert
Beispiele
BMD_SAVEINTEREST_EW_REGEL_ZAHLUNGEN(16381,19997,19,5,25,1,0,1) liefert 379943 als Summe der Raten.
BMD_SAVEINTEREST_EW_REGEL_ZAHLUNGEN(16381,19997,19,5,25,2,0,2) liefert für eine ½-jährliche, vorschüssige Ratenzahlung 114677,616302214 als Zinsen.
BMD_SAVEINTEREST_EW_REGEL_ZAHLUNGEN(16381,19997,19,5,25,4,1,3) liefert für eine ¼-jährliche, nachschüssige Ratenzahlung 12170,0535092802 als Kapitalertragsteuer.
BMD_SAVEINTEREST_EW_REGEL_ZAHLUNGEN(16381,19997,19,5,25,12,1,4) liefert für eine monatliche, nachschüssige Ratenzahlung 408042,798266323 als Endwert.
3.6.3 Barwert bei Raten
Die Funktion BMD_SAVEINTEREST_BW_REGEL_ZAHLUNGEN(<Rate>, <Gesamtanzahl Raten>, <Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Zahlungen erfolgen>, <Zahlungsweise>) berechnet den Barwert.
Parameter
Zahlungen erfolgen: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Zahlungsweise: 0 … vorschüssig, 1 … nachschüssig
Beispiele
BMD_SAVEINTEREST_BW_REGEL_ZAHLUNGEN(19031,23,5,25,1,0) liefert für eine jährliche, vorschüssige Zahlungsweise 300740,925834167 als Barwert.
BMD_SAVEINTEREST_BW_REGEL_ZAHLUNGEN(19031,23,5,25,2,1) liefert für eine ½- jährliche, nachschüssige Zahlungsweise 353614,714358877 als Barwert.
BMD_SAVEINTEREST_BW_REGEL_ZAHLUNGEN(19031,23,5,25,4,0) liefert für eine ¼- jährliche, vorschüssige Zahlungsweise 396348,233598446 als Barwert.
BMD_SAVEINTEREST_BW_REGEL_ZAHLUNGEN(19031,23,5,25,12,1) liefert für eine monatliche, nachschüssige Zahlungsweise 422026,807020848 als Barwert.
3.6.4 Anfangskapital (Zinseszinsrechnung)
Die Funktion BMD_SAVEINTEREST_ANFANGSWERT(<Endwert>, <Anzahl der Zinsperioden>, <Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Verzinsung>, <Anzeige von>) berechnet die Zinsen, die Kapitalertragsteuer und das Anfangskapital.
Parameter
Verzinsung: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Anzeige von: 1 … Zinsen, 2 … Kapitalertragsteuer, 3 … Anfangskapital
Beispiele
BMD_SAVEINTEREST_ANFANGSWERT(17903,29,5,25,1,1) liefert für eine jährliche Verzinsung 15663,1931106266 als Zinsen.
BMD_SAVEINTEREST_ANFANGSWERT(17903,29,5,25,2,2) liefert für eine ½-jährliche Verzinsung 2485,54832909509 als Kapitalertragsteuer.
BMD_SAVEINTEREST_ANFANGSWERT(17903,29,5,25,4,3) liefert für eine ¼-jährliche Verzinsung 13658,4694416212 als Anfangskapital.
BMD_SAVEINTEREST_ANFANGSWERT(17903,29,5,25,12,3) liefert für eine monatliche Verzinsung 16354,1976896271 als Anfangskapital.
3.6.5 Endwert
Die Funktion BMD_SAVEINTEREST_ENDWERT(<Anfangskapital>, <Anzahl der Zinsperioden>, <Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Verzinsung>, <Anzeige von>) berechnet die Zinsen, die Kapitalertragsteuer und den Endwert.
Parameter
Verzinsung: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Anzeige von: 1 … Zinsen, 2 … Kapitalertragsteuer, 3 … Endwert
Beispiele
BMD_SAVEINTEREST_ENDWERT (19213,31,5,25,1,1) liefert für eine jährliche Verzinsung 54580,9710667647 als Zinsen.
BMD_SAVEINTEREST_ENDWERT (19213,31,5,25,2,2) liefert für eine ½-jährliche Verzinsung 4986,88568836676 als Kapitalertragsteuer.
BMD_SAVEINTEREST_ENDWERT (19213,31,5,25,4,3) liefert für eine ¼-jährliche Verzinsung 25658,0736313256 als Endwert.
BMD_SAVEINTEREST_ENDWERT (19213,31,5,25,12,3) liefert für eine monatliche Verzinsung 21164,2001199255 als Endwert.
3.6.6 Verdoppelung des Anfangskapitals
Die Funktion BMD_SAVEINTEREST_JAHRE_VERDOPPLUNG(<Jahreszinssatz [%]>, <Kapitalertragsteuer [%]>, <Verzinsung>) berechnet bei gegebenem Jahreszinssatz die Laufzeit für eine Verdoppelung des Anfangskapitals.
Parameter
Verzinsung: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Beispiele
BMD_SAVEINTEREST_JAHRE_VERDOPPLUNG(5,25,1) liefert für eine jährliche Verzinsung eine Laufzeit von 18,8283719947694 Jahren.
BMD_SAVEINTEREST_JAHRE_VERDOPPLUNG(5,25,2) liefert für eine ½-jährliche Verzinsung eine Laufzeit von 18,6566751061039 Jahren.
BMD_SAVEINTEREST_JAHRE_VERDOPPLUNG(5,25,4) liefert für eine ¼-jährliche Verzinsung eine Laufzeit von 18,5704334630455 Jahren.
BMD_SAVEINTEREST_JAHRE_VERDOPPLUNG(5,25,12) liefert für eine monatliche Verzinsung eine Laufzeit von 18,5127909286555 Jahren.
3.6.7 Zinsen
Die Funktion BMD_SAVEINTEREST_ZINSEN_NACH_TAGEN(<Anfangskapital>, <Jahreszinssatz [%]>, <Anfangsdatum>, <Enddatum>, <Oder Tage>, <Tage>, <Jahr>, <Monat>) berechnet Zinsen (einfache Zinsrechnung). Im Gegensatz zum BMD-Formeleditor steht hier nicht die volle Funktionalität zur Verfügung. Als Makrofunktion ist verwendbar: BMD_SAVEINTEREST_ZINSEN_NACH_TAGEN(<Anfangskapital>, <Jahreszinssatz [%]>, '', '', 1, <Tage>, <Jahr>, 1).
Parameter
Jahr: 360 … 360 Tage, 365 … 365 Tage
Beispiele
BMD_SAVEINTEREST_ZINSEN_NACH_TAGEN(18913,5,'','',1,180,360,1) liefert 472,825 als Zinsen.
Sie können die Tage zwischen 2 Daten mit der Funktion BMD_DATEDIFF('Datum1','Datum2') berechnen lassen. Das vorige Beispiel sieht dann so aus: BMD_SAVEINTEREST_ZINSEN_NACH_TAGEN(18913,5,'','',1,BMD_DATEDIFF('24.12.2005','27.06.2005'),360,1) liefert 472,825 als Zinsen.
3.6.8 Laufzeit
Die Funktion BMD_SAVEINTEREST_ZEITRAUM(<Anfangskapital>, <Jahreszinssatz [%]>, <Zinsen>, <Jahr>) berechnet die Laufzeit in Tagen (einfache Zinsrechnung).
Parameter
Jahr: 360 … 360 Tage, 365 … 365 Tage
Beispiele
BMD_SAVEINTEREST_ZEITRAUM(19927,5,607,360) liefert eine Laufzeit von 219,320519897626 Tagen.
BMD_SAVEINTEREST_ZEITRAUM(19927,5,607,365) liefert eine Laufzeit von 222,366638229538 Tagen.
3.6.9 Jahreszinssatz (einfache Zinsrechnung)
Die Funktion BMD_SAVEINTEREST_ZINSFUSS(<Anfangskapital>, <Zinsen>, <Anfangsdatum>, <Enddatum>, <Oder Tage>, <Tage>, <Jahr>, <Monat>) berechnet den Jahreszinssatz (einfache Zinsrechnung). Im Gegensatz zum BMD-Formeleditor steht hier nicht die volle Funktionalität zur Verfügung. Als Makrofunktion ist verwendbar: BMD_SAVEINTEREST_ZINSFUSS(<Anfangskapital>, <Zinsen>, '', '', 1, <Tage>, <Jahr>, 1).
Parameter
Jahr: 360 … 360 Tage, 365 … 365 Tage
Beispiele
BMD_SAVEINTEREST_ZINSFUSS(19991,613,'','',1,224,360,1) liefert 4,92811050687095 als Jahreszinssatz.
Sie können die Tage zwischen 2 Daten mit der Funktion BMD_DATEDIFF('Datum1','Datum2') berechnen lassen. Das vorige Beispiel sieht dann so aus: BMD_SAVEINTEREST_ZINSFUSS(19991,613,'','',1,BMD_DATEDIFF('24.12.2005','14.05.2005'),360,1) liefert 4,92811050687095 als Jahreszinssatz.
BMD_SAVEINTEREST_ZINSFUSS(19991,613,'','',1,224,365,1) liefert 4,99655648613305 als Jahreszinssatz.
3.6.10 Anfangskapital (einfache Zinsrechnung)
Die Funktion BMD_SAVEINTEREST_KAPITAL(<Jahreszinssatz [%]>, <Zinsen>, <Anfangsdatum>, <Enddatum>, <Oder Tage>, <Tage>, <Jahr>, <Monat>) berechnet das Anfangskapital (einfache Zinsrechnung). Im Gegensatz zum BMD-Formeleditor steht hier nicht die volle Funktionalität zur Verfügung. Als Makrofunktion ist verwendbar: BMD_SAVEINTEREST_KAPITAL(<Jahreszinssatz [%]>, <Zinsen>, '', '', 1, <Tage>, <Jahr>, 1).
Parameter
Jahr: 360 … 360 Tage, 365 … 365 Tage
Beispiele
BMD_SAVEINTEREST_KAPITAL(5,809,'','',1,365,360,1) liefert 15958,3561643836 als Anfangskapital.
Sie können die Tage zwischen 2 Daten mit der Funktion BMD_DATEDIFF('Datum1','Datum2') berechnen lassen. Das vorige Beispiel sieht dann so aus: BMD_SAVEINTEREST_KAPITAL(5,809,'','',1,BMD_DATEDIFF('24.12.2005','24.12.2004'),360,1) liefert 15958,3561643836 als Anfangskapital.
BMD_SAVEINTEREST_KAPITAL(5,809,'','',1,365,365,1) liefert 16180 als Anfangskapital.
3.6.11 Jahreszinssatz (Zinseszinsrechnung)
Die Funktion BMD_SAVEINTEREST_PROZ_GEWINN(<Anfangskapital>, <Endwert>, <Laufzeit [Monate]>, <Verzinsung>) berechnet den Jahreszinssatz (Zinseszinsrechnung) bei gegebenem Anfangskapital und Endwert.
Parameter
Verzinsung: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Beispiele
BMD_SAVEINTEREST_PROZ_GEWINN(17183,19973,37,1) liefert für eine jährliche Verzinsung 5,00083429344893 als Jahreszinssatz.
BMD_SAVEINTEREST_PROZ_GEWINN(17183,19973,37,2) liefert für eine ½-jährliche Verzinsung 4,93982950461231 als Jahreszinssatz.
BMD_SAVEINTEREST_PROZ_GEWINN(17183,19973,37,4) liefert für eine ¼-jährliche Verzinsung 4,90969808549888 als Jahreszinssatz.
BMD_SAVEINTEREST_PROZ_GEWINN(17183,19973,37,12) liefert für eine monatliche Verzinsung 4,88974633981893 als Jahreszinssatz.
3.6.12 Prozentannuität
Die Funktion BMD_SAVEINTEREST_RATE_EFFZINS_ANNUI(<Darlehen>, <Jahreszinssatz [%]>, <Tilgungssatz in der ersten Periode [%]>, <Zahlungen erfolgen>) berechnet die Rate eines Annuitätendarlehens in der ersten Periode bei gegebenem Jahrszinssatz und Tilgungssatz.
Parameter
Zahlungen erfolgen: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Beispiele
BMD_SAVEINTEREST_RATE_EFFZINS_ANNUI(19267,5,2,1) liefert 1348,69 als jährliche Rate.
BMD_SAVEINTEREST_RATE_EFFZINS_ANNUI(19267,5,2,2) liefert 674,345 als ½-jährliche Rate.
BMD_SAVEINTEREST_RATE_EFFZINS_ANNUI(19267,5,2,4) liefert 337,1725 als ¼-jährliche Rate.
BMD_SAVEINTEREST_RATE_EFFZINS_ANNUI(19267,5,2,12) liefert 112,390833333333 als monatliche Rate.
3.6.13 Effektivzinssatz
Die Funktion BMD_SAVEINTEREST_EFFZINS_AUS_NOMZINS(<Nominalzinssatz [%]>, <Verzinsung>) berechnet den Effektivzinssatz bei gegebenem Nominalzinssatz.
Parameter
Verzinsung: 1 … jährlich, 2 … ½-jährlich, 4 … ¼-jährlich, 12 … monatlich
Beispiele
BMD_SAVEINTEREST_EFFZINS_AUS_NOMZINS(5,1) liefert für eine jährliche Verzinsung 5 als Nominalzinssatz.
BMD_SAVEINTEREST_EFFZINS_AUS_NOMZINS(5,2) liefert für eine ½-jährliche Verzinsung 5,06249999999999 als Nominalzinssatz.
BMD_SAVEINTEREST_EFFZINS_AUS_NOMZINS(5,4) liefert für eine ¼-jährliche Verzinsung 5,09453369140624 als Nominalzinssatz.
BMD_SAVEINTEREST_EFFZINS_AUS_NOMZINS(5,12) liefert für eine monatliche Verzinsung 5,11618978817334 als Nominalzinssatz.
4. Makro-Funktionen
4.1 Abfragen
4.1.1 AskValueStr
BMDASKVALUESTR('Fenstertitel','Anzeigetext','Defaultwert')
Ein Fenster erscheint in dem ein Wert abgefragt wird.
4.1.2 AskValueBool
BMDASKVALUEBOOL('Anzeigetext','Fenstertitel')
Ein Abfrage-Fenster (1 = Ja/0 = Nein/-1 = Abbrechen) wird angezeigt.
4.1.3 AskValueList
BMDASKVALUELIST('Wert1,Wert2,...','Text1,Text2,...')
Ein Fenster mit Auswahlmöglichkeiten wird angezeigt.
4.2 Filezugriff
4.2.1 WriteToLogFile
BMDWRITETOLOGFILE('FileName','Text')
Eine Meldung wird ins Logfile geschrieben.
4.2.2 AssignFile
BMDASSIGNFILE(<FileNo>,'FileName')
Der Dateiname wird zugewiesen. Die Filenummer(1 - 3) kennzeichnet das File. Anschließend muss die Datei noch geöffnet werden.
4.2.3 OpenFile_Reset
BMDOPENFILE_RESET(<FileNo>)
Die Datei wird zum Lesen geöffnet. Zuvor muss AssignFile ausgeführt werden.
4.2.4 OpenFile_Append
BMDOPENFILE_APPEND(<FileNo>)
Die Datei wird zum Schreiben geöffnet. Der Text wird durch WriteLn am Schluss angehängt. Zuvor muss AssignFile ausgeführt werden.
4.2.5 CreateFile
BMDCREATEFILE('FileName')
Eine neue Datei wird angelegt.
4.2.6 DeleteFile
BMDDELETEFILE('FileName')
Die Funktion löscht eine Datei von der Festplatte.
4.2.7 CloseFile
BMDCLOSEFILE(<FileNo>)
Das File mit der übergebenen Filenummer wird geschlossen.
4.2.8 ReadLn
BMDREADLN(<FileNo>)
Eine Zeile vom File mit der übergebenen Filenummer wird gelesen. (Zuvor muss AssignFile und OpenFile_Reset ausgeführt werden.)
4.2.9 WriteLn
BMDWRITELN(<FileNo>,'Text')
Eine Text-Zeile wird in das File mit der übergebenen Filenummer geschrieben. (Zuvor muss AssignFile und OpenFile_Append ausgeführt werden.)
4.2.10 Eof
BMDEOF(<FileNo>)
Die Funktion prüft, ob das Dateiende erreicht ist.
4.2.11 FileExists
BMDFILEEXISTS('FileName')
Die Funktion prüft, ob die Datei existiert.
4.3 Bussines-Model
4.3.1 SetDBValue
BMDSETDBVALUE('Feldname','Wert')
Der Wert eines Datenbankfeldes wird gesetzt. Diese Funktion kann nur ausgeführt werden, wenn sich der Datensatz im Einfügemodus befindet. (z. B. bei Aktionsmakros Neu/Bearbeiten "nach Beginn" oder "vor Ende")
BMDSETDBVALUE('MCA_BMDUSER_FREIFELDA1','ABC');
4.3.2 GetDBValue
BMD_GETDBVALUE('Feldname')
Der Wert eines Datenbankfeldes wird ausgelesen.
Variable1 := BMD_GETDBVALUE('MCA_BMDUSER_FREIFELDA1');
4.3.3 GetCurrentSLQStmt
BMDGETCURRENTSQLSTMT(<Nummer>)
Das aktuelle SQL-Statement des Models mit der übergebenen Nummer (1,2,...) wird ausgegeben.
4.3.4 SQLAddCondition
BMDSQLADDCONDITION(<Nummer>,'Bedingung')
Zum SQL-Statement des Models wird eine Bedingung in der WHERE-Klausel mit AND angehängt. Das SQL-Statement wird erst mit BMDBMOPEN(<Nummer>) ausgeführt.
BMD_SQLADDCONDITION(1,'D.ADR_ORTSNAME = ''STEYR''')
BMDBMOPEN(1)
4.3.5 SQLAddOrder
BMDSQLADDORDER(<Nummer>,'OrderBy-Text')
Zum SQL-Statement des Models wird eine ORDER BY Bedingung angehängt. Das SQL-Statement wird erst mit BMDBMOPEN(<Nummer>) ausgeführt. Achtung: Die Ausführungszeit kann sich dadurch erheblich verlängern!
BMD_SQLADDORDER(1,'PER_NAME desc, ADR_STRASSE asc')
BMDBMOPEN(1)
4.3.6 BMOpen
BMDBMOPEN(<Nummer>)
Das SQL-Statement des Models wird ausgeführt, die Datenmenge geöffnet. Alle zusätzlichen Filter und Sortierungen werden erst zu diesem Zeitpunkt angewendet.
BMD_SQLADDCONDITION(1,'D.ADR_ORTSNAME = ''STEYR''')
BMD_SQLADDORDER(1,'PER_NAME desc, ADR_STRASSE asc')
BMD_BMOPEN(1)
4.3.7 BMNext
BMDBMNEXT(<Nummer>)
Der Datenbankcursor wird auf den nächsten Datensatz gesetzt.
4.3.8 BMNew
BMDBMNEW(<Nummer>)
Das Model geht vom Anzeigemodus in den Neuanlagemodus über. Die Schlüsselfelder und Datenfelder können nun gesetzt werden.
4.3.9 BMEdit
BMEDIT(<Nummer>)
Das Model geht vom Anzeigemodus in den Bearbeitungsmodus über. Die Datenfelder können nun gesetzt werden.
4.3.10 BMSave
BMDBMSAVE(<Nummer>)
Das Model speichert den aktuellen Datensatz.
4.4 Start Funktionen
4.4.1 StartFunction
BMDSTARTFUNCTION('Funktionskonstante','Parameter')
Eine BMD-Funktion wird gestartet.
4.4.2 StartPrintFunction
BMDSTARTPRINTFUNCTION('Funktionskonstante','Parameter')
Ein BMD-Ausdruck wird gestartet.
4.4.3 StartSpecialFunction
BMDSTARTSPECIALFUNCTION('Funktionskonstante','Parameter')
Eine BMD-Sonderfunktion wird gestartet.
4.4.4 StartExtFunction
BMDSTARTEXTFUNCTION('FileName','Parameter')
Eine externe Funktion wird gestartet (z. B. ""c:\winword.exe"",""MyDoc.doc"")
4.5 Div Funktionen
4.5.1 SendMail
BMDSENDMAIL('An','CC','Betreff','Mailtext')
Eine E-Mail wird versendet.
4.5.2 ShowMessage
BMDSHOWMESSAGE('Text')
Ein Fenster mit einer Meldung wird angezeigt.
4.5.3 SendToClipboard
BMDSENDTOCLIPBOARD('Text')
Ein Text wird ins Clipboard kopiert.
4.5.4 IsCurrUserInGroup
BMDISCURRUSERINGROUP('Gruppe')
Die Funktion liefert zurück, ob der aktuelle Benutzer in der angegebenen Berechtigungsgruppe enthalten ist.
4.5.5 IsCurrUserInDog
BMDISCURRUSERINDOG('Gruppe')
Die Funktion liefert zurück, ob der aktuelle Benutzer in der angegebenen Datenbesitzergruppe enthalten ist.