Por ejemplo podría ser así.

 

            PGM

            DCLF       FILE(GESTION/AP400PF) RCDFMT(AP400R)  

            MONMSG     MSGID(CPF2110)

            MONMSG     MSGID(CPF2104)

LEER:

            RCVF       RCDFMT(AP400R)                        

            MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN))   

 

            IF         COND(&USRCOD = 'PEDRO') THEN(DO)  

            ....

            GOTO       CMDLBL(FIN)

            ELSE

            GOTO       CMDLBL(LEER)

            ENDDO 

FIN:

            

Donde &USRCOD es el campo del fichero a controlar, es algo parecido a un
SNDRCVF a una pantalla DSPF.

 

También podrías hacerle un QRY que crease un fichero de trabajo puente y que
los ordenase previo a empezar el bucle de lectura.

 

Suerte y un saludo

 

 


LogoElayFri

Vicente Aliaga
Director Informática

 

961 920 029

[email protected]

 


Silomar Elaborados y Distribución, SL & Silomar Frigoríficos, SL

Autovía A-3 Madrid-Valencia, km 345 • 46930 • QUART DE POBLET • Valencia •
www.silomar.es


P No lo imprima si no es necesario. Protejamos el medio ambiente.

Este mensaje y sus archivos adjuntos pueden contener información
confidencial y están dirigidos exclusivamente a su destinatario. Le
informamos que la legislación vigente prohíbe el uso, divulgación o copia
del contenido del presente mensaje por persona distinta del destinatario sin
autorización previa. Si Ud. no es el destinatario de este mensaje y lo ha
recibido por error le agradeceríamos que nos lo comunicara y que procediera
a destruirlo. This message can contain confidential information and is
directed exclusively to its adressee. We inform you that the legislation
prohibits to use, spreading or copy the content of the present message by
person different from the adressee without previous authorization. If you
are not the adressee of this message or you have received it by error we
would be thankful if you notify us and delete it.

 




 

De: [email protected]
[mailto:[email protected]] En nombre de Carlos C.
Enviado el: viernes, 23 de septiembre de 2016 15:38
Para: forum.help400; [email protected]
Asunto: Leer registro por clave en CL

 

Buen dia Foro

Algunos de Uds. tuvieron necesidad de leer un archivo por clave en CLP y
obtener un campo?

 

Por ejemplo: tengo una tabla de usuario y quiero leer por ID para obtener un
campo X.

 

RTVJOBA USER(&USERID)                                 
                                                      
OVRDBF     FILE(MYFILE) TOFILE(QS36F/MYFILE) +        
             POSITION(*KEY 1 USRREC &USRCOD)          
RCVF                                                  
                                                      
MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN))      
                                                      
CLOF       OPNID(MYFILE)                              
DLTOVR     FILE(MYFILE)                   



Mensaje . . . . :   myPGM ha recibido CPF4137 en la sentencia 3800. (C D I

  R)

Causa . . . . . :   El programa de lenguaje de control (CL) MYPGM de la

  biblioteca WRKCARLOSP ha detectado un error en la sentencia número 3800.
El  
  texto del mensaje de CPF4137 es: Opción de posición para miembro MYFILE no

  válida.

Recuperación  . :   Este mensaje de consulta se puede evitar cambiando el

  programa. Supervise en busca de un error (mandato MONMSG) y lleve a cabo
la  
  recuperación de errores en el programa. Para continuar, elija un valor de

  respuesta.

Elecciones posibles de respuesta al mensaje . . . :

  C -- Cancelar el programa CL.


            

Saludos y gracias 

 

 

 

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a