Páginas filhas
  • ER_MANFIN01-1627_Trade Easy Importação_Liquidação de Títulos com mais de um adiantamento em moeda estrangeira

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Informações Gerais

 

Especificação

Produto

Logix

Módulo

Financeiro - Contas a pagar

Segmento Executor

Manufatura

Projeto1

MANFIN01 - Projeto Equipe Desenvolvimento - Finanças

IRM1

 

Requisito1

MANFIN01-1627 Story - Trade Easy Importação - Liquidação de Títulos com mais de um adiantamento em moeda estrangeira

Subtarefa1

MANFIN01-1628 Gerar Especificação - Trade Easy Importação - Liquidação de Títulos com mais de um adiantamento em moeda estrangeira

Chamado2

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Viabilizar o correto cálculo da variação cambial de títulos cuja liquidação ocorra por vários adiantamentos em datas distintas e com valor de cotação diferente. 

 

Definição da Regra de Negócio

 

Fin85015 – Data de proposta

 

Objetivo: No cenário atual do Logix, nossos clientes colocam a data de proposta no momento em que vão liquidar completamente o título. Neste momento ocorre a conversão para a moeda padrão utilizando a cotação da data de proposta como fator de conversão. Em situações em que a liquidação do título ocorre por vários adiantamentos em datas e cotações distintas o saldo em reais pode ficar incorreto. A alteração proposta visa corrigir esta distorção através da conversão parcial do valor do título, ou seja, faremos a correção apenas do seu saldo.

 

Na função: fin80015_verifica_moeda_padrao()

Em dois pontos o valor da AP(val_ap_dat_pgto) na data de pagamento é calculado. Alterar nestes pontos para subtrair o valor dos adiantamentos já conciliados. Conforme: 

 

DE:

  LET mr_ap.val_ap_dat_pgto = mr_ap.val_nom_ap * l_parametro_numerico

PARA:

  CALL fin80015_busca_adto_moeda_estrang(TODAY,mr_ap.cod_empresa,mr_ap.num_ap)
            RETURNING l_val_adto_moeda_est, l_val_adto_moeda_pad

  

   LET mr_ap.val_ap_dat_pgto = ((mr_ap.val_nom_ap  - l_val_adto_moeda_est) * l_parametro_numerico) + l_val_adto_moeda_pad

 

Criar uma função no fin80015 -> fin80015_busca_adto_moeda_estrang(), a função deve fazer o SELECT SUM abaixo e retornar o valor. Caso não exista dados deve retornar ZERO. Verificar se a tabela existe, caso não exista retornar ZERO sem apresentar mensagem, pois não é obrigatória.

 SELECT SUM(val_adiantamento)
       INTO l_val_adto_moeda_est
    FROM cap_movto_adto_moed_estra
 WHERE empresa                                       =  l_emp
       AND ad_autorizacao_pagto                   = l_num_ap
       AND ind_ad_autorizacao_pagto            = '2' 
       AND ind_entrada_baixa_adiantamento = 'B'
       AND dat_movimento                           <= l_dat_base

 

A função também deverá deve retornar o valor dos adiantamentos em reais, utilizados na baixa da AP. O valor obtido será somado ao valor da variável mr_ap.val_ap_dat_pgto (conforme exemplo acima),

   SELECT SUM(val_mov)
        INTO l_val_adto_moeda_pad
      FROM mov_adiant
   WHERE cod_empresa       = l_emp
         AND num_ad_ap_mov = l_num_ap
         AND ies_ad_ap_mov   = '2'
      AND ies_ent_bx           = 'B'
         AND dat_mov             <= l_dat_base

 

Observações:

1 - EFETUAR O SEGUNDO SELECT SOMENTE SE O PRIMEIRO FOR MAIOR QUE ZERO.

2 – NÃO HAVENDO REGISTRO OU A TABELA NÃO EXISTINDO DEVERÁ RETORNAR ZERO PARA AS DUAS VARIÁVEIS.

3- COLOCAR COMENTÁRIO NO INICIO DA FUNÇÃO INDICANDO QUE APLICA-SE SOMENTE PARA O PROJETO DE IMPORTAÇÃO E QUE PARA OS DEMAIS CLIENTES O RESULTADO VAI SER ZERO, POIS NÃO TERÃO A TABALA CAP_MOVTO_ADTO_MOEDA_ESTRA OU A TABELA ESTARÁ VAZIA. NESTE CASO OS VALORES DE ADIANTAMENTO TANTO EM MOEDA ESTRANGEIRA COMO NA MOEDA PADRÃO SERÃO ZERO, OU SEJA, NÃO MUDARÁ O CALCULO ATUAL. 


 



Fin30014 – Correção cambial mensal

 

Estes programas tratam da contabilização mensal da provisão de variação cambial de títulos a pagar.

Alteraremos a função fin30014_grava_ap_corr para que seja possível provisionar variação de títulos que sofreram múltiplas baixas por adiantamentos em datas distintas e com valor de cotação diferente.

Antes de inserir na tabela AP_CORR calcular o valor da variável  val_moeda_padr:

DE:

   LET mr_ap_corr.val_moeda_padr  = mr_ap.val_nom_ap * m_val_cotacao

PARA:

   CALL fin80015_busca_adto_moeda_estrang(mr_tela.virtual_periodo, mr_ap_corr.cod_empresa, mr_ap.num_ap)
             RETURNING l_val_adto_moeda_est, l_val_adto_moeda_pad

   LET mr_ap_corr.val_moeda_padr =(( mr_ap.val_nom_ap - l_val_adto_moeda_est) * m_val_cotacao ) + l_val_adto_moeda_pad


OBS:  em dois pontos da função é realizado o calculo desta variável, primeiro ponto é quando já existe registro na tabela ap_corr, isso significa que já houve contabilização da variação cambial para o título em períodos anteriores. E no segundo ponto é quando não existe a tabela ap_corr, significando que é o primeiro processamento da variação cambial do título, então o programa vai buscar dados da tabela AD_corr.

 



Fin80019 – Baixa automática de APS 

Comentar as chamadas para a função fin80019_grava_ap_corr_saldo_adto é incorreto calcular variação cambial sobre adiantamento, visto que o mesmo está liquidado. 

 

Rotina

Tipo de Operação

FIN80015 -

[Alteração]

FIN30014

[Alteração]

FIN80019

[Alteração]

 

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.