Wenn ich ein RPG-Programm zu kompilieren, erhalte ich die Fehler unten gezeigt:RPG Kompilierungsfehler
*RNF7408 30 1 The length of the input field does not match the definition of the field; specification is ignored.
Das Feld als Teil dieses Fehlers erwähnt EXITAX war, die der Größe 15,2 in WR654F und 9.2 in DA595F. Ich war unter der Annahme, dass dies auf zwei Dateien (WR654F und DA595F) fällig ist mit dem gleichen Namen ein Feld (EXITAX), aber unterschiedlicher Größe in den F-Spezifikationen erklärt haben:
FWR654F IF E DISK
FDA595F O A E K DISK
Aber als habe ich ein anderes Programm mit nur die obigen zwei Angaben und *inlr = *on
für die Kompilierung, es funktionierte gut und kompiliert erfolgreich. Also verstehe ich nicht, warum das ursprüngliche Programm nicht kompiliert wird?
Oh ich sehe .. Ich habe nur den Schreibvorgang hinzugefügt und der Fehler kam auf. Danke, dass Sie wie immer sehr hilfsbereit sind, Mark! –
Einfach eine normale Datenstruktur zu deklarieren funktioniert (oder ist das ein extern beschriebener DS. Entschuldigung für mein mangelndes Verständnis für Fully Free RPG)? Ich hatte den Eindruck, dass nur ein extern beschriebener DS oder ein I Spec funktionieren würde. –
Sie sollten wirklich Free-Format RPG verwenden. Free Format wurde in den 1990er Jahren verfügbar und macht Programme leichter zu lesen und zu programmieren. Keine Notwendigkeit für I oder O Spezifikationen. Diese Datenstrukturen basieren auf dem Datensatzformat einer Datei, die in der Anweisung 'dcl-f' definiert ist. Ich gebe den zweiten Parameter ein, der für Datenstrukturen benötigt wird, die in IO-Operationen verwendet werden. – jmarkmurphy