Guia Tinycobol (Gnu) + PostgreSQL ===================================== Carlucio Lopes Goiania - Goias - Brasil InfoCont Sistemas Integrados - Adaptação para Windows Joinville - Santa Catarina - Brasil Versao 1.04 - Terca, 04 de Abril de 2006 Resumo ------ Este tutorial tem por objetivo ser uma referencia ao aprendizado no Tinycobol em ambiente Windows, utilizando PostgreSQL. Duvidas, criticas e sugestoes favor postar para grupo lista Clube Cobol em cobol@yahoogrupos.com.br. Nota de Copyright ----------------- Copyleft (C) 2003 - Carlucio Lopes. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License". ----------------------------------------------------------------------------- Conteudo -------- 1 - O que e' o Tinycobol(TC) 1.1 - Como compilar no Tinycobol 2 - Instalando o Postgresql. 3 - Compilando programa cad01.cob exemplo(TC+Postgresql) 4 - Duvidas e Sugestoes. 5 - Apendice ------------------------------------------------------------------------------ 1 - O que e' o Tinycobol. O TinyCOBOL e' um compilador COBOL free, criado por um brasileiro chamado Rildo Pragana e atualmente esta sendo desenvolvido por uma equipe de diversas partes do mundo (Europa/EUA). Por ser um compilador livre, nao e' necessario pagar para obter suas versoess. Para garantir a sua liberdade, o TinyCOBOL e' licenciado dentro dos termos da GNU ? General Public Licence, o que significa que seu codigo fonte e' livremente distribuido e disponivel em dominio publico. Suporta padrao ANSI 85. 1.1 - Como compilar no Tinycobol. Apos a criacao do arquivo com o programa fonte, com extencao .cob, usa o comando htcobol que executa o compilador. Usando: htcobol [opcoes] programa_fonte Opcoes especificas do Compilador: -h Mostra ajuda -a Cria biblioteca estatica; pre-processa, compila, assembla e arquiva -B modo especifico para aglutinacao (estatica/dinamica) -c Compilacao para um modulo de objeto estaticamente linkado -E Saida do preprocessador para saida padrao apenas; nao compila, assembla ou linka -g Gera saida de debug de compilacao -l Adiciona biblioteca na linkedicao -L Adiciona diretorio ao caminho de procura de bibliotecas -m Cria biblioteca dinamica; pre-processa, compila, assembla e li -m Cria biblioteca dinamica; pre-processa, compila, assembla e linka -n Na~o executa nenhum comando, deve mostrar a compilacao -o Especifica nome do executavel (padrao de entrada x extensao) -S Preprocessa, compila(gera codigo assembler) somente; nao assembla ou linka -v Gera saida do compilador verbosa -V Mostra informacoes da versao do compilador e sai -Wl, Passar opcoes separadas por virgula ao linkeditor -x Compilacao para criar um executavel -z Gera saida do compilador verbosa Opcoes especificas do COBOL: -C Faz todas as chamadas dinamicas COBOL -D Inclui linhas de debug no fonte -F Fonte de entrada esta em formato de coluna fixa padrao -I Define inclusao(copybooks) de caminhos de procura. (padrao -I./) O caminho pode ser um simples diretorio, ou uma lista de diretorios separados por um ':' -P Gera arquivo de saida listado -T Binários para Windows 2.2 Descompacte o arquivo postgresql-8.1.x-x.zip em uma pasta. 2.3 Execute a instalação através do arquivo postgresql-8.1.msi (Windows Installer) Durante a instalação será solicitada uma senha de acesso ao banco. Guarde esta senha, pois você terá de usa-la no item 3.3, para configurar os parâmetros de acesso ao banco. 2.4 Entendendo o PostgreSQL: O processo de instalação criará um grupo de programas chamado PostgreSQL, onde se encontram todas as ferramentas de administração e execução do banco de dados. Durante a instalação, será criado o banco POSTGRES, que utilizaremos neste tutorial. 2.5 Conectando ao banco POSTGRES No grupo de programas PostgreSQL existe um atalho denominado "psql para 'postgres'". Esta ferramenta é a que iremos utilizar para administrar o Banco de Dados. Esta ferramenta abrirá um prompt de comando, onde executaremos as intruções SQL. Para sair digite: postgres=# \q 3 - Compilando programa cad01.cob exemplo(TC+Postgresql). Este programa cad01.cob é um exemplo simples de uso do PostgreSQL através do TinyCOBOL. Trata-se de um pequeno cadastro de filiais. 3.1 compilando e gerando o executável de cad01.cob digite: htcobol -vCX cad01.cob nota: Estamos usando a opção X para compilar o programa porque ele esta escrito em free format, sem o uso das margens características dos fontes COBOL. Informacoes: - O TC suporta acesso a PostgreSQL via call's as API's do PgSQL atraves um wrapper(empacotador) criado pelo Rildo. Estas rotinas já se encontram devidamente compiladas e presentes no diretório C:\TinyCOBOL\bin. 3.2 Manutencao no banco de dados 3.2.1 O programa cad01.cob faz acesso a uma tabela chamada "filial", que precisaremos cria-la antes de executar o programa. Para isso, acesse o programa "psql para 'postgres'" e digite as instruções abaixo: create table filial ( codigo decimal(3,0), nome char(50), nome_fantasia char(40), endereco char(40), numero decimal(5,0), setor char(25), cidade char(25), uf char(02), cep char(08), foneddd char(04), fonenum char(08), faxddd char(04), faxnum char(08), cgc char(18), insest char(20), contato char(40) ); 3.2.2 Se você preferir, as instruções acima poderiam ser gravadas num arquivo texto (comando.sql, por exemplo) e poderiamos executa-lo posteriormente através do seguinte comando: postgres=# \i c:/tinycobol/tutoriais/postgresql/comando.sql 3.3 O banco de dados necessita de alguns parâmetros para possibilitar o acesso a mesmo. Estes parâmetros são definidos através de variáveis de ambiente, que serão lidas pela biblioteca de acesso ao banco (LIBPQ). Estas variáveis já estão preparadas no arquivo SETBANCO.BAT, que deverá ser executado antes do programa CAD01. Estas são as variáveis: set PGSQL_SERVER=127.0.0.1 set PGSQL_USER=postgres set PGSQL_PASSWD=senha A variável PGSQL_SERVER indica o IP do servidor, onde 127.0.0.1 corresponde a localhost, ou seja, a máquina atual. A variável PGSQL_USER=postgres indica o usuário configurado para acesso ao banco. Altere-a se necessário. Já a variável PGSQL_PASSWD indica a senha configurada para acesso ao banco. Altere-a para a senha informada durante o processo de instalação. A configuração destes parâmetros é imprescindível para o correto funcionamento do programa. 3.4 para executar o cadastro de filial digite: cad01 Pronto voce tem um programa em Tinycobol+Postgresql, rodando no Windows. 4 - Duvidas e Sugestoes. Poste suas duvidas e ou sugestoes para a lista abaixo, sendo que o topico devera ser enviado para lista adequada. 4.1 Tinycobol. Lista cobol@yahoogrupos.com.br http://br.tinycobol.org http://wiki.tinycobol.org 4.2 Postgresql lista postgresql@yahoo.com.br http://www.postgresql.org http://www.postgresql.org.br 5 - Apendice 5.1 Agradecimentos - A DEUS que nos proporcionou o mais complexa CPU(Celebro Humano). - Rildo Pragana pela iniciativa no desenvolvimento do compilador TinyCOBOL. - Hudson Reis pela empenho de tornar esta ferramenta produtiva. - Fernando Wuthstrack por acreditar e implementar o TC em sua Empresa. 10.2 Colaboradores - Carlucio Lopes - Rildo Pragana - Hudson Reis - Fernando Wuthstrack - Danilo Pacheco Martins - Walter Garrote