HacksIch habe lange Zeit mit Mainframes gearbeitet. Eine interessante Umgebung. Mit dem Aufkommen von PCs wurden viele per Coax (SNA) angeschlossene Drucker nach und nach durch netzwerkfähige (Novell-IPX) Drucker ersetzt. Wie kann man nun dafür sorgen, dass ein Drucker über beide Netzwerke ansprechbar ist? Wie immer gab es mehrere Möglichkeiten:
Auf dem Mainframe konnte eine VSAM-Datei entweder im Zugriff durch einen Batch-Job oder durch den Transaktionsmonitor CICS sein. Mit Hilfe der CICS-Transaktion CEMT können Dateien dynamisch geschlossen und geöffnet werden. Für viele Batch-Jobs war dokumentiert, dass vor dem Start eine bestimmte Datei geschlossen werden muss. Manuelle Eingriffe sind recht fehleranfällig, so dass wir zunächst in jeden Job eine Prüfung eingebaut haben, ob die Datei wirklich geschlossen ist. Ziel sollte es jedoch sein, diese manuelle Tätigkeit vollständig zu automatisieren. Das gelang nur durch den Einsatz einer ganzen Reihe von Techniken: Aus einem VSE-Batch-Job kann man einen CP-Befehl absetzen. Der betreffende CP-Befehl, den wir verwendet haben, sendet eine Nachricht an eine VM-Service-Maschine. Die VM-Service-Maschine empfängt die Nachricht, erkennt, in welchem CICS welche Datei geöffnet oder geschlossen werden soll und ruft das passende Skript auf. Leider sind VM-Guests in der Zeit Single-Task-Systeme gewesen, so dass die Nachrichten und deren Abarbeitung serialisiert wurden und damit z.T. recht lange benötigten. Das Skript verwendet eine Funktion des Konsole-Tools (MLOG), mit dem von außen Befehle eingegeben werden können. Zum Schließen oder Öffnen einer Datei sind drei Befehle notwendig:
Nachteil der ganzen Aktion: Man muss Wartezeiten einstreuen und kann sich nicht sicher sein, dass die Befehle wirklich ausgeführt wurden. Auf der anderen Seite hat es in der Regel recht gut funktioniert. Und das, ohne auf ein teures und komplexes externes Scheduling-System zurückgreifen zu müssen. Im SAP R/2 waren die Daten in VSAM-Dateien gespeichert. Der schreibende Zugriff darauf war nur mittels /370-Assembler und den SAP-Methoden möglich. Nun ergab es sich, dass die Baumstruktur, die zwischen den Kostenstellen aufgebaut wurde leider nicht mehr korrekt war. Das hat dann Auswirkungen auf die Auswertungen in der Kostenrechnung gehabt. Nun war guter Rat teuer. Denn alle offensichtlichen Möglichkeiten waren mehr oder weniger schwierig oder teuer:
Die Lösung verwendete dann schließlich die SAP-Umsetzprogramme, die beim SAP Releasewechsel verwendet wurden. Im einfachsten Fall wird die Datenstruktur und der Inhalt der Datenbank entladen. Das Ladeprogramm generiert aus der alten und der neuen Datenbank-Struktur Konvertierungsroutingen und lädt die Daten satzweise nach der Konvertierung in die VSAM-Datei zurück. Für einfache Konvertierungen ist keine weitere Aktion notwendig. Mittelschwere Probleme lassen sich über Pseudo-Code als Vorlaufkarten zum Ladeprogramm kodieren. Das ist das, was wir hier getan haben. Für schwere Probleme konnte man komplexe Assembler-Routinen implementieren. Das war hier glücklicherweise nicht notwendig. Bei der Migration eines SAP R/3 Systems von Windows NT(Urgs) nach AIX verloren wir den Zugriff auf viele Netzwerk-Drucker, die mit alten Netports ausgestattet waren, welche nur IPX sprachen. Wie man Anwender so kennt - "Es druckt nicht" ist ein ziemlich lästiger Fehler. Verschiedene Möglichkeiten standen zur Verfügung:
Unsere Lösung war die Installation von Linux auf einem Rechner mit 8MB RAM, 80MB Platte. Dieser Rechner hat seinen Dienst ohne Probleme von 1997 bis ins Jahr 2000 hinein getan. Der eigentliche "Hack" ist der Print-Filter, der den Druckjob ins NetWare-Netz einspeist. Ein Einzeiler! Auf einem Linuxtag in Kassel brachte einer der Referenten (Sebi) seine Präsentation auf einer CD im OpenOffice-Format mit und benötigte nun einen Rechner für seinen Vortrag. An sich kein Problem, sollte man meinen. Es war es dann doch: Wir hatten einen Laptop mit OpenOffice, der jedoch nicht in der Lage war den Beamer anzusprechen. Ein weiterer Laptop konnte zwar den Beamer ansprechen, jedoch war aus Platzgründen kein OpenOffice installiert. Also: diese beiden Rechner vernetzen und per DISPLAY-Umleitung die Anzeige auf den Beamer werfen. Das ganze funktionierte nicht per Ethernet, sondern per WLAN. Innerhalb von fünf Minuten hatten wir zwei WLAN-Karten installiert und eingerichtet, ssh installiert und eine Session mit DISPLAY-Umleitung. Und das alles während die ersten Zuhörer schon im Saal waren. | |