Iniciar Sesión

Ver la Versión Completa : [Herramienta] Servidor no actualiza en su pantalla lo de client


orlando
10 de diciembre de 2020, 00:05
cordial saludo

tengo un aplicativo en POWERCOBOL de TURNOS, Por ahora dividi la pantalla en 2 secciones entonces tengo una red en windows de cliente1 que hace las veces de servidor y cliente2 los cuales actualizan (adiciona ) su turno cada vez .

asi por ejemplo el cliente 1 maneja la seccion 1 y el cliente2 maneja la seccion 2.

si por ejemplo el cliente 1 va en el turno 29 y el cliente 2 en 47 aparecera 29/47

para seguir con el ejemplo cuando el cliente 1 actualiza un turno aparecera 30/47 en la pantalla del cliente1 que hace veces de servidor ....pero en el cliente2 no actualiza esto sin no sigue apareciendo 29/47 y visevera para el cliente2

es decir actualiza cada cliente como si fuese monousuario,,,,,,,,,,,por lo cual no se que hara falta
e investigado y se han referido a un servidor visual pero desconozco esto.

ahora si fuese error de programacion no actualizaria ningun cliente...@Kuk, @JCantero, @Nitzer, @jmeza, @Rapinto, @fastpho,

fastpho
10 de diciembre de 2020, 13:12
@orlando, antes que nada no etiquetes personas , en el foro hay muchos que te pueden ayudar ...
Con respecto a tu problema calculo que estas trabajando con algun timer , revisa la parte del refresh de tu app
Saludos

orlando
10 de diciembre de 2020, 18:56
@orlando, antes que nada no etiquetes personas , en el foro hay muchos que te pueden ayudar ...
Con respecto a tu problema calculo que estas trabajando con algun timer , revisa la parte del refresh de tu app
Saludos
si es
te refieres a el reloj ,,,,,,,o fecha y reloj en tal caso se lo quito voy a mirrar y disculpa por etiquetar

Josber
10 de diciembre de 2020, 19:26
Has probado con

INVOKE POW-SELF "ThruEvent"

para que te actualice todos los subprocesos que tiene en marcha

Un salu2.-

orlando
12 de diciembre de 2020, 19:02
bueno
voy a colocarlo antes de cerrar archivos imagino

---------- Post añadido : 18:02 ---------- Post anterior : 20:07 ----------

Has probado con

INVOKE POW-SELF "ThruEvent"

para que te actualice todos los subprocesos que tiene en marcha

Un salu2.-

si uya hice esto sigue funcionando como monousuario ......es decir igual

Josber
12 de diciembre de 2020, 21:39
es decir igual

¡¡Uffff!!, pues así, sin ver ni el programa, ni el código fuente, pueden ser mil cosas ...

orlando
12 de diciembre de 2020, 22:01
bno mira por que mail te lo envio:confused:

Kuk
12 de diciembre de 2020, 22:15
@orlando, publícalo aquí, así lo ve más gente

orlando
12 de diciembre de 2020, 23:09
bnas tardes

esta es rutina de adicion y fd

