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.
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',
...