Buscar

Manual Básico de Visual Age

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Casas Bahia Documento Confidencial Página: 1 
 
 
Manual Básico de Visual Age 
 
 
 
 
 
 
 
 
 
 
 
Preparado pelo Departamento de Novas Tecnologias 
 
 
 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 2 
 
Histórico de Revisões: 
Data Autor Descrição Versão 
29/01/13 Machado Versão Inicial do documento 1.0 
 
 
 
 
Sumário
 1 Introdução ....................................................................................................................................... 3 
 2 Configurando ambiente de Desenvolvimento Casas Bahia ............................................................. 8 
 3 Definindo a estrutura de um programa .......................................................................................... 14 
 4 - Tipos de partes ............................................................................................................................. 17 
 Adicionar uma nova parte ( registros, funcões, programas ou mapas ................................ 17 
 ........................................................................................................................................................... 18 
 Registros: Working Storage (areas secundarias) ........................................................................... 18 
 SQL ROW (linhas da tabela) ....................................................................................................... 18 
 Function => Processos ................................................................................................................... 21 
 Teste ............................................................................................................................................ 30
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 3 
 
 
 1 Introdução 
 
Este documento tem como finalidade fornecer ajuda a novos membros da equipe de 
desenvolvimento além de servir também como material de referência aos demais. 
 
 ESTRUTURA DO VISUAL AGE FOR JAVA 
 
 
ENVY 
 Repositório único onde estão todas as aplicações. É um arquivo único, não 
havendo separações por sistema. Este arquivo está no servidor do Visual Age. 
 
 
WORKSPACE 
 É a visão que cada desenvolvedor tem do ENVY. Esta área está no micro de 
cada desenvolvedor, sendo a área de trabalho de cada um. Não há como atuar no 
ENVY diretamente, somente através do Workspace. O workspace é do desenvolvedor, 
portanto em cada uma deverá conter as aplicações que o mesmo está utilizando. Ao 
se instalar o VA em uma estação este terá um Workspace padrão que será 
automaticamente carregado. A partir disso o desenvolvedor irá carregar para a sua 
área o que for necessário. 
 
VAGEN PART CLASS 
 Todos os tipos de membros no VA são chamados de VAGen part class. Para 
cada tipo de membro são colocados prefixos distintos, como por exemplo : 
VAGenRecords, VAGenMaps, VAGenTables etc ( MAPS, ITEMS, RECORDS etc) 
 
VAGEN PART 
 Cada membro é agora armazenado como VAGen part. Exemplos: as aplicações, 
os registros, os mapas, os processos, as tabelas VA, as áreas de working, etc. 
 
Program 
 As aplicações são chamadas de programas. 
 
Package 
 O package é um grupo de classes e métodos (VAGen part class e VAGen part) 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 4 
 
Project 
 O projeto é composto de packages, VAGen part class, VAGen part. É somente 
através do project que o desenvolvedor poderá carregar uma aplicação para ser 
alterada. 
 
View 
 Cada tela GUI é uma view. 
 
Hierarquia obrigatória 
 
 Project (ex: J2BA) 
 
 Package (ex: j2ba.pkg) 
 
 VAGen Part Class 
 
 VAGen Part (ex: J2BA, J2BAR01, J2BAW01) 
 
 
Usuário 
 
 Cada desenvolvedor terá seu usuário igual ao seu usuário do CICS. Há um 
usuário chamado Adminstrator e um usuário OPER. O Administrator é o responsável 
pela manutenção do ENVY e também é o usuário de maior autoridade na ferramenta. 
O usuário OPER é o usuário que será o responsável por todas as aplicações em 
produção. Há também um usuário chamado DA, responsável pela manutenção dos 
dados da “ Padrão “. 
 
 
EDITION 
 
 Para que uma aplicação possa ser alterada, deve-se abrir uma nova edição da 
mesma (Open Edition). Deve-se abrir novas edições de todos os componentes da 
aplicação, ou seja, do Projeto, do Package e das Classes. É através da abertura de 
uma edição que torna-se possível saber que uma aplicação está em manutenção. 
 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 5 
 
 
 
SCRATCH EDITION 
 
 Quando se altera algum método de uma aplicação sem antes ter se aberto uma 
edição, o VAGen for Java automaticamente abrirá uma scratch edition. Scratch 
significa LIXO, ou seja, somente a pessoa que está efetuando a alteração a estará 
vendo, e não poderá fazer nada com ela a não ser que a transforme em um edição 
aberta (Open Edition). Deve-se tomar muito cuidado para não se confundir com as 
edições, por isso numa manutenção tomar sempre como primeiro passo, a abertura 
de uma edição (Open Edition). 
 
VERSION/RELEASE 
 
 A partir do momento em que a pessoa que está alterando ou criando uma 
aplicação desejar que a mesma possa ser vista ou testada por outras pessoas, esta 
aplicação deverá sofrer uma liberação (Release). A partir deste ponto esta alteração 
estará disponível no repositório como uma edição aberta (Open Edition) e visível por 
todos os usuários do ENVY. Somente uma Edição aberta (Open Edition) poderá sofrer 
Release, ou seja, Scratch editions não podem ser liberadas. 
 Para as aplicações que já estiverem prontas (testadas) para o operacional, estas 
devem ser “versionadas”. A partir do momento que se “versiona” uma aplicação, esta 
versão criada não poderá mais ser alterada. Para se alterar uma versão deve-se abrir 
uma nova edição desta versão (Open Editon). 
 
PACKAGE GROUP 
 
 Cada package tem um grupo composto por usuários. Ao se criar um package, o 
único participante do grupo é o criador do mesmo. Para que uma outra pessoa , que 
não o criador, possa alterar os componentes do package, esta deve fazer parte do 
grupo do mesmo. Somente as pessoas participantes deste grupo poderão alterar a 
aplicação componente deste package. 
 
OWNER 
 Cada project, cada package e cada VAGen part class tem um dono (cada um 
pode ter um dono diferente). 
 
 PROJECT OWNER 
 O project owner é o responsável pela organização do projeto. É o 
 único que pode criar packages no projeto e manter sua total 
 integridade. 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 6 
 
 
 -Como posso me tornar um project owner? 
 - Criando um novo projeto 
 - Recebendo a transferencia de owner do antigo dono de um 
 projeto existente. 
 
 -O que posso fazer como um project owner ? 
 - Open editions no project 
 - Versionar/Release o project 
 - Criar packages no project 
 - Transferir o cargo de dono (owner) para outro desenvolvedor. 
 
 PACKAGE OWNER 
 O package owner é o responsável pelo gerenciamento do package. 
 
 -Como posso me tornar um package owner ? 
 - Criando um novo package 
 - Recebendoa transferência de owner do antigo dono do 
 package.(Você deve fazer parte do grupo do package) 
 
 -O que posso fazer como um package owner ? 
 - Adicionar novos usuários ao grupo do package. 
 - Eliminar usuários do grupo do package 
 - Open editions no package 
 - Versionar/Release o package 
 - Transferir o cargo de dono (owner) para outro desenvolvedor. 
 
 CLASS OWNER 
 
 O dono da classe é o responsável pelo gerenciamento da classe 
 
 -Como posso me tornar um class owner ? 
 - Criando uma nova classe em uma edição de package em que 
 eu esteja presente no grupo. 
 - Recebendo a transferência de owner de qualquer integrante 
 do grupo do package. 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 7 
 
 
 
 -O que posso fazer como um class owner ? 
 - Versionar / Release da classe 
 - Eliminar uma classe 
 
 CLASS DEVELOPER 
 O class developer é um usuário que criou uma edição da classe. Ao 
 criar uma open edition de uma classe, automaticamente este usuário 
 se transforma em seu class developer. 
 
 -Como posso me tornar um class developer ? 
 - Abrindo uma nova edição de uma classe existente 
 - Criando uma nova classe e uma edição de package em que 
 você esteja presente no grupo 
 
 -O que eu posso fazer como um class developer ? 
 - Adicionar a open edition da classe em seu workbench 
 - Versionar a open edition 
 - Mudar a definição da classe 
 - Efetuar manutenções nos métodos presentes na classe 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 8 
 
 
 2 Configurando ambiente de Desenvolvimento Casas Bahia 
 
 - Padrão 
 O Project Padrão contem todos os data itens. Todo analista deverá ter 
em seu Workspace a última versão do project Padrão. A manutenção deste project 
será somente da responsabilidade do usuário DA. 
 
 - Geração 
 Como o VAGen for Java permite que se efetue a geração de aplicações 
para vários ambientes, foi criado um project para Gerações. Neste project estão 
contidos os padrões a serem utilizados na geração de aplicações para cada ambiente. 
Todo desenvolvedor deverá ter em seu Workspace a última versão deste project. 
 
 - Configurando seu Workspace 
 
 - Em seu Workbench clicar em Workspace --> Open VAGen Parts Browser 
 - Em VAGen Parts Browser clicar em Window --> Options 
 - Em VisualAge Generator Options 
 - Em Date Formats 
 - Short Gregorian - DD.MM.YY 
 - Long Gregorian - DD.MM.YYYY 
 - Em Generation 
 - Default Generation Options Part - 
 
 GERACAOMVSCICS.OPT 
 - Client - Generation Options part - 
 
 GERACAOMVSCICS.OPT 
 - Server - Generation Options part - 
 
 GERACAOMVSCICS.OPT 
 - Em Map 
 - Supported Devices - 
 3278-2 - 24x80 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 9 
 
 
 - Em Program 
 - Preferred Edition View - Main function 
 - Program Type - Main Transaction - Segmented 
 
 - Em SQL 
 - Database Name - DBDMVS 
 - Database Management System - DB2 
 - SQL date/time - EUR 
 - Database Authorization 
 User ID - XXXXXXXX 
 Password - (sua password do CICS) 
 - Em Test 
 - File options 
 Resource Association File Name - 
 t:\EZERFILE.RAF 
 - Em Test Linkage 
 - Linkage Table Part - LINKAGEMVSCICSTST 
 
 Importante : ao final salvar esta configuração : 
 - Em VAGen Parts Browser 
 - Window - Save Settings as Defaults 
 
 - Como proceder numa alteração : 
 
 - Alteração a ser passada para a programação: 
 
 - Analista passa para o responsável pela programação a 
 aplicação a ser alterada. 
 
 - Responsável pela programação: 
 - Utilizando o usuário OPER: 
 - Cria Open Edition do Project e do Package 
 - Release no Package 
 - Cadastra o programador que efetuará a 
 manutenção no grupo do package da 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 10 
 
 aplicação. 
 - Coloca o programador como owner do package 
 - Coloca o programador como owner de todas as 
 classes do package 
 
 - Programador 
 - Carrega para seu workspace a última edição da 
 aplicação (será uma open edition) 
 - Efetua a manutenção nos métodos e/ou cria novas 
 classes 
 - Testa aplicação 
 - Versiona as classes 
 
 - Analista 
 - Carrega para seu workspace a última edição da 
 aplicação (será uma open edition) 
 - Testa a aplicação 
 - Se teste não OK 
 - elimina esta edição da aplicação de seu 
 workspace 
 - aciona o programador para que este efetue a 
 devida manutenção na aplicação 
 Senão 
 - avisa o programador que a aplicação está OK 
 
 - Programador 
 - Versiona o package da aplicação 
 - Coloca o usuário OPER como owner de todas as 
 classes da aplicação 
 - Coloca o usuário OPER como owner do package da 
 aplicação. 
 
 - Analista 
 - Efetua a geração da aplicação pelo VAGen for Java 
 - Utilizando o usuário OPER 
 - Versiona o Project da aplicação 
 - Solicita o operacional da mesma. 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 11 
 
 
 - Alteração a ser feita pelo próprio analista 
 
 - Utilizando o usuário OPER: 
 - Carrega o project da aplicação para o workspace. 
 - Cria Open Edition do Project 
 - Cria Open edition do package da aplicação 
 - Release no Package 
 - Cadastra seu usuário no grupo do package (se ainda não 
 estiver) 
 - Coloca o seu usuário como owner do Project, do Package e 
 de todas as classes da aplicação. 
 - Utilizando o seu usuário 
 - Efetua a manutenção nos métodos e/ou cria novas classes 
 - Testa aplicação 
 - Versiona as classes 
 - Versiona o package da aplicação 
 - Versiona o project da aplicação 
 - Efetua a geração da aplicação pelo VAGen for Java 
 - Coloca o usuário OPER como owner de todas as classes da 
 aplicação 
 - Coloca o usuário OPER como owner do package da 
 aplicação. 
 - Coloca o usuário OPER como owner do project da aplicação 
 - Solicita o operacional da mesma. 
 
 - Alteração a ser passada para a programação, mas com alguma 
 alteracao a ser feita antes pelo analista (ex:mapa): 
 
 - Analista 
 - Utilizando o usuário OPER: 
 - Cria open edition do Project e do Package 
 - Release no package 
 - Cadastra o seu usuário no grupo do package da 
 aplicação 
 - Coloca o seu usuário como owner do package e 
 de todas as classes 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 12 
 
 - Utilizando o seu usuário: 
 - Efetua a manutenção (mapa ou outra classe) 
 - Versiona as classes alteradas 
 - Versiona o package 
 - Coloca o usuário OPER como owner de todas as 
 classes da aplicação e como owner do package 
 
 - Analista ou Responsável pela programação: 
 - Utilizando o usuário OPER: 
 - Carrega paraseu workspace a última edição da 
 aplicação (será uma open edition) 
 - Cria open edition do package 
 - Release no package 
 - Cadastra o programador que efetuará a 
 manutenção no grupo do package 
 - Coloca o programador como owner do package 
 - Coloca o programador como owner de todas as 
 classes do package 
 
 - Proceder seguindo os passos definidos em : Como proceder 
 uma alteração --> Alteração a ser passada para a 
 programação --> Programação 
 
 - Como proceder numa nova aplicação : 
 
 - Aplicação a ser passada para a programação: 
 
 - Analista 
 - Cria o project da aplicação 
 - Cria o package da aplicação 
 - Cria o mapa da aplicação 
 - Cria a área de comunicação 
 - Cria tabelas (table editions) (se houverem) 
 - Versiona todas as classes da aplicação 
 - Versiona e da release do package da aplicação 
 - Versiona o project da aplicação 
 - Coloca o usuário OPER como owner de todas as 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 13 
 
 classes da aplicação 
 - Coloca o usuário OPER como owner do package da 
 aplicação 
 - Coloca o usuário OPER como owner do project da 
 aplicação. 
 - Efetua todos os procedimentos das aplicações a serem 
 passadas para alteração pela programação. 
 
 - Aplicação a ser feita pelo analista : 
 
 - Analista 
 - Cria o project da aplicação 
 - Cria o package da aplicação 
 - Realiza a programação 
 - Testa a aplicação 
 - Versiona todas as classes da aplicação 
 - Versiona e da release do package da aplicação 
 - Versiona o project da aplicação 
 - Efetua a geração da aplicação pelo VAGen for Java 
 - Coloca o usuário OPER como owner de todas as 
 classes da aplicação 
 - Coloca o usuário OPER como owner do package da 
 aplicação 
 - Coloca o usuário OPER como owner do project da 
 aplicação. 
 - Solicita o operacional da aplicação. 
 
 Atenção : ao descarregar uma aplicação do seu workspace, sempre 
descarregá-la através do project, nunca descarregar somente o package da 
aplicação. 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 14 
 
 3 Definindo a estrutura de um programa 
 
Type Programa - Modo de execução -> escolha Main Transaction - Segmented 
 
Segmented 
Each write to the terminal (CONVERSE or XFER with map or UI 
record) is the end of a unit of work. => 
 
Traduzindo: Cada tela exibida é o fim de uma unidade de trabalho, serao encerradas 
as posiçoes de arquivos ou tabelas, ou seja como utilizamos somente tabelas em 
programas on-line, será dado commit implicito (efetiva as atualizações) a cada 
converse. 
 
Specifications -> indicar a Working Principal e o Grupo de Mapas do programa 
 
Tables and additional Records -> Tabelas e registros adicionais 
 
 Tabelas (table editor/DSCAT01), area de trabalho (DSCAW02) e areas 
 de comunicação com outras aplicações (A0AAW01,AOCAW03) 
 deverão ser informadas. 
 
 Structure Diagram 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 15 
 
 
 Dois processos devem ser informados: o processo inicial (P01) onde 
 inicializamos registros e variaveis e o processo principal (P02) que 
 representa o fluxo principal de seu programa. 
 
Clique no processo 02 (DSCAP02) e escolha Instruçoes de Fluxo -> voce deve incluir 
o nome DSCAP02(); isto significa que ao utilizar o comando EZEFLO retornará sempre 
ao fluxo escolhido e nesse caso o retorno será sempre para o processo DSCAP02 
como mostra o exemplo.. 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 16 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 17 
 
Clique em propriedades para inserir UMOD - table editor (tabela de mensagens). 
Ao utilizar em seu codigo o comando EZEMNO será feita a procura na tabela de 
mensagem UM0D e sera recuperada a descrição da mensagem correspondente ao 
codigo informado em seu programa. 
 
 
 
 
 
 
Casas Bahia Documento Confidencial Página: 18 
 
 4 - Tipos de partes 
 Adicionar uma nova parte ( registros, funcões, 
 programas ou mapas 
 
 
Adicionando um Mapa: nome do programa DSCAG (G->grupo de mapas) 
DSCAM01 (M01 => informa que sera o primeiro mapa contido no do grupo de 
mapas do programa) 
 
 
 
 
Casas Bahia Documento Confidencial Página: 19 
 
 
 Registros: Working Storage (areas secundarias) 
 SQL ROW (linhas da tabela) 
 
Escolha o tipo RECORD e o nome padrao será o nome do programa + R (de registro) 
+ num. sequencial (DSBAR01) e associe o registro ao Package já criado.. 
 
 
 
 
Troque para SQL ROW e utilize sempre como SHARED, assim os dados 
 recuperados serão os data-itens já contidos no Project Padrão... 
 
 
 
 
Casas Bahia Documento Confidencial Página: 20 
 
 
 
Para inserir a Tabela SQL que deseja trazer os campos clique na opcao propriedade 
 
 
 
Clique em Inserir e preencha com o nome da tabela. Esta por sua vez 
já deve estar criada no USER ID 
 
 
 
Casas Bahia Documento Confidencial Página: 21 
 
 
 
 
Clique agora em Recuperar SQL - irá trazer todos os campos da tabela inserida 
contida em seu USER ID, lembre-se de deletar os campos que nao irá em seu 
programa. 
 
 
 
 
 
Casas Bahia Documento Confidencial Página: 22 
 
 
 
 Informar o seu User ID e a Password que faz acesso ao SQL 
 
 
 
 
 Observação Importante: 
 
 Data itens - Se o data item definido em seu registro ou 
 working storage estivercomo Shared e, 
 houver a necessidade de se alterar as 
 características do mesmo, este deve ser alterado 
 para nonShared. (a não observancia deste item 
 acarreta em geração de novas edições inválidas no projeto 
 Padrão e problemas no futuro para se efetuar o operacional da 
 aplicação) 
 
Casas Bahia Documento Confidencial Página: 23 
 
 
 
 Function => Processos 
 
 LISTA DAS OPÇÕES DE PROCESSO 
CONVERSE Exibe um mapa e aguarda uma resposta do operador. 
DISPLAY Envia um mapa para o BUFFER do terminal. 
INQUIRY Obtem um registro de um arquivo. 
UPDATE Obtem uma registro de um arquivo para atualização / deleção. 
REPLACE Regrava um registro atualizado no arquivo. 
ADD Grava um novo registro no arquivo. 
DELETE Remove um registro do arquivo. 
CLOSE Fecha arquivos, disconecta printers ou libera SQL ROW´s 
SCAN Obtem o próximo registro de um arquivo em ordem sequencial para 
consulta. 
EXECUTE Executa instruções de processamento sem operações de I/O. 
SETINQ Posiciona o cursor para um SCAN em tabela relacional. 
SETUPD Posiciona o cursor para um SCAN com update. 
SQLEXEC Executa SQL STATMENT definidos pelo usuário. 
 
 
OBSERVAÇÕES: 
 
Todas as opções de processo, exceto EXECUTE, operam com um objeto (registro ou mapa). 
A opção EXECUTE é usadapara inicialização, término, erros ou para processamento de dados 
recebidos de um arquivo ou terminal. 
 
Criando um processo de leitura 
 
Nome da parte => o nome do programa DSBA + P (de processo) + o numero 
sequencial. 
 
 
 
Casas Bahia Documento Confidencial Página: 24 
 
 
 
 
Opção - Inquiry -> Obtem um registro de um arquivo (tabela) 
 
 
 
 
Clique em Propriedades e preencha Rotina de erro igual EZERTN - pois em caso de 
erro o programa retornará ao processo chamador e coloque tambem a descrição da 
função executada seguida do nome da tabela no campo Descrição 
 
 
Casas Bahia Documento Confidencial Página: 25 
 
 
 
 
 
 
 
 
 Clique em editor de SQL/DLI 
Abrirá o statement com os campos definidos no registro (DSBAR01) 
 
 
 
 
 
 
Casas Bahia Documento Confidencial Página: 26 
 
 
 
 
 A condição de validação de seu statement sera inserida na parte WHERE/GROUP 
BY/HAVING 
 
 
Casas Bahia Documento Confidencial Página: 27 
 
 
 
 
 Clique em Validate para validar sua sintaxe 
 
 
 
 
 
 
 
 
Casas Bahia Documento Confidencial Página: 28 
 
 
 
 
 
Em Properties se você marcar Single Row Select -> significa que retornará somente 
um linha na pesquisa resultante, o registro não pode apresentar duplicidade. 
Caso não marcado a opção Single Row Select resulta em trazer apenas uma linha, 
embora a condição estabelecida possa apresentar duplicidade, ou seja mais de uma 
linha. 
 
 
 
 
 
 
 
A instrução SETINQ = Posiciona o cursor para um SCAN em tabela relacional. 
 
 
 
Casas Bahia Documento Confidencial Página: 29 
 
 
 
 
 
 
A instrução SCAN => Obtem o próximo registro de um arquivo em ordem sequencial 
para consulta. 
 
 
 Instrução DELETE ou UPDATE no Visual AGE - > utilize a opção SQLEXEC 
 
 
 
 
Clique em Editor SQL/DLI vai trazer a tela SQL Statement Editor para voce completar, 
clique em propriedade e escolha a opçao Delete ou Update no Model SQL Statement 
 
 
 
Casas Bahia Documento Confidencial Página: 30 
 
 
 
 
 
 
 
 Clique em ok e depois novamente em SQL/DLI irá abrir a tela com o 
 COMANDO DELETE ou UPDATE, conforme sua escolha. 
 
 
 
 
Casas Bahia Documento Confidencial Página: 31 
 
 
 
 
 
 
 
 
 
 
 
Casas Bahia Documento Confidencial Página: 32 
 
 
 
 Teste 
 
Sempre ao testar uma aplicação o Test Monitor será inicializado. É a partir deste 
monitor que é possível acompanhar o teste de uma aplicação. 
 
 
- Para se reposicionar o teste em algum comando, basta clicar no comando que se 
deseja executar (em Statement Monitor) e confirmar a reposição ou cancelar a 
reposição. 
Como atualizar variáveis em um teste 
- Para atualizar algum campo, basta clicar no campo que se deseja atualizar (em 
Watchpoint Monitor) e clicar Update. Aparecerá automaticamente uma janela 
solicitando o valor a ser atribuido ao campo. Caso o campo a ser atualizado não 
esteja presente no Watchpoint Monitor deve-se ir ao menu : 
 - Tools --> Program Data 
 
Casas Bahia Documento Confidencial Página: 33 
 
 - escolher qual dado se quer atualizar 
 - clicar em Browse 
 - escolher o campo 
 - clicar em update e atribuir o novo conteúdo ao campo. 
- Para se mover algum valor para um campo (valor fixo ou o conteúdo de um campo 
para outro) deve-se ir ao menu: 
 - Tools --> Move Data 
 - colocar o valor a ser movimentado (ou a variável) e o campo 
 que receberá o valor . 
 
Como verificar o conteúdo de um campo no teste 
- Para verificar o conteúdo de um campo que não esteja presente no Watchpoint 
Monitor, deve-se ir ao menu: 
 - Tools --> Show Data 
 - escolher qual parte se deseja ver. 
 
Como acionar a função de trace no teste 
- O default é Trace Nothing, ou seja, não fará trace algum. Para se acionar o trace 
deve-se ir ao menu: 
 - Tools --> Trace 
 - Trace All (trace em tudo) ou Trace Points only 
 - Para “setar” alguns pontos de trace (Trace Points only) -- 
 deve-se ir ao menu: 
 - Tools --> Set Testpoints 
 - escolher a(s) partes(s) que se deseja realizar o trace -- 
 clicar em tracepoints on part. 
 -Se Trace All ou Trace Points only foram escolhidos, para se ver o trace 
realizado, deve-se ir ao menu: 
 - Tools --> Trace 
 - View Trace. 
 
O que é a função Test Coverage ? 
- Nesta função é possível verificar o percentual testado em cada processo, bem como 
verificar por quais instruções seu teste passou ou não. Para se ativar esta função, 
deve-se ir ao menu: 
 - Tools --> Test Coverage 
 
Casas Bahia Documento Confidencial Página: 34 
 
 - Enable Test Coverage. 
-Deve-se realizar o teste normalmente. Para se verificar o resultado do test coverage, 
deve-se ir ao menu: 
 - Tools --> Test Coverage 
 - View Test Coverage. 
- Ao se abrir a estrutura da aplicação presente em Program Hierarchy Monitor 
aparecerá o percetual de utilização de cada parte da aplicação. Ao se clicar em uma 
parte, serão mostradas todas as instruções presentes na parte bem como a 
informação de que o teste contemplou esta instrução ou não. 
 
Repository Explorer 
 
- Ao se eliminar um project ou package de seu workspace, não significa eliminá-lo do 
repositório. Se isso realmente for necessário deve-se ir ao menu: 
 - Window (presente no Workbench) 
 - Repository Explorer. 
- Neste ambiente torna-se possível eliminar do repositório versões de projetos que 
não estão presentes em seu workspace ou mesmo projetos com edição aberta (open 
edition) 
- Esta opção é bastante útil, mas também muito perigosa, portanto deve-se tomar o 
máximo de cuidado ao se efetuar manutenções diretamente no repositório. 
 
STATEMENT TEMPLATES 
 
- Esta função é bastante útil quando não sabemos ou não lembramos a sintaxe de um 
comando. 
- Para se utilizar esta função deve-se editar uma parte e ir ao menu: 
 
 - Tools --> Statement Templates 
 - escolher qual categoria se deseja trabalhar 
 escolher o comando dentro da categoria. 
 
 
 
Casas Bahia Documento Confidencial Página: 34 
 
 
GERAÇÃO 
- O processo de geração é separado por aplicação, tabelas e grupo de mapas. Para 
efetuar a geração: 
 - selecione a aplicação, tabela ou mapa e clique com o botão direito do 
 mouse. 
 - escolha a opção Generate 
 - aparecerá a janela de geração, clique em Generate 
- Este processo é composto por gerar o código COBOL, transferir os arquivos para o 
MVS via ftp e submeter o job de compilação. 
- A transferência é feita para os arquivos de prefixo CSP.V4R1M0.MVSCICS, estes 
arquivos são deletados e definidos todos os dias. 
- O job de compilação é submetido com o userid do TSO do usuário do WORKSPACE. 
 
BIND 
- O bind é o acesso das tabelas do usuario do workspace 
 
OPERACIONAL 
- O operacional deverá ser solicitado por aplicação, tabela e grupos de mapas 
(utilizando a opção mapa do VAGE) 
 
TESTE COM PROGRAMAS - CICS 
- Para testar um programa CICS no Visual Age, o programa deverá ser colocado na 
LINKAGE (pelo suporte técnico, os programas existentes já estão). Se este programa 
utilizar db2 deverá ser dando um bind package no CPMI (ex. #E.BINDVAGE). Quando 
o programa for alteradoé necessário emitir um NEWCOPY no do CICS de teste 
(opção 7 ou 8). 
- Na primeira chamada de um programa cics é necessário digitar usuário e senha a 
 
Casas Bahia Documento Confidencial Página: 34 
 
mesma da entrada do Visual Age. 
 
 
 
 
 
 
 
 
Palavras reservadas no VisualAge 
 
EZERTN 
Transfere o controle de volta para instrução (de um processo ou grupo) 
imediatamente seguinte aquela que o chamou. No VisualAge esta função vem seguida 
com parênteses. 
Exemplo: 
 MOVE „PESQUISA‟ TO X1AAW02.W02_ST_FASE; 
 EZERTN(); 
O parênteses podem ser utilizados para passagem de parâmetros. 
 
EZECOMIT 
Chama um serviço que salva o database atualizando os arquivos. No VisualAge esta 
função vem seguida com parênteses. Antes de dar EZECOMIT na aplicação deve-se 
dar um EZEREPLY. 
Exemplo: 
EZEREPLY = 1; 
 
Casas Bahia Documento Confidencial Página: 34 
 
EZECOMIT(); 
Os parênteses podem ser utilizados para passagem de parâmetros. 
 
EZEROLLB 
Chama um serviço que retrocede as atualizações feitas no database ou recupera 
arquivos do último commit efetuado. No VisualAge esta função vem seguida com 
parênteses. Antes de dar EZEROLLB na aplicação deve-se dar um EZEREPLY 
No VisualAge a sintaxe desta função é conforme o exemplo dado abaixo: 
Exemplo: 
EZEREPLY = 1; 
EZEROLLB(); 
Os parênteses podem ser utilizados para passagem de parâmetros.
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 38 
 
EZEBYTES 
Retorna o tamanho de um item ou um registro em bytes. 
Exemplo: 
 EZEREPLY = 0; 
 RESULT = EZEBYTES(RECD1); 
 
Existem também palavras reservadas que possuem funções de string. 
 
EZESBKT EZESFIND 
EZESCCWS EZESNULT 
EZESCMPR EZESSET 
EZESCNCT EZESTLEN 
EZESCOPY EZESTOKN 
 
 
EZESCCWS 
Concatena uma string a outra utilizando um separador de string entre eles. 
Exemplo: 
MOVE ‘CLIENT NAME =’ TO PRINT_LINE; 
RESULT = EZESCCWS(PRINT_LINE, CLIENT_NAME, ‘ ‘); 
IF RESULT = -1; 
 CALL PRINT_LINE_OVERFLOW; 
END; 
 
 
EZESCMPR 
Compara uma substring com outra substring. 
Exemplo: 
EZEREPLY = 1; 
RESULT = EZESCMPR(TARGET,3,2,SOURCE,8,2); 
 
 
EZESCNCT 
Concatena uma string a outra string. 
Exemplo: 
MOVE ‘SALARY = $’ TO PRINT_LINE; 
RESULT = EZESCNCT(PRINT_LINE, SALARY); 
IF RESULT = -1; 
 CALL PRINT_LINE_OVERFLOW; 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 39 
 
END; 
 
 
EZESCOPY 
Copia uma substring para outra substring. 
Exemplo: 
EZEREPLY = 1; 
EZESCOPY(COPY_TO,3,6,COPY_FROM,8,6); 
 
EZESFIND 
Encontra a primeira ocorrência de uma string especificada dentro da string. 
Exemplo: 
INDEX = 1; 
EZEREPLY = 1; 
RESULT = EZESFIND(CLIENT_ADDRESS,INDEX,100,SEARCH_ZIP_CODE); 
 
 
EZESSET 
Seta cada caracter de uma substring para o mesmo valor do caracter. 
Exemplo: 
EZEREPLY = 0; 
EZESSET(TARGET,12,5,’‘); 
 
EZEREPLY 
 
 O EZEREPLY tem efeito somente em funções VAGen. Especifica quanto um 
 erro de uma função VAGen deverá retornar no campo EZERT8. 
 Se o EZEREPLY está com o conteúdo 1, quando ocorre um erro na função 
 VAGen, este erro estará disponível na função especial EZERT8. A execução 
 continua, não havendo cancelamento 
 Se o EZEREPLY está com o conteúdo 0, quando ocorre um erro na função 
 VAGen, o programa invocado termina com uma mensagem de erro que explica 
 a causa do término anormal e mostra o return code. 
 O valor inicial do EZEREPLY é 0. 
 
 O EZEREPLY não tem efeito em: 
 
 EZESBLKT EZESCCWS 
 EZESCNCT EZESTLEN 
 EZECONCT EZEC10 
 EZEC11 EZECONV 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 40 
 
 EZEG10 EZEG11 
 EZEPURGE EZEWAIT 
 
 Colocar a função EZEREPLY antes das chamadas das funções EZECOMIT e 
 EZEROLLB. 
 
EZEFLO => causa a transferência do controle para o nivel da instrução especificada 
 na função principal... 
 function word EZEFLO for “go to” or transfer processing. 
 EZEFLO causes control to transfer to the flow statements specified for the 
 current main function. 
 
 
EZEFEC => Controla se um programa continua a funcionar após um erro grave de 
de I/O em arquivos,banco de dados ou fila de mensagens. 
Se EZEFEC está definido para 1 e uma rotina de erro da função foi especificada, a 
rotina de erro da função é executada quando ocorrer o erro. O programa é 
responsável por informar o erro para o usuário do programa. (usamos mover 1 para 
EZEFEC) 
 
EZEDTELC => Retorna a data corrente conforme configuração no seu VA. Utilizamos 
no formato DD.MM.YYYY 
MOVE EZEDTELC TO S6I5U01.DT_PVEMCR; 
 
EZEDTEL => Retorna a data corrente no formato (YYYYMMDD) 
 
 
EZEAID => Esta função é usada para testar as PF's ou PA's utilizadas 
 no mapa exibido. 
 
EZECLOS => Imediatamente termina o programa. Se o programa é um programa 
de chamada, EZECLOS devolve o controle ao programa de chamada. EZECLOS é o 
fluxo padrão para a última função principal de um programa. 
 
EZEAPP => Você pode especificar o nome do programa ou a palavra função 
especial, 
EZEAPP. EZEAPP permite alterar dinamicamente a transferência para 
nome do programa de um programa. 
DXFR => é projetado para transferir o controle para outro programa para 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 41 
 
ambientes que suportam transações, DXFR não pode ser utilizado a partir de um 
programa de chamada. 
 
EZERTN => Retorna para ultima função chamada no VAGEN. 
 
EZETST => O valor dessa função é setado com zeros se o resultado procurado 
 retornará “nao encontrado” e caso encontrado retornará o numero do 
indice do primeiro elemento da matriz que coincide com o valor dos 
dados. 
 
EZEMNO => A tabela de Mensagem é acessada durante o teste e executa quando 
 uma das ocorrencias é verdadeira... 
 
EZETIM => EZETIM contains the current system time in the format of HH:MM:SS. 
 
EZECNVCM => EZECNVCM é 0 se nonsegmented e 1 se segmentado. O programa 
pode alterar EZECNVCM a qualquer momento. Quando EZECNVCM é setado igual 1 
o EZECOMIT é chamado durante todo o converse. 
 
 EZESTLEN - Retorna o tamanho de um item desconsiderando espaços e nulos... 
 (considerando que o campo deve ser string (nao numerico). 
 o preenchimento com zeros) 
 O resultado retorna em campo integer... 
 ex.: S1YVW02.LENGTH = EZESTLEN( S1YVU01.DS_MCR); 
 
 STATEMENTS 
MOVEA => Move o conteudo de um array para outro ou inicializa os 
 elementos do array. 
 
Attribute Description 
 
EMPTY - Usado para inicializar os itens de dados dentro do seu registro 
 (brancos para caracteres, zeros para itens de dados numericos) 
 zeros binarios para binarios e itens de dados hexadecimal) 
 
 - Quando especificado para um mapa, os atributos dos campos 
 não serão modificados...ficará com o ultimo mostrado... 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 42 
 
NULL - Setar o indicador de nulo para um item que está contido dentro 
 de uma estrutura SQL e a condição de nulo é verdadeira.. 
 
CLEAR- Seta o mapa para o seu estado definido de origem. 
 Os atributos e conteudos para os campos são os valores definidos 
 na origem do mapa. 
 
NORMAL - Mostra os dados com normal intensidade, e o campo é setado 
 para desprotegido 
 
DEFINED - Exibe os dados com os atributos definidos conforme origem do mapa. 
 
MODIFIED - Usado para setar o campo como modificado. 
 Um teste de modified antes do mapa ser exibido nao cria 
 a condiçao verdadeira como resultado deste SET... 
 (somente ao mostrar o mapa) 
 
BRIGHT - Exibe o campo do mapa com intensidade de brilho.. 
 
DARK - Usado para prevenir que o conteudo do campo nao seja exibido... 
 é usado por razões de segurança por exemplo: senhas. 
 
PROTECT - Protege um campo do mapa para não ser modificado. 
 Protect e Autoskip nao deve ser especificado juntos 
 porque o autoskip força o protect.. 
 
NUMERIC - Se o itens do mapa do tipo character, podemos testar se verdadeiro 
 o conteudo de caracteres entre 0 ate 9...Numeric nao pode ser 
 usado com palavras reservadas....EZE 
 
 
 
 
 
 
Manual Básico de Visual Age Versão: 1.0 
user_guide_VisualAge_basico.odt Data: 29/01/13 
 
Via Varejo Documento Confidencial Página: 43 
 
CAMPOS INDEXADOS 
- Os campos indexados utilizados no VisualAge são identificados através de colchetes 
„[ ]‟. 
Exemplo: 
VisualAge M01_ST_OPC[W02_IX] 
 
PERFORM 
- Os „performs‟ existentes no VisualAge são considerados como funções seguidos de 
parênteses que podem conter ou não passagem de parâmetros. 
Exemplo: 
 
VisualAge X1AAP03(); 
 
STATEMENT GROUP 
- Os statements que são chamados pelas aplicações no VisualAge vem seguidos por 
parênteses que podem conter ou não passagem de parâmetros. 
 
Exemplo: 
VisualAge SGDATEC(); 
 
SQLCODE 
 - Para o sqlcode -911, seu correspondente no VAGen é o -913, mas isto é válido 
somente para o teste de aplicações não geradas. Ao se gerar a aplicação para o MVS 
o sqlcode para registro em uso continua sendo o -911, portanto se for necessário 
efetuar este teste em aplicações não geradas, deve-se perguntar pelo sqlcode -913 
também.