CE PLUS - Nota 001654

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Despesas

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

Data/Hora Última Alteração: 20/06/2011 12:31:44

Descrição da Nota: DUMP NA DATA DA FATURA PARA CLIENTES NA VERSÃO 4.5

Sintoma

Está dando erro no cálculo da data de vencimento da fatura.

A função não existe aqui na versao do SAP

 

 

 

Solução

Foi cliada a função /PWS/LAST_DAY_OF_MONTHS.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAR E AJUSTAR O CAMPO DTVENCTO (FATURA)

Informações Complementares

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

Nota Número 01654 Data: 28/06/2006 Hora: 16:37:52

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

 

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

Nota Número              : 01654

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00120

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

01509  - 00001 - 6.0    - 00023  - TRATAR E AJUSTAR O CAMPO DTVENCTO (FATURA)

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

DUMP NA DATA DA FATURA PARA CLIENTES NA VERSÃO 4.5

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

Palavras Chave:

DUMP - FATURA - 4.5 - DATA - VENCIMENTO

.

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

Objetos da nota:

FUNC /PWS/LAST_DAY_OF_MONTHS

REPS /PWS/LZYCIGF6TOP

REPS /PWS/LZYCIGF6UXX

REPS /PWS/MZYCI003F01

 

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

Modificações efetuadas em FUNC /PWS/LAST_DAY_OF_MONTHS

 

Criar o mudolo de função com os seguintes parametros:

 

Caracteristicas

 

Grupo de funções     /PWS/ZYCIGF6               CI - Funções em Desenvolvimento -

Texto breve          GL - Função para Retornar o ultimo dia valido do mês

 

Importação:

DAY_IN       |   LIKE     |   SY-DATUM      |     |   X

 

Exportação:

LAST_DAY_OF_MONTH  |   LIKE   | SY-DATUM     |   X

 

Exceções:

 

DAY_IN_NO_DATE

 

Texto Fonte:

 

*"----------------------------------------------------------------------

*"*"Interface local:

*"  IMPORTING

*"     VALUE(DAY_IN) LIKE  SY-DATUM

*"  EXPORTING

*"     VALUE(LAST_DAY_OF_MONTH) LIKE  SY-DATUM

*"  EXCEPTIONS

*"      DAY_IN_NO_DATE

*"----------------------------------------------------------------------

  DATA: BEGIN OF date,

          j(4),

          m(2),

          t(2),

        END OF date.

  DATA: zahl TYPE i.

 

  date = day_in.

 

  IF date-m LT januar OR date-m GT december.

    MESSAGE e401(5d) WITH day_in

            RAISING day_in_no_date.

  ENDIF.

 

  IF date-j LT lowdate.

    MESSAGE e401(5d) WITH day_in

            RAISING day_in_no_date.

  ENDIF.

 

  IF date-j EQ highdate-j AND

     date-m EQ highdate-m.

    last_day_of_month = highdate.

 

  ELSE.

 

    IF date-m EQ december.

      zahl = date-j + 1.

      UNPACK zahl TO date-j.

      date-m = frist.

    ELSE.

      zahl = date-m + 1.

      UNPACK zahl TO date-m.

    ENDIF.

* Erster des Folgemonats

    date-t = frist.

    last_day_of_month = date.

    SUBTRACT 1 FROM last_day_of_month.

 

  ENDIF.

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF6TOP

 

FUNCTION-POOL /PWS/ZYCIGF6.

* >> Início da inclusão:

DATA: JANUAR(2)   VALUE '01',

      DECEMBER(2) VALUE '12',

      LOWDATE(4)     VALUE '1800',

      FRIST(2)       VALUE '01'.

DATA: BEGIN OF HIGHDATE,

        J(4) VALUE '9999',

        M(2) VALUE '12',

        T(2) VALUE '31',

      END OF HIGHDATE.

* << Fim da inclusão

TYPES: BEGIN OF MSG_STRUC,

        TCODE LIKE BDCMSGCOLL-TCODE,

        DYNAME LIKE BDCMSGCOLL-DYNAME,

        DYNUMB LIKE BDCMSGCOLL-DYNUMB,

        MSGTYP LIKE BDCMSGCOLL-MSGTYP,

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF6UXX

 

...

INCLUDE /PWS/LZYCIGF6U08.

INCLUDE /PWS/LZYCIGF6U09.

INCLUDE /PWS/LZYCIGF6U10.

INCLUDE /PWS/LZYCIGF6U11.

INCLUDE /PWS/LZYCIGF6U01.

* >> Início da inclusão:

INCLUDE /PWS/LZYCIGF6U02.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

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

                    ( t052-zsmn1 * 30 ).

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

            IF NOT /pws/zycie006-dtvencto IS INITIAL.

              CLEAR v_dtvencto.

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

              CALL FUNCTION 'LAST_DAY_OF_MONTHS'

* << Fim da exclusão

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

              CALL FUNCTION '/PWS/LAST_DAY_OF_MONTHS'

* << Fim da inclusão

                   EXPORTING

                        day_in            = /pws/zycie006-dtvencto

                   IMPORTING

                        last_day_of_month = v_dtvencto.

              IF /pws/zycie006-dtvencto > v_dtvencto.

...

 

...

            ENDIF.

          ENDIF.

        ENDIF.

        IF NOT /pws/zycie006-dtvencto IS INITIAL.

          CLEAR v_dtvencto.

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

          CALL FUNCTION 'LAST_DAY_OF_MONTHS'

* << Fim da exclusão

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

              CALL FUNCTION '/PWS/LAST_DAY_OF_MONTHS'

* << Fim da inclusão

               EXPORTING

                    day_in            = /pws/zycie006-dtvencto

               IMPORTING

                    last_day_of_month = v_dtvencto.

          IF /pws/zycie006-dtvencto > v_dtvencto.

...

 

...

      ELSE.

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

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

        IF NOT /pws/zycie006-dtvencto IS INITIAL.

          CLEAR v_dtvencto.

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

          CALL FUNCTION 'LAST_DAY_OF_MONTHS'

* << Fim da exclusão

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

              CALL FUNCTION '/PWS/LAST_DAY_OF_MONTHS'

* << Fim da inclusão

               EXPORTING

                    day_in            = /pws/zycie006-dtvencto

               IMPORTING

                    last_day_of_month = v_dtvencto.

          IF /pws/zycie006-dtvencto > v_dtvencto.

...