Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Cobol Curso, Notas de estudo de Análise de Sistemas de Engenharia

material sobre cobol

Tipologia: Notas de estudo

2014

Compartilhado em 09/07/2014

marcio-silva-0x2
marcio-silva-0x2 🇧🇷

1 documento

1 / 55

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Indice
1.- Introdução
2.- Formato do Fonte Cobol
2.1 Área de numeração seqüencial
2.2 Área de indicação
2.3 Área A
2.4 Área B
3. Estrutura de um Programa Cobol.
3.1 IDENTIFICATION DIVISION
3.2 ENVIRONMENT DIVISION
3.2.1 CONFIGURATION SECTION
3.2.2 INPUT-OUTPUT SECTION
3.3 DATA DIVISION
3.3.1 Especificação dos dados
3.3.1.1 Nível
3.3.1.2 Nome do dado
3.3.1.3 Formato do dado
3.3.1.4 Valor inicial
3.3.2 Estrutura da DATA DIVISION
3.3.2.1 FILE SECTION
3.3.2.2 WORKING-STORAGE SECTION
3.4 PROCEDURE DIVISION
3.4.1 Movimentação de dados
3.4.2 Cálculos aritméticos
3.4.2.1 Adição
3.4.2.2 Subtração
3.4.2.3 Multiplicação
3.4.2.4 Divisão
3.4.2.5 Resolução de fórmulas
3.4.3 Comandos condicionais
3.4.3.1 Formato dos comandos condicionais
3.4.3.2 NEXT SENTENCE.
3.4.3.3 Condições concatenadas
3.4.3.4 Condições compostas
3.4.4 Alteração do fluxo do programa
3.4.4.1 GO TO
3.4.4.2 PERFORM
4. Arquivos
4.1 Registros
4.2 Abertura de arquivos
4.3 Leitura/gravação de arquivos
Mainframe – Apostila de Cobol
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Pré-visualização parcial do texto

Baixe Cobol Curso e outras Notas de estudo em PDF para Análise de Sistemas de Engenharia, somente na Docsity!

Indice

1.- Introdução 2.- Formato do Fonte Cobol 2.1 Área de numeração seqüencial 2.2 Área de indicação 2.3 Área A 2.4 Área B

3. Estrutura de um Programa Cobol. 3.1 IDENTIFICATION DIVISION 3.2 ENVIRONMENT DIVISION 3.2.1 CONFIGURATION SECTION 3.2.2 INPUT-OUTPUT SECTION 3.3 DATA DIVISION 3.3.1 Especificação dos dados 3.3.1.1 Nível 3.3.1.2 Nome do dado 3.3.1.3 Formato do dado 3.3.1.4 Valor inicial 3.3.2 Estrutura da DATA DIVISION 3.3.2.1 FILE SECTION 3.3.2.2 WORKING-STORAGE SECTION 3.4 PROCEDURE DIVISION 3.4.1 Movimentação de dados 3.4.2 Cálculos aritméticos 3.4.2.1 Adição 3.4.2.2 Subtração 3.4.2.3 Multiplicação 3.4.2.4 Divisão 3.4.2.5 Resolução de fórmulas 3.4.3 Comandos condicionais 3.4.3.1 Formato dos comandos condicionais 3.4.3.2 NEXT SENTENCE. **3.4.3.3 Condições concatenadas 3.4.3.4 Condições compostas 3.4.4 Alteração do fluxo do programa 3.4.4.1 GO TO 3.4.4.2 PERFORM

  1. Arquivos 4.1 Registros 4.2 Abertura de arquivos 4.3 Leitura/gravação de arquivos**

4.4 Fechamento de arquivos

4.5 Entrada e Saída de baixo volume

**5. Encerramento do programa

  1. Formatos especiais de dados**

6.1 Sinal de campos numéricos.

6.2 Formatos binários

6.3 Cláusula USAGE

6.3.1 USAGE DISPLAY.

6.3.2 USAGE COMP

6.3.3 USAGE COMP-.

6.4 Tabelas

6.4.1 Níveis das tabelas

7. Impressão

7.1 Máscaras de edição

7.2 Supressão de zeros

7.3 Vírgula separadora das decimais

7.4 Outras máscaras de edição

7.5 BLANK WHEN ZERO

8 Ordenando as informações

8.1 Sort intrínseco

