Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 16/03/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 09:30:45
Descrição da Nota: ROTINA MENSAL IMPORTAÇÃO - ESTORNO MENSAL - DATA DE LANÇAMENTO
Sintoma
Quando esta parametrizado para ser último dia útil do mês e a rotina mensal é em fechamento
intermediário, não joga o dia correto para estorno. Quando esta parametrizado para ser o primeiro
dia útil do mês, ele não verifica se o dia é feriado, apenas final de semana.
Solução
Se for fechamento intermediário, jogar o último dia do mês. Verificar se o dia útil selecionado é
feriado.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01034 Data: 16/03/2006 Hora: 11:49:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01034
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00105
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ROTINA MENSAL IMPORTAÇÃO - ESTORNO MENSAL - DATA DE LANÇAMENTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL IMPORTAÇÃO ESTORNO MENSAL
DATA LANÇAMENTO ESTORNO DIA UTIL FECHAMENTO INTERMEDIARIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR112
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR112
...
PERFORM verifica_dia.
ELSE.
READ TABLE itab_period WITH KEY weekday = 7.
IF sy-subrc EQ 0.
PERFORM verifica_dia.
* >> Início da inclusão: FORM VERIFICA_DATA
ELSE.
LOOP AT itab_period WHERE NOT txt_short IS initial
OR NOT txt_long IS initial.
PERFORM verifica_dia.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_dia.
...
...
ENDIF.
ENDDO.
ENDFORM.
FORM define_data_lancamento.
v_data = s_dtentr.
IF wa_zycbt007-dataestorno EQ 'PDM'.
v_data+6(2) = '01'.
ELSEIF wa_zycbt007-dataestorno EQ 'PDU'.
v_data+6(2) = '01'.
PERFORM verifica_data.
* >> Início da inclusão: FORM DEFINE_DATA_LANCAMENTO
ELSEIF wa_zycbt007-dataestorno EQ 'UDM'.
IF s_rbinte = 'X'.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = v_data
IMPORTING
last_day_of_month = v_data
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
ENDIF.
* << Fim da inclusão
ELSEIF wa_zycbt007-dataestorno EQ 'UDU'.
* >> Início da inclusão: FORM DEFINE_DATA_LANCAMENTO
IF s_rbinte = 'X'.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = v_data
IMPORTING
last_day_of_month = v_data
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
ENDIF.
* << Fim da inclusão
PERFORM verifica_data.
ENDIF.
itab_zycbe033-budat = v_data.
ENDFORM.
FORM exclui_campos.
...