Easytrieve
EASYTRIEVE (Classic e Plus) é uma linguagem de programação de Terceira Geração, projetado para simplificar as tarefas típicas de programação, utilizada principalmente em sistemas comerciais, financeiros e administrativos para empresas e governos. É uma linguagem de programação, com recursos para acesso a arquivos e bases de dados, com comandos que trazem bastante facilidade principalmente para a geração de relatórios.
Fundamentos da Linguagem
[editar | editar código-fonte]É uma linguagem imperativa projetada para tornar mais fácil a manipulação de arquivos e produção de relatórios. É recomendado para iniciantes em técnicas de processamento de dados, pois possui uma assimilação fácil. Em geral, um programa Easytrieve pode aceitar arquivos de entrada múltiplo (SAM / ISAM / VSAM), acesso a bancos de dados (TMF / ADABAS/DB2), realizar a manipulação de arquivos (leitura / gravação / tipo), dados do processo (alfanumérico / numérico / acondicionado / binário), e invocar programas em COBOL e Assembler.
Classic v. Plus
[editar | editar código-fonte]Easytrieve (ou Easytrieve classic) é a primeira iteração da série Easytrieve e exige que o programador use uma estrutura rígida de programa e sintaxe. A segunda iteração Easytrieve era originalmente um produto independente, foi rebatizado como Easytrieve Plus. Easytrieve Plus inclui mudanças na estrutura do programa e sintaxe, o que torna muito mais poderoso e com uma iteração mais amigável com o programador. Easytrieve pode ser executado em mainframes ( z / OS , z / VM , z / VSE ), UNIX , Linux e Sistemas da Microsoft Windows
Similaridade com Cobol
[editar | editar código-fonte]A sintaxe de um programa Easytrieve é muito semelhante ao COBOL. Eles compartilham muitas palavras dos mesmos tipos de dados e reservado, como "MOVE", "ADD", "SUBTRACT", "MULTIPLY", "DIVIDE", "CALL", "CASE", and "IF". Além disso, as "PROCEDURES" podem serem criadas em Easytrieve para permitir a funcionalidade modularizada.
Podemos citar algumas diferenças entre os dois, como: a definição de variável, a leitura de arquivos e geração de relatórios. Como COBOL, o Easytrieve tem muitos dos mesmos tipos de variáveis (alfanumérico, numérico, binário, compactado, etc). A maior diferença é que Easytrieve não usa números de nível.
Leitura de arquivos de entrada é feita muito mais fácil em Easytrieve porque o processo é automatizado. O programador apenas referencia as variáveis a serem utilizadas. Easytrieve lê automaticamente a próxima linha e a lógica se repete.
Gerar um relatório é simples em Easytrieve. O programador pode especificar cada detalhe de um relatório, incluindo seus títulos, campos, espaçamento, a ordem de classificação, quebras de controle, etc.
Estrutura da Linguagem
[editar | editar código-fonte]|------------------------| ENVIRONMENT | PARM ... | SECTION | | |------------------------| LIBRARY | FILE ... | SECTION | DEFINE ... | | ... | |------------------------| ACTIVITY | JOB | SECTION | (STATEMENTS) | | (JOB PROCEDURES) | | REPORT | | (REPORT PROCEDURES)| | SORT | | (SORT PROCEDURES) | | ... | |------------------------|
Cada programa Easytrieve contém a seguinte estrutura:
- ENVIRONMENT SECTION: Nesta parte, são estabelecidos os parâmetros para o programa. Uma área, opcional, de Ambiente (Environment), onde serão descritas as características de ambiente de instalação do Easytrieve. Também utilizada para estabilizar parâmetros do programa modificar as opções padrões de instalação e modalidade de operação.
- LIBRARY SECTION: Uma área, opcional, de Dados (Library), onde serão descritos os dados a serem processados pelo programa, os arquivos a serem utilizados, os campos associados e também qualquer campo de área de trabalho (auxiliares).
- ACTIVITY SECTION: Uma área, obrigatória, de Atividades (Activity), onde se define a lógica do programa, mais precisamente:
- Lê informações dos arquivos;
- Examina e manipula dados;
- gravação de dados em arquivos;
- impressão de relatórios;
Convenções da Linguagem
[editar | editar código-fonte]- Letras Minúsculas – especificam valores que devem ser substituídos.
- Letras Maiúsculas – Palavras-chaves. Devem ser codificadas exatamente como aparecem.
- {chaves} - Um dos parâmetros indicados entre elas deve ser informado.
- [colchetes] – Indica parâmetros opcionais.
- ... - Reticências: indicam que o(s) parâmetro(s) anterior(es) a elas pode(m) ser repetido(s) várias vezes.
- W/S - campos iniciados com W ou S indicam que a variável é auxiliar (Ex: W-VALOR ou S-VALOR)
Tipos de Variáveis
[editar | editar código-fonte]Tipo | Descrição | Tamanho Máximo (em bytes) | Número de posições decimais |
---|---|---|---|
A | Alfanumérico | 254 | Inválido |
N | Numérico | 18 | 0 a 18 |
P | Compactado | 10 | 0 a 18 |
B | Binário | 4 | 0 a 10 |
U | Compactado sem sinal | 9 | 0 a 18 |
Exemplos de Código
[editar | editar código-fonte]Hello World
[editar | editar código-fonte]DISPLAY 'HELLO WORLD!'
Outra forma:
IMPRIME. PROC DISPLAY 'HELLO WORLD!' END-PROC.
Números Perfeitos
[editar | editar código-fonte]FILE PESSOAL NUMPERF 1 5 N DIVIDENDO W N 5 VALUE 1 NUM W N 5 VALUE 0 DIVISOR W N 5 VALUE 1 SOMA W N 5 VALUE 0 QUOCIENTE W N 5 VALUE 0 CALCULA PROC. QUOCIENTE = DIVIDENDO / DIVISOR IF QUOCIENTE * DIVISOR = DIVIDENDO SOMA = SOMA DIVISOR END-IF END-PROC. IF SOMA > DIVIDENDO GO TO PROXIMO-NUM END-IF DIVISOR = DIVISOR 1 IF DIVISOR < DIVIDENDO GO TO CALCULA END-IF IF (SOMA = DIVIDENDO) AND (DIVIDENDO NOT EQUAL 1) NUM = NUM 1 DISPLAY 'PERFEITO ' NUM ': ' DIVIDENDO END-IF PROXIMO-NUM PROC. DIVIDENDO = DIVIDENDO 1 IF NUM < NUMPERF DIVISOR = 1 SOMA = 0 GO TO CALCULA END-IF END-PROC.
Programa Exemplo 001 - Programa completo
[editar | editar código-fonte]JOB DE EXECUÇÃO:
Na estrutura de um programa em Easytrieve, o que caracteriza a parte de procedimentos é um conjunto de ATIVIDADES, Cada atividade é declarada através de um statement JOB. Ou seja, é através de um JOB que executamos o nosso programa, onde definimos o tipo do programa que será executado(Easytrieve), qual será do programa a ser executado, da onde virão seus dados de entrada e onde serão gravados os dados de saída.
Job explicativo para execução do Easytrieve. |
---|
PROGRAMA EXEMPLO 001
Na imagem abaixo temos um simples exemplo de um programa em Easytrieve, onde passamos os dados de entrada no próprio JOB e gravamos na saída, onde poderá ser visto na "SYSREL".
Programa em Easytrieve. |
---|
Para melhor compreensão, veja as saídas em relatório produzidas pelo programa :
SYSREL. | SYSPRINT. |
---|
Ver também
[editar | editar código-fonte]Outras linguagens de programação de terceira geração:
Referências
[editar | editar código-fonte]- (em inglês) CA Easytrieve Plus Guide
- (em inglês) Mainframe Fórum
- (em português) Apostilas Mainframe Brasil[ligação inativa]
- (em português) Manual Easytrieve[ligação inativa]
Compiladores
[editar | editar código-fonte]Para Easytrieve usamos os mesmo compiladores do COBOL
Compiladores: