Arranca el debug y/o el DBMON, pasa el programa y mira los resultados. 
Te dara la informacion que necesitas para poder identificar el problema.

________________________________

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Garce
Sent: jueves, 29 de mayo de 2008 22:23
To: [email protected]
Subject: Parametro de retorno para secuenciador SQL


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