Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 11/07/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:14:09
Descrição da Nota: LIQUIDAÇÃO ESTORNO SALDO À PAGAR
Sintoma
Na criação de um contrato de Câmbio Pronto (o erro ocorre para todos os tipos de contrato) e ao
efetuar a vinculação utilizando 3 faturas (sendo que duas passaram por liquidação em andamento e uma
delas não)a vinculação é gravada corretamente. Ao entrar para efetuar a liquidação das 3 faturas e
gravar, nesse momento é exibida mensagem de erro para a fatura que não passou por liquidação em
andamento corretamente e foi feita a liquidação somente para as duas faturas que passaram por
liquidação em andamento que também está ok. Porém o programa não baixou o saldo à pagar da tabela
001 (Campo SLPAGAR),e se eu estornar a liquidação o saldo à pagar do contrato ficará incorreto. O
programa deveria ter baixado o saldo à pagar no valor das duas faturas que foram liquidadas.
Solução
Ajustes efetuados foi verificado que ao ocorrer um erro devido a uma das faturas não passar por
liquidação em andamento o programa não estava estornando as faturas contabilizadas com sucesso.
O programa passou a atualizar o saldo a pagar da tabela 001 (/PWS/ZYCBT001-SLPAGAR) de forma correta
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01705 Data: 11/07/2006 Hora: 13:59:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01705
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00122
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO ESTORNO SALDO À PAGAR
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO ESTORNO SALDO À PAGAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
ENDIF.
ENDIF.
ENDFORM.
FORM atualiza_tabelas_transp2.
DATA: v_subrc TYPE c.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
DATA: wa_zycbt006_sbu LIKE /pws/zycbt006.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
DATA: wa_zycbt006_sbu LIKE /pws/zycbt006,
v_slpagar001 TYPE /pws/zycbt001-slpagar.
* << Fim da inclusão
itab_zycbt005-status = 'C'.
MODIFY itab_zycbt005 TRANSPORTING status
WHERE nrseqc = /pws/zycbe005-nrseqc.
MODIFY /pws/zycbt005 FROM TABLE itab_zycbt005.
CALL CUSTOMER-FUNCTION '002'
...
...
AND dtpagto = itab_zycbt006-dtpagto
AND nrparcf = itab_zycbt006-nrparcf.
v_vlme_sl = itab_zycbt006-vlme * itab_zycbt005_ant-parid.
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif *
itab_zycbt005_ant-parid.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_slpagar001 = v_slpagar001 + itab_zycbt006-v_vldif_arb.
* << Fim da inclusão
MODIFY itab_zycbt006.
UPDATE /pws/zycbt005 SET slpagar = slpagar + v_vlme_sl
belnr = itab_zycbt005_ant-belnr
dtbelnr = itab_zycbt005_ant-dtbelnr
WHERE nrseqc = itab_zycbt006-nrseqc
...
...
ENDIF.
ENDIF.
ENDIF.
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif *
itab_zycbt005-parid.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_slpagar001 = v_slpagar001 + itab_zycbt006-v_vldif_arb.
* << Fim da inclusão
MODIFY itab_zycbt006.
ENDIF.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
AT END OF nrseqc.
SUM.
UPDATE /pws/zycbt001 SET slpagar = slpagar -
itab_zycbt006-v_vldif_arb WHERE nrseqc = itab_zycbt006-nrseqc.
ENDAT.
* << Fim da exclusão
ENDLOOP.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
UPDATE /pws/zycbt001
SET slpagar = slpagar - v_slpagar001
WHERE nrseqc EQ itab_zycbt006-nrseqc.
* << Fim da inclusão
MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.
MODIFY /pws/zycbt209 FROM TABLE itab_zycbt209.
MODIFY /pws/zycbt219 FROM TABLE itab_zycbt219.
IF /pws/zycbe001-tpcontr(1) CA 'CE'.
UPDATE /pws/zycbt001 SET: belnr2 = /pws/zycbe001-belnr2
...
...
ENDIF.
CLEAR v_subrc.
LOOP AT itab_zycbt006 WHERE v_status = 'I'
AND v_armda NE 'X'
AND v_performance NE 'X'.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO2
IF NOT itab_zycbt006-belnr IS INITIAL.
* << Fim da inclusão
itab_zycbt006-status = 'C'.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO2
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic
...