Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Encerramento Contábil
Data/Hora da Publicação: 16/01/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 11:55:23
Descrição da Nota: AJUSTE REFERENTE A VERIFICAÇÃO DO PERÍODO CONTÁBIL.
Sintoma
O sistema está enviando para verificação o período contábil incorreto, fazendo com que assim, seja
emitido a tela de período contábil fechado, na fatura 04, no encerramento contábil e na prestação de
contas.
Solução
Funções a serem ajustadas para que busque o período contábil correto:
/PWS/ZYCI_TRANSACAO_F_43A
/PWS/ZYCI_TRANSACAO_F_43B
/PWS/ZYCI_TRANSACAO_F_51C
/PWS/ZYCI_TRANSACAO_F_51G
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00662 Data: 16/01/2006 Hora: 14:22:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00662
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00096
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00343 - 00001 - 6.0 - 00021 - LIBERAÇÃO DO ADIANTAMENTO E PRESTAÇÃO DE CONTAS ACUSA O ERRO DE D
00382 - 00002 - 6.0 - 00021 - AO FAZER A F-51 PARA DOCUMENTOS ANTIGOS EX:2004 O PROGRAMA NÃO ES
----------------------------------------------------------------------------------------------------
AJUSTE REFERENTE A VERIFICAÇÃO DO PERÍODO CONTÁBIL.
----------------------------------------------------------------------------------------------------
Palavras Chave:
F_43A, F_43B, F_51C, F_51G
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSACAO_F_43A
FUNC /PWS/ZYCI_TRANSACAO_F_43B
FUNC /PWS/ZYCI_TRANSACAO_F_51C
FUNC /PWS/ZYCI_TRANSACAO_F_51G
REPS /PWS/LZYCIGF2F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_43A
... < FUNCTION /PWS/ZYCI_TRANSACAO_F_43A >
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_data_doc_char,
t_dados-budat TO v_data_lanc_char,
t_dados-kursf TO v_kursf,
t_dados-wwert TO v_data_conversao.
* << Início da inclusão >> <----Nota
* v_monat = t_dados-budat+4(2).
v_gjahr = v_date.
v_koart = 'K'.
DATA: v_monat1(2) TYPE n.
PERFORM period_determine USING t_dados-budat
v_bukrs
v_gjahr
CHANGING v_monat1.
IF NOT v_monat1 IS INITIAL.
MOVE v_monat1 TO v_monat.
ELSE.
v_monat = t_dados-budat+4(2).
ENDIF.
* << Fim da inclusão >> <----Nota
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
CHANGING v_data_lanc_char
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_43B
... < FUNCTION /PWS/ZYCI_TRANSACAO_F_43B >
land1 = v_land1.
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_data_doc_char,
t_dados-budat TO v_data_lanc_char,
t_dados-kursf TO v_kursf.
* << Início da inclusão >> <----Nota
* v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
v_koart = 'K'.
DATA: v_monat1(2) TYPE n.
PERFORM period_determine USING t_dados-budat
v_bukrs
v_gjahr
CHANGING v_monat1.
IF NOT v_monat1 IS INITIAL.
MOVE v_monat1 TO v_monat.
ELSE.
v_monat = t_dados-budat+4(2).
ENDIF.
* << Fim da inclusão >> <----Nota
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
CHANGING v_data_lanc_char
...
...
ELSE.
PERFORM bdc_field USING:
'BKPF-XMWST' 'X'.
ENDIF.
ENDIF.
* << Início da inclusão >> <----Nota
* READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'C'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER' chave = 'C'.
* << Fim da inclusão >> <----Nota
IF sy-subrc <> 0.
IF NOT t_dados-c_gsber IS INITIAL.
* << Início da inclusão >> <----Nota
* PERFORM bdc_field USING 'COBL-GSBER' t_dados-c_gsber.
PERFORM bdc_field USING 'BSEG-GSBER' t_dados-c_gsber.
* << Início da inclusão >> <----Nota
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-SGTXT' chave = 'C'.
IF sy-subrc <> 0.
IF NOT t_debito-c_sgtxt IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_51C
... < FUNCTION /PWS/ZYCI_TRANSACAO_F_51C >
endif.
write: t_dados-bldat to v_bldat,
t_dados-budat to v_budat,
t_dados-wrbtr to v_wrbtr currency t_dados-waers,
t_dados-bukrs to v_bukrs.
* << Início da inclusão >> <----Nota
* v_monat = t_dados-budat+4(2).
v_gjahr = v_date.
v_koart = 'K'.
DATA: v_monat1(2) TYPE n.
PERFORM period_determine USING t_dados-budat
v_bukrs
v_gjahr
CHANGING v_monat1.
IF NOT v_monat1 IS INITIAL.
MOVE v_monat1 TO v_monat.
ELSE.
v_monat = t_dados-budat+4(2).
ENDIF.
* << Fim da inclusão >> <----Nota
perform check_periodo using v_koart
v_monat
v_bukrs
v_gjahr
changing v_budat
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_51G
... < FUNCTION /PWS/ZYCI_TRANSACAO_F_51G >
IMPORTING
V_YEAR = V_GJAHR.
IF SY-SUBRC <> 0.
V_GJAHR = T_DADOS-BUDAT+0(4).
ENDIF.
* << Início da inclusão >> <----Nota
DATA: v_monat1(2) TYPE n.
PERFORM period_determine USING t_dados-budat
v_bukrs
v_gjahr
CHANGING v_monat1.
IF NOT v_monat1 IS INITIAL.
MOVE v_monat1 TO v_monat.
ELSE.
v_monat = t_dados-budat+4(2).
ENDIF.
* << Fim da inclusão >> <----Nota
V_KOART = 'K'.
PERFORM CHECK_PERIODO USING V_KOART
V_MONAT
V_BUKRS
V_GJAHR
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2F01
...< Perform period_determine >
* << Início da inclusão >> <----Nota
form period_determine using p_budat
p_bukrs
p_gjahr
CHANGING p_monat.
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = p_budat
i_bukrs = p_bukrs
i_gjahr = p_gjahr
IMPORTING
e_monat = p_monat
EXCEPTIONS
fiscal_year = 1
period = 2
period_version = 3
posting_period = 4
special_period = 5
version = 6
posting_date = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
endform.
* << Fim da inclusão >> <----Nota