summaryrefslogtreecommitdiff
path: root/doc/warenhaus/gs-Warenhaus-7
diff options
context:
space:
mode:
Diffstat (limited to 'doc/warenhaus/gs-Warenhaus-7')
-rw-r--r--doc/warenhaus/gs-Warenhaus-7235
1 files changed, 235 insertions, 0 deletions
diff --git a/doc/warenhaus/gs-Warenhaus-7 b/doc/warenhaus/gs-Warenhaus-7
new file mode 100644
index 0000000..3a55dfe
--- /dev/null
+++ b/doc/warenhaus/gs-Warenhaus-7
@@ -0,0 +1,235 @@
+#limit (11.0)##pagelength (16.5)##block#
+#start (2.0,0.0)#
+#page (69)#
+#headodd#
+#center#gs-Warenhaus#right#%
+
+#end#
+#headeven#
+%#center#gs-Warenhaus
+
+#end#
+#center#1
+
+#center##on("b")#7  Weitere Kommandos (für Systembetreuer)#off("b")#
+
+
+Wenn Sie #on("b")#gs-Warenhaus#off("b")# installiert haben und mit dem Aufbau des Systems nach
+der automatischen Generierung zufrieden sind, dann ist dieses Kapitel nicht wichtig
+für Sie. Wir erklären Ihnen hier die Befehle, mit denen Sie die Einstellungen, die bei
+der Installation vorgenommen wurden, auch nachträglich noch ändern können.
+Beachten Sie bitte, daß aus Sicherheitsgründen eine Einstellungs#on("b")#änderung#off("b")# i.a. nur in
+der Task möglich ist, in der die entsprechende Einstellung vorgenommen wurde, es
+sei denn, dort wurde eine Einstellung gänzlich aufgehoben. Außerdem werden Ein­
+stellungsänderungen stets nur an Sohntasks weitergegeben ("vererbt"), die #on("b")#nach#off("b")# der
+Änderung angemeldet werden!
+
+Die Standard-Installation sieht z.B. nur die Einrichtung #on("b")#einer#off("b")# Warenhaus-Hauptstelle
+vor. Wenn Sie tatsächlich nur eine Hauptstelle eingerichtet haben, nun aber doch
+mehrere Hauptstellen (für verschiedene Lerngruppen) betreiben wollen, so brauchen
+Sie das Programm nicht erneut zu insertieren! Machen Sie besser in der bisherigen
+Hauptstellen-Task den Hauptstellenstatus mit dem Kommando 'warenhaus haupt­
+stelle (FALSE)' rückgängig und richten Sie in Sohntasks mit dem Kommando 'waren­
+haus hauptstelle (TRUE)' wieder neue Hauptstellen ein. Außerdem können Sie in
+Hauptstellen-Tasks die Version für die Programmierschnittstelle umstellen ('grin
+(TRUE)' bzw. 'grin (FALSE)').
+
+Ähnlich verhält es sich mit dem Betrieb eines Adapters für das Kartenleser-Interface.
+Auch hier ist die Standard-Einstellung u.U. nur für den Betrieb #on("b")#eines#off("b")# Adapters ausge­
+legt. Möchten Sie mehrere Kartenleser anschließen, so sind bei der Verwendung von
+MUFIs im Terminalkanal keine Änderungen nötig, da hier jede Filialtask sowieso nur
+auf das MUFI zugreifen kann, das in den Kanal des Terminals geschaltet ist, an das
+die Task gekoppelt ist. Möchten Sie jedoch mehrere Kartenleser über Adapter an
+separaten seriellen Schnittstellen ansprechen, so müssen Sie dem System mehrere
+Kanalnummern mitteilen, die für verschiedene Filialtasks ja durchaus unterschied­
+lich sein können. Am geschicktesten erscheint es in diesem Fall, unter einer Haupt­
+stelle mehrere "Zwischentasks" einzurichten, in diesen jeweils die Interface-
+Kanalnummern festzulegen und die Filialtasks als Söhne dieser "Zwischentasks"
+anzumelden. Benennen Sie die "Zwischentasks" so, daß die eingestellte Kanal­
+nummer aus dem Namen ersichtlich ist, so ist gleich bei der Anmeldung einer Filial­
+task klar, welcher Kartenleser von dieser Task aus angesprochen werden kann.
+
+Um diesen Aufbau zu realisieren, sollten Sie zunächst in der entsprechenden Haupt­
+stellentask einen etwa eingerichteten Direktstart mit dem Kommando 'warenhaus
+direktstart (FALSE)' aufheben. Ebenfalls in der Hauptstellentask wird dann mit dem
+Kommando 'init interface channel' eine etwa vorhandene Kanaleinstellung gelöscht,
+wenn Sie bei der Aufforderung 'Gib Interface-Kanal:' eine '0' eingeben. Nun richten
+Sie für jeden vorhandenen Adapter (natürlich müssen auch entsprechend viele freie
+serielle Schnittstellen zur Verfügung stehen!) eine "Zwischentask" als Sohn der
+Hauptstellentask ein (z.B. 'Kanal 5', 'Kanal 6' etc.) und geben dort jeweils wieder das
+Kommando 'init interface channel'. Bei der Abfrage 'Gib Interface-Kanal:' geben Sie
+dann die entsprechende Kanalnummer ein (in unserem Beispiel 5 oder 6 etc.). Alle
+Söhne der Zwischentask 'Kanal 5' z.B. können dann (abwechselnd) den Kartenleser
+benutzen, der an den Adapter an Kanal 5 angeschlossen ist. In diesen Zwischentasks
+können Sie, wenn Sie möchten, mit dem Kommando 'warenhaus direktstart (TRUE)'
+einen Direktstart für die neu anzumeldenden Sohntasks (Filialen) einrichten.
+Ansonsten wird #on("b")#gs-Warenhaus#off("b")# in den Sohntasks aus der 'gib Kommando' - Ebene
+mit dem Befehl 'warenhaus' gestartet (vgl. Kapitel 3.3).
+
+Sollten Sie beim Betrieb eines Codekartenlesers feststellen, daß die Wartezeit beim
+Einlesen einer Codekarte zu kurz oder zu lang ist, so können Sie auch diese ändern.
+Da die Wartezeit durch eine Schleife realisiert ist, in der laufend Werte vom Interface
+gelesen werden, ist sie abhängig von der Geschwindigkeit des verwendeten Rechners
+und von der gewählten Interface-Anpassung. Die Veränderung der Wartezeit erfolgt
+mit dem Kommando 'eingabesicherheit (n)', wobei n eine 'Integer'-Zahl sein muß.
+Bei sehr langsamen Systemen hat sich ein Wert von 3 als sinnvoll herausgestellt; bei
+schnellen Rechnern muß n etwa 10 oder noch größer sein. Ermitteln Sie den für
+Ihren Rechner geeigneten Wert bitte durch Ausprobieren. (Standardmäßig eingestellt
+ist n = 5.)
+
+Mit Hilfe von drei Informationsprozeduren können Sie Informationen über den
+Systemzustand einholen: 'put (hauptstellenname)' liefert den Namen der zu­
+ständigen Hauptstellen-Task, 'put (interface anpassung)' zeigt den Namen der bei
+der Installation gewählten Interfaceanpassung für den Kartenleser, und 'put (inter­
+face channel)' liefert die Nummer des Kanals, über den ein Interface an separater
+serieller Schnittstelle angesprochen wird.
+
+
+
+#on("b")#Detailbeschreibung der Befehle#off("b")#:
+
+
+#on("b")#PROC eingabesicherheit (INT CONST n):#off("b")#
+
+ - stellt die Wartezeit beim Einlesen einer Artikel-, Kunden- oder Auskunfts­
+ codenummer in Abhängigkeit vom Absolutbetrag von n ein. Bei langsamen
+ Rechnern sollte abs(n) klein (ca. 3), bei schnellen Rechnern größer (ca. 10)
+ sein.
+ - Standardeinstellung ist 5.
+ - Der Befehl kann in jeder Task gegeben werden, in der #on("b")#gs-Warenhaus#off("b")#
+ insertiert ist.
+
+
+#on("b")#PROC grin (BOOL CONST entscheidung):#off("b")#
+
+ - ist nur in Hauptstellentasks aufrufbar und in Tasks, die keiner Hauptstellen­
+ task untergeordnet sind.
+ - stellt die Version für die Programmierschnittstelle gemäß der 'entscheidung'
+ ein:
+ TRUE ---> GRIN-Version, FALSE ---> ELAN-Version.
+
+ Fehlerfälle:
+ - Dieser Befehl darf nur von der Task '...' aus gegeben werden!
+
+
+#on("b")#TEXT PROC hauptstellenname:#off("b")#
+
+ - liefert den Namen der zuständigen Hauptstellentask.
+ - liefert 'niltext' (""), wenn in diesem Zweig des Taskbaumes noch keine
+ Hauptstelle existiert; es ist dann kein Warenhaus-Betrieb möglich! (vgl.
+ 'PROC warenhaus hauptstelle')
+
+
+#on("b")#PROC init interfacechannel:#off("b")#
+
+ - initialisiert eine unbenannte Sohntask ("-") zum Ansprechen des Interface­
+ systems über eine separate serielle Schnittstelle und existiert deshalb nur bei
+ den Anpassungen für 'MUFI als Endgerät' und 'AKTRONIK-Adapter'.
+ - erfragt zunächst eine Kanalnummer ('Gib Interface-Kanal:'); zulässig sind
+ Eingaben von 0 bis 24.
+ - löscht eine evtl. bereits vorhandene unbenannte Sohntask ("-").
+ - richtet bei Eingabe einer Kanalnummer > 0 eine neue unbenannte Sohntask
+ ein und sperrt dieses Kommando für Sohntasks, die danach angemeldet
+ werden.
+ - hebt eine etwa gesetzte Sperrung bei Eingabe von 0 als Kanalnummer wieder
+ auf.
+
+ Fehlerfälle:
+ - Dieses Kommando kann nur von der Task '...' aus gegeben werden!
+ - Unzulässige Kanalnummer!
+
+
+#on("b")#TEXT PROC interface anpassung:#off("b")#
+
+ - liefert den Namen der bei der Installation ausgewählten Anpassung. Möglich
+ sind zur Zeit:
+
+ "ohne Kartenleser",
+ "mit Kartenleser an AKTRONIC-Adapter",
+ "mit Kartenleser an MUFI als Endgerät",
+ "mit Kartenleser an MUFI im Terminalkanal".
+
+
+#on("b")#INT PROC interface channel:#off("b")#
+
+ - existiert nur bei den Anpassungen für den AKTRONIC-Adapter und MUFI als
+ Endgerät.
+ - liefert die Kanalnummer der seriellen Schnittstelle, über die das Interface­
+ system angesprochen wird.
+ - wird der Wert 0 geliefert, so kann in der Task keine Eingabe über einen
+ Kartenleser erfolgen (siehe 'PROC init interfacechannel').
+
+
+#on("b")#PROC warenhaus:#off("b")#
+
+ - ist nicht in Hauptstellentasks aufrufbar.
+ - startet #on("b")#gs-Warenhaus#off("b")# aus der 'gib Kommando' - Ebene oder wird bei einge­
+ richtetem Direktstart automatisch aufgerufen.
+ - richtet eine Sohntask als Filialverwaltung ein und kennzeichnet damit die
+ eigene Task für das System als 'aktive' Filiale. Der Name dieser Sohntask
+ enthält den Namen der zuständigen Hauptstellentask und die Filialnummer,
+ unter der die Filiale geführt wird. Diese Filialnummer ist identisch mit der
+ Kanalnummer des angekoppelten Terminals.
+ - löscht die Filialverwaltungstask, wenn das Warenhaus-Menu geregelt mit
+ <ESC><q> verlassen wird. Zu Kollisionen bezüglich der Filialnummer
+ kann es somit nur kommen, wenn an einem Arbeitsplatz das WARENHAUS-
+ Menu ungeregelt verlassen wird (z.B. durch Tippen der SV-Taste) und dann
+ an demselben Arbeitsplatz eine neue Filiale angemeldet werden soll. In
+ diesem Fall erhält die neue Task #on("b")#keine#off("b")# Filialverwaltung als Sohntask und ist
+ damit für den Warenhaus-Betrieb nicht brauchbar. Deshalb wird hier nach
+ Ausgabe einer Fehlermeldung sofort gefragt, ob die Task gelöscht werden soll.
+
+ Fehlerfälle:
+ - Dieser Befehl darf nur von Söhnen dieser Task aus gegeben werden!
+ - Keine uebergeordnete Task ist 'warenhaus hauptstelle'!
+ - Filiale <n> ist bereits besetzt durch TASK '...'!
+ Es ist so kein geregelter Warenhaus-Betrieb möglich!
+
+
+#on("b")#PROC warenhaus direktstart (BOOL CONST entscheidung):#off("b")#
+
+ - richtet gemäß dem Wahrheitswert der 'entscheidung' einen Direktstart ein
+ oder hebt ihn wieder auf.
+ Hat 'entscheidung' den Wert 'TRUE', so wird ein Direktstart eingerichtet. Es
+ erscheint zunächst die Frage 'Mit automatischem Löschen (j/n)?'. Durch den
+ Direktstart gelangt man beim Anmelden einer Sohntask nicht in die 'gib
+ Kommando' - Ebene, sondern sofort in das WARENHAUS-Menu. Wird die
+ obige Frage mit <j> beantwortet, so werden Sohntasks nach dem Ausstieg
+ aus dem WARENHAUS-Menu sofort gelöscht; andernfalls wird erst noch ge­
+ fragt, ob gelöscht werden soll. Bei Verneinung erfolgt ein 'break'. Die Ein­
+ richtung eines Direktstarts wird vom System vermerkt und der Befehl darauf­
+ hin in allen untergeordneten Tasks gesperrt. Sowohl der Direktstart als auch
+ die Sperrung sind nur wirksam für Sohntasks, die #on("b")#nach#off("b")# Ausführung dieses
+ Befehls angemeldet werden.
+ Hat 'entscheidung' den Wert 'FALSE', so wird ein etwa eingerichteter Direkt­
+ start und die damit verbundene Sperrung des Befehls für neue Sohntasks
+ wieder aufgehoben. Die Aufhebung ist nur möglich in der Task, von der aus
+ der Direktstart eingerichtet wurde.
+
+ Fehlerfälle:
+ - Der Direktstart kann nur aus der Task '...' geaendert werden!
+
+
+#on("b")#PROC warenhaus hauptstelle (BOOL CONST entscheidung):#off("b")#
+
+ - macht je nach Wahrheitswert der 'entscheidung' eine Task zur Hauptstellen­
+ task ('TRUE') bzw. hebt diesen Status wieder auf ('FALSE'). Eine Task kann
+ nur Hauptstelle werden, wenn noch keine übergeordnete Task Hauptstelle ist.
+ Der Hauptstellenstatus kann danach auch nur in dieser Task wieder aufge­
+ hoben werden.
+ - löscht bei der Einrichtung der Hauptstelle eine etwa bereits vorhandene
+ "Zentrale" und richtet automatisch eine neue "Zentrale" in Form einer Sohn­
+ task ein, die den Namen der Vatertask mit dem Zusatz ".Zentrale" erhält und
+ in der später die zentrale Kundendatei gespeichert wird. Bei Aufhebung des
+ Hauptstellenstatus wird diese Task wieder gelöscht.
+ - fragt bei Einrichtung der Hauptstelle nach, ob ein Direktstart eingerichtet
+ werden soll ('Mit Direktstart (j/n)?') und ruft die Prozedur 'warenhaus
+ direktstart' entsprechend auf.
+ - Hebt bei Löschen des Hauptstellenstatus einen in der Task etwa einge­
+ richteten Direktstart automatisch auf.
+
+ Fehlerfälle:
+ - Hauptstelle ist bereits die Task '...'!
+ - Dieses Kommando darf nur in der Task '...' gegeben werden!
+
+