gnu用COBOL编译代码时出现无效键错误



我正在根据讲义学习COBOL。在学习结束时,我将这些代码复制到一个名为testerel01.cob的文件中。然后,我通过从源代码编译安装了gnucobol 3.1.2。编译时出现了几个错误。我修复了大部分,但这一个我无法修复。

testerel01.cob:78:错误:密钥项无效

代码如下:

PROCEDURE DIVISION.
INICIAL.
OPEN INPUT CLIENTES
IF NOT VALID-CLIENTES
DISPLAY MESSAGE BOX 
"O ARQUIVO DE CLIENTES NÃO FOI ABERTO !!" H"0A" 
"CODIGO DE STATUS: " STAT-CLIENTES
GOBACK
END-IF.

OPEN OUTPUT IMPRESSORA
IF NOT VALID-IMPRESSORA
DISPLAY MESSAGE BOX "IMPOSSIVEL ABRIR IMPRESSORA !" H"0A" 
"CODIGO DE STATUS: " STAT-IMPRESSORA
GOBACK
END-IF.
MOVE LOW-VALUES TO CLI-NOME.
START CLIENTES KEY IS > CLI-NOME 
IF NOT VALID-CLIENTES
DISPLAY MESSAGE BOX
"IMPOSSIVEL LOCALIZAR CLIENTES !!" H"0A"
"CODIGO DE STATUS: " STAT-CLIENTES
EXIT PARAGRAPH
END-IF
END-START
*******************************************************************
** VAMOS FAZER UM LOOP PARA LER NOSSO ARQUIVO DE CLIENTES ATE O
** FINAL E FAZER A IMPRESSÃO, NO FINAL MANDAMOS IMPRIMIR O RODAPE 
** COM A TOTALIZAÇÃO DOS REGISTROS
*******************************************************************
PERFORM UNTIL 1 <> 1
READ CLIENTES NEXT AT END
PERFORM RODAPE1
EXIT PERFORM
END-READ
*******************************************************************
** ALIMENTAREMOS OS DADOS DO RELATORIO COM AS INFORMAÇÕES DO NOSSO
** CADASTRO QUE SERÃO IMPRESSAS
*******************************************************************
MOVE CLI-CODIGO TO LDT-CODIGO
MOVE CLI-NOME   TO LDT-NOME
MOVE CLI-CIDADE TO LDT-CIDADE
MOVE CLI-UF     TO LDT-UF
*******************************************************************
** A VARIAVEL LINHAS NOS PERMITE FAZER A QUEBRA DE PAGINA PERCEBA
** QUE INICIOU VALENDO 80, DESSA FORMA FORÇA A IMPRESSAO DO 
** CABECALHO DA PRIMEIRA PAGINA
*******************************************************************
IF LINHAS > 61
PERFORM CABECALHO
END-IF
ADD 1 TO LINHAS, CONTADOR
WRITE RG-IMPRESSORA FROM LDT AFTER 1
END-PERFORM.

发生错误的第78行是:

START CLIENTES KEY IS > CLI-NOME

正如@Simon Sobisch所建议的那样,编译器希望告诉您这不是SELECT子句中定义的键。

最新更新