Exemplos »»

Neste exemplo veremos como é simples integrar layouts de relatórios feitos com o VisRelEdit ao COBOL (tomamos como base o COBOL Micro Focus 4.5, entretanto o VisRel é independente de linguagem, ou seja, pode ser facilmente migrado para qualquer linguagem ou versão do COBOL).

O boleto abaixo é um layout que é instalado junto com o VisRelEdit, e conforme o caso também pode ser facilmente alterado ou adaptado (Ele utiliza o código de barras Intercalado-25 que é o padrão febraban para emissão de boletos):

Exemplo do Boleto

Depois de montar ou alterar o layout no VisRelEdit de forma visual (veja o tutorial), basta clicar no menu "Editar -> Copiar como -> Cobol - Micro Focus 4.5", que neste momento o VisRelEdit vai gerar o código fonte em COBOL e coloca-lo na área de transferência do Windows. Assim você pode cola-lo no seu programa, como abaixo em azul (Se precisar no futuro alterar o layout, basta copia-lo novamente e substituir todo o bloco em azul). Em vermelho estão as variáveis que você eventualmente utiliza no layout e consequentemente deve definir também no seu programa:

Leve em consideração que o programa abaixo é apenas demonstrativo, e foi simplificado ao máximo para facilitar o entendimento. Portanto você pode adaptar a sintaxe e/ou variáveis e pictures ao seu estilo de programação. Inclusive a forma e sintaxe que o VisRelEdit utiliza para gerar o código fonte pode ser alterada no menu "Editar -> Linguagens".

      $set ans85 noosvs mf
        ENVIRONMENT DIVISION.
        configuration section.
        special-Names.
            decimal-point is comma.
        input-output section.
                select  seq-arq
                        assign to       disk
                        organization    line sequential
                        lock mode is    manual
                        status          w-seq-st.

        DATA DIVISION.

        file section.
        fd seq-arq
            value of file-id w-seq-id
            record is varying in size depending on w-seq-size.
        01 seq-reg.
           02 w-linha   pic x(1200).
       


        WORKING-STORAGE SECTION.

        01 w-status.
           02 w-seq-id          pic x(255)   value spaces.
           02 w-seq-st          pic xx       value zeros.
           02 w-seq-size        pic 9(06)    value zeros.

        01 w-texto.
           02 w-texto-A         pic x(26)    value spaces.
           02 w-texto-B         pic x(1174)  value spaces.

        01 w-RH.
           02 w-RH-A            pic x(2)     value spaces.
           02 filler            pic x(1)     value spaces.
           02 w-RH-B            pic x(1197)  value spaces.

        77 FUNCAO-35 PIC X COMP-X VALUE 35.
        77 CODERRO-2 PIC X COMP-X VALUE 0.
        01 COMANDO PIC X(250)   VALUE SPACES.
        01 COMMAND-LIN.
            02 COMMAND-LIN-LEN PIC X COMP-X VALUE 0.

********** INICIO: Variaveis Criadas para o Boleto **********

        01 w-banco              pic x(32)    value "BRADESCO".
        01 w-cod-1              pic x(7)     value "000 - 9".
        01 w-cod-2              pic x(60)    value
        "23794.14804 60000.000152 77002.191201 9 24730000008950".
        01 w-local-pag          pic x(60)    value
        "Pagavel em qualquer agencia ate o vencimento".
        01 w-vencimento         pic x(10)    value "23/02/2006".
        01 w-cedente            pic x(32)    value
        "Fredi Giesbrecht".
        01 w-agencia            pic x(10)    value "1234-5".
        01 w-data-doc           pic x(10)    value "10/02/2006".
        01 w-numero             pic x(10)    value "1234".
        01 w-especie            pic x(10)    value spaces.
        01 w-aceite             pic x(10)    value spaces.
        01 w-data-proc          pic x(10)    value "08/02/2006".
        01 w-nosso-num          pic x(10)    value "123456".
        01 w-carteira           pic x(10)    value "01".
        01 w-moeda              pic x(10)    value "R$".
        01 w-quantidade         pic x(10)    value spaces.
        01 w-valor              pic x(10)    value spaces.
        01 w-valor-doc          pic x(10)    value "150,60".
        01 w-instrucoes         pic x(200)   value spaces.
        01 w-desconto           pic x(10)    value spaces.
        01 w-outras-ded         pic x(10)    value spaces.
        01 w-mora-multa         pic x(10)    value spaces.
        01 w-acrescimos         pic x(10)    value spaces.
        01 w-valor-cobrado      pic x(10)    value spaces.
        01 w-sac-nome           pic x(40)    value
        "Fredi Giesbrecht".
        01 w-sac-end            pic x(40)    value
        "Av. Julia Maksoud, 1757".
        01 w-sac-bairro         pic x(30)    value
        "Monte Castelo".
        01 w-sac-cidade         pic x(30)    value
        "Campo Grande".
        01 w-sac-uf             pic x(2)     value "MS".
        01 w-cod-barras         pic x(60)    value
        "1234567890123456789012345678901234567890".