8.2 Sort extrínseco

9 Arquivos de acesso aleatório (VSAM)

9.1 INPUT-OUTPUT SECTION para VSAM

9.2 PROCEDURE DIVISION para VSAM

9.2.1 Abertura do arquivo.

9.2.2 READ

9.2.3 READ NEXT

9.2.4 READ PREVIOUS

9.2.5 START

9.2.6 WRITE.

9.2.7 REWRITE

9.2.8 DELETE

9.2.9 Fechamento de arquivos

10. Comunicação entre programas

11 Comandos Diversos

11.1 EVALUATE

11.2 REDEFINES

11.3 INSPECT

11.4 STRING

11.5 UNSTRING

11.6 TABELAS INDEXADAS

2. Formato do Fonte Cobol

Todo programa escrito na linguagem Cobol possui algumas regras a serem seguidas. Uma destas regras se refere ao formato das linhas de comando (instruções) dentro do

seu editor de fonte. Uma linha de comando Cobol pode ter até 80 caracteres, conforme o formato abaixo:

Seqüência I Área A Área B Comentário 1 6 7 8 11 12 72 73 80

Colunas de 1 a 6: Área de numeração seqüencial Coluna 7: Área de indicação Colunas de 8 a 11: Área A Colunas de 12 a 72: Área B Colunas de 73 a 80: Comentários

2.1 Área de numeração seqüencial

Normalmente consiste em seis dígitos em ordem crescente que normalmente são utilizados para numerar as linhas do fonte. Segundo as regras no ANS85 pode-se também colocar comentários nesta área. Além disso, podemos colocar um asterisco na coluna 1 (um) ou qualquer outro caractere com valor ASCII menor do que 20 (ESPAÇO), fazendo com que a linha inteira seja considerada como um comentário. Pode-se também deixar esta área em branco.

2.2 Área de indicação

Um hífen (-) nesta posição indica que existe uma continuação de um texto que foi iniciado na linha anterior.

Um asterisco (*) nesta posição indica que toda a linha deve ser tratada como um comentário.

Uma barra (/) nesta posição, além de marcar a linha como comentário fará com que ao se imprimir este fonte, haverá um salto de página após esta linha.

2.3 Área A

Posição a partir do qual se escreve nome de parágrafos.

2.4 Área B

Posição a partir da qual se escrevem as instruções Cobol.

Veja o exemplo de código fonte a seguir:

Num. I A AREA B COMEN.

000110 * ESTE E UM PARAGRAFO PROG1

000120 PARA GRAFO-1. PROG1

000130 ADD VALOR TO LUCRO. PROG1

3. Estrutura de um Programa Cobol.

De maneira semelhante a um livro com seus capítulos, parágrafos e itens, um programa Cobol é formado por uma hierarquia de Divisions, Sections, parágrafos e instruções. Como regra de sintaxe, toda declaração de Division, Section, parágrafo ou instrução deve ser terminado por ponto final (.).

O código Cobol possui quatro divisões que devem ser utilizadas nesta ordem:

IDENTIFICATION DIVISION.

ENVIRONMENT DIVISION.

DATA DIVISION.

Como foi explicado no item anterior (Formato da fonte) a declaração das DIVISION deve se iniciar na área A do texto (coluna 8).

PROCEDURE DIVISION.

SOURCE-COMPUTER identifica o computador onde foi confeccionado o programa (opcional).

OBJECT-COMPUTER identifica o computador do ambiente de produção (opcional).

SPECIAL-NAMES tem comandos pré-definidos em Cobol, para especificar alfabeto, moeda, ou separador de decimal (vírgula ou ponto), mas todos os comandos são opcionais. O separador de decimais é usado mais freqüentemente, indicando que vai se usar a virgula para separar decimais, e tem o seguinte formato: SPECIAL-NAMES. DECIMAL-POINT IS COMMA.

3.2.2 INPUT-OUTPUT SECTION.

Esta seção destina-se a configuração dos arquivos que o programa usa. Ela possui dois parágrafos: FILE-CONTROL e I-O-CONTROL.

FILE-CONTROL : neste parágrafo devemos especificar cada um dos arquivos que o programa irá acessar.

I-O-CONTROL : Contem vários parágrafos opcionais para especificar opções de uso de fitas magnéticas no Mainframe. Como este dispositivo caiu em desuso, este parágrafo não é mais usado atualmente.