FD ATENCION GLOBAL EXTERNAL LABEL RECORD STANDARD.
01 ATENCION-REC.
02 ATENCION-KEY.
03 OFICINA-AT PIC 99.
03 ANO-AT PIC 9(4).
03 MES-AT PIC 99.
03 DIA-AT PIC 99.
02 ATENCION1-KEY.
03 ANO1-AT PIC 9(4).
03 MES1-AT PIC 99.
03 DIA1-AT PIC 99.
03 OFICINA1-AT PIC 99.
02 CANT-ATENCION-AT PIC 9(6).
02 QUEDO PIC 99.
02 cAMPO-LIBRE PIC X(15).

ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 SWICH GLOBAL EXTERNAL.
02 SWT PIC 9.
01 SWICH1 GLOBAL EXTERNAL.
02 SWT1 PIC 9.
01 SNU-G GLOBAL EXTERNAL.
02 SNU-1 PIC 99.
02 SNU-2 PIC 99.
01 SN-UL GLOBAL EXTERNAL.
02 SNUS-U PIC 99.
02 SNUT-U PIC 99.
* 01 SNU-G GLOBAL EXTERNAL.
* 01 SNU-1 PIC 999 value 0.
* 01 SNU-2 PIC 999 value 0.
01 cantidadw PIC 999999.
01 SNU GLOBAL EXTERNAL.
02 SNU-11 PIC 99.
02 SNU-22 PIC 99.
01 SNUS PIC 999 VALUE 0.
01 SNUT PIC 999 VALUE 0.
01 ACUMULADO PIC 9(5) VALUE 0.
* 01 catg GLOBAL EXTERNAL.
*- 01 CAS1 PIC 999.
* 01 CAT2 PIC 999.
01 FECHA.
02 AA PIC 99.
02 MM PIC 99.
02 DD PIC 99.
01 SW GLOBAL EXTERNAL.
02 1VEZ PIC 9.
* 01 SWT pic 9 VALUE 0.
01 USUARIO GLOBAL EXTERNAL.
02 DEFINE PIC 9.
02 SISTEMA PIC 999.
02 TESORERIA PIC 999.
01 SS PIC 999.
01 ST PIC 999.
01 SISTEMA-1 PIC 999 VALUE 0.
01 TESORERIA-2 PIC 999 VALUE 0.
01 gen GLOBAL EXTERNAL.
02 general pic 999.
01 AAD PIC 9999 VALUE ZEROS.
01 QUEDO-W PIC 99.
01 CANT-ATENCION-AT-W PIC 9(6).


PROCEDURE DIVISION.
mayor-100.
move swt to pow-numeric of cmstatic11.
IF DEFINE not = 1 or 2
INVOKE CMCOMMAND2 "SETFOCUS".

IF DEFINE = 1 move SISTEMA to ss.
IF DEFINE = 2 move TESORERIA to st.
INICIO.

IF DEFINE = 1 move SS to snuS.
IF DEFINE = 2 move ST to snuT.


adiciona.
IF SWT = 0
ADD 0 TO SNUS SNUT
.
IF SWT = 1 AND DEFINE = 1
ADD 1 TO SNUS.

IF SWT = 1 AND DEFINE = 2
ADD 1 TO SNUT.
move DEFINE to pow-numeric of cmstatic12.

IF DEFINE = 1 move snuS to sistema SISTEMA-1

MOVE POW-COLOR-RED TO FORECOLOR OF CMSTATIC3.
*
IF DEFINE = 2 move snuT to tesoreria TESORERIA-2

MOVE POW-COLOR-BLUE TO FORECOLOR OF CMSTATIC9.
**********************************************
IF SNUS = 100 AND DEFINE = 1 move 0 TO snuS sistema
move 0 to swt
ADD 1 TO CANT-ATENCION-AT
go to mayor-100.
if snut = 100 AND DEFINE = 2 move 0 TO snuT TESORERIA
move 0 to swt
ADD 1 TO CANT-ATENCION-AT
go to mayor-100.
* move 0 to swt.
**********************************************
OPEN I-O ATENCION.
ACCEPT FECHA FROM DATE.
IF AA > 90
COMPUTE AAD = 1900 + AA
MOVE AAD TO ANO-AT ANO1-AT
ELSE
COMPUTE AAD = 2000 + AA
MOVE AAD TO ANO-AT ANO1-AT.

* MOVE AA TO ANO-AT ANO1-AT.
MOVE MM TO MES-AT MES1-AT.
MOVE DD TO DIA-AT DIA1-AT.
MOVE DEFINE TO OFICINA-AT OFICINA1-AT.
*****************************************
* move swt to pow-numeric of cmstatic12
* move 1vez to pow-numeric of cmstatic13
* MOVE 0 TO SWT.
************************rutina saber dnde quedoooo******************
IF DEFINE = 1 AND SWT = 0 or swt = 1
MOVE POW-COLOR-red TO FORECOLOR OF CMSTATIC3
MOVE 250 TO "Size" OF "FONT" OF CmSTATIC3
MOVE SNUS TO POW-NUMERIC OF CmSTATIC3
else
IF DEFINE = 2 AND SWT = 0 or swt = 1
MOVE POW-COLOR-blue TO FORECOLOR OF CMSTATIC9
MOVE 250 TO "Size" OF "FONT" OF CmSTATIC9
MOVE SNUT to poW-NUMERIC OF CmSTATIC9.
******rut quedoooooooooooooooooooooooooooooooooooooooooooo
*
****************************fin saber dde quedoooo*********************
LEE. READ ATENCION INVALID KEY GO CREA.
* ESCRIBE QUEDO
move 0 to 1vez
if DEFINE = 1 AND SWT = 0 or swt = 1
MOVE DEFINE TO OFICINA-AT OFICINA1-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
ADD 1 TO QUEDO CANT-ATENCION-AT
move quedo to snus QUEDO-W
MOVE CANT-ATENCION-AT TO CANT-ATENCION-AT-W
MOVE SNUs to poW-NUMERIC OF CmSTATIC3
move cant-atencion-at TO CAPTION OF CMSTATIC7
move QUEDO-W to quedo
MOVE CANT-ATENCION-AT-W TO CANT-ATENCION-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
MOVE DEFINE TO OFICINA-AT OFICINA1-AT.

