Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Agrupamento de Embarque
Data/Hora da Publicação: 24/05/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:21:14
Descrição da Nota: VERIFICAÇÃO DE EXERCÍCIO FISCAL NO AGRUPAMENTO DO EMBARQUE
Sintoma
Antes de executar o estorno da compensação dos documentos, é necessário identificar o exercício
fiscal do lançamento e verificar se o mesmo encontra-se aberto.
Solução
Substituição das chamadas da função standard 'FI_PERIOD_CHECK' e 'DETERMINE_PERIOD' pela chamada da
função /PWS/ZYCE_CHECA_PERIODO_FISCAL' que agrupa as verificações das duas funções citadas.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03749 Data: 24/05/2007 Hora: 14:21:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03749
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00167
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01302 - 00001 - 6.0 - 00023 - ESTORNO DO CÂMBIO QUANDO DATA DO EMBARQUE É MAIOR DO QUE DATA DO
01677 - 00002 - 6.0 - 00024 - ERRO NO ESTORNO DE AGRUPAMENTO DE EMBARQUE EM PERÍODO FECHADO
03560 - 00003 - 7.0 - 00001 - FUNÇÃO PARA DETERMINAÇÃO DE PERÍODO CONTÁBIL E EXERCÍCIO FISCAL
----------------------------------------------------------------------------------------------------
VERIFICAÇÃO DE EXERCÍCIO FISCAL NO AGRUPAMENTO DO EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
AGRUPAMENTO, EMBARQUE, FUNÇÃO, PERÍODO, FISCAL, EXERCÍCIO
VERIFICAÇÃO, CONTÁBIL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCER089
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCER089
...
itab_zycbt033-cpochv = wa_zycet001-nrseq.
itab_zycbt033-belnr = itab_zycbt030-belnr.
itab_zycbt033-bukrs = wa_zycet001-bukrs.
READ TABLE itab_zycbt030_aux
WITH KEY belnr = itab_zycbt030-belnr.
itab_zycbt033-budat = itab_zycbt030_aux-budat.
itab_zycbt033-bldat = itab_zycbt033-budat.
APPEND itab_zycbt033.
ENDFORM.
FORM fill_date_fb08.
* >> Início da exclusão: FORM FILL_DATE_FB08
DATA: wa_per_fiscal TYPE ty_per_fiscal.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
DATA: wa_per_fiscal TYPE ty_per_fiscal,
v_retorno(2) TYPE c,
v_gjahr TYPE t001b-frye1.
* << Fim da inclusão
CLEAR: itab_zycbt033,
itab_zycbt032,
itab_zycee005.
REFRESH: itab_zycbt033,
itab_zycbt032,
itab_zycee005.
itab_zycbt033-mandt = sy-mandt.
itab_zycbt033-tcode = 'FB08'.
itab_zycbt033-cpochv = wa_zycet001-nrseq.
itab_zycbt033-belnr = itab_zycbt030-belnr.
...
...
itab_zycee005-tcode = 'FB08'.
itab_zycee005-tabela = '/PWS/ZYCBT030'.
itab_zycee005-cpochv = wa_zycet001-nrseq.
itab_zycee005-belnr = itab_zycbt030-belnr.
itab_zycee005-bukrs = wa_zycet001-bukrs.
READ TABLE itab_zycbt030_aux WITH KEY belnr = itab_zycbt030-belnr.
IF sy-subrc IS INITIAL.
itab_zycee005-budat = itab_zycee005-bldat =
itab_zycbt030_aux-dtbelnr.
ENDIF.
* >> Início da exclusão: FORM FILL_DATE_FB08
itab_zycee005-gjahs = itab_zycee005-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
CALL FUNCTION '/PWS/ZYCE_CHECA_PERIODO_FISCAL'
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_DATE_FB08
PERFORM checa_periodo_fiscal CHANGING wa_per_fiscal.
CALL FUNCTION 'FI_PERIOD_CHECK'
* << Fim da exclusão
EXPORTING
* >> Início da exclusão: FORM FILL_DATE_FB08
i_bukrs = itab_zycee005-bukrs
i_gjahr = wa_per_fiscal-ano
i_koart = '+'
i_monat = wa_per_fiscal-mes
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
v_bukrs = itab_zycee005-bukrs
v_date = itab_zycbt030_aux-budat
v_koart = '+'
IMPORTING
v_year = v_gjahr
v_stgrd = v_retorno
* << Fim da inclusão
EXCEPTIONS
* >> Início da exclusão: FORM FILL_DATE_FB08
error_period = 1
error_period_acc = 2
OTHERS = 3.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_DATE_FB08
IF sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
itab_zycee005-gjahs = v_gjahr.
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_DATE_FB08
CALL FUNCTION 'FI_PERIOD_CHECK'
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
IF v_retorno = '01'.
CALL FUNCTION '/PWS/ZYCE_CHECA_PERIODO_FISCAL'
* << Fim da inclusão
EXPORTING
* >> Início da exclusão: FORM FILL_DATE_FB08
i_bukrs = itab_zycee005-bukrs
i_gjahr = wa_per_fiscal-ano
i_koart = 'D'
i_monat = wa_per_fiscal-mes
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
v_bukrs = itab_zycee005-bukrs
v_date = itab_zycbt030_aux-budat
v_koart = 'D'
IMPORTING
v_year = v_gjahr
v_stgrd = v_retorno
* << Fim da inclusão
EXCEPTIONS
* >> Início da exclusão: FORM FILL_DATE_FB08
error_period = 1
error_period_acc = 2
OTHERS = 3.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_DATE_FB08
IF sy-subrc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
IF v_retorno = '01'.
* << Fim da inclusão
itab_zycee005-stgrd = '01'.
* >> Início da inclusão: FORM FILL_DATE_FB08
ELSE.
itab_zycee005-stgrd = '02'.
itab_zycee005-budat = sy-datlo.
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycee005-stgrd = '02'.
* >> Início da exclusão: FORM FILL_DATE_FB08
itab_zycee005-budat = sy-datum.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB08
itab_zycee005-budat = sy-datlo.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM FILL_DATE_FB08
ENDIF.
* << Fim da exclusão
APPEND itab_zycee005.
ENDFORM.
FORM executa_fbra.
IMPORT v_mode FROM MEMORY ID '035'.
FREE MEMORY ID '035'.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FBRA'
...
...
SELECT SINGLE dtbl
FROM /pws/zycet047
INTO p_dtdocto
WHERE nrseq = p_wa_zycet001-nrseq.
WHEN 'V'.
p_dtdocto = p_wa_zycet001-dtaverb.
WHEN 'S'.
p_dtdocto = p_wa_zycet001-dtcruze.
ENDCASE.
ENDFORM.
* >> Início da exclusão: FORM CHECA_PERIODO_FISCAL
FORM checa_periodo_fiscal CHANGING p_fiscal TYPE ty_per_fiscal.
DATA: v_periv TYPE t001-periv.
SELECT SINGLE periv
FROM t001
INTO v_periv
WHERE bukrs EQ wa_zycet001-bukrs.
CHECK sy-subrc EQ 0.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = itab_zycbt030_aux-budat
version = v_periv
IMPORTING
period = p_fiscal-mes
year = p_fiscal-ano
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
ENDFORM.
* << Fim da exclusão
FORM selecionar_param_conversao
CHANGING p_moeda_destino TYPE t001-waers
p_categoria TYPE /pws/zycbt011-ctmoed.
SELECT SINGLE waers
FROM t001
INTO p_moeda_destino
WHERE bukrs EQ wa_zycet001-bukrs.
SELECT SINGLE ctmoed
FROM /pws/zycbt011
INTO p_categoria
...