No parágrafo FILE-CONTROL, usado para definir os arquivos usados no programa, usamos uma instrução SELECT para cada arquivo descrito. O formato da instrução SELECT é o seguinte:

SELECT nome-do-arquivo ASSIGN TO dispositivo-do-computador****.

No exemplo abaixo mostramos uma ENVIRONMENT DIVISION de um programa que irá acessar um arquivo CLIENTES.

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SPECIAL-NAMES.

DECIMAL-POINT IS COMMA.

INPUT-OUTPUT SECTION.

FILE-CONTROL.

SELECT CLIENTES ASSIGN TO DA-S-CLIENTES.

Neste exemplo escolhemos como nome-do-arquivo dentro da instrução SELECT a

palavra CLIENTES. O programador pode usar qualquer palavra com até 30 caracteres como nome-de arquivo , mas uma vez definido um nome-de-arquivo na instrução

SELECT, deverá usar sempre este nome no programa quando se referir a este arquivo. O formato da cláusula dispositivo-do-computador varia conforme o computador (micro,

mainframe, etc), mas no caso do mainframe usa-se o formato mostrado no exemplo, composto de 3 segmentos separados por hífen:

Tipo de dispositivo –

UR - para dispositivos de registro fixo (impressoras, cartão). UT - para dispositivos de registro variável (fitas). DA - para dispositivos de acesso aleatório (discos).

Modo de acesso –

S – Sequencial. D – Direto (Randômico). I – Indexado.

Nome externo do arquivo – Nome pelo qual o operador do computador reconhece o arquivo. O nome externo geralmente está associado aos comandos JCL na execução do programa.

Para arquivos abertos para leitura (veja OPEN INPUT e OPEN I-O mais adiante), pode- se especificar a clausula OPTIONAL no SELECT. Com esta clausula, se o arquivo a abrir não existir, ele é automaticamente criado vasio. A sintaxe do SELECT fica então:

SELECT OPTIONAL nome-do-arquivo ASSIGN TO dispositivo.

3.3 DATA DIVISION

A DATA DIVISION é a divisão do programa onde são definidos os dados, incluindo todas as variáveis e constantes necessárias, assim como o conteúdo dos registros dos arquivos. A definição de um dado em Cobol é feito com o seguinte formato:

Nível nome-do-dado formato valor-inicial.

3.3.1 ESPECIFICAÇÃO DOS DADOS

3.3.1.1 Nível.

77 QUANT-PROD PIC 99999.

Pode-se abreviar esta repetição colocando o número de repetições entre parenteses:

77 QUANT-PROD PIC 9(5).

Quando um item numérico tiver casas decimais, não se carrega na memória do computador o separador decimal (vírgula). O item VALOR-PROD, que por exemplo tem um valor de 2,35 fica na memória como 235. Mas o programa Cobol precisa saber em que posição estaria a vírgula que desapareceu (vírgula implícita). A vírgula implícita é definida no formato pela letra V, como abaixo:

77 VALOR-PROD PIC 99999V99.

Ou

77 VALOR-PROD PIC 9(5)V99.

Em um grupo de itens contidos em uma hierárquia (níveis de 01 a 49) só podem ter a cláusula PIC os itens no nível mais baixo da hierarquia (itens elementares).

Ex:

1 FUNC. 3 NASCIMENTO. 05 MÊS PIC 99. 05 ANO PIC 99. 03 ENDERECO. 05 RUA PIC X(20). 05 NUMERO PIC 9999.

A linguagem Cobol suporta itens numéricos com até 18 algarismos, e itens alfanuméricos até 32768 caracteres (dependendo do sistema operacional). Existem ainda formatos especiais da PIC para itens a serem impressos ou exibidos na tela, que serão vistos mais adiante.

3.3.1.4 Valor-inicial.

Esta cláusula é opcional em Cobol. Seu objetivo é definir um valor para o item quando

o programa se inicia. Se ela for omitida, o item correspondente terá valores imprevisíveis. No caso de um item que irá conter uma totalização, por exemplo, é

conveniente que ele comece com o valor zero. O valor-inicial é definido em Cobol pelo formato:

VALUE literal.

Em Cobol existem 2 tipos de literal: numérico e alfa-numérico.

