Estimado Tocayo, en realidad, si la intención del OVRDBF es que la data del archivo sea compartido por varios trabajos (varios jobs o por varios usuarios) no necesitas especificar dicho OVRDBF (mucho menos el parámetro SHARE).
Particularmente el parámetro SHARE es para compartir el ODP (vale decir la vía de acceso o más claro el puntero del archivo) entre varios programas (normalmente en cascada) de un mismo job, programas que usarían el mismo archivo.
Aún sea así, como lo expones, se supone que el fin de la ejecución del programa implicaría la finalización del efecto del OVRDBF (lo usual sería especificar DLTOVR *ALL en el CL luego dela ejecución del programa) y consecuentemente todo su efecto debería borrarse.
En fin tendríamos que analizarlo un poco más en detalle, pero si la intención es que los registros del archivo sea compartido entre varios programas y/o jobs y/o usuarios, pues no necesitas ninguna especificación adicional (a mi parecer). Cosa aparte es que en un programa se acceda a un registro de un archivo abierto como de actualización, entonces ese registros (tan solo ese registro) quedará bloqueado hasta que se lea otro registro o se produzca la actualización de dicho registro o se desbloquee con la operación UNLOCK, de cualquier manera dicho escenario es por solo un registro.
Recuerda que cuando hay algún tipo de bloqueo que provoca la "caida" de un programa, entonces se puede determinar el job o usuario causante con el comando WRKOBJLCK (cuando el bloqueo es por todo el archivo) o por el comando DSPRCDLCK (cuando el bloqueo es a nivel de registro).
Espero te puedan servir estos comentarios.
Jesús Acuña
www.cursos-as400.com