F-Script |
![]() |
NotizAktuell bestehen noch folgende Ausnahmen: VER-xxx und
EIN-xxx
Das bedeutet, dass sich aktuell die VER- und EIN-IBOS noch
nicht innerhalb von F-Script Blöcken ausführen lassen.
|
{ // Neue Adresse erstellen IS.SetIbosAndArgs('ADR-NEU', '2021','1') var newEmployeeNumber := IS.Execute(FALSE) }
Funktion
|
Parameter
|
Beschreibung
|
||
IS
|
|
Ausführen eines IBOS innerhalb eines F-Script
Blocks.
|
||
|
IS.AddArg(ibosArg)
|
IBOS-Argument hinzufügen.
IS.AddArg("Arg1") |
||
|
IS.AddArgs(ibosArgs)
|
IBOS-Argumente hinzufügen.
IS.AddArgs("Arg1", "Arg2", ...) |
||
|
IS.AppendArg(argValueToAppend)
|
Argumentwert zum letzten IBOS-Argument hinzufügen bzw.
den bestehenden Argumentwert ergänzen. Ist noch kein Argument
vorhanden, wird eine Exception geworfen.
IS.AppendArg("LastArg_Addendum") |
||
|
IS.AppendArgByNo(oneBasedArgNo,
argValueToAppend)
|
Argumentwert zu einem, durch die Nummer, bestimmten
IBOS-Argument hinzufügen bzw. den bestehenden Argumentwert
ergänzen. Ist das Argument noch nicht vorhanden, wird eine
Exception geworfen.
IS.AppendArgByNo(42, "Arg42_Addendum") |
||
|
IS.Clear()
|
IBOS-Objekt zurücksetzen.
IS.Clear() |
||
|
IS.Execute(isTest) - returns string
|
IBOS ausführen. Die IBOS-Rückgabe (falls vorhanden)
erfolgt als String oder (falls nicht vorhanden) als Leerstring.
Falls isTest=TRUE, wird nur die Argumentenprüfung
durchgeführt.
// Effektive Ausführung IS.Execute() IS.Execute(FALSE) // Effektive Ausführung mit Rückgabe returnValue := IS.Execute(FALSE) // Nur Argument-Prüfung IS.Execute(TRUE) // Nur Argument-Prüfung mit Rückgabe returnValue := IS.Execute(TRUE)
|
||
|
IS.GetArgByNo(oneBasedArgNo) - returns
string
|
Liefert den Wert eines bestimmten Arguments. Ist das
Argument nicht vorhanden, wird eine Exception
geworfen.
argValue := IS.GetArgByNo(5) |
||
|
IS.GetIbos() - returns string
|
Liefert den aktuell gesetzten
IBOS-Aufruf.
ibosValue := IS.GetIbos() |
||
|
IS.GetIbosAndArgs() - returns string
|
Liefert den aktuell gesetzten IBOS-Aufruf mit dessen
Namen und den übergebenen Argumenten.
ibosAndArgValues := IS.GetIbosAndArgs() |
||
|
IS.GetOk() - returns string
|
Liefert die Information, ob der IBOS erfolgreich
ausgeführt werden konnte (analog zu "GETI:OK").
okValue := IS.GetOk() |
||
|
IS.GetMsgKey() - returns string
|
Liefert den Meldungs-Schlüssel (analog
"GETI:ERR_KEY").
errKey := IS.GetMsgKey() |
||
|
IS.GetMsgText() - returns string
|
Liefert den Meldungs-Text (analog
"GETI:ERR_TXT").
errText := IS.GetMsgText() |
||
|
IS.IsDefined() - returns bool
|
Ermittelt, ob ein bestimmtes IBOS-Objekt
existiert.
existIbosObj := IS.IsDefined() |
||
|
IS.SetArgByNo(oneBasedArgNo,
argValue)
|
Setzt, ein anhand der Nummer, ein bestimmtes
IBOS-Argument.
IS.SetArgByNo(42, "Arg42") |
||
|
IS.SetArgs(ibosArgs)
|
Setzen der IBOS-Argumente. Allfällig bereits vorhandene
Argumente werden zurückgesetzt.
IS.SetArgs("Arg1", "Arg2", ...) |
||
|
IS.SetIbos(ibosName, clearArgs)
|
Setzen des IBOS (Name) für die Ausführung. Über das
zweite Argument wird gesteuert, ob bereits vorhandene Argumente
zurückgesetzt (TRUE), oder beibehalten (FALSE)
werden.
IS.SetIbos("ADR-NEU", TRUE) |
||
|
IS.SetIbosAndArgs(ibosName, ibosArgs)
|
Gleichzeitiges Setzen des IBOS (Name) und der Argumente
für die Ausführung. Allfällig bereits vorhandene Argumente werden
zurückgesetzt.
IS.SetIbosAndArgs("ADR-NEU", "Arg1", "Arg2", ...) |
||
|
||||
|
IS.SuppressExceptions(suppressException)
|
Manuelles Fehlerhandling. Fehler führen in der Folge
nicht zu einem Abbruch des Scripts. Allfällige
Meldungs-Informationen können via GetOK, GetMsgKey
und GetMsgText ausgelesen werden. Die Einstellung wird
durch IS.Clear() nicht zurückgesetzt.
IS.SuppressExceptions(TRUE) |
{ function IBOS_ADR() : void { var addrNo := 1092 // Setzen des IBOS IS.SetIbos("ADR-MUT-POST", TRUE) // Setzen der beiden zwingenden Attribute IS.SetArgByNo(1, addrNo) IS.SetArgByNo(2, "1") // Setzen der beiden zu mutierenden Attribute E-Mail und Homepage (Nummer gemäss Manuals) IS.SetArgByNo(19, "info@opacc.ch") IS.SetArgByNo(20, "www.opacc.ch") // Ausführen im Testmodus (Validierung der Argumente und des "Datensatzes") IS.Execute(TRUE) if(IS.GetOk() = TRUE) { IS.Execute(FALSE) } else { SYS('MSG CRIT Mutieren der Adresse '+string(addrNo)+' nicht möglich!' + character(10) +IS.GetMsgText()) } } // Ausführen des IBOS mit vorgängiger Attributrüfung IBOS_ADR() }
/headerreport # Adresse aktivieren «nz ADR-ACTIVE(2020)\I» # ------------------------------------------------------------------------------------------------------ « { // Neue Adresse erstellen IS.SetIbosAndArgs('ADR-NEU', '2022','1') var newAddr := IS.Execute(FALSE) var ibosErrorMessage := IS.GetMsgText() SYS('MSG INFO BlockScript - Neue Adresse: ' + newAddr) } » # Nach dem Block ist wieder die "ursprünglich aktivierte" Adresse (2020) aktiv! «SYS(MSG INFO LegacyCode - Aktive Adresse: «ADRNR»)» /