Iron
12-05-11, 10:21
Hallo zusammen,
nachdem ich bisher sehr viele nützliche Informationen aus diesem Forum ziehen konnte, habe ich mich nun auch angemeldet. Vorab schonmal vielen Dank für die bisherigen Informationen.
Nach 22 Jahren RPG I,II und III bin ich jezt auch dazu übergegangen neue Programme in ILE-Free zu schreiben (das zur Vorgeschichte).
Nun habe ich aber ein leichtes Verständnisproblem mit dem CHAIN-Befehl.
chain(e) %kds(X_RecKeys) DKSR;
//
select;
when not %found(DKS); // Satz nicht gefunden
Par_RtrnCode = 'N';
when %error; // Satz gelockt
Par_RtrnCode = 'L';
other; // Satz vorhanden + frei
Par_RtrnCode = ' ';
endsl;
Ist es richtig dass die Funktion "not %found" auch dann anspricht wenn der Satz gerade gelockt ist ? Im alten RPG gingen da zwei verschiedene Bezugszahlen an.
Um euch die Schreibarbeit abzunehmen habe ich die Statements wie folgt umgestellt:
chain(e) %kds(X_RecKeys) DKSR;
select;
when %status = 1218; // Satz gelockt
Par_RtrnCode = 'L';
when %error; // sonstiger Fehler
Par_RtrnCode = 'N';
other; // Satz vorhanden + frei
Par_RtrnCode = ' ';
endsl;
Ich gebe zu, den Statuscode habe ich mir aus einem Eintrag von Brigitta abgeschaut :) .
Meine Frage lautet nun: Bekomme ich so gelockte und nicht vorhandene Sätze getrennt ausgewiesen ? In der ersten Variante wurde immer ein "N" in das Feld Par_RtrnCode gestellt.
nachdem ich bisher sehr viele nützliche Informationen aus diesem Forum ziehen konnte, habe ich mich nun auch angemeldet. Vorab schonmal vielen Dank für die bisherigen Informationen.
Nach 22 Jahren RPG I,II und III bin ich jezt auch dazu übergegangen neue Programme in ILE-Free zu schreiben (das zur Vorgeschichte).
Nun habe ich aber ein leichtes Verständnisproblem mit dem CHAIN-Befehl.
chain(e) %kds(X_RecKeys) DKSR;
//
select;
when not %found(DKS); // Satz nicht gefunden
Par_RtrnCode = 'N';
when %error; // Satz gelockt
Par_RtrnCode = 'L';
other; // Satz vorhanden + frei
Par_RtrnCode = ' ';
endsl;
Ist es richtig dass die Funktion "not %found" auch dann anspricht wenn der Satz gerade gelockt ist ? Im alten RPG gingen da zwei verschiedene Bezugszahlen an.
Um euch die Schreibarbeit abzunehmen habe ich die Statements wie folgt umgestellt:
chain(e) %kds(X_RecKeys) DKSR;
select;
when %status = 1218; // Satz gelockt
Par_RtrnCode = 'L';
when %error; // sonstiger Fehler
Par_RtrnCode = 'N';
other; // Satz vorhanden + frei
Par_RtrnCode = ' ';
endsl;
Ich gebe zu, den Statuscode habe ich mir aus einem Eintrag von Brigitta abgeschaut :) .
Meine Frage lautet nun: Bekomme ich so gelockte und nicht vorhandene Sätze getrennt ausgewiesen ? In der ersten Variante wurde immer ein "N" in das Feld Par_RtrnCode gestellt.