Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 23/03/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 12:43:58
Descrição da Nota: LIQUIDAÇÃO - GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO
Sintoma
Ao efetuar uma liquidação em que o período de lançamento esta fechado, solicita uma nova data, mas a
mesma não é armazenada nas tabelas do pw.CE, gerando erros nos lançamentos posteriores e no estorno
também.
Solução
Atualizar os campos /PWS/ZYCBT030-BUDAT /PWS/ZYCBT005-DTBELNR com a nova data incluída pelo usuário.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08226 Data: 23/03/2009 Hora: 15:10:04
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08226
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00009
Agrupamento : 00091
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07790 - 00001 - 7.0 - 00008 - COMPLEMENTO DO BOLETO - CONTABILIZAÇÃO-PERIODO/ANO FISCAL
08164 - 00002 - 7.0 - 00008 - DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURI
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO - GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO
LIQUIDAÇÃO /PWS/ZYCBT030-BUDAT /PWS/ZYCBT005-DTBELNR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/LZYCBGF2F01
REPS /PWS/LZYGLGF2F01
REPS /PWS/MZYCB004F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCBGF2F01
...
p_taxa = wa_bkpf-kursf.
ENDIF.
ENDFORM.
FORM check_periodo USING value(p_koart)
value(p_bukrs)
CHANGING value(p_novadata)
value(p_ok) "#EC *
value(p_monat)
value(p_gjahr).
DATA: v_resposta(1),
* >> Início da exclusão: FORM CHECK_PERIODO
v_novadata LIKE spop-varvalue1.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_PERIODO
v_novadata like spop-varvalue1,
v_n_budat type bkpf-budat.
* << Fim da inclusão
DATA: v_periv(2).
clear v_budat.
v_novadata = p_novadata.
WHILE p_ok <> 'S'.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = p_bukrs
i_gjahr = p_gjahr
i_koart = '+'
i_monat = p_monat
...
...
IMPORTING
period = p_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
ENDIF.
ENDWHILE.
p_novadata = v_novadata.
* >> Início da exclusão: FORM CHECK_PERIODO
export v_budat to memory id 'N_BUDAT'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_PERIODO
v_n_budat = v_budat.
export v_n_budat to memory id 'N_BUDAT'.
* << Fim da inclusão
ENDFORM.
FORM entrar_nova_data CHANGING
value(p_resposta)
value(p_novadata). "#EC *
DATA: v_data_ TYPE d.
WHILE v_data_ IS INITIAL OR
v_data_ EQ '00000000'.
IF sy-index > 1.
MESSAGE i061(/pws/zycbm) WITH text-051.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYGLGF2F01
...
ENDFORM.
FORM check_periodo USING value(p_koart)
value(p_monat)
value(p_bukrs)
value(p_gjahr)
CHANGING value(p_novadata)
value(p_ok).
DATA: v_resposta(1),
v_novadata LIKE spop-varvalue1.
DATA: v_budat TYPE bkpf-budat,
* >> Início da exclusão: FORM CHECK_PERIODO
v_periv(2).
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_PERIODO
v_periv(2),
v_n_budat TYPE bkpf-budat.
* << Fim da inclusão
v_novadata = p_novadata.
WHILE p_ok <> 'S'.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = p_bukrs
i_gjahr = p_gjahr
i_koart = p_koart
i_monat = p_monat
EXCEPTIONS
error_period = 1
...
...
IMPORTING
period = p_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
ENDIF.
ENDWHILE.
p_novadata = v_novadata.
* >> Início da exclusão: FORM CHECK_PERIODO
export v_budat to memory id 'N_BUDAT'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_PERIODO
v_n_budat = v_budat.
EXPORT v_n_budat TO MEMORY ID 'N_BUDAT'.
* << Fim da inclusão
ENDFORM.
FORM entrar_nova_data CHANGING value(p_resposta)
value(p_novadata).
DATA: v_data_ TYPE d.
WHILE v_data_ IS INITIAL OR
v_data_ EQ '00000000'.
CALL FUNCTION 'TR_POPUP_INPUT_DATE'
EXPORTING
iv_title = text-012
iv_description1 = text-010
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
wa_log
'C'.
else.
perform grava_log using '/PWS/ZYCBT006'
wa_log
'A'.
endif.
endif.
if itab_zycbt006-v_status ne 'N'.
if not itab_zycbt006-belnr_d is initial.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
if itab_zycbt005-dtbelnr > itab_zycbt006-dtpagto.
* << Fim da inclusão
update /pws/zycbt005 set belnr = itab_zycbt006-belnr_d
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
and dtvincul = itab_zycbt006-dtvincul
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf.
else.
update /pws/zycbt005 set belnr = itab_zycbt006-belnr_d
* << Fim da inclusão
dtbelnr = itab_zycbt006-dtpagto
where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
and dtvincul = itab_zycbt006-dtvincul
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
endif.
* << Fim da inclusão
else.
...
...
loop at itab_zycbt030 where nrinvoic = itab_zycbt006-nrinvoic
and gsberf = itab_zycbt006-gsberf
and nrparcf = itab_zycbt006-nrparcf.
check not itab_zycbt030-belnr_d is initial.
if wa_zycbt007-liq_trans eq space.
if itab_zycbt030-v_belnr = itab_zycbt030-belnr_d.
itab_zycbt030-belnr6 = itab_zycbt006-belnr.
else.
itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.
endif.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO2
if not itab_zycbt030-budat > itab_zycbt006-dtpagto.
* << Fim da inclusão
itab_zycbt030-budat = itab_zycbt006-dtpagto.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO2
endif.
* << Fim da inclusão
if itab_zycbt030-belnr_t is initial.
itab_zycbt030-belnr_t = itab_zycbt030-belnr6.
itab_zycbt030-budat_t = itab_zycbt030-budat.
endif.
read table itab_recurso_aux
with key nrinvoic = itab_zycbt006-nrinvoic
...
...
read table itab_zycbt032 with key tcode = v_text
tabela = 'ZYCBT006'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
if sy-subrc eq 0.
itab_zycbt030-belnr_d = itab_zycbt032-belnr.
read table itab_zycbe033 index 1.
if itab_zycbe033-budat ne itab_zycbt006-dtpagto.
itab_zycbt074-dtcont = /pws/zycbt074-dtcont =
itab_zycbe033-budat.
* >> Início da exclusão: FORM DESMEMBRA_CLIENTE
modify itab_zycbt074.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
modify itab_zycbt074 transporting dtcont
where nrseqc = /pws/zycbe001-nrseqc.
if sy-subrc ne 0.
itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.
append itab_zycbt074.
endif.
* << Fim da inclusão
itab_zycbt005-dtbelnr = itab_zycbe033-budat.
* >> Início da exclusão: FORM DESMEMBRA_CLIENTE
modify itab_zycbt005.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
modify itab_zycbt005 transporting dtbelnr
where nrinvoic = itab_zycbt006-nrinvoic
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
itab_zycbt030-budat = itab_zycbe033-budat.
endif.
modify itab_zycbt030.
itab_contabil-nrinvoic = itab_zycbt030-nrinvoic.
itab_contabil-vbeln = itab_zycbt030-vbeln.
itab_contabil-nrparcf = itab_zycbt030-nrparcf.
itab_contabil-gsberf = itab_zycbt030-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-179.
read table itab_zycbt074 with key nrseqc = itab_zycbt006-nrseqc.
...
...
tabela = 'ZYCBT006'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
if sy-subrc eq 0.
itab_zycbt006-belnr_d = itab_zycbt032-belnr.
modify itab_zycbt006.
read table itab_zycbe033 index 1.
if itab_zycbe033-budat ne itab_zycbt006-dtpagto.
itab_zycbt074-dtcont = /pws/zycbt074-dtcont =
itab_zycbe033-budat.
* >> Início da exclusão: FORM DESMEMBRA_ACE
modify itab_zycbt074.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_ACE
modify itab_zycbt074 transporting dtcont
where nrseqc = /pws/zycbe001-nrseqc.
if sy-subrc ne 0.
itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.
append itab_zycbt074.
endif.
* << Fim da inclusão
itab_zycbt005-dtbelnr = itab_zycbe033-budat.
* >> Início da exclusão: FORM DESMEMBRA_ACE
modify itab_zycbt005.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_ACE
modify itab_zycbt005 transporting dtbelnr
where nrinvoic = itab_zycbt006-nrinvoic
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
itab_zycbt030-budat = itab_zycbe033-budat.
* >> Início da inclusão: FORM DESMEMBRA_ACE
modify itab_zycbt030 transporting budat
where nrinvoic = itab_zycbt006-nrinvoic
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
endif.
loop at itab_zycbt069 where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
...
...
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
if sy-subrc eq 0.
itab_zycbt006-belnr = itab_zycbt032-belnr.
itab_zycbt006-status = 'C'.
modify itab_zycbt006.
read table itab_zycbe033 index 1.
if itab_zycbe033-budat ne itab_zycbt006-dtpagto.
itab_zycbt074-dtcont = /pws/zycbt074-dtcont =
itab_zycbe033-budat.
* >> Início da exclusão: FORM BAIXA_CLIENTE_ACE
modify itab_zycbt074.
* << Fim da exclusão
* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE
MODIFY itab_zycbt074 TRANSPORTING dtcont
WHERE nrseqc = /pws/zycbe001-nrseqc.
IF sy-subrc NE 0.
itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.
APPEND itab_zycbt074.
ENDIF.
* << Fim da inclusão
itab_zycbt005-dtbelnr = itab_zycbe033-budat.
* >> Início da exclusão: FORM BAIXA_CLIENTE_ACE
modify itab_zycbt005.
* << Fim da exclusão
* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE
MODIFY itab_zycbt005 TRANSPORTING dtbelnr
WHERE nrinvoic = itab_zycbt006-nrinvoic
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
itab_zycbt030-budat = itab_zycbe033-budat.
* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE
MODIFY itab_zycbt030 TRANSPORTING budat
WHERE nrinvoic = itab_zycbt006-nrinvoic
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
endif.
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
...