Standard F-Script

Monitoring von Applikationspool Verarbeitungen (F-Script)

Mit dem F-Script Befehl PROGRESS lassen sich Monitor-Objekte beeinflussen und damit umfangreiche Möglichkeiten für das Monitoring von automatisierten Verarbeitungen nutzen.
Detaillierte Informationen zum Monitor-Objekt finden Sie hier: F-Script / Monitor-Objekt
An dieser Stelle werden die Standard F-Scripts beschrieben, welche als Muster/Vorlage für das Monitoring Ihrer automatisierten Verarbeitungen verwendet werden können.
Das Monitoring von Applikationspool Verarbeitungen gliedert sich dabei in drei verschiedene F-Scripts.
ST-PROG1.FF
Dieses Script ist als "Master Script" zu betrachten, welches in einem Applikationspool hinterlegt ist. Alle anderen F-Scripts und Opacc-Programme werden aus diesem Script heraus aufgerufen.
ST-PROG2.FF
Dieses Script enthält die Service-Aufrufe für das Handling von Monitor-Objekten.
ST-PROG3.FF
Dieses Script wird von ST-PROG1.FF aufgerufen und ist als Muster/Vorlage für die eigentliche Verarbeitung zu verstehen.
Wichtig
Wichtig
Bitte beachten Sie folgenden Umstand:
Wird das Monitoring anhand der vorliegenden Muster/Vorlagen implementiert, so sehen Sie anschliessend im BC 99019 immer zwei Monitor-Objekte welche zusammengehören.
Dabei wird das erste Monitor-Objekt automatisch durch das Starten des Applikationspools erzeugt, in welchem das F-Script ST-PROG1.FF hinterlegt wird.
Das zweite Monitor-Objekt wird dann durch das F-Script ST-PROG1.FF selber erzeugt und unterliegt anschliessend der vollen Kontrolle durch die F-Scripts.
Dieses Vorgehen ist notwendig, da das automatisch erzeugte Monitor-Objekt durch die F-Scripts nicht vollumfänglich beeinflusst werden kann.

ST-PROG1.FF

Das "Master Script" wird im Applikationspool hinterlegt. Sämtliche relevanten Parameter werden via Clipboard übergeben.
Folgende Funktionen stehen zur Verfügung bzw. sind bereits implementiert.
  • "Master Script" als neuen Job beim automatisch erstellten Monitor-Objekt eintragen.
  • Zusätzliches neues eigenes Monitor-Objekt erzeugen, welches vollumfänglich unter Kontrolle der F-Scripts ist. Die dabei notwendigen Services/Requests werden via ST-PROG2.FF aufgerufen.
  • Argumente aus Applikationspool Clipboard auslesen.
  • Prüfen ob der Job bzw. die Verarbeitung abgebrochen werden soll. (Abbruch durch Anwender.) Dabei wird beim eigenen Monitor-Objekt der Status 22 hinterlegt.
  • Prüfen ob die eingegebene StopTime erreicht ist. Wenn ja, Verarbeitung stoppen.
  • Aufrufen des F-Scripts welches die eigentliche Verarbeitung durchführt. (Als Muster/Vorlage für dieses F-Script dient ST-PROG3.FF) Der Name des aufzurufenden F-Scripts wird ebenfalls als Argument via Clipboard übergeben.
  • Falls via Argument so definiert, wird gewartet und anschliessend das F-Script erneut aufgerufen.

Argumente (via Applikationspool Clipboard)

Argument
Beschreibung
Argumenttyp
Zwingend
Verarbeitung
CB(1)
fix leer
-
Ja
CB(2)
fix leer
-
Ja
CB(3)
fix leer
-
Ja
CB(4) - Run_Script
Name des auszuführenden F-Scripts.
A
Ja
CB(5) - Run_Ausgabesteuerung
Druckernummer aus den Druckersteuerungen.
N4
Nein
CB(6) - Run_Ausgabetyp
D - Drucker / F - Datei / B - Preview
A1
Nein
CB(7) - Run_Device
Name des Ausgabe-Device (Druckername, Dateiname, etc.).
A
Nein
CB(8) - Run_Anzahl
Anzahl Exemplare.
N2
Nein
CB(9) - Run_PrintAsPdf
PDF Drucken J/N
(0 oder leer = Nein / 1 = Ja)
N1
Nein
CB(10) - Run_Sprache
Nummer der Ausgabesprache gem. Sprachtabelle.
N1
Nein
CB(11) - Run_BOTyp
BO-Typ (z.B. Addr)
A
Nein
CB(12) - Run_BO_Id
BO-Id des bei CB(11) vorgegebenen BO-Typ.
A
Nein
CB(13) - Run_Organizator
BO-Organizator
  • 41 Servicerapport
  • 51 Verkaufsdokument
  • 61 Einkaufsdokument
  • 95 Vorgegebene BO abarbeiten
  • 99 Allgemeine Script-Abarbeitung
N2
Nein
CB(14) - Run_Parameter
Optionale eigene Parameter für das aufgerufene F-Script.
A
Nein
Warten
Optional
CB(15) - IOW_Active
Warten und das auszuführende F-Script erneut aufrufen J/N
(0 oder leer = Nein / 1 = Ja)
N1
Nein
CB(16) - IOW_Abbruchtyp
Kann das Warten abgebrochen werden?
(0 oder leer = Nein / 1 = Ja / 2 = Applikation kann abgebrochen werden.)
N1
Nein
CB(17) - IOW_Textzeile1
Textzeile welche angezeigt wird.
(%1 wird durch das Enddatum ersetzt, %2 wird durch die Endzeit ersetzt.)
A50
Nein
CB(18) - IOW_Textzeile2
Textzeile welche angezeigt wird.
(%1 wird durch das Enddatum ersetzt, %2 wird durch die Endzeit ersetzt.)
A50
Nein
CB(19) - IOW_Zeittyp
Zeitangabe-Typ
(0 = absolut / 1 = relativ / 2 = periodisch)
N1
Nein
CB(20) - IOW_Zeit
Zeitangabe
HH.MM
Nein
CB(21) - IOW_Tag
Datum oder Wochentag Nr.
(1 = Montag / 2 = Dienstag / etc.)
D10 / N1
Nein
CB(22) - StopTime
Zeit zu welcher die Verarbeitung gestoppt werden soll.
HH.MM
Nein
 

