Clarion - Error "Falta comilla de cierre después de la cadena ..." (con BD MS-SQL Server)

 
Vista:
sin imagen de perfil

Error "Falta comilla de cierre después de la cadena ..." (con BD MS-SQL Server)

Publicado por JAVIER (11 intervenciones) el 31/10/2014 11:13:36
Hola,
- El o los problemas han surgido con la aplicación Clarion trabajando con base de datos MS-SQL Server,
en una Window de Mantenimiento de Centros que contiene un ListBox con todos los Centros existentes.
- Un usuario está trabajando normalmente con nuestra aplicación desde distintas partes de ésta, accediendo a un "Browse" de Centros para seleccionar uno de ellos para que le sirva de filtro al módulo en el que está trabajando. Como he dicho, esto lo hace normalmente sin que le suponga ningún problema.
- En esto, que llega un momento, en que encontrándose un rato trabajando en el mismo módulo del programa habiendo cambiado la selección del Centro varias veces ...
, va a acceder una vez más al "Browse" de Centros y no ve más que un Centro, ¡¡han desaparecido todos los demás Centros!!.
- Otras veces, realizando las mismas acciones sobre el módulo, además de la desaparición de los Centros aparece una ventana con el siguiente error:
File Error: Falta la comilla de cierre después de la cadena de caracteres '8? ) AND A."CODIGO" >= ? ORDER BY A."CODIGO"'

- En las Global prop., en la configuración de la "class" Browser, todas las opciones de "Database optimiz." está desmarcadas tras haber pulsado "SQL".
- La File-Browsing Lib Box está configurada con Key Access única, el CODIGO del Centro:
- En el Browse Box Behavior:
Loading Method: "File" ó "Page" he probado con ambos.
Locator Behavior: "Entry"
Record Filter: una expresión que sirve para acotar el centro por código desde/hasta.
Range Limits: No se emplea (Range Limit Field vacío).
Hot Fields: con las variables usadas Filter marcadas con el BIND marcado.

- He intentado obtener desde el INIT el contenido de la sentencia SQL, {prop:SQL}, que se envía a la base de datos ...
RSTGMA1P{PROP:Log} = clip(ls_StrProfiling) & 'SQLFilter=' & clip(RSTGMA1P{Prop:Sql})
RSTGMA1P{PROP:Log} = clip(ls_StrProfiling) & 'WCENTRODESDE="' & clip(WCENTRODESDE) & '"' & chr(9) |
& 'WCENTROHASTA="' & clip(WCENTROHASTA) & '"'
... con los siguientes resultados devueltos:
SQLFilter=SELECT "EMPRESA","CODIGO","DESCRIPCION", ...
FROM dbo.rstgma1p
WHERE "EMPRESA" = ? AND "CODIGO" = ?
... y con ...
WCENTRODESDE="" WCENTROHASTA="zzzzzzzzzz"

- Además, traceando los accesos al file desde la ejecución del Browse, lo único que me parece sospechoso, es que SIEMPRE antes de que se reproduzca esta incidencia (de cualquiera de las dos formas: "error falta comilla ..." o desaparición de Centros) aparece una orden RESETFile, que en los casos en que todo va OK, no aparece.

- Adjunto imagen en la que se puede observar la traza de una apertura correcta del Browse de Centros (arriba) y la de una apertura con error y desaparición de centros. El RESETfile aparece SIEMPRE Y SÓLO antes del error o, sin error, una visualización con falta de Centros. En la traza, si todo ha ido bien, el último centro que lee es X_CESPA, el último de la tabla por clave única; si no, si desaparecen centros, tras el NEXT sólo aparece el CENTRAL

Con todo, les agradezco el interés prestado.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder