Buenos d�as foro, estoy intentando hacer una SQL en un ILE-RPG y me estoy volviendo loco. Haber si me pod�is echar una manita “y no al cuello”. Este es el fuente del programa que estoy haciendo y simplemente lo que hago, es seleccionar todos los registros del fichero FCTCAF y que en el campo CAFFEM sean igual a 20040102. Pues bien, no me selecciona ninguno y si que hay registros en el fichero que cumplen la condici�n. Os agradecer�a que me dijerais si hay algo mal en la SQL o a la hora de compilar el programa tengo que decirle algo. Hay una cosa que me mosquea un poco y es que a la hora de compilar en el par�metro TOSRCFILE que por omisi�n esta Archivo QSQLTEMP1 y biblioteca QTEMPya no lo tengo en mi AS400. No s� si tendr� algo que ver, aunque no lo creo.

 

Gracias por adelanta a todos.

Un saludo

 

 

 

 

*

*---------------------------------------------------------------*

*���������������������������������������������������������������

FFCTCAF��� IF A E���������� K DISK�������������������������������

D STMT����������� S����������� 500A�� INZ('SELECT * -������������

D������������������������������������ FROM FCTCAF WHERE -��������

D������������������������������������ CAFFEM = 20040102')��������

*���������������������������������������������������������� �����

*---------------------------------------------------------------*

*���������������������������������������������������������������

*���������������������������������������������������������������

* EN CASO DE ERROR TERMINA EL PROGRAMA��������� �����������������

C/EXEC SQL�������������������������������������������������������

C+ WHENEVER SQLERROR GOTO ERRORENT�������������������������������

C/END-EXEC�������������������������������������������������������

*���������������������������������� �����������������������������

* PREPARAMOS CURSOR���������������������������������������������

C/EXEC SQL������������������������

C+ PREPARE S1 FROM :STMT����������

C/END-EXEC������������������������

*��������������������������������

* DECLARAR CURSOR����������������

C/EXEC SQL������������������������

C+ DECLARE C1 CURSOR FOR S1�������

C/END-EXEC������������������������

*��������������������������������

* ABRIR VIA DE ACCESO MEDIANTE SQL

C/EXEC SQL������������������������

C+ OPEN C1�������� ����������������

C/END-EXEC������������������������

*��������������������������������

* LEER CURSOR��������������������

C/EXEC SQL������������������������

C+ FETCH C1 INTO :CAFNLP����������

C/END-EXEC��������������������������������������

*������ ����������������������������������������

* CERRAR VIA DE ACCESO MEDIANTE SQL������������

C/EXEC SQL��������������������������������������

C+ CLOSE C1�������������������������������������

C/END-EXEC��������������������������������������

*������������ ����������������������������������

C���� ERRORENT����� TAG�������������������������

*����������������������������������������������

C������������������ MOVE����� '1'���������� *INLR

Responder a