-
data.getField("PART_NAME") read Dtaq
Hallo
Kann jemand einem Anfänger helfen?
Habe ein Muster-PGM versucht nachzubauen welches ab eine DTAQ Werte einlesen soll. Der Zugriff auf die DTAQ funktioniert. Jedoch ergibt mir data.getField("PART_NAME") einen Fehler.
Ausgabe in Konsole:
com.ibm.as400.access.ExtendedIllegalArgumentExepti on: name (PART_NAME): Field was not found.
Source:
import java.io.*;
import java.util.*;
import java.net.*;
import com.ibm.as400.access.*;
public class READ_DTAQ {
public static void main(String args )
{
System.out.println( " " );
{
try
{
AS400 as400 = new AS400("VBZAS400" );
CharacterFieldDescription partname =
new CharacterFieldDescription(new AS400Text(80, as400), "Part_Name");
RecordFormat dataFormat = new RecordFormat();
dataFormat.addFieldDescription(partname);
DataQueue dq = new DataQueue(as400, "/QSYS.LIB/TLSTUD.LIB/STUD_DQ.DTAQ");
boolean Continue = true;
System.out.println("*** Waiting for an entry for process ***");
DataQueueEntry DQData = dq.read(-1);
while (Continue)
{
Record data = dataFormat.getNewRecord(DQData.getData());
System.out.print((String) data.getField("PART_NAME") );
DQData = dq.read(-1);
}
}
catch (Exception e)
{
System.out.println("Data Queue operation failed");
System.out.println(e);
}
}
System.exit(0);
}
}
-
Hallo
1.) Ich tippe auf die Groß- und Kleinschreibung "Part_Name" vs. "PART_NAME" 
2.) Wenn du keine RPG/Cobol Strukturen mit gepackten Feldern verarbeiten musst, sondern nur Stringdaten, dann verzichte lieber auf die Records.
Die Record's sind recht genau - wenn du einen langen String hast und ein Programm den zu kurz sendet, gibt es eine Exception..
Hier die String Variante:
Code:
DQData = dq.read(-1);
...
// DataQueue-Eintrag holen
String entry = DQData.getString();
In der Variable entry ist jetzt der gesamte Eintrag. Das Zeugs mit RecordFormat, CharacterFieldDescription und dataFormat.addField... kannst du dir dann sparen.
BTW: Ab V5R4 gibt es im Cobol die Möglichkeit Datenstrukturen als XML-Auszugeben (als langer String oder in das IFS). Auf der Javaseite kann ich mit Libs wie XStream die XML-Datei in einen Javabean mappen lassen.
Damit habe ich:
- weder Arbeit mit XML schreiben noch lesen/parsen
- im Gegensatz zu einer Struktur/Recordlösung kratzen mich (und die Folgefelder) Längenänderung/neue Felder überhaupt nicht
Das RPG so elegant XML schreiben kann, wird wohl noch ein Release brauchen..
/Robert
-
Danke Robert
Die Schreibweise muss überall gleich sein, obwohl es im IBM-Manual auch so ist.
Jetzt funktioniert es.
Gruss Karl
-
 Zitat von karl_schweiz
... obwohl es im IBM-Manual auch so ist....
Mir auch schon falscher Samplecode in der IBM Doku untergekommen. Das ist - gerade als Anfänger - recht ärgerlich.
(jetzt kosten mich solche Sachen nur ein lächeln)
/Robert
Similar Threads
-
By kuempi von stein in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 28-11-06, 05:48
-
By Kampi4 in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 25-11-05, 07:37
-
By Nili in forum NEWSboard Java
Antworten: 2
Letzter Beitrag: 22-09-04, 19:03
-
By DEVJO in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-08-04, 09:34
-
By Peter Kosel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 18-10-01, 12:49
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