Hola a todos;

Se trata de un SQLRPGLE en formato FREE cuyo nombre es SEC en V5R4, pego mi
código para ser mas "elocuente";

 *    *Entry PList
D MIPGM             PR                  ExtPgm('SEC')
D  vnsec                        10
D  vidsec                       10
D MIPGM             PI
D  vnsec                        10
D  vidsec                       10
 *    *Variables
D sqlstmt         S            200    Varying
D nrosec          S             10  0
 *--------------------------------------------
 /FREE
    Eval sqlstmt = 'Select Nextval for '
         + %trim(vnsec)
         + ' from sysibm/sysdummy1';
    Exec SQL Prepare SS From :SQLSTMT;
    Exec SQL Declare C1 Cursor for SS;
    Exec SQL Open C1;
    Exec SQL Fetch C1 into :nrosec;
    Exec SQL Close C1;
    Eval vidsec = %char(nrosec);
    *inlr = *on;
/END-FREE

Bueno, hasta el FETCH va bien pues llega a incrementar el valor del
secuenciador pasado en el parámetro de entrada "vnsec", también verifico el
valor que se incrementó en ":nrosec", funciona, el problema esta en el
parámetro que quiero utilizar como de salida (vidsec), no consigo que me
reconozca tal parámetro como de retorno, me da el sgte. error;

Error de puntero o parámetro (C G D F).
El puntero no hace referencia a ninguna ubicación.
Error de función. MCH3601 no supervisado por SEC en la sentencia
  0000000139, instrucción X'0000'. (esta sentencia es donde esta "Eval
vidsec = %char(nrosec))

He probado hacerlo en formato fijo y es lo mismo, por si acaso el SQLRPGLE
FREE tenga algún problema, pues eso, se los agradeceré infinitamente por
cualquier sugerencia.

Salu2.
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a