Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 22/12/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 12:43:01
Descrição da Nota: LIQUIDAÇÃO - DESMEMBRAMENTO LIQUIDAÇÃO EM ANDAMENTO PARCIAL-ZFBDT/ZTERM
Sintoma
Ao liquidar uma fatura onde a mesma tem liquidação em andamento parcial, na partida residual não
esta atualizando os campos ZFBDT e ZTERM de acordo com o documento que esta sendo compensado.
Solução
Analisar se a liquidação em andamento é parcial para mapear os campos ZFBDT e ZTERM, de acordo com o
documento que esta sendo compensado.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07821 Data: 22/12/2008 Hora: 12:46:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07821
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00078
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02237 - 00001 - 6.0 - 00025 - VINCULAÇÃO COM LIQ. AUTOMÁTICA - ESTORNO DP - ZFBDT
02259 - 00002 - 6.0 - 00025 - VINCULAÇÃO COM LIQ. AUTOMÁTICA - DOWN PAYMENT - ZFBDT - F-30
03270 - 00003 - 6.0 - 00026 - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO
04118 - 00004 - 7.0 - 00002 - VINCULAÇÃO - FECHAR TODOS OS CAMPOS APÓS QUALQUER CONTABILIZAÇÃO.
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO - DESMEMBRAMENTO LIQUIDAÇÃO EM ANDAMENTO PARCIAL-ZFBDT/ZTERM
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO DESMEMBRAMENTO LIQUIDAÇÃO EM ANDAMENTO PARCIAL ZFBDT ZTERM
PARTIDA RESIDUAL
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_F_30_P
REPS /PWS/MZYCB004F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P
...
FROM t074u
WHERE koart EQ 'D' AND
umskz EQ v_umskz.
IF v_umsks NE 'A'.
v_zfbdt_tela = 'X'.
ENDIF.
ELSE.
v_zfbdt_tela = 'X'.
ENDIF.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
ELSE.
v_zfbdt_tela = 'X'.
* << Fim da inclusão
ENDIF.
READ TABLE itab_oculto
WITH KEY campo = 'BSEG-ZFBDT' chave = v_lanc1
TRANSPORTING NO FIELDS.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
IF ( ( sy-subrc <> 0
and v_zfbdt_tela EQ 'X' )
OR ( v_zfbdt_tela EQ 'X'
AND NOT sy-subrc = 0 ) )
AND v_linhas LT '002'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
IF v_zfbdt_tela EQ 'X' AND sy-subrc NE 0 AND
( v_linhas LT '002' OR
( v_linhas EQ '002' AND v_vinc_tot IS INITIAL ) ).
* << Fim da inclusão
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela2
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF v_input EQ 1 OR v_required EQ 1
AND NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
IF NOT t_dados-zfbdt IS INITIAL
AND NOT t_dados-zfbdt = '00.00.0000'
AND NOT t_dados-zfbdt = '00/00/0000'
AND NOT t_dados-zfbdt = '00000000'.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
v_zfbdt2 = '00.00.0000'.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT v_tela2 = '0304'.
IF v_vinc_tot IS INITIAL AND
v_dp IS INITIAL.
IF NOT v_zfbdt2 EQ '00.00.0000'.
IF v_op IS INITIAL.
PERFORM define_campo TABLES t_telas
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbe033-wrbtr.
APPEND itab_zycbt036.
itab_doctos-tcode = itab_zycbe033-tcode.
itab_doctos-tabela = itab_zycbe033-tabela.
itab_doctos-cpochv = itab_zycbe033-cpochv.
itab_doctos-belnr = itab_zycbe033-belnr.
itab_doctos-dtdocto = itab_zycbe033-dtdocto.
APPEND itab_doctos.
* >> Início da exclusão: FORM DESMEMBRA_LIQ_AND
itab_zycbe033-belnr = itab_zycbt209-belnr.
itab_zycbe033-dtdocto = itab_zycbt209-dtcredext.
* << Fim da exclusão
IF NOT /pws/zycbe005-j_1bbranch IS INITIAL.
PERFORM verifica_pais_filial USING itab_zycbt006-bukrs
/pws/zycbe005-j_1bbranch.
itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.
ELSE.
PERFORM local_negocio.
PERFORM verifica_pais_filial USING itab_zycbt006-bukrs
wa_t001w-j_1bbranch.
itab_zycbe033-brnch = wa_t001w-j_1bbranch.
ENDIF.
itab_zycbe033-werks = /pws/zycbe005-werks.
PERFORM verifica_prorrogacao.
PERFORM busca_exit.
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ015'.
IF sy-subrc EQ 0
AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
* >> Início da inclusão: FORM DESMEMBRA_LIQ_AND
clear v_vinc_tot.
IF itab_zycbe033-wrbtr = itab_zycbt209-saldo.
v_vinc_tot = 'X'.
ENDIF.
* << Fim da inclusão
APPEND itab_zycbe033.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034 IS INITIAL.
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ027'.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ELSE.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'
EXPORTING
v_modo = v_modo_bi
* >> Início da exclusão: FORM DESMEMBRA_LIQ_AND
v_vinc_tot = 'X'
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_LIQ_AND
v_vinc_tot = v_vinc_tot
* << Fim da inclusão
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
t_doctos = itab_doctos
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
...