Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 30/06/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:10:53
Descrição da Nota: VINCULAÇÃO - ESTORNO DEVOLUÇÃO - SALDO A PAGAR/DOC.CONTÁBIL
Sintoma
Problemas no programa de devolução (feita pela vinculação): 1) (Esse erro ocorre para todos os
tipos de contrato): Criei uma devolução (parcial ou total) para o contrato e o saldo à pagar foi
baixado corretamente na Tabela 005 (campo SLPAGAR) para a fatura que fiz a devolução, porém ao
efetuar o estorno da devolução o saldo à pagar está sendo atualizado de forma errada.
Por exemplo: Fiz a vinculação de uma fatura no valor de 10.000,00 - Depois entrei em devolução -
criar e fiz uma devolução no valor de 5000,00 e o Saldo à Pagar (SLPAGAR) da tabela 005 foi
atualizado corretamente para 5000,00, mas ao efetuar o estorno da devolução, ao invés do Saldo à
Pagar voltar para 10.000,00 está ficando com o valor de 15000,00.
2) (Esse erro ocorre somente para os contratos de ACE e com devolução parcial): - Criei um
contrato de ACE no valor de 20.000,00. Vinculei à esse contrato duas faturas, sendo vinculado
10.000,00 de cada fatura e ao salvar o registro é gravado corretamente. Entrei em devolução -
criar para uma das faturas e criei uma devolução no valor de 5000,00 (parcial), gravei e foram
gerados os documentos de desmembramento e devolução corretamente. O documento de desmembramento
foi gravado corretamente nos campos: BELNR2 da tabela 001 e BELNR da Tabela 005 para as duas
faturas. Entrei depois em devolução - modificar e fiz o estorno da devolução e o documento de
devolução foi estornado corretamente e o clearing foi feito corretamente, mas o documento de
clearing foi gravado somente no campo BELNR2 da tabela 001 e BELNR da Tabela 005 de uma fatura,
sendo que deveria ter sido gravado no campo BELNR (Tabela 005) de todas as faturas.
3) (Esse erro ocorre somente para contratos de ACE e com devolução total do valor vinculado na
fatura e parcial do contrato): Criei um contrato de ACE no valor de 20.000,00. Vinculei duas
faturas, sendo vinculado 10.000,00 em cada uma delas. Ao gravar a vinculação o registro é só
gravado por se tratar de um contrato de ACE e o documento de vinculação é o mesmo que o
documento da captação para as duas faturas. Se eu entrar em devolução - criar para criar uma
devolução no valor de 10.000,00, ao salvar o programa está efetuando somente uma F-30 para gerar
o documento de devolução, só que dessa forma ocorre erro, pois o valor da devolução é diferente
do valor do documento e é exibida a mensagem de diferença demasiada elevada para compensação.
Por isso se faz necessário o seguinte ajuste: Quando o contrato for do tipo "ACE", ao salvar a
devolução (tanto parcial como total), o programa deverá fazer duas F-30 (Sendo uma de
desmembramento e outra para gerar o documento de devolução), ou seja, quando a devolução é
parcial a contabilização já está sendo feita corretamente. Favor ajustar somente a devolução total
para efetuar a mesma contabilização da devolução parcial.
Solução
1º - considerar o valor da devolução da fatura ao calcular o saldo a pagar.
2º - verificar se o contrato é do tipo ACE e atualizar o campo/documento /pws/zycbt005-belnr de
todas as faturas vinculadas.
3º - verificar se o contrato é do tipo ACE e gerar o desmembramento e clearing quando for devolução
total, conforme faz para devolução parcial.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01657 Data: 30/06/2006 Hora: 10:27:44
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01657
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00120
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - ESTORNO DEVOLUÇÃO - SALDO A PAGAR/DOC.CONTÁBIL
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO ESTORNO DEVOLUÇÃO SALDO A PAGAR DOCUMENTO CONTÁBIL
CONTABILIZAÇÃO F-30 SLPAGAR BELNR BELNR2 ACE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F06
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
AND gsberf = itab_zycbt005-gsberf
AND nrparcf = itab_zycbt005-nrparcf.
ENDLOOP.
IF sy-subrc NE 0.
itab_zycbt005-slpagar = itab_zycbt005-vlvinc.
* >> Início da inclusão: FORM PREENCHE_ITAB_ZYCBT005
LOOP AT itab_zycbt050 WHERE nrinvoic = itab_zycbt005-nrinvoic
AND gsberf = itab_zycbt005-gsberf
AND nrparcf = itab_zycbt005-nrparcf.
itab_zycbt005-slpagar = itab_zycbt005-slpagar -
itab_zycbt050-vldev.
ENDLOOP.
* << Fim da inclusão
ELSE.
itab_zycbt005-slpagar = itab_zycbt005-slpagar.
ENDIF.
itab_zycbt005-kostl = /pws/zycbe005-kostl.
itab_zycbt005-prctr = /pws/zycbe005-prctr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F06
...
MESSAGE i015 WITH text-122 text-127.
EXIT.
ENDIF.
READ TABLE itab_zycbt005 WITH KEY vlme_p = /pws/zycbe050-vldev
nrinvoic = /pws/zycbe050-nrinvoic.
* >> Início da exclusão: FORM DESMEMBRA_DEV
IF sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DEV
IF sy-subrc = 0 AND NOT /pws/zycbe001-tpcontr(01) CA 'CE'.
* << Fim da inclusão
v_subrc = 0.
MOVE itab_zycbt005-belnr TO v_zycbe050_belnr.
MOVE /pws/zycbe050-dtdevol TO v_zycbe050_budat.
MOVE /pws/zycbe050-slpagar TO v_zycbe050_slpagar.
v_desmembramento = 'X'.
...
...
/pws/zycbe001-dtvincul = itab_zycbe033-budat.
UPDATE /pws/zycbt001 SET slpagar = /pws/zycbe001-slpagar
belnr2 = /pws/zycbe001-belnr2
dtvincul = /pws/zycbe001-dtvincul
WHERE nrseqc = /pws/zycbe001-nrseqc.
* >> Início da inclusão: FORM EXECUTA_CLEARING_DEV
MODIFY itab_zycbt005 TRANSPORTING belnr dtbelnr
WHERE nrseqc = /pws/zycbe050-nrseqc
AND tpdesp = /pws/zycbe050-tpdesp
AND dtvincul = /pws/zycbe050-dtvincul.
MODIFY /pws/zycbt005 FROM table itab_zycbt005.
* << Fim da inclusão
ELSE.
/pws/zycbe001-slpagar = /pws/zycbe001-slpagar +
/pws/zycbe050-vldev_fat.
UPDATE /pws/zycbt001 SET slpagar = /pws/zycbe001-slpagar
WHERE nrseqc = /pws/zycbe001-nrseqc.
...