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