-
SQL DELFOR auslesen
Hallo Zusammen,
ich habe einkleines Problem mit unserer DELFOR.
Ich möchte die Daten zwischen zwei Konstanten auslesen und dann zum nächsten Satz springen.
Die Struktur ist folgendermaßen,
.
.
.
AR106616858 000000000 2CK802T3
AR54 0000000000
VD245 20141026 0000000000
SA11 00 0
DST20141025000000093790020009379002000000000201312 22000000000000000000000000000000000000000000000000 0000000000
PDN 20141025000000000000000000 000000000000000000000000
DEL201410270000 0000 000000047361 0100000000000000000000000000000047361
DEL201411030000 0000 000000372960 0100000000000000000000000000000372960
DEL201411100000 0000 000000436437 1400000000000000000000000000000436437
DEL201411170000 0000 000000458973 1400000000000000000000000000000458973
DEL201411240000 0000 000000456606 1400000000000000000000000000000456606
DEL201412010000 0000 000000464931 1400000000000000000000000000000464931
DEL201412080000 0000 000000467367 1400000000000000000000000000000467367
DEL201412150000 0000 000000424539 1400000000000000000000000000000424539
DEL201412220000 0000 000000160605 1400000000000000000000000000000160605
DEL201501050000 0000 000000378585 1400000000000000000000000000000378585
DEL201501120000 0000 000000426096 1400000000000000000000000000000426096
DEL201501190000 0000 000000468627 1400000000000000000000000000000468627
DEL201501260000 0000 000000417777 1400000000000000000000000000000417777
DEL201502020000 0000 000000396006 1400000000000000000000000000000396006
DEL201502090000 0000 000000435144 1400000000000000000000000000000435144
DEL201502160000 0000 000000395700 1400000000000000000000000000000395700
DEL201502230000 0000 000000423684 1400000000000000000000000000000423684
DEL201503020000 0000 000000405423 1400000000000000000000000000000405423
DEL201503090000 0000 000000408858 1400000000000000000000000000000408858
DEL201503160000201504120000 000001465689 2400000000000000000000000000001465689
DEL201504130000201505100000 000001543782 2400000000000000000000000000001543782
DEL201505110000201506070000 000001461759 2400000000000000000000000000001461759
DEL201506080000201507050000 000001369782 2400000000000000000000000000001369782
VD320131222201411230010706091201312222014122100125 19534 0000000000
TCO 0000SEAT 000000000000001 000000000000000 0000000000000000
TC1 00000000010000000000000000000000
CS172258 SIL 72258
(nächster Datensatz)
AR109165029 000000000 2CK80424
AR54 0000000000
VD245 20141026 0000000000
SA11 00 0
DST20141025000000000000000000000000000000000201312 22000000000000000000000000000000000000000000000000 0000000000
PDN 20141026000000000000000000 000000000000000000000000
DEL201410270000 0000 000000002640 0100000000000000000000000000000002640
DEL201411030000 0000 000000003408 0100000000000000000000000000000003408
DEL201411100000 0000 000000004668 1400000000000000000000000000000004668
DEL201411170000 0000 000000004260 1400000000000000000000000000000004260
.
.
.
.
.
Ich möchte die Daten nach dem "AR1" auslesen (Teilenummer) und dann die folgenden DEL201.... (die Lieferabrufe) dann gehts mit dem nächsten "AR1" weiter....
Am ende möchte ich eine Tabelle mit alle Teilen und spaltenweise das Datum mit den Abrufen...
Wie ich die DEL2014... auslese weis ich schon. Nur nicht das ich im Block AR1 zum nächsten AR1 bleibe.
PART I DESC I 20141027 I 20141103 I 20141110 I .....
001 I Teile1 I 22 I 34 I 41 I .....
002 I Teile2 I 12 I 33 I 98 I .....
003 I Teile3 I 62 I 14 I 21 I .....
Ich hoffe das geht mit SQL und PHP.
-
SQL-technisch ist so eine Tabelle schlecht zu verarbeiten da du keine Feldstruktur hast.
Die Datei/Tabelle wird wohl ungeschlüsselt sein, so dass bei einer Abfrage die Reihenfolge erhalten bleibt. So kannst du per CASE und SUBSTR die Daten auseinander nehmen:
select
case when substr(Feld, 1, 3) = 'AR1' then substr(Feld, n, m) else NULL end as ARTNR,
case when substr(Feld, 1, 3) = 'DEL' then substr(Feld, n, m) else NULL end as ABRDATE
from myfile
where substr(Feld, 1, 3) in ('AR1', 'DEL')
So bekommst du die Daten zumindest in der Reihenfolge.
Wobei PHP aber auch Substring o.ä. unterstützt.
-
Das auslesen an sich ist ja nicht das Problem... ich möchte ja nun eine Tabelle erstellen in der in der Spalte 1 ARTNR, Spalte 2 Bezeichnung, Spalte 3 (20141027) die Zahl bei DEL20141027 (00047361)
PART Bezichnung 20141027 20141103 20141110 20141117
06616858 Teil 1 0047361 0372960 0436437 00458973
09165029 Teil 2 0002640 0003408 0004668 00004260
Ich wollte die Zahl in der DEL20141027 und folgende Montage in einer Schleife raus ziehen und in die Tabelle schreiben. Ist zwar nicht die elegante Art aber es funktioniert.
-
Da die Daten ihre Beziehung nur über die Reihenfolge definieren kannst du halt nichts anderes machen als du es sowieso schon tust.
Zwischen Satzart AR1 und DEL gibt es keine SQL-technische Beziehung (Join), da die Artikel-Nr. im DEL nicht wiederholt wird.
-
Okay, ich versuche dann mit php die ganze sache abzufangen. muss ich wohl durch. :-)
Besten dank. Wenn ich es habe melde ich mich.
-
Mit SQL ohne ORDER BY ist es sowieso problematisch: Sobald das System einen temporären Zugriffspfad aufbaut und diesen nutzt, ist die Reihenfolge der Sätze nicht mehr gewährleistet.
-
Die Tabelle scheint eine rein sequentielle ohne Schlüssel zu sein.
Wie gesagt, hier kann man außer sequentiellem Lesen nur mit Programm-Logik weiterkommen.
Similar Threads
-
By M Scheid in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 25-09-18, 15:05
-
By urrumpel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 02-07-14, 12:28
-
By TSchuler in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 08-04-14, 14:03
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 11-02-14, 13:25
-
By AndreasH in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 18-09-02, 10:36
Tags for this Thread
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