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
É 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
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
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
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
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 Tipo DescriçãoTamanho Máximo (em bytes)Número de posições decimaisA Alfanumérico 254 InválidoN Numérico 18 0 a 18P Compactado 10 0 a 18B Binário 4 0 a 10U Compactado sem sinal 9 0 a 18
Exemplos de Código Hello World DISPLAY 'HELLO WORLD!'
Outra forma: IMPRIME. PROC DISPLAY 'HELLO WORLD!' END-PROC.
Números Perfeitos 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
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. thumb|centro|
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. thumb|centro|
Para melhor compreensão, veja as saídas em relatório produzidas pelo programa :
SYSREL. thumb|centro|SYSPRINT. thumb|centro|
Ver também Outras linguagens de programação de terceira geração: ALGOL APL BASIC COBOL C FORTRAN Lisp PL/I RPG
Referências CA Easytrieve Plus Guide Mainframe Fórum Apostilas Mainframe Brasil Manual Easytrieve
Compiladores Para Easytrieve usamos os mesmo compiladores do COBOL
Compiladores: IBM COBOL compilers OpenCOBOL TinyCOBOL
Categoria:Linguagens de programação
Liações Externas
TimeLine