I am trying to execute this code:
******************************************************************
* Author:
* Date:
* Purpose:
* Tectonics: cobc
******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. fuente02.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OPTIONAL CLIENTES ASSIGN TO "./clientes.dat"
ORGANIZATION INDEXED
ACCESS MODE DYNAMIC
RECORD KEY IS ID_CLIENTE
ALTERNATE KEY CLI_NOMBRE WITH DUPLICATES
ALTERNATE KEY CLI_ALT_2 WITH DUPLICATES
STATUS ST-FILE.
DATA DIVISION.
FILE SECTION.
FD CLIENTES.
01 REG-CLIENTES.
03 ID_CLIENTE.
05 CLI_ID PIC 9(7).
03 CLI_SALDO PIC S9(7)V9(3).
03 CLI_NOMBRE PIC X(70).
03 CLI_DIRECCION PIC X(80).
03 CLI_CODPOST PIC X(10).
03 CLI_CATEGORIA PIC X.
03 CLI_ALT_2.
05 CLI_CATEGORIA_2 PIC X.
05 CLI_NOMBRE_2 PIC X(60).
03 CLI_RAZONSOCIAL PIC X(60).
03 FILLER PIC X(240).
WORKING-STORAGE SECTION.
01 ST-FILE PIC XX.
01 X PIC X.
77 BANDERA PIC 9.
01 SALDO-Z PIC Z(6)9,99.
01 SALDO-ZZ PIC ------9,99.
PROCEDURE DIVISION.
PABLO.
PERFORM ABRO-ARCHIVOS.
* PERFORM GRABO-DATOS THRU F-GRABO-DATOS.
PERFORM LEO-DATOS THRU F-LEO-DATOS.
PERFORM CIERRO-ARCHIVOS.
STOP RUN.
ABRO-ARCHIVOS.
OPEN I-O CLIENTES.
IF ST-FILE > "07"
DISPLAY "ERROR ABRIENDO EL ARCHIVO".
CIERRO-ARCHIVOS.
CLOSE CLIENTES.
GRABO-DATOS.
INITIALIZE REG-CLIENTES.
MOVE 1 TO CLI_ID.
MOVE 0 TO CLI_SALDO.
MOVE "VAR-NOMBRE" TO CLI_NOMBRE.
MOVE "W-DIRECCION" TO CLI_DIRECCION.
GRABO-REGISTRO.
WRITE REG-CLIENTES.
IF ST-FILE = "99" GO TO GRABO-REGISTRO.
IF ST-FILE > "07"
DISPLAY "ERROR GRABANDO EL ARCHIVO"
ACCEPT X.
F-GRABO-DATOS.
EXIT.
LEO-DATOS.
INITIALIZE REG-CLIENTES.
START CLIENTES KEY IS NOT LESS THAN ID_CLIENTE.
READ CLIENTES NEXT RECORD.
IF ST-FILE = "99" GO TO LEO-DATOS.
IF ST-FILE > "07"
DISPLAY "ERROR LEYENDO EL ARCHIVO".
MUESTRO-DATOS.
MOVE -15,58 TO SALDO-ZZ.
DISPLAY "Id Cliente" LINE 10 COL 5.
DISPLAY "Saldo" LINE 11 COL 5.
DISPLAY "Nombre" LINE 12 COL 5.
DISPLAY "Direccion" LINE 13 COL 5.
DISPLAY CLI_ID LINE 10 COL 30.
DISPLAY SALDO-ZZ LINE 11 COL 30.
DISPLAY CLI_NOMBRE LINE 12 COL 30.
DISPLAY CLI_DIRECCION LINE 13 COL 30.
ACCEPT X LINE 14 COL 70.
F-LEO-DATOS.
EXIT.
END PROGRAM fuente02.
I create the .dat file uncommenting line 59 (PERFORM GRABO-DATOS THRU F-GRABO-DATOS), and creates .dat file, then I try to read this file uncommenting line 60 (PERFORM LEO-DATOS THRU F-LEO-DATOS), and compiles again with
cobc -m fuente02.cbl
but when I execute the .so file, in a linux terminal this doesn't show nothing, even errors. I expect to read the file and show data with the display orders.
I don't know if this needs some extra params or another option, I am starting with gnucobol and is a tortous path at beginning.
Results of cobc:
reuy@hal:~/Documentos$ cobc -W -v fuente02.cbl
cobc (GnuCOBOL) 3.1.2.0
Compilado Mar 15 2023 22:56:22 Empaquetado Dec 23 2020 12:04:58 UTC
C version "10.2.1 20210110"
cargando fichero común de configuración «default.conf»
línea de órdenes: cobc -W -v fuente02.cbl
preprocesando: fuente02.cbl -> /tmp/cob2835_0.cob
estado devuelto: 0
Results of cobcrun:
reuy@hal:~/Documentos$ cobcrun -r fuente02
GnuCOBOL 3.1.2.0 configuraci?n de tiempo de ejecuci?n
via /usr/local/share/gnucobol/config/runtime.cfg
Configuraci?n de CALL
: COB_LOAD_CASE : not set
: COB_PHYSICAL_CANCEL : no (default)
: COB_PRE_LOAD : not set
: COB_STACKTRACE : s? (default)
: COB_LIBRARY_PATH : not set
Configuraci?n de fichero de E/S
: COB_FILE_PATH : not set
: COB_VARSEQ_FORMAT : not set
: COB_LS_FIXED : no (default)
: COB_LS_NULLS : no (default)
: COB_SORT_CHUNK : 256 KB (default)
: COB_SORT_MEMORY : 128 MB (default)
: COB_SYNC : no (default)
: DB_HOME : not set
Configuraci?n de E/S de pantalla
: COB_BELL : not set
: COB_REDIRECT_DISPLAY : no (default)
: COB_SCREEN_ESC : no (default)
: COB_SCREEN_EXCEPTIONS : no (default)
: COB_TIMEOUT_SCALE : not set (1000)
: COB_INSERT_MODE : no (default)
: COB_MOUSE_FLAGS : 1 (default)
: COB_DISPLAY_PRINT_PIPE : not set
: COB_DISPLAY_PRINT_FILE : not set
: COB_DISPLAY_PUNCH_FILE : not set
: COB_LEGACY : no (default)
: COB_EXIT_WAIT : s? (default)
: COB_EXIT_MSG : 'final de programa, presione una tecla para salir
: ' (default)
Varias
: COB_DISABLE_WARNINGS : no (default)
: COB_ENV_MANGLE : no (default)
: COB_COL_JUST_LRC : s? (default)
: COB_SET_DEBUG : no (default)
: COB_SET_TRACE : no (default)
: COB_TRACE_FILE : not set
: COB_TRACE_FORMAT : '%P %S Line: %L' (default)
: COB_DUMP_FILE : not set
: COB_DUMP_WIDTH : 100 (default)
: COB_CURRENT_DATE : not set
Configuraci?n del sistema
env: USERNAME : 'reuy' (set by LOGNAME)
env: LANG : 'es_CO.UTF-8'
: OSTYPE : not set
env: TERM : 'xterm-256color'
: LOCALEDIR : /usr/local/share/locale
: LC_CTYPE : C
: LC_NUMERIC : C
: LC_COLLATE : es_CO.UTF-8
: LC_MESSAGES : es_CO.UTF-8
: LC_MONETARY : es_CO.UTF-8
: LC_TIME : es_CO.UTF-8
[![enter image description here][4]][4]
Results of compile with -ftraceall and export COB_SET_TRACE=1 at runtime.
reuy@hal:~/Documentos$ cobcrun -runtime fuente02
GnuCOBOL 3.1.2.0 configuraci?n de tiempo de ejecuci?n
via /usr/local/share/gnucobol/config/runtime.cfg
Configuraci?n de CALL
: COB_LOAD_CASE : not set
: COB_PHYSICAL_CANCEL : no (default)
: COB_PRE_LOAD : not set
: COB_STACKTRACE : s? (default)
: COB_LIBRARY_PATH : not set
Configuraci?n de fichero de E/S
: COB_FILE_PATH : not set
: COB_VARSEQ_FORMAT : not set
: COB_LS_FIXED : no (default)
: COB_LS_NULLS : no (default)
: COB_SORT_CHUNK : 256 KB (default)
: COB_SORT_MEMORY : 128 MB (default)
: COB_SYNC : no (default)
: DB_HOME : not set
Configuraci?n de E/S de pantalla
: COB_BELL : not set
: COB_REDIRECT_DISPLAY : no (default)
: COB_SCREEN_ESC : no (default)
: COB_SCREEN_EXCEPTIONS : no (default)
: COB_TIMEOUT_SCALE : not set (1000)
: COB_INSERT_MODE : no (default)
: COB_MOUSE_FLAGS : 1 (default)
: COB_DISPLAY_PRINT_PIPE : not set
: COB_DISPLAY_PRINT_FILE : not set
: COB_DISPLAY_PUNCH_FILE : not set
: COB_LEGACY : no (default)
: COB_EXIT_WAIT : s? (default)
: COB_EXIT_MSG : 'final de programa, presione una tecla para salir
: ' (default)
Varias
: COB_DISABLE_WARNINGS : no (default)
: COB_ENV_MANGLE : no (default)
: COB_COL_JUST_LRC : s? (default)
: COB_SET_DEBUG : no (default)
env: COB_SET_TRACE : s?
: COB_TRACE_FILE : not set
: COB_TRACE_FORMAT : '%P %S Line: %L' (default)
: COB_DUMP_FILE : not set
: COB_DUMP_WIDTH : 100 (default)
: COB_CURRENT_DATE : not set
Configuraci?n del sistema
env: USERNAME : 'reuy' (set by LOGNAME)
env: LANG : 'es_CO.UTF-8'
: OSTYPE : not set
env: TERM : 'xterm-256color'
: LOCALEDIR : /usr/local/share/locale
: LC_CTYPE : C
: LC_NUMERIC : C
: LC_COLLATE : es_CO.UTF-8
: LC_MESSAGES : es_CO.UTF-8
: LC_MONETARY : es_CO.UTF-8
: LC_TIME : es_CO.UTF-8
Source: 'fuente02.cbl'
Program-Id: fuente02
Program-Id: fuente02 Entry: fuente02 Line: 50
Program-Id: fuente02 Paragraph: PABLO Line: 51
Program-Id: fuente02 PERFORM Line: 52
Program-Id: fuente02 Paragraph: ABRO-ARCHIVOS Line: 58
Program-Id: fuente02 OPEN Line: 59
Program-Id: fuente02 IF Line: 60
Program-Id: fuente02 PERFORM Line: 54
Program-Id: fuente02 Paragraph: LEO-DATOS Line: 88
Program-Id: fuente02 INITIALIZE Line: 89
Program-Id: fuente02 START Line: 90
Program-Id: fuente02 READ Line: 91
Program-Id: fuente02 IF Line: 92
Program-Id: fuente02 IF Line: 95
Program-Id: fuente02 Paragraph: MUESTRO-DATOS Line: 99
Program-Id: fuente02 MOVE Line: 100
Program-Id: fuente02 DISPLAY Line: 101
Program-Id: fuente02 DISPLAY Line: 102
Program-Id: fuente02 DISPLAY Line: 103
Program-Id: fuente02 DISPLAY Line: 104
Program-Id: fuente02 DISPLAY Line: 105
Program-Id: fuente02 DISPLAY Line: 106
Program-Id: fuente02 DISPLAY Line: 107
Program-Id: fuente02 DISPLAY Line: 108
Program-Id: fuente02 ACCEPT Line: 109
Program-Id: fuente02 Paragraph: F-LEO-DATOS Line: 111
Program-Id: fuente02 EXIT Line: 112
Program-Id: fuente02 PERFORM Line: 55
Program-Id: fuente02 Paragraph: CIERRO-ARCHIVOS Line: 64
Program-Id: fuente02 CLOSE Line: 65
Program-Id: fuente02 STOP RUN Line: 56