Sent: Thursday, November 20, 2003 10:08
AM
Subject: RE: Problemas con Nulos
Justo acabo de terminar un programa donde tenia el mismo problema. La
soluci�n es:
D
PRINFO
S
50A
D INFORME
S
2B
0
donde PRINFO es la variable del sistema
principal e INFORME es el campo que
tiene nulos
el
SQL declarando el cursor es algo as�:
C/EXEC
SQL
C+ DECLARE C1 CURSOR FOR SELECT SUBSTR(COD_PROVEEDOR, 3,
4),
C+ B.INFORME ,A.GRUPO FROM
GRUPO_CODPROVEEDOR
A
C+ LEFT OUTER JOIN GRUPO_INFORME B ON A.GRUPO=B.GRUPO ORDER
BY
C+
SUBSTR(COD_PROVEEDOR, 3,
4)
C/END-EXEC
y el
Fetch ser� as�:
C/EXEC
SQL
C+ FETCH NEXT FROM C1 INTO :PRPROV, :PRINFO
:INFORME, :PRGRUPO
C/END-EXEC
luego (Si no quieres grabar nulos en la salida) tienes que
usar:
C
MOVE
PRPROV
PROV
C
MOVEL
PRINFO
CINF
C
MOVE PRGRUPO
DESC
*
C
IF
%NULLIND(CINF)
C
CLEAR
CINF
C
ENDIF
y no te olvides en la hoja H
H DEBUG
ALWNULL(*USRCTL)
Saludos a todos:
Tengo un programa en SQLRPGLE al
recuperar datos de una tabla con campos que permite nulos.
Para poder manejar los nulos es necesario
trabajar con indicadores, pero mi problema esta en que deseo pasar los
datos de un cursor a una estructura de datos pero no se como y donde
declarar los inidicadores de nulos. Es posible?
* Estructura
Empleado
DS
eCodigo
5A
eNombre
60A
eFecha
D
eCategoria
2A
* FechaCese campo que permite
nulos
C/EXEC
SQL
C+ DECLARE c1 CURSOR
FOR
C+ SELECT Codigo,Nombre,FechaCese,
Categoria
C+ FROM empleado
C/END-EXEC
C/EXEC
SQL
C+ OPEN
c1
C/END-EXEC
C/EXEC
SQL
C+ FETCH c1 INTO :Empleado
C/END-EXEC
He probado pasar el cursor a variables y si
funciona, pero deseo utilizar una estructura.
Saludos y
gracias.