Os literais numéricos são escritos colocando-se diretamente o valor na instrução.

Ex.: 77 IDADE-MINIMA PIC 99 VALUE 18.

Os literais alfa-numéricos devem ser colocados entre aspas. Ex: 77 NOME-RUA PIC X(20) VALUE “RUA FIDALGA”.

Os literais alfa-numéricos em Cobol podem ter no máximo 120 caracteres.

Pode-se usar ainda como valor-inicial as CONSTANTES FIGURATIVAS, como por exemplo ZEROS, SPACES, ou LOW-VALUES. A última delas (LOW-VALUES) indica que este item na memória deve ter os seus bytes com todos os bits desligados (não é espaços).

3.3.2 Estrutura da DATA DIVISION.

A DATA DIVISION é composta habitualmente por duas Sections

FILE SECTION. WORKING-STORAGE SECTION.

E opcionalmente por outras Sections, como

REPORT SECTION.

Usada em geração de relatórios com o módulo avançado de Report-Writer, que não será visto neste curso.

LINKAGE SECION.

Usada para estabelecer comunicação entre dois programas, e será visto mais adiante.

3.3.2.1 FILE SECTION.

A FILE SECTION é a Section usada para detalhar o conteúdo dos registros dos

arquivos que o programa irá ler/gravar.

Vimos anteriormente, na INPUT-OUTPUT SECTION (ENVIRONMENT DIVISION), que para cada arquivo a ser tratado no programa havia uma instrução SELECT especificando e definindo um nome para o arquivo. Na FILE SECTION precisamos

necessários, e que serão discutidos um a um nos paragráfos seguintes. As instruções

de um programa Cobol podem ser reunidas em parágrafos, e estes em seções, definidas pelo programador com o fim de tornar o programa mais facil de ser entendido.

Por exemplo, como sugerido no curso de lógica de programação, os programas pederiam ter 3 seções:

ENTRADA SECTION. PROCESSAMENTO SECTION. SAIDA SECTION.

3.4.1 Movimentação de dados.

Para se copiar dados de uma variável para outras em Cobol usa-se a instrução MOVE que tem o seguinte formato:

MOVE variavel-1 TO variavel-2 variavel- ...

As restrições no uso desta instrução são:

  • As variaveis do segundo operando não podem ser um literal. Exemplo de erro: MOVE VALOR TO “RUA DIREITA”.
  • Os operandos da instrução devem ser compatíveis. Exemplo de erro: MOVE TOTAL TO NOME-CLIENTE. Em Cobol quando uma variável receptora de dados em um MOVE tiver um tamanho menor que a variável emissora, o dado é truncado para se adaptar ao novo item, e o programa Cobol não gera aviso de erro. Se as variáveis movimentadas forem alfa- numericas, o truncamento acontece na parte direita do campo (Os dados são movidos da esquerda para a direita). Nas movimentações numéricas o truncamento é à esquerda (Os números sào movidos da direita para a esquerda). Se a variavel receptora tiver um tamanho maior que a emissora, o Cobol completa a variavel receptora com espaços se ela for alfa-numerica, ou com zeros a esquerda se ela for numérica.

3.4.2 Cálculos aritméticos

As instruções para efetuar cálculos aritméticos em Cobol são:

ADD, SUBTRACT, MULTIPLY, DIVIDE e COMPUTE.

Quando os cáculos em Cobol envolvem números decimais, é preciso observar que o Cobol adapta o resultado ao formato que foi definido para a variável de resultado, ocasionando truncamentos ou surgimento de zeros adicionais na parte decimal do

resultado. Por exemplo, se tivermos na WORKING-STORAGE a definição destas 3

variáveis:

77 QUANT PIC 99V99 VALUE 35,12.

77 ENTRADA PIC 99V9 VALUE 12,5.

77 SALDO PIC 9999.

Se somarmos QUANT e ENTRADA e colocarmos o resultado em SALDO, SALDO ficará com 47, pois esta variável não está prevendo decimais.

3.4.2.1 Adição.

Utilizamos a instrução ADD para somar valores. Há dois formatos básicos da instrução ADD:

Formato 1:

ADD valor-1 valor-2 ... TO acum-1 acum ....

