IDENTIFICATION DIVISION.
PROGRAM-ID. FRAME.
AUTHOR. COBOLware Services Ltda.
DATE-WRITTEN. 10/06/2005.
SECURITY. *************************************************
* *
* Exemplo de tratamento de padrão de tela. *
* *
*************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
77 I PIC 99 VALUE 0.
77 C PIC 99 VALUE 0.
77 empresa PIC X(30) VALUE SPACES.
77 sistema PIC X(30) VALUE SPACES.
77 programa PIC X(08) VALUE SPACES.
77 usuario PIC X(30) VALUE SPACES.
77 tracos PIC X(80) VALUE ALL X'C4'.
77 espacos PIC X(80) VALUE SPACES.
77 curdir PIC X(50) VALUE SPACES.
LINKAGE SECTION.
01 OPTION PIC X.
01 PARAMETRO PIC X(80).
01 REDEFINES PARAMETRO.
05 DESCRICAO-OPCAO PIC X(34).
01 REDEFINES PARAMETRO.
05 RODAPE PIC X(68).
01 REDEFINES PARAMETRO.
05 OBS PIC X(29).
01 PARAMETRO2 PIC X(80).
PROCEDURE DIVISION USING OPTION PARAMETRO PARAMETRO2.
000-INICIO.
EVALUATE OPTION
WHEN 'f' *> Exibe observação de função de cadastro
DISPLAY (4, 1) OBS
WHEN 'F' *> Exibe tela padrão e moldura
EXEC COBOLware GetSystem
SCREEN-APLICATION;sistema
SCREEN-COMPANY;empresa
PROGRAM;programa
USER;usuario
END-EXEC
DISPLAY (1, 1) ERASE
DISPLAY (1, 1) empresa
DISPLAY (2, 1) sistema
DISPLAY (3, 1) tracos
DISPLAY (23, 1) tracos
EXEC COBOLware Pack String usuario WIDTH I END-EXEC
COMPUTE C = 80 - I + 1
DISPLAY (1, C) usuario WITH SIZE I
EXEC COBOLware Pack String programa WIDTH I END-EXEC
COMPUTE C = 80 - I + 1
DISPLAY (2, C) programa WITH SIZE I
WHEN 'E' *> Limpa área de trabalho da tela
PERFORM VARYING I FROM 4 BY 1
UNTIL I > 25
IF I <> 23
DISPLAY (I, 1) ESPACOS
END-IF
END-PERFORM
WHEN 'O' *> Exibe Titulo da opção de menu selecionada
DISPLAY (2, 33) DESCRICAO-OPCAO
WHEN 'M' *> Apaga linha de mensagem
DISPLAY (24, 1) ESPACOS
WHEN 'P' *> Nome do programa
DISPLAY (25, 1) ESPACOS WITH SIZE 79
MOVE SPACES TO programa
DISPLAY (2, 73) programa
MOVE PARAMETRO (1:8) TO PROGRAMA
EXEC COBOLware Pack String programa WIDTH I END-EXEC
COMPUTE C = 80 - I + 1
DISPLAY (2, C) programa WITH SIZE I
WHEN 'I' *> Atualiza empresa e sistema
MOVE PARAMETRO(1:30) TO empresa
MOVE parametro2(1:30) TO sistema
DISPLAY (1, 1) empresa
DISPLAY (2, 1) sistema
WHEN 'N' *> Atualiza usuário e pasta corrente
MOVE SPACES TO usuario
DISPLAY (1, 51) usuario
MOVE PARAMETRO(1:29) TO usuario
EXEC COBOLware Pack String usuario WIDTH I END-EXEC
COMPUTE C = 80 - I + 1
DISPLAY (1, C) usuario WITH SIZE I
MOVE parametro2(1:50) TO curdir
END-EVALUATE.
000-99-FIM. GOBACK.
END PROGRAM FRAME.