![]() |
HinweisBlock-Funktionen
Sie finden die
vollständige Liste der vordefinierten Block-Funktionen des Befehls
XFAS in der F-Script Dokumentation unter F-Script
Block-Funktionen.
|
Funktion
|
Parameter
|
Beschreibung
|
XFAS
|
fasActive
|
Kann ein eigenes Result-Object erstellt werden?
0/1
Prüfen Sie vor der Verwendung von XFAS-Befehlen
jeweils die Verfügbarkeit der
XFAS-Funktionalität.
Verwenden Sie Befehle wie
XFAS(head... XFAS(cell... etc. nur dann, wenn fasActive =
true
|
|
clear
|
Result-Object zurücksetzen.
|
Funktion
|
Parameter
|
Beschreibung
|
||
XFAS
|
head=name
|
Eine Spalte einfügen. Der Spaltenname entspricht dann
dem Wert von "name".
Achtung: Die Zeichen Ascii-30(▲)
oder Ascii-26(→) werden durch Space ersetzt.
|
||
|
headBinary=name
|
Wie oben, aber die Spalte beinhaltet als Werte die
Dateinamen mit Path oder leer. Es handelt sich hier um Dateien
mit binärem Inhalt (z.B.: Bilder). Die Dateigrösse kann bis zu
128 MB betragen.
|
||
|
heads=name1,name2,...
|
Mehrere Spalten mit einem Aufruf einfügen. Die
Spaltennamen entsprechen dann dem Wert von "name1", "name2",
etc.
Achtung: Die Zeichen Ascii-30(▲) oder Ascii-26(→)
werden durch Space ersetzt.
|
||
|
cell=value
|
Eine Zelle einfügen. Der Zellenwert entspricht dann
"value". Die Zellengrösse kann bis zu 128 KB
betragen.
Achtung: Die Zeichen Ascii-30(▲) oder
Ascii-26(→) werden durch Space ersetzt.
|
||
|
cells=value1,value2,...
|
Mehrere Zellen mit einem Aufruf einfügen. Der
Zellenwert entspricht dann "value1", "value2", etc. Die
Zellengrösse kann bis zu 128 KB betragen.
Achtung: Die
Zeichen Ascii-30(▲) oder Ascii-26(→) werden durch Space
ersetzt.
|
||
|
cell<VarName
|
Eine Zelle einfügen. Der Zellenwert wird von "VarName"
übernommen (siehe «X(...)»)
|
||
|
cellAppend=value
|
Der Wert der letzten Zelle wird um "value"
ergänzt.
|
||
|
cellAppend<VarName
|
Der Wert der letzten Zelle wird um den Wert von
"VarName" ergänzt.
|
||
|
|
|||
|
|
XFAS-Werte lassen sich auch direkt über den
"Spaltennamen" setzen.
Anstelle des Befehls
«XFAS(cell=...)» können Sie dafür den Befehl
«XFAS(col=[Spaltenname],[Wert])» verwenden.
Ein F-Script Beispiel finden Sie hier:
Setzen von Werten über
Spaltenname
|
||
|
col=[Spaltenname],[Wert]
|
Wert für eine bestimmte Spalte setzen.
«XFAS(col=[Spaltenname],[Wert])» |
||
|
col<[Spaltenname],[Variablenname]
|
Wert für eine bestimmte Spalte setzen, ausgehend von
einer X-Variable.
«XFAS(col<[Spaltenname],[Variablenname])» |
||
|
|
Eine Row kann/muss explizit abgeschlossen resp. eine
neue Row eröffnet werden.
«XFAS(newRow)» |
||
|
Befehle für das Setzen von
Response-Infos
|
|||
|
ok=0|1
|
Setzen des Response-Info Successful-Flag.
|
||
|
mKey=...
|
Setzen des Response-Info Message-Key.
|
||
|
mText=...
|
Setzen des Response-Info Message-Text.
|
||
|
mMlsKey=...
|
Setzen des Response-Iinfo MLS-Key. Dieser muss im
OpaccOXAS Studio BC 98230 erfasst sein. Wird der Response-Info
MLS-Key gesetzt, übersteuert er die MLS-Text Parameter. (Siehe
nächster Befehl.)
|
||
|
mMlsTextParam=...
|
Setzen der Response-Info MLS-Text Parameter. Dieser
Befehl kann mehrfach verwendet werden, wenn mehrere MLS-Text
Parameter notwendig sind.
Beispiel
«XFAS(ok=0)» «XFAS(mMlsKey=Aps.InvalidBo)» «XFAS(mMlsTextParam=Addr)» «XFAS(mMlsTextParam=73)» Rückgabe
basierend auf obigem Beispiel:
Für den Message-Key:
Aps.InvalidBo
Für den Message-Text: Das Business-Objekt
Addr mit der ID 73 ist nicht gültig.
|
Funktion
|
Parameter
|
Beschreibung
|
||
|
execute > XFAS
|
Wie execute oben. Das Resultat wird dabei einem
eigenen Result-Objekt (XFAS) übergeben.
Auf diese Weise
können Sie das gesamte Resultat an den Aufrufer (z.B.
System_RunScript oder WebService) zurückgeben, ohne dass dabei
durch die einzelnen Zeilen des Resultats iteriert werden
muss.
Beispiele
«nXSER(requestName:execute>XFAS)\A» «nXSER(requestName:execute,69,123456,51,1,024LHhbmAWOiFMOYCmIo1GpXA==7Jfl5DtvD9hu7Qh/YNOUSg==>XFAS)\A» |
# ______________________________________________________________________________ # Dateiname: XX-XFASDEMO.FF # Subscript: XX-XFASDEMO.FX # # Autor: OPACC Software AG - Roman Vonwil # # Erstellt: 03.01.2013 / rv # /headerreport # ______________________________________________________________________________ # Aktives Dokument in Variable füllen «X(SalDoc.BoId =«AUF-DOKINR»)» # ______________________________________________________________________________ # Gewünschten Filter für GetBo in SubScript definieren «/Define.Filter» # ______________________________________________________________________________ # Gewünschte Attribute für Rückgabe aus Subscript definieren «/Define.ReturnValues» # ______________________________________________________________________________ # System_RunScript mit RV-XFASDEMO.FX ausführen (inkl. Parameter) «/XFAS.Execute» # ______________________________________________________________________________ # Resultat listen und ggf. ausgeben «/XFAS.GetGrid» / /Define.Filter # ______________________________________________________________________________ # Filter wird hier im CB(4) an das Subscript übergeben «X(Param.CB4 =SalOrder.SalProcLevelCd > «AUF-TYP\N»)» / /Define.ReturnValues # ______________________________________________________________________________ # Gewünschte BO-Attribute für GetBo in Subscript «X(Param.CB5=SalDoc.BoId(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.BoName(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.SalProcLevelCd(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.ShortCut(SalOrder.SalDocInternalNo))» / /XFAS.Execute # ______________________________________________________________________________ # System RunScript ausführen - ZWINGEND DRUCKER 98 und AUSGABETYP B (Bildschirm) «XSER(scriptRunner:System_RunScript)» «XSER(scriptRunner:addArg=RV-XFASDEMO.FX)» «XSER(scriptRunner:addArg=98)» «XSER(scriptRunner:addArg=B)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=SalDoc)» «XSER(scriptRunner:addArg=«AUF-DOKINR»)» # BO-Organizator 99 (Allgemeine Script Abarbeitung) wenn kein Body benötigt. «XSER(scriptRunner:addArg=99)» # Übergabeparamter an Subscript weiterreichen «XSER(scriptRunner:addArg=«X(Param.CB4)»)» «XSER(scriptRunner:addArg=«X(Param.CB5)»)» «nXSER(scriptRunner:execute>resXFAS)\A» # Anzahl Records vom SubScript entgegennehmen «X(Result.RowCount=«XRES(resXFAS:rows)»)» / /XFAS.GetGrid # ______________________________________________________________________________ # Resultate gem. Subscript listen und ausgeben «nzX(Result.RowCount)=0\N»nix«GOTO(/)» «nNO(9,NULL)» «REPEAT(9)» «nNO(9)» «/Result.Row.Print» «nzNO(9,0)<«X(Result.RowCount)\N»\N»«LOOP(9)» / /Result.Row.Print # ______________________________________________________________________________ # hier werden pro Row (Zeile) die einzelnen Spalten ausgegeben: # # Ausgabe Spalte 1 Bezeichnung hier SalDoc.BoId «XRES(resXFAS:col,1)»: «XRES(resXFAS:1,«NO(9,0)»)» # Ausgabe Spalte 2 Bezeichnung hier SalDoc.BoName «XRES(resXFAS:col,2)»: «XRES(resXFAS:2,«NO(9,0)»)» # Ausgabe Spalte 3 Bezeichnung hier SalDoc.SalProcLevelCd «XRES(resXFAS:col,3)»: «XRES(resXFAS:3,«NO(9,0)»)» # Ausgabe Spalte 4 Bezeichnung hier SalDoc.ShortCut «XRES(resXFAS:col,4)»: «XRES(resXFAS:4,«NO(9,0)»)» /
# ______________________________________________________________________________ # Beispielscript Verwendung von XFAS (F-Script as Service) # # Dateiname: XX-XFASDEMO.FX # Hauptscript: XX-XFASDEMO.FF # # Autor: OPACC Software AG - Roman Vonwil # # Erstellt: 03.01.2013 / rv # ______________________________________________________________________________ # /headerreport # ______________________________________________________________________________ # Parameter abfüllen: «/XFAS.GetParams» # ______________________________________________________________________________ # Spaltenüberschriften (head) erzeugen: «/XFAS.Add.Header» # ______________________________________________________________________________ # Records mittels GetBo holen «/Records.GetSalOrder» # ______________________________________________________________________________ # Resultat listen und in Zellen (cell) abfüllen «/Records.List» / /XFAS.GetParams # ______________________________________________________________________________ # Aktives Dokument in Variable speichern «X(Param.ActiveDocument =«AUF-DOKINR»)» «X(Param.Filter =«CB(4)»)» «X(Param.ReturnValues =«CB(5)»)» / /XFAS.Add.Header # ______________________________________________________________________________ # Spaltenüberschriften erzeugen (Frei definierbar) # Es wird empfohlen hier logische und wiederverwendbare Bezeichner zu verwenden! «XFAS(head=SalDoc.BoId)» «XFAS(head=SalDoc.BoName)» «XFAS(head=SalDoc.SalProcLevelCd)» «XFAS(head=SalDoc.ShortCut)» / /Records.GetSalOrder # ______________________________________________________________________________ # GetBo auf SalOrder (Auftragsüberwachung) «XSER(req_GetSalOrder:GetBo)» «XSER(req_GetSalOrder:addArg=SalOrder)» «XSER(req_GetSalOrder:addArg=«X(Param.ActiveDocument)»)» «XSER(req_GetSalOrder:addArg=ne)» «XSER(req_GetSalOrder:addArg=1)» «XSER(req_GetSalOrder:addArg=0)» «XSER(req_GetSalOrder:addArg=1)» «XSER(req_GetSalOrder:addArg=«X(Param.Filter)»)» «XSER(req_GetSalOrder:addArg=«X(Param.ReturnValues)»)» «nXSER(req_GetSalOrder:execute>res_GetSalOrder)» «X(SalOrder.Count=«XRES(res_GetSalOrder:rows)»)» / /Records.List # ______________________________________________________________________________ # Resultate gem. GetBo listen «nzX(SalOrder.Count)=0\N»«GOTO(/)» «nNO(9,NULL)» «REPEAT(9)» «nNO(9)» «/XFAS.Add.Row» «nzNO(9,0)<«X(SalOrder.Count)\N»\N»«LOOP(9)» / /XFAS.Add.Row # ______________________________________________________________________________ # Abfüllen der einzelnen Spalten in cells «XFAS(cell=«XRES(res_GetSalOrder:1,«NO(9,0)»)»)» «XFAS(cell=«XRES(res_GetSalOrder:2,«NO(9,0)»)»)» «XFAS(cell=«XRES(res_GetSalOrder:3,«NO(9,0)»)»)» «XFAS(cell=«XRES(res_GetSalOrder:4,«NO(9,0)»)»)» /
# ______________________________________________________________________________ # Dateiname: XX-XFASDEMO.FF # Subscript: XX-XFASDEMO.FX # # Autor: OPACC Software AG - Roman Vonwil # # Erstellt: 03.01.2013 / rv # /headerreport # ______________________________________________________________________________ # Aktives Dokument in Variable füllen «X(SalDoc.BoId =«AUF-DOKINR»)» # ______________________________________________________________________________ # Gewünschten Filter für GetBo in SubScript definieren «/Define.Filter» # ______________________________________________________________________________ # Gewünschte Attribute für Rückgabe aus Subscript definieren «/Define.ReturnValues» # ______________________________________________________________________________ # System_RunScript mit RV-XFASDEMO.FX ausführen (inkl. Parameter) «/XFAS.Execute» # ______________________________________________________________________________ # Resultat listen und ggf. ausgeben «/XFAS.GetGrid» / /Define.Filter # ______________________________________________________________________________ # Filter wird hier im CB(4) an das Subscript übergeben «X(Param.CB4 =SalOrder.SalProcLevelCd > «AUF-TYP\N»)» / /Define.ReturnValues # ______________________________________________________________________________ # Gewünschte BO-Attribute für GetBo in Subscript «X(Param.CB5=SalDoc.BoId(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.BoName(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.SalProcLevelCd(SalOrder.SalDocInternalNo))» «X(Param.CB5=«X(Param.CB5)»,SalDoc.ShortCut(SalOrder.SalDocInternalNo))» / /XFAS.Execute # ______________________________________________________________________________ # System RunScript ausführen - ZWINGEND DRUCKER 98 und AUSGABETYP B (Bildschirm) «XSER(scriptRunner:System_RunScript)» «XSER(scriptRunner:addArg=RV-XFASDEMO.FX)» «XSER(scriptRunner:addArg=98)» «XSER(scriptRunner:addArg=B)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=)» «XSER(scriptRunner:addArg=SalDoc)» «XSER(scriptRunner:addArg=«AUF-DOKINR»)» # BO-Organizator 99 (Allgemeine Script Abarbeitung) wenn kein Body benötigt. «XSER(scriptRunner:addArg=99)» # Übergabeparamter an Subscript weiterreichen «XSER(scriptRunner:addArg=«X(Param.CB4)»)» «XSER(scriptRunner:addArg=«X(Param.CB5)»)» «nXSER(scriptRunner:execute>resXFAS)\A» # Anzahl Records vom SubScript entgegennehmen «X(Result.RowCount=«XRES(resXFAS:rows)»)» / /XFAS.GetGrid # ______________________________________________________________________________ # Resultate gem. Subscript listen und ausgeben «nzX(Result.RowCount)=0\N»nix«GOTO(/)» «nNO(9,NULL)» «REPEAT(9)» «nNO(9)» «/Result.Row.Print» «nzNO(9,0)<«X(Result.RowCount)\N»\N»«LOOP(9)» / /Result.Row.Print # ______________________________________________________________________________ # hier werden pro Row (Zeile) die einzelnen Spalten ausgegeben: # # Ausgabe Spalte 1 Bezeichnung hier SalDoc.BoId «XRES(resXFAS:col,1)»: «XRES(resXFAS:1,«NO(9,0)»)» # Ausgabe Spalte 2 Bezeichnung hier SalDoc.BoName «XRES(resXFAS:col,2)»: «XRES(resXFAS:2,«NO(9,0)»)» # Ausgabe Spalte 3 Bezeichnung hier SalDoc.SalProcLevelCd «XRES(resXFAS:col,3)»: «XRES(resXFAS:3,«NO(9,0)»)» # Ausgabe Spalte 4 Bezeichnung hier SalDoc.ShortCut «XRES(resXFAS:col,4)»: «XRES(resXFAS:4,«NO(9,0)»)» /
# ______________________________________________________________________________ # Beispielscript Verwendung von XFAS (F-Script as Service) # # Hauptscript: XX-XFASDEMO.FF # Dateiname: XX-XFASDEMO2.FX # # Autor: OPACC Software AG - Kai Reichmuth # # Erstellt: 03.10.2019 / rei # ______________________________________________________________________________ # /headerreport # ______________________________________________________________________________ # Parameter abfüllen: «/XFAS.GetParams» # ______________________________________________________________________________ # Records mittels GetBo holen und an XFAS übergeben «/Records.GetSalOrder» / /XFAS.GetParams # ______________________________________________________________________________ # Aktives Dokument in Variable speichern «X(Param.ActiveDocument =«AUF-DOKINR»)» «X(Param.Filter =«CB(4)»)» «X(Param.ReturnValues =«CB(5)»)» / /Records.GetSalOrder # ______________________________________________________________________________ # GetBo auf SalOrder (Auftragsüberwachung) «XSER(req_GetSalOrder:GetBo)» «XSER(req_GetSalOrder:addArg=SalOrder)» «XSER(req_GetSalOrder:addArg=«X(Param.ActiveDocument)»)» «XSER(req_GetSalOrder:addArg=ne)» «XSER(req_GetSalOrder:addArg=1)» «XSER(req_GetSalOrder:addArg=0)» «XSER(req_GetSalOrder:addArg=1)» «XSER(req_GetSalOrder:addArg=«X(Param.Filter)»)» «XSER(req_GetSalOrder:addArg=«X(Param.ReturnValues)»)» «nXSER(req_GetSalOrder:execute>XFAS)» /
/headerreport «XFAS(col=SpalteA,Inhalt Spalte A)» «XFAS(newRow)» «XFAS(col=SpalteA,Inhalt Spalte A)» «XFAS(col=SpalteB,Inhalt Spalte B)» «XFAS(newRow)» «XFAS(col=SpalteA,Inhalt Spalte A)» «XFAS(col=SpalteB,Inhalt Spalte B)» «XFAS(col=SpalteC,Inhalt Spalte C)» «XFAS(newRow)» «XFAS(col=SpalteC,Inhalt Spalte C)» «XFAS(col=SpalteC,Inhalt Spalte C)» / # ****************************************************************************************************** # GetInfoScript # ****************************************************************************************************** /GetInfoScript «XFAS(head=SupportsScreenOutput)» «XFAS(head=SupportsBoArgs)» «XFAS(head=SupportedBoType)» «XFAS(head=MlsKey)» # ------------------------------------------------------------------------------------------------------ «XFAS(cells=1,0,,XFAS: ColValues by ColName)» / # ****************************************************************************************************** # GetInfoScriptCol # ****************************************************************************************************** /GetInfoScriptCol «XFAS(heads=Column,DataTypeCd,Format,RelationshipCd,RelatedObject,RelatedIndex,RelatedConstraint)» «XFAS(heads=OnDemand,MlsKey)» «XFAS(cells=SpalteA,A,100,0,,,,0,SpalteA)» «XFAS(cells=SpalteB,A,100,0,,,,0,SpalteB)» «XFAS(cells=SpalteC,A,100,0,,,,0,SpalteC)» /