                   Tinycobol+Firebird (EmbeddedSQL)
                   ================================

                   Fernando Wuthstrack <fernando@infocont.com.br>
                   Danilo Pacheco Martins <danilo@infocont.com.br>
                   Carlucio Lopes <carsanlo@terra.com.br>

                   Versao 0.02 - Sbado, 27 de maio de 2006


Resumo
------

     Este tutorial tem por objetivo ser uma referencia ao aprendizado no
     Tinycobol com banco de dados Firebird, utilizando o recurso EmbeddedSQL,
     em ambiente Windows/Linux. Duvidas, criticas e sugestoes favor postar 
     para lista inycobol em cobol@yahoogrupos.com.br
    
     O uso do EmbeddedSQL facilita em muito o processo de integracao entre um
     programa COBOL e o Banco de Dados. O uso do EmbeddedSQL esta disponivel
     tambem para outros bancos de dados, como o Oracle e o DB2, alem do Firebird.
     O uso do EmbeddedSQL consiste na digitacao de comandos da linguagem SQL
     entre os marcadores EXEC SQL e END-EXEC, no proprio fonte COBOL.

Nota de Copyright
-----------------

     Copyleft (C) 2003 - InfoCont Sistemas Integrados Ltda.

     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 - Instalando o Firebird.
2 - Compilando programa cad01f.cob  exemplo.
3 - Duvidas e Sugestoes.
4 - Apendice

------------------------------------------------------------------------------

1 - Instalando o Firebird 

1.1 Fazendo download.
    Baixe a versao para Windows do Firebird atraves do site 
    http://firebird.sourceforge.net ou www.firebird.com.br secao Download  

1.2 Instale o arquivo baixado, seguindo todas as orientaes trazidas na tela.
    
3 - Compilando programa cad01f.ecob  exemplo.
    Este programa cad01f.ecob eh uma tela para cadastro de filiais.
    O processo de compilacao de um programa escrito com EmbeddebSQL envolve
    duas etapas, sendo que a primeira delas eh o pre-processamento pelo aplicativo
    GPRE, que converte todos os dialogos SQL para chamadas (CALLs) as APIS do
    Firebird.
    Para facilitar o processo de compilacao utilize o shell compilabd.
    Abaixo uma explicacao detalhada do shell script:

    SET INTERBASE=/opt/interbase
    SET ISC_USER=SYSDBA
    SET ISC_PASSWORD=masterkey 
    #=> As linhas acima setam parametros necessarios a execucao de aplicativos
    #   escritos utilizando o Firebird
    C:\Arquiv~1\firebird\firebird_1_5\bin\gpre -co -d "teste.gdb" %1.ecob
    #=> A linha acima executa o pre-processamento (substituicao das instrucoes
    #   SQL por comandos COBOL). A opcao -co identifica que sera pre-processado
    #   um fonte COBOL e a opcao -d "teste.gdb" informa ao GPRE qual o banco
    #   que sera acessado pelo programa. Isto se faz necessario para que o
    #   mesmo possa recuperar a estrutura das tabelas que serao utilizadas no
    #   programa.
    mv %1.ecob.cbl %1.cob
    #=> Como o GRPE gera um novo arquivo denominado nomefone.ecob.cbl, eh
    #   necessario renomea-lo para permitir a compilacao pelo TinyCobol
    htcobol -vCX %1.cob
    #=> Compilacao e linkedicao normal do TinyCobol. 

3.1 entre no diretorio /usr/local/tc_firebird digite:
    #cd /usr/local/tc_firebird

3.2 Usando script 'compilabd'
    existe o shell script 'compilabd' que esta no diretorio tc_firebird que fara todo o 
    procedimento  de compilacao automaticamente.

3.5.1 Use comando abaixo para mudar a permissao para execucao
    #chmod 755 compilabd
    
3.5.2 Executando o script 'compilabd' 
    #./compilabd cad01f
    
3.6 Para verificamos erros de compilacao devemos abrir o arquivo cad01f.lis, que constara
    os status da compilacao, este arquivo eh gerado visto que colocamos opcao -P para compilarmos.

3.7 Pronto voce tem um programa em Tinycobol+Firebird com EmbeddedSQL.
    Para executa-lo, digite:
    #./cad01f

3.8 O Firebird possui uma ferramenta para interpretacao de dialogos SQL com
    interacao direta com o Banco de Dados, para isto, acesse o programa ISQL:
    # /opt/interbase/bin/isql
    Com esta ferramenta voce podera utilizar todos os comandos da linguagem
    SQL.

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-br@listas.cipsga.org.br      

4.2 Linux comandos e outros.
    lista linuxall@yahoo.com.br

4.3 Firebird
    lista firebird-br@yahoogrupos.com.br

5 - Apendice

5.1 Agradecimentos

    - A DEUS que nos proporcionou o mais complexa CPU(Celebro Humano).
    - Rildo Pragana<rpragana@acm.org> pela iniciativa no desenvolvimento do compilador 
      free Tinycobol.
    - Hudson Reis<hudsonreis@gmx.net> pela empenho de tornar esta ferramenta produtiva.
    - Ao Carlucio Lopes, que nos autorizou a adaptar o modelo original do
      PostgreSQL para o Firebird.
    - Ao Andrew Cameron, que iniciou os testes e constatou que eh possivel o
      uso do TinyCobol com o Firebird.

5.2 Colaboradores
    - Fernando Wuthstrack
    - Danilo Pacheco Martins
    - Carlucio Lopes
    - Rildo Pragana
    - Hudson Reis
