Anmelden

View Full Version : Fetch in externe DS



Seiten : 1 [2]

JonnyRico
04-03-07, 17:59
Hi,

danke für eure Antworten. Da taucht auch schon das nächte Problem auf. Muss ich das wieder auf IBM-Oldschool-Technik zurückführen???

Es geht um die selbe Quelle. Ich binde per Copy-Strecke den Prozedure-Header aus einem anderen Headerfile ein. SO habe ich es bei V5R3 immer gemacht. Wenn ich das jetzt umwandle, bekomme ich die Meldung. "RPG-Bestimmung nicht in richtiger Reihenfolge". Wenn ich 1:1 aus dem Headerfile die Bestimmungen in meine Quelle kopiere und neu kompiliere, passt es? Was ist da denn wieder los? Habt ihr vielleicht noch mal einen Tip für mich?

Gruß

Sascha

BenderD
05-03-07, 07:20
Hallo,

sind da nested Copy Strecken im Spiel? Sprich: ist in der COPY Strecke eine /COPY Anweisung? das kann das Teil nämlich auch nur manchmal, teils als Bug, teils als Feature, für letzteres gibt es einen extra Work around (Enhancement nennt man sowas heute), die /INCLUDE Anweisung, die macht dasselbe wie /COPY, wird aber vom SQL PreCompiler ignoriert.

mfg

Dieter Bender


Hi,

danke für eure Antworten. Da taucht auch schon das nächte Problem auf. Muss ich das wieder auf IBM-Oldschool-Technik zurückführen???

Es geht um die selbe Quelle. Ich binde per Copy-Strecke den Prozedure-Header aus einem anderen Headerfile ein. SO habe ich es bei V5R3 immer gemacht. Wenn ich das jetzt umwandle, bekomme ich die Meldung. "RPG-Bestimmung nicht in richtiger Reihenfolge". Wenn ich 1:1 aus dem Headerfile die Bestimmungen in meine Quelle kopiere und neu kompiliere, passt es? Was ist da denn wieder los? Habt ihr vielleicht noch mal einen Tip für mich?

Gruß

Sascha

B.Hauser
05-03-07, 07:56
Hallo,

Zunächst eine Frage:
Bringt der Pre-Compiler die Fehlermeldung oder erscheint der Fehler in der echten Compilierungs-Liste?

M.E. handelt es sich um einen RPG-Fehler.

Was hast Du in Deiner Copy-Strecke hinterlegt?
Vielleicht zufällig ein SET OPTION-Statement?
Wenn ja, gibt es eine Änderung zwischen Release V5R3 und V5R4. In V5R4 muss das SET OPTION-Statement in der Quelle VOR allen anderen SQL-Statements stehen. (also nicht z.B. in der *INZSR, die am Ende der Quelle platziert ist)

Weiterhin kannst Du die Option RPGPPOPT im Befehl CRTSQLRPGI (zweite Seite 1. Auswahl) anschauen. Steht die Option auf *NONE werden Copy-Strecken nicht aufgelöst.
Bei *LVL1 werden die, mit /COPY eingebundenen Copy-Strecken aufgelöst, während die mit /INCLUDE eingebundenen Copy-Strecken ignoriert werden. Bei *LVL2 werden alle Copy-Strecken, die entweder mit /COPY oder /INCLUDE eingebunden wurden aufgelöst.

Ansonsten habe ich bislang mit Copy-Strecken in embedded SQL weder unter Release V5R3 noch unter V5R4 Probleme gehabt. Und ich verwende teilweise sogar geschachtelte Copy-Strecken.

Birgitta

JonnyRico
11-03-07, 18:16
Hi,

sorry das ich jetzt erst wieder schreibe, aber ich war die Woche über leider nicht da. So ich habe eure Tips mal eingebaut. Mit dem INCLUDE statt COPY geht es bestens ;) Danke. Birgitta dein Tip funktioniert bei mir leider nicht. Ich arbeite unter V5R2. Gab es den Parameter zu der Zeit vielleicht noch nicht? Ich kann ihn auf jeden Fall nicht finden. Ich sage aber schon mal vielen Dank :)

Gruß

Sascha

P.s. Die Meldung war/ist eine SQL-Pre-Compiler-Meldung