Hola!
A ver si me acuerdo, que hace muchos años que no lo hago así, pero es un
pelín lioso hacerlo por CL:
Si te da el error por el RPG, supongo que te indica que el objeto p.ej:
1453860 está bloqueado, o está siendo usado. Lo primero por CL es
monitorear el error. Quiero decir que no conozco ninguna manera 'previa' de
ver si está bloqueado. Incluso el IFS_OBJECT_LOCK_INFO muchas veces no
recupera un fichero abierto si no ha sido bloqueado expresamente primero.
Si te da el error en la CL, ejecutas un
RTVDIRINF DIR('/Carpeta/subcarpeta') INFFILEPFX(FICHERO) INFLIB(LIB)
Luego recuperas con RUNQRY o LIB/FICHERO y en el campo *QEZFILEIDS* tienes
el nombre del objeto que te ha dado el error y en el campo OBJNAME tienes
el fichero IFS en sí
Yo prefiero los OPEN y OPENDIR de los que hebla SKOTT KLEMENT. Te haces un
programilla que te devuelva si Ok o KO y creo qu es más ràpido:
Yo lo gestiono por carpetas, ya que los ficheros los trabajo con nombre
único pero supongo que es lo mismo:
Saludos!

Carpeta=OpenDir(%Trim(@Direccion_raiz));
If Carpeta=*Null;
   ErrorLog('ERRFLDR');
Endif;




El mié, 19 jun 2024 a las 10:30, datil400 (<datil...@gmail.com>) escribió:

> Hola a tod@s,
>
> antes de tratar un archivo del IFS necesito saber si está bloqueado por
> otro trabajo. Recuerdo un mandato para ello pero no estoy seguro.
>
> Los mandatos CHKIN/CHKOUT no me sirven. He encontrado las APIs QP0FPTOS y
> QP0LROR o la función de tabla IFS_OBJECT_LOCK_INFO, pero pretendo hacer el
> chequeo desde un CL.
>
> ¿Recordáis algún mandato del sistema o utilidad que se haya publicado que
> compruebe el bloqueo de un objeto del IFS?
>
> Gracias por vuestros comentarios.
>
> Javier Mora
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 � Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.

Reply via email to