Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 31/05/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:12:41
Descrição da Nota: LIQUIDAÇÃO - EXCLUSÃO NÃO PERMITIDA DEVIDO JUROS PAGO
Sintoma
Criei uma captação e salvei. Depois entrei para criar uma vinculação e preenchi a coluna "Data
Crédito exterior" gerando a parcela de juros já na vinculação. Depois entrei na rotina de
pagamento e fiz o pagamento da parcela de juros gerada na vinculação. Entrei em liquidação -
criar - para criar a liquidação do contrato. Mas ao salvar se ocorrer algum erro no batch input
Se eu entrar em liquidação - modificar - e tentar alterar essa liquidação ou excluí-la, é exibida a
mensagem (Fatura já possui juros pagos. Impossivel excluir), mas nesse caso a alteração ou exclusão
deveria ser permitida, já que a contabilização da liquidação não foi concluída com sucesso.
Solução
Ao excluir a liquidação de um contrato com juros pago, considerar que se o campo /PWS/ZYCBT006-
status estiver = 'I', tem que permitir.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01481 Data: 31/05/2006 Hora: 15:29:04
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01481
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00116
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO - EXCLUSÃO NÃO PERMITIDA DEVIDO JUROS PAGO
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO EXCLUSÃO NÃO PERMITIDA /PWS/ZYCBT006-STATUS = 'I'
JUROS PAGO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB004I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
AND gsberf = itab_zycbt006-gsberf
AND dtvincul = itab_zycbt006-dtvincul
AND dtvencto = itab_zycbt006-dtvencto
AND dtpagto = itab_zycbt006-dtpagto.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_STATUS_LINHA
IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_STATUS_LINHA
IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL
AND itab_zycbt006-status NE 'I'.
* << Fim da inclusão
LOOP AT itab_zycbt005_ant.
PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc
itab_zycbt005_ant-nrparc
itab_zycbt005_ant-dtvincul
itab_zycbt005_ant-nrinvoic
...
...
AND dtvencto = itab_zycbt006-dtvencto
AND dtpagto = v_dt_estorno.
ENDSELECT.
v_sel = 'X'.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_STATUS_LINHA
IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_STATUS_LINHA
IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme
AND itab_zycbt006-status NE 'I'.
* << Fim da inclusão
PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc
itab_zycbt005_ant-nrparc
itab_zycbt005_ant-dtvincul
itab_zycbt005_ant-nrinvoic
itab_zycbt005_ant-nrparcf
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
AND gsberf = itab_zycbt006-gsberf
AND dtvincul = itab_zycbt006-dtvincul
AND dtvencto = itab_zycbt006-dtvencto
AND dtpagto = itab_zycbt006-dtpagto.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_STATUS_LINHA2
IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_STATUS_LINHA2
IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL
AND itab_zycbt006-status NE 'I'.
* << Fim da inclusão
LOOP AT itab_zycbt005_ant.
PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc
itab_zycbt005_ant-nrparc
itab_zycbt005_ant-dtvincul
itab_zycbt005_ant-nrinvoic
...
...
AND dtvencto = itab_zycbt006-dtvencto
AND dtpagto = v_dt_estorno.
ENDSELECT.
v_sel = 'X'.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_STATUS_LINHA2
IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_STATUS_LINHA2
IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme
AND itab_zycbt006-status NE 'I'.
* << Fim da inclusão
PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc
itab_zycbt005_ant-nrparc
itab_zycbt005_ant-dtvincul
itab_zycbt005_ant-nrinvoic
itab_zycbt005_ant-nrparcf
...
...
itab_zycbt006-vlme - itab_zycbt006-v_vlmeant.
itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'A'.
ELSE.
itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'N'.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_STATUS_LINHA2
IF ( itab_zycbt006-vlme EQ itab_zycbt005_ant-vlme ) AND
itab_zycbt006-dtpagto NE v_dt_estorno.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_STATUS_LINHA2
IF itab_zycbt006-dtpagto NE v_dt_estorno.
* << Fim da inclusão
v_dtpagto = v_dt_estorno.
MESSAGE i061 WITH text-164 text-165.
itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'N'.
itab_zycbt006-dtpagto = v_dt_estorno.
MODIFY itab_zycbt006 INDEX sy-tabix.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004I01
...
/pws/zycbe001-f_encerrado NE 'I'.
MESSAGE i015 WITH text-171 text-172.
EXIT.
ENDIF.
if sy-tcode ne c_transacao_c.
* >> Início da inclusão: MODULE USER_COMMAND_0100
IF NOT itab_zycbt005[] IS INITIAL.
SELECT * FROM /pws/zycbt006
INTO CORRESPONDING FIELDS OF TABLE itab_zycbt006[]
FOR ALL ENTRIES IN itab_zycbt005
WHERE nrseqc = itab_zycbt005-nrseqc
AND tpdesp = itab_zycbt005-tpdesp
AND nrparc = itab_zycbt005-nrparc
AND dtincl = itab_zycbt005-dtincl
AND nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf
AND dtvincul = itab_zycbt005-dtvincul
AND dtvencto = itab_zycbt005-dtvencto.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycbt005 WHERE mark = 'X'.
* >> Início da inclusão: MODULE USER_COMMAND_0100
READ TABLE itab_zycbt006
WITH KEY nrseqc = itab_zycbt005-nrseqc
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc
dtincl = itab_zycbt005-dtincl
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul
dtvencto = itab_zycbt005-dtvencto.
IF sy-subrc EQ 0 AND itab_zycbt006-status EQ 'I' AND
( itab_zycbt005-dtcredext NE space OR
itab_zycbt005-dtcredext NE '00000000').
DELETE itab_zycbt005.
CLEAR itab_zycbt005.
ELSE.
* << Fim da inclusão
v_index_1 = sy-tabix.
PERFORM busca_pgto_juros USING itab_zycbt005-nrseqc
itab_zycbt005-nrparc
itab_zycbt005-dtvincul
itab_zycbt005-nrinvoic
...
...
DELETE itab_zycbt005 INDEX v_index_1.
CLEAR itab_zycbt005.
ELSE.
MESSAGE i061 WITH text-155 itab_zycbt005-nrinvoic
text-157 text-156.
* >> Início da inclusão: MODULE USER_COMMAND_0100
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
else.
loop at itab_zycbt005 where mark = 'X'.
v_index_1 = sy-tabix.
...