********** Margens em Milimetros
        01 w-margem-superior    pic 9(2)    value 10.
        01 w-margem-esquerda    pic 9(2)    value 10.

********** FINAL: Variaveis Criadas para o Boleto **********



        procedure division.
  
          move "Boleto.Rel" to w-seq-id

          open output seq-arq

********** INICIO: BLOCO COLADO DO VisRelEdit **********

********** Para imprimir sem visualizar:
**********
********** Abra o "Boleto Bancario (com variaveis).vrl";
********** Clique no menu "Editar - Imprimir sem visualizar"
********** Depois clique em "Editar - Copiar como - COBOL 4.5";
********** Em seguida cole-o substituindo o bloco abaixo.
**********
********** Ou simplesmente remova os comentários dessas 4 linhas:
**********           move spaces to w-linha
**********           move "IR" to w-linha
**********           move function length(w-linha) to w-seq-size
**********           write seq-reg


********** Aqui voce pode preencher as variáveis e dizer ao
********** VisRel para colocar o máximo possível de Boletos
********** no papel (Perform), ou então Fazer um a um e
********** fechar o arquivo e chamar o VisRel, assim fica
********** um em cada página!

           PERFORM 10 TIMES

********** O bloco em Cobol a seguir é gerado automaticamente pelo VisRelEdit.
********** O Programador pode colar dentro do seu fonte ou tratá-lo em um copybook.
********** Comentários ou Comandos iniciais
          move spaces to w-linha
          move "MS" to w-RH-A
          move w-margem-superior to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "ME" to w-RH-A
          move w-margem-esquerda to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QJ 92" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 159900002007640001100010" to w-texto-A
          move "Para evitar impressão de parte do boleto em uma folha e
      -    "o resto em outra!"
                to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00386" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 101000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000184010111000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002001801010100010" to w-texto-A
          move w-banco to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 101000Times New Roman" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990018400080000110000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900186000761010100010" to w-texto-A
          move w-cod-1 to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990026400392010110000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900266003881010100010" to w-texto-A
          move w-cod-2 to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RT" to w-RH-A
          move "-09999" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00026" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920000100010" to w-texto-A
          move "Local do Pagamento:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "Vencimento:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 081000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920010100010" to w-texto-A
          move w-local-pag to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 101000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-vencimento to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920000100010" to w-texto-A
          move "Nome do Cedente:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "Agência/Código Cedente:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920010100010" to w-texto-A
          move w-cedente to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-agencia to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000128010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002001240000100010" to w-texto-A
          move "Data do Documento:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990012800136010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900130001320000100010" to w-texto-A
          move "Nº do Documento:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990026400080010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900266000760000100010" to w-texto-A
          move "Espécie Doc.:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990034400048010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900346000440000100010" to w-texto-A
          move "Aceite:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990039200104010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900394001000000100010" to w-texto-A
          move "Data Processamento:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "Nosso Número:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000128010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002001241010100010" to w-texto-A
          move w-data-doc to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990012800136010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900130001321000100010" to w-texto-A
          move w-numero to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990026400080010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900266000760000100010" to w-texto-A
          move w-especie to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990034400048010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900346000440000100010" to w-texto-A
          move w-aceite to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990039200104010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900394001001000100010" to w-texto-A
          move w-data-proc to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-nosso-num to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000128010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002001240000100010" to w-texto-A
          move "Uso do Banco:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900130000600000100010" to w-texto-A
          move "Carteira" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990019200072010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900194000680000100010" to w-texto-A
          move "Espécie Moeda:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990026400128010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900266001240000100010" to w-texto-A
          move "Quantidade:" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990039200104010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900394001000000100010" to w-texto-A
          move "(x) Valor" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( = ) Valor do Documento" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000128010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990012800064000100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900130000601000100010" to w-texto-A
          move w-carteira to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990019200072010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900194000681000100010" to w-texto-A
          move w-moeda to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990026400128010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900266001240100100010" to w-texto-A
          move w-quantidade to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990039200104010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900394001000100100010" to w-texto-A
          move w-valor to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-valor-doc to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920000100010" to w-texto-A
          move "Instruções (Texto responsábilidade do Cedente)"
                to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( - ) Descontos/Abatimentos" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 121000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496000001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002004920000010010" to w-texto-A
          move w-instrucoes to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00122" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-desconto to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RT" to w-RH-A
          move "-09999" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( - ) Outras deduções" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-outras-ded to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( + ) Mora/Multa" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-mora-multa to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( + ) Outros Acréscimos" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-acrescimos to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000496010001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560000100010" to w-texto-A
          move "( = ) Valor Cobrado" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "L 00990000000496010101000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990049600160010100000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900498001560100100010" to w-texto-A
          move w-valor-cobrado to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000048000001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900002000440000100010" to w-texto-A
          move "Sacado" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990004800336010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900050003320000100010" to w-texto-A
          move w-sac-nome to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 140000Times New Roman" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990038400272010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900386002681000100110" to w-texto-A
          move "Ficha de Compensação" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000048000001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990004800336010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900050003320000100010" to w-texto-A
          move w-sac-end to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 140000Times New Roman" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990038400272010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 070000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000048000001000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900050001240000100010" to w-texto-A
          move w-sac-bairro to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900178001640000100010" to w-texto-A
          move w-sac-cidade to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990034400040010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "T 009900346000360000100010" to w-texto-A
          move w-sac-uf to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "F 140000Times New Roman" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990038400272010000000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00010" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "F 100000Arial" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000000008000111000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "L 00990000800648010110000001" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "Bg009900010006440010100010" to w-texto-A
          move w-cod-barras to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00060" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          move spaces to w-linha
          move "T 159900002006520000100010" to w-texto-A
          move "Separador" to w-texto-B
          move w-texto to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "RH" to w-RH-A
          move "00018" to w-RH-B
          move w-RH to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg
          move spaces to w-linha
          move "QL" to w-linha
          move function length(w-linha) to w-seq-size
          write seq-reg

          END-PERFORM

