Ver la Versión Completa : [Sintaxis] NO LOCK en "Read ... previous record" no anda?
Adrianeloy
11 de abril de 2016, 20:41
Al leer un fichero indexado avanzando/retrocediendo registros (luego de START)...
READ ... NEXT RECORD NO LOCK ... me funciona a la perfeccion, pero la instruccion:
READ ... PREVIOUS RECORD NO LOCK me muestra solo el primer registro leido, y no retrocede de ninguna manera.
Pero si le quito la opcion "NO LOCK" funciona a la perfección.
Este inconveniente lo tengo desde hace mucho tiempo, pero necesitaria que el previous record tambien me mantuviera el registro sin bloquear.
Estaré haciendo algo mal o esa opcion no funciona con PREVIUS RECORD?
Josber
11 de abril de 2016, 20:50
Yo tengo el siguiente código y funciona perfectamente
MOVE "Text" OF CAMPO1 TO ARTCOD.
START ARTICULOS KEY LESS THAN XACOD
INVALID KEY
INVOKE POW-SELF "Alarm"
ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
INVOKE POW-SELF "DisplayMessage"
USING "*ERROR: Principio de fichero ..."
WS-ATENCION
ESTILO
END-INVOKE
INVOKE BTANT "SetFocus"
EXIT PROGRAM
END-START.
READ ARTICULOS PREVIOUS RECORD WITH NO LOCK
AT END
INVOKE POW-SELF "Alarm"
ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
INVOKE POW-SELF "DisplayMessage"
USING "*ERROR: Principio de fichero ..."
WS-ATENCION
ESTILO
END-INVOKE
INVOKE BTANT "SetFocus"
EXIT PROGRAM
NOT AT END
MOVE ARTCOD TO "Text" OF CAMPO1
CALL "EXISTE"
END-READ.
Lo único que se me ocurre, es que no hagas correctamente el START, y en vez de LESS THAN, pongas GREATER THAN ...
Un saludo.-
Adrianeloy
12 de abril de 2016, 14:26
Josber, El Start funciona a la perfeccion y el programa funciona perfectamente cuando le quito la opcion "NO LOCK" a la sentencia READ PREVIOUS RECORD.
Pero se la agrego, compilo y ejecuto y no retrocede ningun registro, solo me muestra el primer registro hallado!
Me falto decir que funciona en Powercobol V3.
Voy a probarlo en Netcobol 9, a ver si hace lo mismo...
Josber
12 de abril de 2016, 16:33
Pues o es un fallo de la versión 3 o no se me ocurre qiue puede pasar, yo en FILE-CONTROL, inserto todos los ficheros con más o menos la misma estructura:
000001 SELECT OPTIONAL MENSAJES *> FICHERO DE MENSAJES
000002 ASSIGN TO FILEMEN
000003
000004 ORGANIZATION IS INDEXED
000005 ACCESS MODE IS DYNAMIC
000006 RECORD KEY IS MENCOD
000010 ALTERNATE KEY IS MENFEC WITH DUPLICATES
000020 ALTERNATE KEY IS MENREC WITH DUPLICATES
000999 LOCK IS AUTOMATIC WITH LOCK ON RECORD
001000 FILE STATUS IS STMEN.
Prueba a hacer la estructura más o menos así y nos comentas algo ...
Un saludo.-
Adrianeloy
13 de abril de 2016, 14:59
Josber, Acabo de probar lo mismo en Netcobol V9 y el "NO LOCK" en Read Previous Record funciona perfectamente!
Asi que lamentablemente, es un error que tiene el Powercobol V3.
Una verdadera lastima...
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.