Neste formato, a soma das variaveis valor-1, valor-2 etc é totalizada aos valores já existentes em acum-1 acum-2 etc. Note que valor-1, valor-2 ... podem ser literais numéricas. Acum-1, acum-2 ... só podem ser variáveis pois devem receber o valor acumulado. Ex.: 77 VAL-1 PIC 99 VALUE 5. 77 VAL-2 PIC 99 VALUE 10. 77 VAL-3 PIC 99 VALUE 12. A instrução ADD VAL-1 VAL-2 TO VAL- Colocará o valor 30 em VAL-3.

Formato 2:

ADD valor-1 valor-2 ... GIVING total.

Neste formato a soma dos valores valor-1 valor-2 não é acumulado na variável total. A

variável total é zerada antes de receber a soma, perdendo assim o valor acumulado no passado. Usando as variáveis do exemplo do formato 1, a instrução: ADD VAL-1 VAL-2 GIVING VAL-3. Coloca o valor 15 em VAL-3.

Existem dois parâmetros opcionais que podem ser adicionados a qualquer dos formatos acima:

ROUNDED

Usado somente quando os operandos não forem números inteiros.

Formato 1:

MULTIPLY valor-1 BY valor-2.

Este formato multiplica a variável valor-1 pela variavel valor-2, e o resultado fica em

valor-2. Aqui é preciso atenção no detalhe do resultado, que foge um pouco à intuição comum. Na multiplicação e divisão, o resultado fica sempre no último operando.

Assim, se quizermos multiplicar a variavel QUANT por 3 devemos escrever:

MULTIPLY 3 BY QUANT.

Como consequência da regra do resultado, o último operando da multiplicação deve ser sempre uma variável para poder receber o resultado, e portanto é errado escrever: MULTIPLY QUANT BY 3 (erro).

Formato 2:

MULTIPLY valor-1 BY valor-2 GIVING valor-3.

Neste formato o resultado da multiplicação é colocado em valor-3. Valor-1 e valor-2 não são alterados por esta instrução.

Parâmetros adicionais (opcionais):

ROUNDED

ON SIZE ERROR instrução.

Estes parâmetros tem funcionamento idêntico aos da instrução ADD.

3.4.2.4 Divisão.

A instrução de divisão em Cobol é DIVIDE. Há 3 formatos para esta instrução:

Formato 1:

DIVIDE valor-1 INTO valor-2.

Este formato divide a variável valor-2 pela variável valor-1, e o resultado fica em valor-2. Este formato também foge um à intuição comum. Na multiplicação e divisão, o resultado fica sempre no último operando. Assim, se quizermos dividir a variável QUANT por 3 devemos escrever:

DIVIDE 3 INTO QUANT.

Como consequência da regra do resultado, o último operando da divisão deve ser sempre uma variavel, para poder receber o resultado, e é errado escrever: DIVIDE QUANT BY 3 (erro)

Formato 2:

DIVIDE valor-1 INTO valor-2 GIVING valor-3.

Neste formato o resultado da divisão de valor-2 por valor-1 é colocado em valor-3.

Valor-1 e valor-2 não são alterados por esta instrução.

Formato 3: DIVIDE valor-1 BY valor-2 GIVING valor-3.

Este formato é mais semelhante à sintaxe em português. Neste formato o resultado da divisão de valor-1 por valor-2 é colocado em valor-3. Valor-1 e valor-2 não são alterados por esta instrução.

Parâmetros adicionais (opcionais):

ROUNDED ON SIZE ERROR instrução.

Estes parâmetros tem funcionamento idêntico aos da instrução ADD.

REMAINDER valor-

Este parâmetro só pode ser usado com os formatos 2 e 3 (GIVING) , e quando os operandos envolvidos forem números inteiros. Sua função é carregar o resto da divisão em valor-4. A sintaxe completa deste parâmetro junto ao formato 3 seria, por exemplo: DIVIDE valor-1 BY valor-2 GIVING valor-3 REMAINDER valor-4.

3.4.2.5 Resolução de fórmulas.

A instrução COMPUTE é utilizada em Cobol para resolver fórmulas complexas. Seu formato é: COMPUTE valor = formula. Formula pode ser qualquer expressão aritmética contendo os seguintes operandos:

  • Adicionar
  • Subtrair
  • Multiplicar / Dividir ** Exponenciação () Parênteses

Por exemplo, a fórmula A = B² + C² ficará em Cobol:

