CE PLUS - Nota 007924

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.

Versões Tratadas

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.

...