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.
6.0
Produto:
Nota
Descrição
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.
...