COMPUTE A = ( B ** 2 + C ** 2) ** (.5).

IF condicao- Instruções-1. Instruções- ...

Neste formato, se a condição condicao-1 for satisfeita, todas as instruções que vierem

em seguida (instruções-1) e (instruções-2) serão executadas. Se condicao-1 não for verdadeira o programa não executa as instruções dependentes de condição-

(instruções-1), e retoma a execução nas instruções após o ponto final (instruções-2). Com respeito a distribuição do texto do fonte, é necessário salientar os seguintes aspectos:

  • O recuo maior usado para escrever instruções-1 (indentação) é importante tanto estéticamete quanto para um melhor entendimento do fonte.
  • Procurar sempre escrever uma instrução por linha.
  • O ponto final é fundamental em comandos condicionais, pois indica o fim das instruções sob influência do teste. Se no modelo acima o ponto final estivesse após instruções-2, como abaixo: If condição- Instruções- Instruções-2. Instruções-1 e instruções-2 so seriam executadas se condição-1 fossem verdadeiras, e se condição-1 for falsa intruções-1 e instruções-2 não serão executadas. Exemplo de código com comandos condicionais: 77 VALOR PIC 9(4) VALUE 50. ………… IF VALOR GREATER THAN 100 DISPLAY “O VALOR É MUITO ALTO.” MOVE ZEROS TO VALOR. MOVE VALOR TO SAIDA. Como no exemplo a condição não vai ser satisfeita, as instruções DISPLAY “O VALOR É MUITO ALTO.” MOVE ZEROS TO VALOR Não serão executadas, e SAIDA terá o valor de 50. Se o ponto final estiver após a instrução de DISPLAY, como abaixo: IF VALOR GREATER THAN 100 DISPLAY “O VALOR É MUITO ALTO.”. MOVE ZEROS TO VALOR MOVE VALOR TO SAIDA. A instrução MOVE ZEROS TO VALOR será executada sempre independente do IF (somente a instrução de DISPLAY ficará sob influencia do IF). Neste caso a variavel SAIDA terá o valor de 0.

Formato 2: IF condicao- Instruções- ELSE Instruções-2. Instruções-3.....

Neste formato, as instruções instruções-1 sómente são executadas quando a condição

condicao-1 for satisfeita. As instruções instruções-2 sómente serão executadas quando a condição condição-1 não for satisteita (falsa). O ponto final marca o fim das instruções

condicionais. As instruções após o ponto final (instruções-3) são sempre executadas independente de condição-1. Ex.:

IF VALOR > 1000

MOVE ‘VALOR ACIMA DO LIMITE.’ TO MENSAGEM

ELSE

MOVE ‘VALOR ABAIXO DO LIMITE.’ TO MENSAGEM.

MOVE MENSAGEM TO SAIDA.

Se neste exemplo colocarmos um ponto final após o primeiro MOVE: IF VALOR > 1000 MOVE ‘VALOR ACIMA DO LIMITE.’ TO MENSAGEM. ELSE MOVE ‘VALOR ABAIXO DO LIMITE.’ TO MENSAGEM. MOVE MENSAGEM TO SAIDA. A instrução ELSE ficará fora da influencia do IF, e o compilador não conseguirá compilar o programa (erro de sintaxe.).

3.4.3.2 NEXT SENTENCE.

O comando NEXT SENTENCE pode ser usado nos comandos associados a comandos condicionais quando não há providencias a tomar, como no exemplo: IF VALOR > 10 NEXT SENTENCE ELSE ADD 10 TO VALOR. Este comando direciona o programa para a primeira instrução apos o ponto final.

3.4.3.3 Condições concatenadas.

As condições concatenadas acontecem quando no lugar das instruções subordinadas a um teste de condição coloca-se um segundo teste de condição, originando assim uma cadeia de testes subordinados um ao outro. Estas cadeias de testes são teoricamente indefinidas, porem o aumento de testes concatenados aumenta a complexidade da lógica. Nas condições concatenadas é importante observar o uso da identação (recuos no fonte), para aumentar sua clareza. No exemplo abaixo, mostramos condições concatenadas:

IF DEBITO GREATER CREDITO IF ANO NOT LESS 2004 MOVE “DEBITO OK” TO MENSAGEM ELSE MOVE “CONTA EM ATRASO” TO MENSAGEM