Beispiel

BC98226_1.jpg
 

ST-PROG2.FF

Dieses Script stellt die notwendigen Services/Funktionen für das Handling der Monitor-Objekte zur Verfügung.
Folgende Funktionen stehen zur Verfügung bzw. sind bereits implementiert.
  • Subroutine für das Initialisieren/Leeren aller Variablen.
  • Subroutine für das Ausführen des Service "Progress" (Monitor-Objekt verwalten).

Argumente

Variablen im F-Script
Beschreibung
Argumenttyp
Zwingend
Programmvariablen
/initProgVariables
/executeProgress
MonitorId
MonitorID (leer beim Neuerstellen).
N10
Ja
(bei Mut.)
ToDoCode
Ausführungscode (51 - Neu, 58 - Log, 59 - Aktualisierung, etc.).
A2
Ja
ProcName
Verarbeitungsname
A80
Nein
Hours
Zeit in h für welche das Monitor-Objekt im BC 99019 sichtbar bleibt.
(Register "Abgeschlossen")
N3
Nein
BusService
Aktualisierung durch BUS-Service.
(0 = Nein / 1 = Ja)
I
Nein
PcName
Name des PCs/Rechners.
A50
Nein
PcPid
Prozess-ID (PID).
A50
Nein
ProcCancel
Verarbeitung - Abbruch möglich.
(0 = Nein / 1 = Ja)
I
Nein
ProcPercent
Fortschritt der Verarbeitung in %.
N3.1
Nein
NewJob
Neuer Job.
(0 = Nein / 1 = Ja)
I
Nein
JobName
Name des Jobs.
A80
Nein
JobPercent
Fortschritt des Jobs in %.
N3.1
Nein
JobCancel
Job - Abbruch möglich.
(0 = Nein / 1 = Ja)
I
Nein
NewStep
Neuer Step (Verarbeitungsschritt).
(0 = Nein / 1 = Ja)
I
Nein
StepName
Name des Steps.
A80
Nein
StepPercent
Fortschritt des Steps in %.
N3.1
Nein
ProcState
Status der Verarbeitung. (20 - Normal, 21 - Fehler, 22 - Gestoppt, etc.)
Dieser Status ist vor allem beim Beenden wichtig. (Monitoring)
A2
Nein
Info
Infotext
A120
Nein
StepCancel
Step - Abbruch möglich.
(0 = Nein / 1 = Ja)
I
Nein
Minutes
Warten auf Rückmeldung in Minuten.
(Ohne Rückmeldung wechselt der Status automatisch auf "gelb")
N3
Nein
ProcGroup
Verarbeitungs-Gruppe
A120
Nein
WinServiceName
Windows-Service Name.
A80
Nein
ComponentVersion
Version der Komponente.
A20
Nein
WinUser
Windows-User
A50
Nein
Dialog
Dialoge erlaubt.
(0 = Nein / 1 = Ja)
I
Nein
LogState
Log-Status (10 - Info, 20 - Warnung, 30 - Fehler)
A2
Nein
LogMessage
Log-Meldung
A
Nein
LogOrigin
Log-Herkunft
A
Nein
LogOriginDetail
Log-Herkunft Detail.
A
Nein
LogThread
Log-Thread
A
Nein
LogPcName
Log-Rechner Name.
A
Nein
LogPcPid
Log-Rechner Prozess-ID (PID)
A
Nein
LogWinUser
Log-Windows-User
A
Nein
ViewStateCode
View State Code (Logischer Zustand des Monitor-Objekts).
A
Nein
Rückgabe-Variablen
MonitorID
MonitorID des erzeugten/mutierten Monitor-Objekts.
N10
-
getStateCode
Status der Verarbeitung des erzeugten/mutierten Monitor-Objekts.
A2
-
getLogStateCode
Log-Status des erzeugten/mutierten Monitor-Objekts.
A2
-
getViewAck
Wurde eine Warnung oder ein Fehler quittiert?
I
-

ST-PROG3.FF

Dieses Script dient als Muster/Vorlage für ein F-Script durch welches die eigentliche Verarbeitung erfolgt.
Folgende Funktionen stehen zur Verfügung bzw. sind bereits implementiert.
  • Aktualisieren der Verarbeitung beim automatisch durch den Applikationspool erzeugten Monitor-Objekt.
  • Eintragen des F-Scripts als neuer Step beim automatisch durch den Applikationspool erzeugten Monitor-Objekt.
  • Aktuellen Status des eigenen Monitor-Objekts auslesen (Subroutine /getMonitorObject)
  • Prüfen des Log-State und des ViewAck. Wenn Log-State = 20 und ViewAck = 1, wird LogState wieder auf 10 gesetzt. (Subroutine /setStateTo10)
  • Prüfen ob der Step abgebrochen werden soll.
  • Subroutine /setStateTo20 als Muster/Vorlage für das Mutieren des eigenen Monitor-Objekts.
Wichtig
Wichtig
Beachten Sie, dass das Mutieren des eigenen Monitor-Objekts durch den Aufruf des F-Scripts ST-PROG2.FF erfolgt.