********** FINAL: BLOCO COLADO DO VisRelEdit **********

          close seq-arq
         
          STRING "VisRel.exe ",
                 "/g Boleto.Rel /t Titulo"
            DELIMITED BY SIZE INTO COMANDO

          DISPLAY COMANDO UPON COMMAND-LINE
          CALL X"91" USING CODERRO-2, FUNCAO-35, COMMAND-LIN
          .

No computador de seus clientes instale apenas a Run-Time do VisRel (RunTimeVisRel.exe).

Para evitar alguns dos problemas com permissão de acesso ao registro ou instalação de arquivos no Windows XP SP3 e mais recentes como Vista e Win7, foi criada uma nova opção de instalação na pasta "Instalar no cliente" do VisRelEdit com o nome de "Versão Compacta.zip", com os arquivos abaixo:

VisRel.exe
VisRel.exe.manifest
VisRelPDF.dll
MSMAPI32.ocx
MSWINSCK.ocx
RICHTX32.ocx
vbPDF417.dll
vbZip232.dll

Obs.: Basta copiar esses arquivos para a sua pasta de programas, ou para a pasta C:\Windows do usuário.

IMPORTANTE: Ao utilizar o DialogSystem do NetExpress é necessário adicionar na linha de comando o parâmetro /SV, caso contrário a tela do VisRel pode ficar oculta pelo seu programa. E no caso de relatórios no modo gráfico (VisRelEdit), selecione o menu Configurar - Manter o relatório visível. Isso ocorre devido ao comando "REFRESH-OBJECT" que é disparado depois do comando "RETC".

Veja mais detalhes das linhas de comando do VisRel clicando aqui.


Página Principal Página Principal Página Principal Página Principal Página Principal Comprar Comprar Comprar Comprar Comprar Comprar Contato Contato Contato Contato Contato Contato + Produtos + Produtos + Produtos + Produtos + Produtos + Produtos Download Download Download Download Download Download Sobre Sobre Sobre Sobre Sobre Sobre