if DEFINE = 2 AND SWT = 0
MOVE DEFINE TO OFICINA-AT OFICINA1-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
ADD 1 TO QUEDO CANT-ATENCION-AT
move quedo to SNUT QUEDO-W
MOVE CANT-ATENCION-AT TO CANT-ATENCION-AT-W
MOVE SNUT to poW-NUMERIC OF CmSTATIC9
move cant-atencion-at TO CAPTION OF CMSTATIC8
move QUEDO-W to quedo
MOVE CANT-ATENCION-AT-W TO CANT-ATENCION-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
MOVE DEFINE TO OFICINA-AT OFICINA1-AT.

if DEFINE = 2 AND SWT = 1
MOVE DEFINE TO OFICINA-AT OFICINA1-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
ADD 1 TO QUEDO CANT-ATENCION-AT
move quedo to SNUT QUEDO-W
MOVE CANT-ATENCION-AT TO CANT-ATENCION-AT-W
MOVE SNUT to poW-NUMERIC OF CmSTATIC9
move cant-atencion-at TO CAPTION OF CMSTATIC8
move QUEDO-W to quedo
MOVE CANT-ATENCION-AT-W TO CANT-ATENCION-AT
MOVE AAD TO ANO-AT ANO1-AT
MOVE MM TO MES-AT MES1-AT
MOVE DD TO DIA-AT DIA1-AT
MOVE DEFINE TO OFICINA-AT OFICINA1-AT.

*2345678
REWRITE ATENCION-REC INVALID KEY STOP "NO rGRABRA ".
go fin.
CREA.
MOVE 0 TO QUEDO
MOVE 1 TO CANT-ATENCION-AT 1vez
*2345678
WRITE ATENCION-REC INVALID KEY
MOVE 1 TO 1VEZ STOP "NO GRABRA X CREA".
REWRITE ATENCION-REC INVALID KEY STOP "NO rGRABRA ".

FIN.
INVOKE POW-SELF "REFRESH".
INVOKE POW-SELF "ThruEvents".
CLOSE ATENCION.
* MOVE 9 TO 1VEZ.
IF DEFINE = 1 and swt not = 9
MOVE CANT-ATENCION-AT TO CAPTION OF CMSTATIC7
else
IF DEFINE = 2 and swt not = 9
MOVE CANT-ATENCION-AT TO CAPTION OF CMSTATIC8.
* if swt = 0
* move 1 to swt.
MOVE DEFINE to pow-numeric of cmstatic13.
move swt to pow-numeric of cmstatic14.
EXIT PROGRAM.

Usa los botones de resalto de sintaxis

orlando
21 de diciembre de 2020, 23:26
@orlando, antes que nada no etiquetes personas , en el foro hay muchos que te pueden ayudar ...
Con respecto a tu problema calculo que estas trabajando con algun timer , revisa la parte del refresh de tu app
Saludos

si ya ensaye refresh sigue igual

Kuk
22 de diciembre de 2020, 17:18
@orlando, suponiendo que estás seguro de que el problema consiste en que los datos no se actualizan en la pantalla (no se pintan/repintan) pero las variables contienen datos correctos, debes invertir estas dos líneas:


INVOKE POW-SELF "REFRESH".
INVOKE POW-SELF "ThruEvents".


El método Refresh debe ir después del ThruEvents

fastpho
22 de diciembre de 2020, 19:31
@orlando, te paso un pequeño prg , funciona bien es un ejemplo sencillo , probalo , tenes q cambiar solo la letra del disco de trabajo

fastpho
22 de diciembre de 2020, 19:41
@orlando,aca el ejemplo

orlando
22 de diciembre de 2020, 23:57
@orlando, suponiendo que estás seguro de que el problema consiste en que los datos no se actualizan en la pantalla (no se pintan/repintan) pero las variables contienen datos correctos, debes invertir estas dos líneas:


INVOKE POW-SELF "REFRESH".
INVOKE POW-SELF "ThruEvents".


El método Refresh debe ir después del ThruEvents

muy amable ensayare y les cuento

---------- Post añadido : 22:57 ---------- Post anterior : 22:49 ----------

@orlando, te paso un pequeño prg , funciona bien es un ejemplo sencillo , probalo , tenes q cambiar solo la letra del disco de trabajo

muy amable lo probare y les comento

Kuk
23 de diciembre de 2020, 09:35
@orlando, lo mismo me está fallando la memoria, y no se debe invertir...

Colegas, alguien que lo confirme o desmienta porque me estoy liando :D

orlando
23 de diciembre de 2020, 16:46
@orlando,aca el ejemplo

muy amable perdona mi ignorancia lo has trabajado en red multusuario , pues te comento cuando yo he trabajado red multiusuario siempre he utilizado por ej "\\Usuario-pc\turnos\Debug\ATENCION.DAT" en el archivo .sl
donde usuario pc es el servidor y lo otro es ruta de archivo.

en el programa utilizas en opened un solo \, no se de donde sale o como lo haces. creo \ z me pudieras dar una explicacion.

fastpho
23 de diciembre de 2020, 18:06
@orlando, yo en mi entorno de red trabajo con los disco compartidos completos , y utilizo net use para crear una imagen del disco del servidor en los usuarios , por esos si el prg corre sobre el servidor la letra seria "C:"
y en el caso de los usuarios "Z:"
MOVE "C:" TO DISCO-TRABAJO-1. *> Cambiar la letra de disco compartido ej Z:\
y para que funcione en el servidor debes crear una carpeta que se llame turnos y dentro la carpeta archivos el programa cuando lo corras generara el archivo turnos.dnx
Saludos

---------- Post añadido : 18:06 ---------- Post anterior : 18:03 ----------

@orlando, MOVE "C:" TO DISCO-TRABAJO-1. *> Cambiar la letra de disco compartido ej Z:\ no me deja editar el post anterior no se porque C:\

orlando
23 de diciembre de 2020, 23:08
@orlando, suponiendo que estás seguro de que el problema consiste en que los datos no se actualizan en la pantalla (no se pintan/repintan) pero las variables contienen datos correctos, debes invertir estas dos líneas:


INVOKE POW-SELF "REFRESH".
INVOKE POW-SELF "ThruEvents".


El método Refresh debe ir después del ThruEvents

buena tarde no funciono tampoco jejej antes me mostraba al menos los 2 turnos aunque no actualizaba ahora
muestra cada turno independiente el otro no lo muestra

---------- Post añadido : 22:08 ---------- Post anterior : 22:05 ----------

@orlando, suponiendo que estás seguro de que el problema consiste en que los datos no se actualizan en la pantalla (no se pintan/repintan) pero las variables contienen datos correctos, debes invertir estas dos líneas:


INVOKE POW-SELF "REFRESH".
INVOKE POW-SELF "ThruEvents".


El método Refresh debe ir después del ThruEvents

no funciono, antes mostraba los 2 turnos ,ahora muestra el de el cliente en el cliente y el de servidor en el servidor

orlando
1 de febrero de 2021, 17:29
si es
te refieres a el reloj ,,,,,,,o fecha y reloj en tal caso se lo quito voy a mirrar y disculpa por etiquetar

@fastpho,

orlando
1 de febrero de 2021, 17:40
cordial saludo

te envio pantallazos de tu programa para si me puedes colaborar el error

@fastpho,

fastpho
1 de febrero de 2021, 20:29
@orlando, el error te da por que no existe la direccion \turnos\archivos en la pc del cliente , comparti el disco c: completo en el servidor, para el programa de ejemplo funcione , entonces en el clientes neteate con Z:\ y te funcionara