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.