Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Verificar existencia de un Form


mef540
26 de mayo de 2020, 02:20
Hola, tengo esta situación. LLamo un form desde el ppal, si no existe, cobol emite su mje prefijado de error, y ReturnValue está siempre en cero.
Cómo tener el control de si existe o no el nuevo form?
Gracias.

Josber
26 de mayo de 2020, 15:51
Puedes probar con la rutina CBL_CHECK_FILE_EXIST2

El siguiente código está extraido del manual que creé en su momento, donde está explicada ésta rutina y otras muchas más, (puedes encontrar más información AQUÍ (https://www.cobolforo.es/showthread.php?t=831))



DATA DIVISION.
WORKING-STORAGE SECTION.
01 FICHERO PIC X(255).
01 DETALLES.
02 TAMANO PIC 9(18) BINARY.
02 FECHA.
03 DIA PIC 9(4) BINARY.
03 MES PIC 9(4) BINARY.
03 ANNO PIC 9(4) BINARY.
02 HORA.
03 HH PIC 9(4) BINARY.
03 MM PIC 9(4) BINARY.
03 SS PIC 9(4) BINARY.
03 CC PIC 9(4) BINARY.
01 ESTADO PIC S9(4) COMP-5.
PROCEDURE DIVISION.
*
* FICHERO = Nombre del fichero a comprobar, debe terminar en un carácter en blanco o null
* DETALLES = Detalles del fichero
* TAMANO = Tamaño del fichero (en bytes)
* FECHA/HORA = Fecha y Hora de creación del fichero
* ESTADO = Código de retorno de la función:
* 0 - Sin error
* -1 - Algún error
*
INICIO.
MOVE SPACES TO FICHERO.
MOVE "C:\Articulos\Datos\PRUEBA.TXT" & X"00" TO FICHERO.
CALL "CBL_CHECK_FILE_EXIST2"
USING FICHERO
DETALLES
RETURNING ESTADO
END-CALL.
*
IF ESTADO NOT = 0
INVOKE POW-SELF "DisplayMessage"
USING "Error en la llamada a la rutina CBL..."
ESTADO
POW-DMICONERROR
END-INVOKE
INVOKE POW-SELF "CloseForm"
EXIT PROGRAM
END-IF.
*




CBL_CHECK_FILE_EXIST/CBL_CHECK_FILE_EXIST2
Comprueba si existe o no un fichero., además, devuelve tamaño, fecha y hora de creación del fichero.

Kuk
28 de mayo de 2020, 15:23
@mef540, de qué compilador/entorno estamos hablando?

También publica la parte del código done haces la llamada al Form.