-
Select Abfrage mit Vorgabe aus Exceldatei
Hallo AS400 Freunde,
ich bin neu und habe so gut wie keine Ahnung von SQL und benoetige dringend
Eure Hilfe. Ich erstelle gerade in Excel ueber eine ODBC-Verbindung eine Bestand-Abfrage
auf unser AS400 was auch funktioniert. Jetzt sollen aber nur alle Artikel ausgegeben
werden die in Tabelle1 Spalte A "Artikel" stehen (Pfad:C:\Auswertung\Bestand.xlsx).
Das ist die selbe Excel-Datei wo die Bestandsabfrage läuft (Tabelle2)
Ich weis nicht wie ich auf Tabelle1 Spalte A "Artikel" verweisen kann.
Code:
select bmfirm, bmiden, bmidv, bmprnr, bmqkz, bmqsta,
bmort, bmber, digits(bmreg) concat '-' concat
digits(bmhor) concat '-' concat digits(bmver) concat '/'
concat bmsegm,
bmbmen, bmvmen, bmlenr
from pbestlo
where bmkonz = 'GHK'
order by bmfirm, bmiden, bmort, bmreg
-
Hast du Bestand.xlsx aus der iSeries geholt? Dann kannst du damit (iSeries) verknüpfen.
select feld(er) from Datei1 a Join Datei2 b on a.Feld=b.Feld and ... where
Hast du die nur im Excel, musst du es im Excel lösen.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Ich habe die Daten leider nur in Excel,
bedeutet also nur mit Formeln, also sehr zäh.
Wie bekomme ich die Datei in iSeries?
-
endweder mit kostenpflichtigen Tools oder als csv speichern und mit
cpyfrmimpf (F9 + F10)
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Hallo Robi
kannst Du mir
erklären,
verstehe leider nur Bahnhof?
-
wenn du die Datei als csv vorliegen hast, kannst du Sie mit
CPYFRMIMPF übernehmen
Um alle möglichen Einstellungen zu sehen musst du im Befehl F9 und F10 drücken
Wenn die Datei im IFS liegt, gibst du den Pfad an, liegt sie auf einem Server musst du über QNTC gehen (mit MKDIR den Pfad verbinden)
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke für die Info.
Welche kostenpflichtigen Tools kannst Du empfehlen, die gut verständlich sind?
-
Die AS400 hat standartmäßig Probleme ein Excelfile(.xls) zu lesen.
Deshalb solltest du das Excelfile in ein CSV-File wandeln.
Damit kann die AS400 super umgehen.. Tutorials dazu findest du in Mengen..
Zum Ablauf..
Die As400 muss ja irgendwie auf deine CSV-Datei zugreifen.
Entweder du schiebst die CSV-Datei auf das Dateisystem der AS400 (der einfachste Weg)
Oder die AS400 muss auf das Filesystem eines anderen Servers oder deinen PC zugreifen. (nicht so easy)
Verbinde also das Dateisystem (IFS) der AS400 mit deinem PC (Einfach unter windows Netzlaufwerk verbinden im Explorer) oder mit irgendeinem Tool (Hauptsache du kommst auf das IFS).
So kannst Daten stressfrei auf die AS400 von deinem Rechner aus schieben.
Mit QSH (As400-Befehl) kannst du auf der AS400 das IFS durchblättern. (Wenn du die CSV-Datei hier findest, dann hast du es schon geschafft)
Hol dir dann Pfad der CSV-Datei im IFS der AS400 und fang mit dem CPYFRMIMPF Befehl an.
Der Befehl kopiert die CSV-Datei in eine Datenbankdatei.
CPYFRMIMPF -> Prompten (F4) -> Alle Parameter anzeigen (F9)
Abgesehen von den Pflichtangaben im Befehl, solltest du noch Feldbegrenzer (das Zeichen, womit du die Daten der Exceldatei getrennt hast) angeben..
Danach kannst mit strsql dir die kopierten Daten in der Datenbankdatei anschauen und damit rumspielen.
So kompliziert ist der Spaß nicht, wenn mans paar mal gemacht hat.
-
Wenn die Frage mit kostenpflichtigen Tools noch relevant ist, so gibt es da mehrere:
z.B. iGetExcel direkt auf AS/400
z.B. Upload/400 direkt als AddIn für Excel (Office 97 bis Office 2019)
Und kompliziert sind diese Tools eigentlich garnicht.
-
Vielen Dank für Eure Hilfe, jetzt blicke ich ein bischen durch.
-
Hallo Herr Fürchau,
vielen Dank für die Zusendung des Befehls. Leider habe ich da ein bisschen Probleme. Er findet offensichtlich den Pfad nicht. Können Sie mir weiterhelfen?
-
Hallo,
liegt das CSV bei dir im IFS?
Zugriffe via \\ sind SAMBA Share Freigaben.
Wäre mir jetzt neu, dass man da so von der IBM i darauf zugreifen kann.
Das müsste man mittels Ordner mit IP im entsprechenden Filesystem hinterlegen.
Wenn du auf dein IFS zugreifen willst, dann startet das mit dem "/" Slash.
lg Andreas
Similar Threads
-
By mgraskamp in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 19-06-18, 08:46
-
By AB_Stein in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 07-09-17, 08:18
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 01-06-16, 19:20
-
By AK1 in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-07-15, 12:25
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 04-10-01, 14:24
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks