Anmelden

View Full Version : SQL umwandlun



Seiten : [1] 2

Robi
18-03-14, 11:26
Hi *all

habe hier ein SQLRPGLE Pgm das sich im Spool wie folgt präsentiert:

C CLEAR I

C*EXEC SQL
C* SET :I =
C* ( SELECT COUNT(*) FROM EPBM1
C* WHERE EPBKATE = :IN_EPAKATE AND
C* EPBADRE = :IN_EPAADRE AND
C* EPBAUF1 = :IN_EPAAUF1 AND
C* EPBLSFR = :IN_EPALSFR AND
C* EPBSTAT <= '0' )
C*END-EXEC
C EVAL SQL_00005 = IN_EPAKATE SQL
C EVAL SQL_00006 = IN_EPAADRE SQL
C EVAL SQL_00007 = IN_EPAAUF1 SQL
C EVAL SQL_00008 = IN_EPALSFR SQL
C Z-ADD -4 SQLER6 SQL 1
C CALL SQLROUTE SQL
C PARM SQLCA SQL
C PARM SQL_00000 SQL
C SQL_00003 IFEQ '1' SQL
C EVAL I = SQL_00009 SQL
C END SQL

C IF I <= 0

Und der Umwandlungsfehler ist, das SQL_00003 nicht definiert ist!
Logischerweise ist KEIN SQL_000... Feld definiert ! War auch noch nie!
Kann mir jemand das PTF nennen, das mir fehlt?
V7R1, letzte 'komplettierung' ca vor 8 Tagen

Danke
Robi

Fuerchau
18-03-14, 11:36
Die SQL-Felder werden vom Precompiler automatisch generiert.
Ggf. passiert dieser Fehler bei der Umwandlung im Dialog wenn die QTEMP nicht bereinigt ist.
Versuche mal im Batch zu wandeln bzw. nach einer Neuanmeldung im Dialog.

Robi
18-03-14, 12:33
Wir wandeln quasi immer im Batch.
Habe aber mal auf Interact umgeschaltet, selbe Ergebnis.
Robi

TheDevil
18-03-14, 12:44
Hallo.

Fehlt der SQL_00003 in den D Bestimmungen ?
Sind also SQL_00001 -2 und 4 - x vorhanden ?
Gruß,
Ralf

andreaspr@aon.at
18-03-14, 12:51
Probier mal beim Umwandeln den Parameter
RPG-Vorprozessoroptionen . . . . RPGPPOPT > *LVL2

BenderD
18-03-14, 13:57
... ich tippe mal darauf, dass die fehelende Variable mit falschem Scope (lokal) generiert worden ist. Was sagt denn die Umwandlungsliste?

D*B

Robi
18-03-14, 15:58
@TheDevil
Im HauptPgm ist kein SQL_0* definiert (worden)
Aber das Pgm hat eine Procedur, die auch SQL verwendet.
dort sind (im Spool) die variablen SQL_00010 bis 00017 definiert
1 bis 10 ist nicht definiert, verwendet wird auch nur 0, 3, 5, 6, 7 und 9 die alle als 7030er Fehler auftauchen

@Dieter
Was meinst du? hilft o.a. Beschreibung

@Andreas
mach ich, dauert aber ein wenig. Das ist bei uns alles in 'automatiken' verdrahtet die ich dann händisch
zusammen suchen muß.

BenderD
18-03-14, 16:17
gibt es nun irgendwo die Variable SQL_00003 oder nicht???

Robi
18-03-14, 16:43
Alle SQL_ Variablen des obrigen Codes sind lt. Spool NICHT definiert.
Auch nicht in der Source durch uns. Sie fehlen!

BenderD
18-03-14, 16:47
... wie wandelst du denn? ich mache da z.B.:
CRTSQLRPGI T_TN
OBJTYPE(*MODULE)
DBGVIEW(*SOURCE)
COMMIT(*CS)
RDB(*LOCAL)
CRTPGM T_TN
ACTGRP(T_TN)
und habe die vom Precompiler generierten Variablen in der Umwandlungsliste. Bei dir sind da sicherlich ein paar lokal gelandet. Mach mal irgendein SQL Statement in den main Teil dann funzt das.