Páginas filhas
  • LOG0380_extenso_moeda

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Nome

Tipo

Obrigatório?

Descrição

l_cod_moeda
SMALLINT

SIM

Código da moeda.

(aviso) Precisam existir informações registradas na tabela MOEDA_COMPL. Estes dados são utilizados para montar a descrição por extenso de cada moeda. As informações são cadastradas de forma silábica. Para maiores detalhes acesse documentação do programa CON10008.

p_val
DECIMAL(15,2)
SIM

Valor que deseja obter o a descrição por extenso.

l_comp_l1

SMALLINT

SIM

Tamanho de caracteres da descrição por extenso a ser retornado como primeira linha de dados.

Para mais detalhes a respeito deste parâmetro acesse o tópico Observações abaixo.

l_comp_l2
SMALLINTSIM

Tamanho de caracteres da descrição por extenso a ser retornado como segunda linha de dados.

Para mais detalhes a respeito deste parâmetro acesse o tópico Observações abaixo.

l_comp_l3
SMALLINTSIM

Tamanho de caracteres da descrição por extenso a ser retornado como terceira linha de dados.

Para mais detalhes a respeito deste parâmetro acesse o tópico Observações abaixo.

l_comp_l4
SMALLINTSIM

Tamanho de caracteres da descrição por extenso a ser retornado como quarta linha de dados.

Para mais detalhes a respeito deste parâmetro acesse o tópico Observações abaixo.


Retorno

Tipo

Descrição

CHAR

Valor monetário por extenso da primeira linha.

CHAR

Valor monetário por extenso da segunda linha.

CHAR

Valor monetário por extenso da terceira linha.

CHAR

Valor monetário por extenso da quarta linha.

Exemplo

Bloco de código
languageruby
themeConfluence
linenumberstrue
DATABASE logix

MAIN
   DEFINE l_moeda LIKE moeda_compl.cod_moeda
   DEFINE l_den_moeda LIKE moeda.den_moeda

IF log0380_existe_moeda_compl() THEN
   DECLARE cq_teste CURSOR FOR
   SELECT moeda.cod_moeda, moeda.den_moeda
     FROM moeda_compl, moeda
lin3 VARCHAR(200),
      WHERE moeda_compl.cod_moeda = moeda.cod_moeda
    ORDER BY moeda.cod_moeda
ELSE
   DECLARE cq_teste CURSOR FOR
   SELECT moeda.cod_moeda, moeda.den_moeda
     FROM moeda
    ORDER BY moeda.cod_moeda
END IF

   FOREACH cq_teste INTO l_moeda, l_den_moeda
      CALL extenso1_processa(l_moeda, l_den_moeda, 11183.18, 50, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 0.29, 70, 40,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 0.01, 40, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 83.00, 42, 78,60, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 19437.10, 35, 75,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 18.27, 30, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 10000.00, 65, 50,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 1.39, 35, 80,70, 100)
   END FOREACH

##MOEDA VAZIA (NULL) - DEVE ASSUMIR REAL
   LET l_moeda = NULL
   LET l_den_moeda = NULL   
      CALL extenso1_processa(l_moeda, l_den_moeda, 11183.18, 50, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 0.29, 70, 40,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 0.01, 40, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 83.00, 42, 78,60, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 19437.10, 35, 75,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 18.27, 30, 70,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 10000.00, 65, 50,70, 100)
      CALL extenso1_processa(l_moeda, l_den_moeda, 1.39, 35, 80,70, 100)

##MOEDA NÃO CADASTRADA - DEVE ASSUMIR REAL
      CALL extenso1_processa(-1, l_den_moedal_lin4 VARCHAR(200),
         l_lin1 VARCHAR(200),
         l_lin2 VARCHAR(200)

  CALL log0380_extenso_moeda(1, 11183.18, 50, 70,70, 100)
      CALL extenso1_processa(-1, RETURNING l_den_moeda, 0.29, 70, 40,70, 100)
      CALL extenso1_processa(-1, l_den_moeda, 0.01, 40, 70,70, 100)
      CALL extenso1_processa(-1, l_den_moeda, 83.00, 42, 78,60, 100)
      CALL extenso1_processa(-1, l_den_moeda, 19437.10, 35, 75,70, 100)
      CALL extenso1_processa(-1, l_den_moeda, 18.27, 30, 70,70, 100)
      CALL extenso1_processa(-1, l_den_moeda, 10000.00, 65, 50,70, 100)
      CALL extenso1_processa(-1, l_den_moeda, 1.39, 35, 80,70, 100)

END MAIN

FUNCTION extenso1_processa(l_cod_moeda,l_den_moeda,l_val,l_comp_l1,l_comp_l2,l_comp_l3,l_comp_l4)
  DEFINE l_val               DECIMAL(15,2),
      		 l_cod_moeda         SMALLINT,
      		 l_den_moeda         CHAR(30),
         l_comp_l1           SMALLINT,
         l_comp_l2           SMALLINT,
         l_comp_l3           SMALLINT,
         l_comp_l4           SMALLINT,
         l_lin3           VARCHAR(200),
         l_lin4           VARCHAR(200),
         l_lin1           VARCHAR(200),
         l_lin2           VARCHAR(200)
lin1, l_lin2, l_lin3, l_lin4

  CALL conout("EXTENSO LINHA 1 = "||l_lin1)
  CALL conout("MOEDA "||l_cod_moeda||" - "||l_den_moeda||" VALOREXTENSO LINHA 2 = "||l_vallin2)

  CALL log0380_extenso_moeda(l_cod_moeda, l_val, l_comp_l1, l_comp_l2,l_comp_l3, l_comp_l4) RETURNING l_lin1, l_lin2, l_lin3, l_lin4

conout("EXTENSO LINHA 3 = "||l_lin3)
  CALL conout("EXTENSO ",l_lin1,l_lin2,l_lin3,l_lin4)

  RETURN l_lin1, l_lin2, l_lin3, l_lin4
END FUNCTIONLINHA 4 = "||l_lin4)
END MAIN

Informações

Fontes: log0380.4gl

...