Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 06/12/2005 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:53:51
Descrição da Nota: LIQUIDAÇÃO COM SEQUEÊNCIAS IGUAIS MAS COM DIVISÕES DIFERENTES
Sintoma
Ao tentar liquidar duas faturas com sequenciais iguais mas divisões diferentes o programa não
permite que eu liquide as duas faturas ao mesmo tempo porque mostra a mensagem de que não existem
vinculações na data e na primeira liquidação não ocorrem erros na segunda o programa não encontra a
partida em aberto .
Solução
Foi incluída o campo divisão nas seleções das tabelas.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00403 Data: 06/12/2005 Hora: 11:22:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00403
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00093
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO COM SEQUEÊNCIAS IGUAIS MAS COM DIVISÕES DIFERENTES
----------------------------------------------------------------------------------------------------
Palavras Chave:
DIVISÃO LIQUIDAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB004I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
FORM ATUALIZA_TABELAS_TRANSP2
...
IF itab_zycbt006-v_status EQ 'E' OR
( itab_zycbt006-v_status EQ 'A' AND
itab_zycbt006-status EQ 'E' ).
...
ELSE.
* Se for inclusão ou alteração
IF itab_zycbt006-v_status = 'N'.
* pws7877980 - Início
v_slpagar = itab_zycbt005-slpagar +
( itab_zycbt006-v_vldif * itab_zycbt005-parid ).
* pws7877980 - Fim
READ TABLE /pws/zycbt005.
UPDATE /pws/zycbt005 SET slpagar = v_slpagar
WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
UPDATE /pws/zycbt006 SET vljur = itab_zycbt006-vljur
txjtotal = itab_zycbt006-txjtotal
WHERE nrseqc = itab_zycbt006-nrseqc
AND tpdesp = itab_zycbt006-tpdesp
AND nrparc = itab_zycbt006-nrparc
...
...
CONTINUE.
ENDIF.
MOVE-CORRESPONDING itab_zycbt006 TO /pws/zycbt006.
READ TABLE itab_zycbt005 WITH KEY nrseqc = itab_zycbt006-nrseqc
nrinvoic = itab_zycbt006-nrinvoic
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
nrparcf = itab_zycbt006-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
MOVE itab_zycbt005-waers TO /pws/zycbt006-waers.
itab_zycbt006-v_vlmeant = itab_zycbt006-vlme.
IF wa_zycbt007-cfm = 'X'.
SELECT SINGLE *
FROM /pws/zycbt006
...
...
UPDATE /pws/zycbt005 SET belnr = itab_zycbt006-belnr_d
dtbelnr = itab_zycbt006-dtpagto
WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
ELSE.
IF v_liquida EQ 'X'.
v_slpagar = itab_zycbt005-slpagar + ( itab_zycbt006-vlme *
itab_zycbt005-parid ).
READ TABLE /pws/zycbt005.
UPDATE /pws/zycbt005 SET slpagar = v_slpagar
WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
...
...
PERFORM seleciona_desconto.
ENDIF.
...
ENDFORM. " atualiza_tabelas_transp2
FORM LANCAMENTO_PROVISAO2
DATA: v_docto LIKE /pws/zycbt030-belnr,
v_subrc LIKE sy-subrc,
v_linha TYPE i,
v_index TYPE i,
v_belnr TYPE belnr_d,
v_slliq LIKE /pws/zycbt006-vlme.
* Ana Paula - Chamado 163462 - 21/07/2004 - Início
IF /pws/zycbe001-desc_receb EQ 'X'.
PERFORM seleciona_desconto.
ENDIF.
LOOP AT itab_zycbt006 WHERE v_status EQ 'I' AND
v_armda NE 'X' AND
v_performance NE 'X'.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO2
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO2
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
PERFORM valida_taxa_parametro.
IF itab_zycbt030-belnr EQ space.
v_subrc = 4.
EXIT.
ENDIF.
...
ENDFORM. " lancamento_provisao2
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004I01
MODULE verifica_liquidacao INPUT.
CLEAR v_existe_liq.
* Só faz check se for inclusão
CHECK v_status_s NE '0' AND
sy-tcode EQ c_transacao_c.
* Verifica se já existe Liquidação da Fatura para este contrato nesta
* data.
LOOP AT itab_zycbt005.
SELECT SINGLE nrseqc nrinvoic nrparcf tpdesp dtvincul dtpagto
INTO (/pws/zycbt006-nrseqc, /pws/zycbt006-nrinvoic,
/pws/zycbt006-nrparcf, /pws/zycbt006-tpdesp,
/pws/zycbt006-dtvincul, /pws/zycbt006-dtpagto)
FROM /pws/zycbt006
WHERE nrseqc = v_nrseqc
AND nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
* >> Início da inclusão: MODULE VERIFICA_LIQUIDACAO
AND gsberf = itab_zycbt005-gsberf
* << Fim da inclusão
AND dtvincul = /pws/zycbe005-dtvincul
AND dtpagto = v_dtpagto
AND tpdesp = ' '.
IF sy-subrc EQ 0.
v_existe_liq = 'X'.
...
ENDLOOP.
ENDMODULE. " verifica_liquidacao INPUT