Sin analizar el resto del CL creo que el problema lo tienes en la ovrdbf, pones:
OVRDBF     FILE(&FILE) TOFILE(&FILE) 
El par�metro FILE(&FILE) lo debes cambiar por FILE(fichero) siendo fichero el nombre del fichero que uses en el programa.
La instrucci�n OPNQRYF tambi�n debe tener este nombre de fichero, al igual que la CLOF y DLTOVR, en lugar de &File. La CLOF debe ser anterior a la DLTOVR.
Un saludo
Luis Eibar
[EMAIL PROTECTED]
 
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]En nombre de Carlos Iglesias
Enviado el: jueves, 06 de marzo de 2003 17:09
Para: [EMAIL PROTECTED]
Asunto: OPNQRYF q no da buen resultado.


Hola,

tengo un CL que pas�ndole como par�metros el fichero y su campo clave y su valor, hace un OVRDBF + OPNQRYF.

Seg�n mis c�lculos, deber�a alterarme temporalmente el archivo y seleccionarme �nicamente aquellos registros que yo estoy acotando.

Pues resulta que este OPNQRYF est� pasando de mi...
4 ojos ven m�s que dos... �alguna sugerencia?

He aqu� mi CL... y gracias por adelantado!!!

PGM        PARM(&USER &FORMATO &FILE &FLDUSU)
                                                     
DCL        VAR(&USER) TYPE(*CHAR) LEN(10)            
DCL        VAR(&FORMATO) TYPE(*CHAR) LEN(30)        
DCL        VAR(&FILE) TYPE(*CHAR) LEN(10)            
DCL        VAR(&FLDUSU) TYPE(*CHAR) LEN(10)          
                                                     
DLTOVR     FILE(&FILE) LVL(*JOB)                    
MONMSG     MSGID(CPF0000)                            
CLOF       OPNID(&FILE)                              
MONMSG     MSGID(CPF0000)                            
                                                     
                                                     
OVRDBF     FILE(&FILE) TOFILE(&FILE) +              
             OVRSCOPE(*JOB) SHARE(*YES) SEQONLY(*YES)

OPNQRYF    FILE((&FILE)) OPTION(*ALL) QRYSLT('"' *CAT +
             &FLDUSU *CAT '" *EQ "' *CAT &USER *CAT +  
             '"') KEYFLD((&FLDUSU)) OPNID(&FILE)      

DLTOVR     FILE(&FILE) LVL(*JOB)
MONMSG     MSGID(CPF0000)          
CLOF       OPNID(&FILE)          
MONMSG     MSGID(CPF0000)          

Responder a