Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 16/01/2009 00:00:00
Data/Hora Última Alteração: 11/03/2010 10:43:35
Descrição da Nota: HISTÓRICO CONTÁBIL - DRILL-DOWN - ANO CONTÁBIL INCORRETO
Sintoma
No histórico contábil de uma captação, ao clicar sobre o documento contábil para exibi-lo, esta
aparecendo em ano incorreto.
Solução
Só considerar o campo /pws/zycbt074-dtcont se o mesmo for maior que a data de vinculação.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07924 Data: 16/01/2009 Hora: 15:42:05
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07924
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00081
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
HISTÓRICO CONTÁBIL - DRILL-DOWN - ANO CONTÁBIL INCORRETO
----------------------------------------------------------------------------------------------------
Palavras Chave:
HISTÓRICO CONTÁBIL DRILL-DOWN ANO CONTÁBIL INCORRETO
/PWS/ZYCBT074-DTCONT
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR059
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR059
...
WRITE v_valor RIGHT-JUSTIFIED TO v_valor.
OVERLAY v_valor WITH '0000000000'.
IF v_valor IS INITIAL.
EXIT.
ENDIF.
CASE v_campo.
WHEN 'ITAB_DADOS-BELNR_VINC'.
READ TABLE itab_dados WITH KEY belnr_vinc = v_valor.
IF sy-subrc EQ 0.
v_valor = itab_dados-belnr_vinc.
* >> Início da exclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
IF itab_zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
IF itab_zycbt001-tpcontr+0(1) EQ 'E'.
CASE itab_zycbt001-fdtlanc.
WHEN 'D'.
v_date = itab_zycbt001-dtdesem.
WHEN 'O'.
v_date = itab_zycbt001-dtcontr.
WHEN OTHERS.
v_date = itab_zycbt001-dtcred.
ENDCASE.
ELSE.
READ TABLE itab_zycbt005
WITH KEY nrinvoic = itab_dados-nrinvoic
nrparcf = itab_dados-nrparcf
gsberf = itab_dados-gsberf
dtvincul = itab_dados-dtvincul.
IF sy-subrc EQ 0.
v_date = itab_zycbt005-dtvincul.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM DRILL_DOWN
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
IF sy-subrc = 0 AND itab_zycbt074-dtcont > v_date.
* << Fim da inclusão
v_date = itab_zycbt074-dtcont.
ENDIF.
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_LIQ'.
READ TABLE itab_dados WITH KEY belnr_liq = v_valor.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
* << Fim da exclusão
v_valor = itab_dados-belnr_liq.
* >> Início da exclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL.
v_date = itab_zycbt074-dtcont.
ELSE.
* << Fim da exclusão
READ TABLE itab_zycbt006
WITH KEY nrinvoic = itab_dados-nrinvoic
nrparcf = itab_dados-nrparcf
gsberf = itab_dados-gsberf
dtvincul = itab_dados-dtvincul
dtpagto = itab_dados-dtliquid
dtpagext = itab_dados-dtpagext.
IF sy-subrc EQ 0.
v_date = itab_zycbt006-dtpagto.
ENDIF.
* >> Início da inclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
IF sy-subrc = 0 AND itab_zycbt074-dtcont > v_date.
v_date = itab_zycbt074-dtcont.
* << Fim da inclusão
ENDIF.
i_belnr = v_valor.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_dados-nrinvoic.
i_bukrs = itab_zycbt017-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR5'.
READ TABLE itab_dados WITH KEY belnr5 = v_valor.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
v_valor = itab_dados-belnr5.
v_date = itab_zycbt006-dtpagto.
* >> Início da exclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL
AND itab_zycbt074-dtcont > itab_zycbt006-dtpagto.
* << Fim da inclusão
v_date = itab_zycbt074-dtcont.
ELSE.
v_date = itab_zycbt006-dtpagto.
ENDIF.
i_belnr = v_valor.
i_bukrs = itab_dados-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR'.
READ TABLE itab_dados WITH KEY belnr = v_valor.
...
WHEN 'ITAB_PRINCIPAL-BELNR'.
READ TABLE itab_principal WITH KEY belnr = v_valor.
IF sy-subrc EQ 0.
v_valor = itab_principal-belnr.
* >> Início da exclusão: FORM DRILL_DOWN
v_date = itab_zycbt001-dtcontr.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
CASE itab_zycbt001-fdtlanc.
WHEN 'D'.
v_date = itab_zycbt001-dtdesem.
WHEN 'O'.
v_date = itab_zycbt001-dtcontr.
WHEN OTHERS.
v_date = itab_zycbt001-dtcred.
ENDCASE.
* << Fim da inclusão
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
...
...
v_date = itab_despesa-dtpagto.
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_DCONTR'.
READ TABLE itab_dados WITH KEY belnr_dcontr = v_valor.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
v_valor = itab_dados-belnr_dcontr.
* >> Início da exclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL
AND itab_zycbt074-dtcont > itab_dados-dtvincul.
* << Fim da inclusão
v_date = itab_zycbt074-dtcont.
ELSE.
v_date = itab_dados-dtvincul.
ENDIF.
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_DCLI'.
READ TABLE itab_dados WITH KEY belnr_dcli = v_valor.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
v_valor = itab_dados-belnr_dcli.
v_date = itab_dados-dtliquid.
* >> Início da exclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL
AND itab_zycbt074-dtcont > itab_dados-dtliquid.
* << Fim da inclusão
v_date = itab_zycbt074-dtcont.
ELSE.
v_date = itab_dados-dtliquid.
ENDIF.
i_belnr = v_valor.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_dados-nrinvoic.
i_bukrs = itab_zycbt017-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_DCLIB'.
...
...
IF sy-subrc EQ 0.
v_valor = itab_dados-belnr_dclib.
v_date = itab_dados-dtvincul.
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_DACE'.
READ TABLE itab_dados WITH KEY belnr_dace = v_valor.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
* << Fim da exclusão
v_valor = itab_dados-belnr_dace.
* >> Início da exclusão: FORM DRILL_DOWN
IF NOT itab_zycbt074-dtcont IS INITIAL.
v_date = itab_zycbt074-dtcont.
ELSE.
* << Fim da exclusão
READ TABLE itab_zycbt006
WITH KEY nrinvoic = itab_dados-nrinvoic
nrparcf = itab_dados-nrparcf
gsberf = itab_dados-gsberf
dtvincul = itab_dados-dtvincul
dtpagto = itab_dados-dtliquid
dtpagext = itab_dados-dtpagext.
IF sy-subrc EQ 0.
v_date = itab_zycbt006-dtpagto.
ENDIF.
* >> Início da inclusão: FORM DRILL_DOWN
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt001-nrseqc.
IF sy-subrc = 0 AND itab_zycbt074-dtcont > v_date.
v_date = itab_zycbt074-dtcont.
* << Fim da inclusão
ENDIF.
i_belnr = v_valor.
i_bukrs = itab_zycbt001-bukrs.
PERFORM obtem_ano_contabil.
ENDIF.
WHEN 'ITAB_DADOS-BELNR_ACE'.
READ TABLE itab_dados WITH KEY belnr_ace = v_valor.
IF sy-subrc EQ 0.
v_valor = itab_dados-belnr_ace.
v_date = itab_dados-dtpagto_ace.
...