Frage:
Vor einigen Jahren habe ich ODBC benutzt, um iSeries Dateien aus Visual Basic (VB) heraus mit SQL-Anweisungen (z. B. SQLopen, SQLexcequery) in eine Microsoft Excel Tabelle zu übertragen. Beim Versuch, diese Funktionen heute in VB wieder zu verwenden, erhalte ich die Fehlermeldung „sub or function not defined“. Wie lassen sich iSeries Dateien heute am besten nach Excel übertragen? Gegenwärtig erstelle ich mit AS/400 Query eine Ausgabedatei, die ich anschließend mit iSeries Access nach Excel übertrage.
Antwort:
Es gibt eine Reihe unterschiedlicher Methoden, um iSeries DB2 Daten in Excel zu übertragen. Eine der einfachsten Möglichkeiten bietet das Excel Add-In „iSeries Access Data Transfer“, das unter C:\Program Files\IBM\Client Access\Shared\cwbtfxlu.dll zu finden ist. Einen ähnlichen Ansatz verfolgt die Verwendung von MSQuery in Verbindung mit der Funktion Get External Data aus den Excel Data Menüoptionen. Eine weitere Alternative bietet – wie Sie bereits selbst erwähnten – das iSeries Access File Transfer Programm. Dieses Verfahren bietet sich besonders dann an, wenn auf der iSeries vorab ein Batch-Prozess zur Selektion von herunterzuladenden Sätzen ablaufen soll.
Eine weitere iSeries Anweisung, die sich im Batch-Modus verwenden lässt, ist die Anweisung CpyToImpf (Copy to Import File). Mit dieser Anweisung lassen sich Sätze aus einer DB2 Tabelle in eine CSV-Datei (comma-separated values) umsetzen, die dann direkt in Excel importiert werden kann.
Ebenso können zur Übertragung von iSeries Daten nach Excel aber auch individuelle Anwendungen erstellt werden. Solche Anwendungen nutzen VBA (Visual Basic for Applications) innerhalb von Excel zusammen mit ADO (ActiveX Data Objects), dem IBM ADO Provider und/oder den mit iSeries Access installierten ODBC Providern.
Die nach meiner Ansicht eleganteste Methode, iSeries Daten nach Excel zu übertragen, ist der Weg über eine Web-Anwendung, die die gewünschten Daten selektiert und anschließend überträgt. Dies geschieht durch eine Modifikation der HTTP Header-Informationen, die den Browser veranlasst, die Daten direkt mittels Excel zu laden. Abbildung 1A zeigt den Beispielcode für das IBM Net.Data Produkt, das die HTTP Header-Informationen ändert. Abbildung 1B zeigt denselben Code als Java Servlet. Alle nach dem Setzen der Header-Informationen an die Webseite gesendeten Daten werden als Komma-separierte Werte in Excel übernommen.
Wer mehr über iSeries Access und weitere Optionen zur Übertragung von iSeries Daten nach Excel erfahren möchte kann sich folgender Links bedienen:
Mehr Info:
![Künstler Burgy Zapp [http://burgyzapp.de]](http://newsolutions.de/it/wp-content/uploads//re1_102-0258_IMG_Z_Negativ-300x300.jpg)


