CE PLUS - Nota 001509

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Despesas

Data/Hora da Publicação: 02/06/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:27:34

Descrição da Nota: TRATAR E AJUSTAR O CAMPO DTVENCTO (FATURA)

Sintoma

Tratar e ajustar o campo DTVENCTO (fatura), para que respeite a data do ultimo mês do calendario.

Pois hoje quando temos uma condição cujo data de vencimento está fixa na condition R3 como dia 31,

no mes de fevereiro por exemplo, o CE move 31/ 02, ou seja não respeita o calendário.

 

 

Solução

Inserida a Função - LAST_DAY_OF_MONTHS que retorna o ultimo dia valido do mes.

Ou seja Atualizado para o programa de fatura verificar o mês de Fevereiro que tem 28 dias.

 

Versões Tratadas

6.0

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 01509 Data: 02/06/2006 Hora: 16:21:37

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 01509

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00116

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

TRATAR E AJUSTAR O CAMPO DTVENCTO (FATURA)

----------------------------------------------------------------------------------------------------

Palavras Chave:

DTVENCTO - FATURA - DIA - ULTIMO - MES

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003TOP

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

           NOT t052-zstg1 IS INITIAL.

          IF NOT /pws/zycie006-dtbase IS INITIAL.

            /pws/zycie006-dtvencto = /pws/zycie006-dtbase +

                    ( t052-zsmn1 * 30 ).

            /pws/zycie006-dtvencto+6(2) = t052-zstg1.

* >> Início da inclusão: FORM MONTAR_DTVENCTO

            IF NOT /pws/zycie006-dtvencto IS INITIAL.

              CLEAR v_dtvencto.

              CALL FUNCTION 'LAST_DAY_OF_MONTHS'

                   EXPORTING

                        day_in            = /pws/zycie006-dtvencto

                   IMPORTING

                        last_day_of_month = v_dtvencto.

              IF /pws/zycie006-dtvencto > v_dtvencto.

                /pws/zycie006-dtvencto = v_dtvencto.

              ENDIF.

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ELSE.

          IF t052-zdart EQ 'B'

            OR ( t052-zdart IS INITIAL

            AND NOT /pws/zycie006-zterm IS INITIAL ).

...

 

...

            ENDIF.

          ELSEIF t052-zdart EQ 'D'.

            IF NOT /pws/zycie006-dtbase IS INITIAL.

             /pws/zycie006-dtvencto = /pws/zycie006-dtbase + t052-ztag1

                                                            .

* >> Início da inclusão: FORM MONTAR_DTVENCTO

            ENDIF.

* << Fim da inclusão

            ENDIF.

* >> Início da inclusão: FORM MONTAR_DTVENCTO

        ENDIF.

        IF NOT /pws/zycie006-dtvencto IS INITIAL.

          CLEAR v_dtvencto.

          CALL FUNCTION 'LAST_DAY_OF_MONTHS'

               EXPORTING

                    day_in            = /pws/zycie006-dtvencto

               IMPORTING

                    last_day_of_month = v_dtvencto.

          IF /pws/zycie006-dtvencto > v_dtvencto.

            /pws/zycie006-dtvencto = v_dtvencto.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ELSE.

        /pws/zycie006-dtbase = /pws/zycie006-dtincl.

        /pws/zycie006-dtvencto = /pws/zycie006-dtincl.

* >> Início da inclusão: FORM MONTAR_DTVENCTO

        IF NOT /pws/zycie006-dtvencto IS INITIAL.

          CLEAR v_dtvencto.

          CALL FUNCTION 'LAST_DAY_OF_MONTHS'

               EXPORTING

                    day_in            = /pws/zycie006-dtvencto

               IMPORTING

                    last_day_of_month = v_dtvencto.

          IF /pws/zycie006-dtvencto > v_dtvencto.

            /pws/zycie006-dtvencto = v_dtvencto.

* << Fim da inclusão

      ENDIF.

* >> Início da inclusão: FORM MONTAR_DTVENCTO

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ELSE.

      IF NOT t052-zsmn1 IS INITIAL AND

         NOT t052-zstg1 IS INITIAL.

        IF NOT /pws/zycie006-dtincl IS INITIAL.

          /pws/zycie006-dtvencto = /pws/zycie006-dtincl +

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI003TOP

 

...

  v_kurst LIKE /pws/zycit000-kurst      ,

  v_nrseq LIKE /pws/zycit001-nrseq      ,

  v_awkey LIKE bkpf-awkey               ,

  v_existe_lc  TYPE c                   ,

        v_descfab(01)                   ,

* >> Início da exclusão:

v_recebi.

* << Fim da exclusão

* >> Início da inclusão:

v_recebi,

v_dtvencto LIKE /pws/zycie006-dtvencto.

* << Fim da inclusão

DATA:  gv_subscreen_0050   TYPE sy-dynnr VALUE '0051',

       gv_subscreen_0100_1 TYPE sy-dynnr,

       gv_subscreen_0300_2 TYPE sy-dynnr.

CONSTANTS: BEGIN OF gc_subscreen,

             prog     TYPE sy-dynnr VALUE '0100',

...