Anmelden

View Full Version : Fehlermeldung PQT4001 bei Befehl PRTAFPDTA



Daechsle
22-09-09, 08:40
Hallo miteinander

Meine Aufgabenstellung ist, ein AFP-Spoolfile einzulesen, Verweise auf Ressourcen (Overlays und Pagesegmente) so aufzulösen, dass sie als interne Ressourcen eingebunden werden, und daraus ein neues AFP-Spoolfile zu erzeugen.
Das ursprüngliche Spoolfile wird in einen Userspace geschrieben, die Ressource-Daten dazugemischt, dann das Ganze in eine Datei geschrieben und am Schluss soll mit dem Command PRTAFPDTA das neue Spoolfile erstellt werden. PRTAFPDTA bringt mir aber die Fehlermeldung PQT4001: Datenstrom in strukturiertem Feld 112 in Datei AFPNEW ungültig.
Wie kann ich erkennen, wo genau die ungültigen Daten sind? Was ist mit Feld 112 gemeint? Die Datei hat nur ein einziges Feld pro Datensatz mit 1 KB. Im 112. Datensatz kann ich auch nichts Besonderes erkennen, zumindest nichts, was in den 111 Sätzen davor grundlegend anders wäre.

Muss die Datei einen speziellen Aufbau haben? Ich habe schon folgende Varianten versucht:
1) Die Daten 1:1 in 1-KB-Blöcken in die Datei schreiben.
2) Die Daten so zu schreiben, dass jeder Datensatz mit einem X'5A' beginnt. Das hab ich in einem anderen Programm so gefunden. Allerdings muss ich, wenn zwischen 2 X'5A' mehr als 1 KB Daten sind, diese abschneiden und den Rest in den nächsten Datensatz schreiben, der dann natürlich nicht mit X'5A' beginnt.
3) Auch wenn ich das Einfügen der Ressourcen weglasse, kommt die gleiche Fehlermeldung (nur mit einer anderen Feldnummer).

Wer kann mir den einen oder anderen Tipp geben?
Vielen Dank im Voraus

Fuerchau
23-09-09, 08:47
Hast du die Doku dazu gelesen ?
Create AFP data (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzau6/rzau6crtafp.htm#rzau6crtafp)

Der folgende Link ist wohl leider kostenpflichtig:
IBM Publications Center - Download Free Documentation or Order (http://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/pbi.cgi)

Fuerchau
23-09-09, 09:32
So wie ich das sehe benötigst du den InfoPrintServer:
http://www.google.de/url?sa=t&source=web&ct=res&cd=10&url=http%3A%2F%2Fwww.risc.com.mx%2Fsitiorisc%2Fdow nloads%2FIBM%2FIBM%2520iSeries%2520Printing%2520VI %2520Delivering%2520the%2520Output%2520of%2520e-busin%2520(1).pdf&ei=p9q5Su-nII7kmwOz44BS&usg=AFQjCNE2N9IDJRRDn2cg6LcEbRYUDuBDWA

Mittels Kommando CRTAFPDTA kannst du einen Spool komplett incl. Ressourcen speichern und anschließend per PRTAFPDTA wieder herstellen.

Alternativ könnte auch SNDNETSPLF DTAFMT(*ALLDATA) oder SNDTCPSPLF funktionieren um eine Kopie des Spools incl. AFP-Ressourcen zu erhalten.

Daechsle
23-09-09, 14:18
Du bist ein Genie!

CRTAFPDTA in Kombination mit PRTAFPDTA ist des Pudels Kern und meines Rätsels Lösung.

1000 Dank!

Fuerchau
23-09-09, 14:19
Und ganz ohne Programmierung.