Hola Foro. Estoy haciendo una prueba para trabajar con SQL dinamico y no hay manera, a ver si me podeis echar una mano. En principio no hace la seleccion y el SQLCOD = -514  Os paso el peque�o programa de pruebas. Compilo con commit *none . hasta que no hemos pasado a V5r3 no he podido hacer nada con sql embebido y esta prueba es bas�ndome en ejemplos que habeis enviado al Foro. La misma seleccion en est�tico funciona bien.
     FFartic    IF   E           k disk
     FProvartic O  a E             disk
     D @empresa        S              3  0 Inz(10)
     D @situac         S              1    Inz('A')
     D @categoria      S              2    Inz('BR')
     D Seletq          S            300
      *
     C                   EVAL      Seletq= 'select arcodi, arnomb, -
     C                             from fartic -
     C                             where arempr=:@empresa and arsitu=:@situac -
     C                             and arcate=:@categoria'                      
�
     C/Exec sql                                                                 
�
     C+ PREPARE stmt FROM :seletQ
     C/end-exec                                                                 
�
      *                                                                         
�
     C/EXEC SQL                                                                 
�
     C+ DECLARE C1 CURSOR FOR Stmt
     C/END-EXEC                                                                 
�
      *                                                                         
�
     C/Exec sql                                                                 
�
     C+ open  C1                                                                
�
     C/end-exec                                                                 
�
      *                                                                         
�
�    C                   Dow       sqlcod <>100 and sqlcod>=0                   
��---------------1-.
     C/Exec sql                                                                 
�                  |
     C+ FETCH NEXT FROM C1 INTO :prcodi, :prnomb
     C/end-exec                                                                 
�                  |
�    C                   If        sqlcod<>100 and sqlcod>=0                    
��-------------2-. |
     C                   Write     Provesr                                      
�                | |
�    C                   Endif                                                  
��-------------2-' |
�    C                   Enddo                                                  
��---------------1-'
     C/Exec sql                                                                 
�
     C+ CLOSE C1
     C/end-exec                                                                 
�
     C                   Seton                                        Lr        
�
=

Responder a