Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   RM/COBOL (https://www.cobolforo.es/forumdisplay.php?f=16)
-   -   [Herramienta] Urgente: Status 98,9 RM-COBOL (https://www.cobolforo.es/showthread.php?t=74)

joaoalpande 18 de marzo de 2015 19:00

Urgente: Status 98,9 RM-COBOL
 
Boa Tarde ,

Estou com um problema grave num cliente , todas as cópias de segurança estão a dar erro status 98,6 , uso RM-COBOL , utilizo o recovery para recuperar e diz :

File: COCTA1 - Bad block overhead in block 101

Recovery failed. A portion of the data records from index file COCTA1 may
exist in the data recovery file specified for recover2.
See the Utilities Appendix of the RM/COBOL-85 User's Guide
for more information.

Alguém pode ajudar-me?

Cumprimentos
João Alpande

Skype: joaoalpande

Kuk 18 de marzo de 2015 19:38

joaoalpande, lamentablemente no conozco RM. Pero, a mi modo de ver podria ser fallo del Run-Time (por una actualizacion de Windows o (des)instalacion de algo).

Puede que diga tonterias, pero a lo mejor te doy una idea:
  • Has probado repetir el proceso en otro PC?
  • Has probado reinstalar el Run-Time?

Josber 18 de marzo de 2015 21:08

joaoalpande, el Status 98, significa índice estropeado, por mi experiencia con RM/85, de hace muchos años, no se podían recuperar los índices, la solución más sencilla que yo veo es que en un programa aparte, crees el mismo fichero pero con organización secuencial, lo lees y lo pasas a un nuevo fichero indexado, yo lo tuve que hacer alguna vez y funcionaba perfectamente.

Suerte y
Un saludo.-

Roger 19 de marzo de 2015 04:42

Intenta con el recovery generalmente el status 98 es un archivo abierto
RECOVERY.BAT ARCHIVO.DAT NUEVO.DAT
Creo asi era la sintaxis
esto es lo que hace

Código:

@ECHO OFF
CLS
IF "%1" == "" GOTO ERR1
IF "%2" == "" GOTO ERR1
IF NOT EXIST %1 GOTO ERR2
ECHO Attempt to recover '%1' in place:
PAUSE
RECOVER1 %1 %2
IF ERRORLEVEL 2 GOTO ERR3
IF ERRORLEVEL 1 GOTO REC2
CLS
ECHO Index file '%1' recovered in place.  Records with invalid duplicate keys
ECHO  can be found in '%2'.
GOTO ENDIT
:REC2
ECHO Attempt to extract data records from '%1' (file structure will
ECHO  be retrieved from the original index file):
PAUSE
RUNCOBOL RECOVER2 L=RECOVER2 K A='%1,%3,NOSUB'
IF NOT ERRORLEVEL 1 GOTO GOOD2
ECHO Attempt to extract data records from '%1' (file structure must
ECHO  be supplied by user):
PAUSE
RUNCOBOL RECOVER2 L=RECOVER2 K A='%1,%3,SUB'
IF ERRORLEVEL 1 GOTO ERR4
:GOOD2
CLS
ECHO The data recovery file specified for RECOVER2 contains the data records
ECHO  from index file '%1'.
ECHO See RM/COBOL-85 User's Guide, Appendix I, Utilities.
GOTO ENDIT
:ERR1
ECHO Usage:        RECOVERY index-file-name drop-file-name [data-recovery-file-name]
GOTO ENDIT
:ERR2
ECHO File '%1' does not exist - execution terminated
GOTO ENDIT
:ERR3
CLS
ECHO Recovery process canceled by operator.
GOTO ENDIT
:ERR4
ECHO Recovery failed.  A portion of the data records from index file '%1' may
ECHO  exist in the data recovery file specified for RECOVER2.
ECHO See RM/COBOL-85 User's Guide, Appendix I, Utilities.
:ENDIT


RMontoya 19 de marzo de 2015 17:24

Con el recover1.exe lo corriges.
RECOVER1.exe archivo xxxx

archivo sera el nombre de tu archivo con todo y extencion
y las xxxx sera cualquier nombre donde gravara lo no recuperado.

Si tienes RM version 5 o mayor puedes usar los recover1.exe de versiones
mas adelantadas como version 7 / 11.

Alarpe 20 de marzo de 2015 01:08

¿que versión de cobol usas?

con mi mal ingles, he medio entendido que el problema que tienes es que tienes unos registros del fichero origen en el fichero destino.

creo que has definido mal el indice en el fichero origen y da como error un duplicado de claves.

no se si usar indexación en un fichero o en dos ( fichero dat/ fichero dat + fichero inx) yo empleé un compilador con la segunda opción. cuando tenía un error 98, leía el fichero dat como archivo de acceso directo en modo secuencial y generaba de nuevo un fichero indexado.

joaoalpande 24 de marzo de 2015 15:52

ola , o arquivo está corrompido, o Recovery não recupera , fiz programa para ler sequencial e não consegue recuperar o arquivo , outra solução?
uso RM-COBOL - 85 VERSION 6.09 FOR UNIX
Skype: joaoalpande

Gracias
João ALpande

Josber 24 de marzo de 2015 16:13

joaoalpande, yo tengo el compilador de RM-Cobol/85 ver. 5.36.00 para MS-Dos, si quieres enviarme el archivo estropeado y la estructura de la DATA DIVISION, puedo probar a ver si con esa versión se puede hacer algo.

Código:

Mi correo es [email protected]
Un saludo.-

joaoalpande 24 de marzo de 2015 16:34

Enviei

Gracias

RMontoya 24 de marzo de 2015 18:17

Cita:

Citación del post de joaoalpande (Mensaje 274)
Enviei

Gracias

Si es necesario enviame tambien el archivo dañado
para ver si con el RMCOBOL 7.0 se puede recuperar.

Saludos.
[email protected]


La franja horaria es GMT +2. Ahora son las 17:16.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.