roman
14-04-04, 16:59
Guten Tag
Ich habe folgendes Problem mit einem embedded SQL in RPG:
Im Programm habe ich den nachstehenden Befehl, syntaktisch korrekt definiert.
SELECT ADLPLN * 100 ,ADLPBR * 100 ,ADLPHO * 100 INTO :LP_lang , :LP_breit , :LP_hoch FROM LO1010 WHERE ADFIRM = 270 and ADLAHA = :lp_LAHA and ADLPS1 = :lp_LPS1 and ADLPS2 = :lp_LPS2 and ADLPS3 =
:lp_LPS3 and ADLPS4 = :lp_LPS4
In der Mehrheit der Fälle (!) erfolgt die Ausführung korrekt. In einem Fall (mit DBG festgestellt) ist der Inhalt im Feld SQL_00068 = "0", d.h. die im Select definierten Resultatwerte werden nicht aktualisiert.
Kann mir jemand sagen, unter welchen Bedingungen der Wert im Feld SQL_00068 den Wert '0' bekommt. Ich kann den Fehler einfach nicht nachvollziehen.
Besten Dank für eine Erklärung.
Grüsse Roman
Hier der Debugging-Code:
553 C* :LP_breit , :LP_hoch FROM LO1010 WHERE ADFIRM = 270 and A
554 C* :lp_LAHA and ADLPS1 = :lp_LPS1 and ADLPS2 = :lp_LPS2 and
555 C* :lp_LPS3 and ADLPS4 = :lp_LPS4
556 C*END-EXEC
557 C EVAL SQL_00070 = LP_LAHA
558 C EVAL SQL_00071 = LP_LPS1
559 C EVAL SQL_00072 = LP_LPS2
560 C EVAL SQL_00073 = LP_LPS3
561 C EVAL SQL_00074 = LP_LPS4
562 C Z-ADD -4 SQLER6
563 C CALL 'QSQROUTE'
564 C PARM SQLCA
565 C PARM SQL_00065
566 C SQL_00068 IFEQ '1'
567 C EVAL LP_LANG = SQL_00075
568 C EVAL LP_BREIT = SQL_00076
569 C EVAL LP_HOCH = SQL_00077
570 C END
571 *
Ich habe folgendes Problem mit einem embedded SQL in RPG:
Im Programm habe ich den nachstehenden Befehl, syntaktisch korrekt definiert.
SELECT ADLPLN * 100 ,ADLPBR * 100 ,ADLPHO * 100 INTO :LP_lang , :LP_breit , :LP_hoch FROM LO1010 WHERE ADFIRM = 270 and ADLAHA = :lp_LAHA and ADLPS1 = :lp_LPS1 and ADLPS2 = :lp_LPS2 and ADLPS3 =
:lp_LPS3 and ADLPS4 = :lp_LPS4
In der Mehrheit der Fälle (!) erfolgt die Ausführung korrekt. In einem Fall (mit DBG festgestellt) ist der Inhalt im Feld SQL_00068 = "0", d.h. die im Select definierten Resultatwerte werden nicht aktualisiert.
Kann mir jemand sagen, unter welchen Bedingungen der Wert im Feld SQL_00068 den Wert '0' bekommt. Ich kann den Fehler einfach nicht nachvollziehen.
Besten Dank für eine Erklärung.
Grüsse Roman
Hier der Debugging-Code:
553 C* :LP_breit , :LP_hoch FROM LO1010 WHERE ADFIRM = 270 and A
554 C* :lp_LAHA and ADLPS1 = :lp_LPS1 and ADLPS2 = :lp_LPS2 and
555 C* :lp_LPS3 and ADLPS4 = :lp_LPS4
556 C*END-EXEC
557 C EVAL SQL_00070 = LP_LAHA
558 C EVAL SQL_00071 = LP_LPS1
559 C EVAL SQL_00072 = LP_LPS2
560 C EVAL SQL_00073 = LP_LPS3
561 C EVAL SQL_00074 = LP_LPS4
562 C Z-ADD -4 SQLER6
563 C CALL 'QSQROUTE'
564 C PARM SQLCA
565 C PARM SQL_00065
566 C SQL_00068 IFEQ '1'
567 C EVAL LP_LANG = SQL_00075
568 C EVAL LP_BREIT = SQL_00076
569 C EVAL LP_HOCH = SQL_00077
570 C END
571 *