Kaufmann
10-05-06, 12:18
Das Programm wird als Modul gewandelt.
Ich habe eine eigene Prozedur zum Testen des SQL angelegt. Diese sieht so aus:
//-------------------------------------------------------------------------------------------
// GetBLFOLGE2 : BLFOLGE aus Parameterdatei lesen
// IN : pMdt - Mandant
// RESULT : true = erfolgreich, false = nicht gefunden
// FILE : -
//-------------------------------------------------------------------------------------------
P GetBLFOLGE2 B
D GetBLFOLGE2 PI 1N
D pMdt CONST like(FRD1.MDT)
//--------------------
// Lokale Variablen
//--------------------
D vBlFolge S like(FRD1.BLFOLGE) inz
//--------------------
//
C*-----------------------------
C* DEKLARATION 1 --------------
‚C/EXEC SQL
‚C+ DECLARE CURSOR MYCURSOR FOR
C+ SELECT BLFOLGE FROM SCHUELLER/ARBP2P
C+ WHERE FERT1B BETWEEN 680 AND 699 AND BLOCKN <> 0
C+ ORDER BY MDT, BLOCKN, FERT1B, LFDNREH, STKZ2B,
C+ CASE RLB WHEN 'R' THEN '1' WHEN ' ' THEN '2' WHEN 'L' THEN '3' END
C+ FOR UPDATE [ OF BLFOLGE ]
‚C/END-EXEC
šC/EXEC SQL OPEN MYCURSOR
‚C/END-EXEC
C*-----------------------------
‚C SQLCOD DOUNE 0
C*-----------------------------
‚C/EXEC SQL
ˆC+ FETCH MYCURSOR INTO :vBLFOLGE
šC/END-EXEC
C*-----------------------------
C ENDDO
C*-----------------------------
C/EXEC SQL CLOSE MYCURSOR
C/END-EXEC
C*-----------------------------
/FREE
return;
/END-FREE
P GetBLFOLGE2 E
Versuche ich das Programm mit CRTSQLRPGI zu wandeln bekomme ich diese Fehlermeldungen:
Satz *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 FLGNR. Letzte Änderung Kommentare
2424 C+ DECLARE CURSOR MYCURSOR FOR 16506 10.05.06
2431 C/EXEC SQL OPEN MYCURSOR 16516 10.05.06
2437 C+ FETCH MYCURSOR INTO :vBLFOLGE 16522 10.05.06
2442 C/EXEC SQL CLOSE MYCURSOR 16527 10.05.06
5722ST1 V5R2M0 020719 SQL-ILE-RPG-Objekt erstellen NACHT547 10.05.06 13:09:45 Seite
DIAGNOSENACHRICHTEN
MSG ID WTK SATZ TEXT
SQL0104 30 2424 Position 24 Token MYCURSOR ungültig. Gültige Token:
STATEMENT.
SQL0199 30 2424 Position 33 Schlüsselwort FOR nicht erwartet. Gültige
Token: <ENDE DER ANWEISUNG>.
SQL0504 35 2431 Position 22 Cursor MYCURSOR nicht deklariert.
SQL0504 35 2437 Position 15 Cursor MYCURSOR nicht deklariert.
SQL0312 30 2437 Position 30 Variable VBLFOLGE nicht definiert oder nicht
verwendbar.
SQL0504 35 2442 Position 23 Cursor MYCURSOR nicht deklariert.
Nachrichtenzusammenfassung
Total Info Warnung Fehler Wertigk. Beendigung
Was mache ich falsch?
Sorry das ich immer noch nerve!!
Habe keine große Erfahrung mit SQL in RPG-Sourcen
Ich habe eine eigene Prozedur zum Testen des SQL angelegt. Diese sieht so aus:
//-------------------------------------------------------------------------------------------
// GetBLFOLGE2 : BLFOLGE aus Parameterdatei lesen
// IN : pMdt - Mandant
// RESULT : true = erfolgreich, false = nicht gefunden
// FILE : -
//-------------------------------------------------------------------------------------------
P GetBLFOLGE2 B
D GetBLFOLGE2 PI 1N
D pMdt CONST like(FRD1.MDT)
//--------------------
// Lokale Variablen
//--------------------
D vBlFolge S like(FRD1.BLFOLGE) inz
//--------------------
//
C*-----------------------------
C* DEKLARATION 1 --------------
‚C/EXEC SQL
‚C+ DECLARE CURSOR MYCURSOR FOR
C+ SELECT BLFOLGE FROM SCHUELLER/ARBP2P
C+ WHERE FERT1B BETWEEN 680 AND 699 AND BLOCKN <> 0
C+ ORDER BY MDT, BLOCKN, FERT1B, LFDNREH, STKZ2B,
C+ CASE RLB WHEN 'R' THEN '1' WHEN ' ' THEN '2' WHEN 'L' THEN '3' END
C+ FOR UPDATE [ OF BLFOLGE ]
‚C/END-EXEC
šC/EXEC SQL OPEN MYCURSOR
‚C/END-EXEC
C*-----------------------------
‚C SQLCOD DOUNE 0
C*-----------------------------
‚C/EXEC SQL
ˆC+ FETCH MYCURSOR INTO :vBLFOLGE
šC/END-EXEC
C*-----------------------------
C ENDDO
C*-----------------------------
C/EXEC SQL CLOSE MYCURSOR
C/END-EXEC
C*-----------------------------
/FREE
return;
/END-FREE
P GetBLFOLGE2 E
Versuche ich das Programm mit CRTSQLRPGI zu wandeln bekomme ich diese Fehlermeldungen:
Satz *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 FLGNR. Letzte Änderung Kommentare
2424 C+ DECLARE CURSOR MYCURSOR FOR 16506 10.05.06
2431 C/EXEC SQL OPEN MYCURSOR 16516 10.05.06
2437 C+ FETCH MYCURSOR INTO :vBLFOLGE 16522 10.05.06
2442 C/EXEC SQL CLOSE MYCURSOR 16527 10.05.06
5722ST1 V5R2M0 020719 SQL-ILE-RPG-Objekt erstellen NACHT547 10.05.06 13:09:45 Seite
DIAGNOSENACHRICHTEN
MSG ID WTK SATZ TEXT
SQL0104 30 2424 Position 24 Token MYCURSOR ungültig. Gültige Token:
STATEMENT.
SQL0199 30 2424 Position 33 Schlüsselwort FOR nicht erwartet. Gültige
Token: <ENDE DER ANWEISUNG>.
SQL0504 35 2431 Position 22 Cursor MYCURSOR nicht deklariert.
SQL0504 35 2437 Position 15 Cursor MYCURSOR nicht deklariert.
SQL0312 30 2437 Position 30 Variable VBLFOLGE nicht definiert oder nicht
verwendbar.
SQL0504 35 2442 Position 23 Cursor MYCURSOR nicht deklariert.
Nachrichtenzusammenfassung
Total Info Warnung Fehler Wertigk. Beendigung
Was mache ich falsch?
Sorry das ich immer noch nerve!!
Habe keine große Erfahrung mit SQL in RPG-Sourcen