Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Associação
Data/Hora da Publicação: 24/04/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 09:30:51
Descrição da Nota: ASSOCIAÇÃO FATURAS EM PERÍODO FECHADO - ANO FISCAL
Sintoma
Ao tentar salvar uma Associação para um determinado Pagamento Antecipado o programa informa que o
período contábil esta fechado, entretanto ao verificar na OB52 o período contábil encontra-se
aberto. No momento que o programa verifica se o período contábil esta aberto ou fechado ele se
perde e verifica com o período incorreto. O programa verifica se o período 04 esta em aberto e
deveria esta verificando com o período 08, devido o ano fiscal ser diferente . O Ano fiscal
começa em Setembro, por isso o período em que se encontra é o período 08.
Solução
Antes de mapear o mês na F-51 e FB08, verificar pela função do SAP qual é o período contábil da data
de lançamento. Após isso fazer a consistência se o período encontra-se aberto.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01238 Data: 24/04/2006 Hora: 17:00:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01238
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00110
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00798 - 00001 - 6.0 - 00023 - ASSOCIAÇÃO - TRATAMENTO PARA A DATA CONFORME PARAMETRIZAÇÃO POR U
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO FATURAS EM PERÍODO FECHADO - ANO FISCAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO FATURAS EM PERÍODO FECHADO ANO FISCAL
OBY6 OX06
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCM_TRANSACAO_FB08
FUNC /PWS/ZYCM_TRANSACAO_F_51N
FUNC /PWS/ZYCM_TRANSACAO_F_51O
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_FB08
...
* Variáveis
DATA:
v_data_lanc_char(10) TYPE c,
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_date LIKE t009b-bdatj, "ano Contábil
v_msgno LIKE t100-msgnr,
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
v_monat LIKE t001b-frpe1.
* << Fim da inclusão
...
'UF05A-STGRD' t_dados-stgrd, "Motivo estorno
'BDC_OKCODE' '=BU'.
ENDIF.
* Se o período do documento a ser estornado esta fechado, passa a data
* do dia que sendo executado o estorno, pois estará aberto
IF t_dados-budat <> '00000000'.
IF v_datum <> '00000000'.
WRITE: v_datum TO v_data_lanc_char.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
v_data = v_datum.
* << Fim da inclusão
ELSE.
WRITE: t_dados-budat TO v_data_lanc_char.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
v_data = t_dados-budat.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
select single periv from t001 into t001-periv
where bukrs = t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = v_data
version = t001-periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSIS-BUDAT' v_data_lanc_char, "Data lançamento
* Chamado 285378 - Renato Mendes - 31.01.2006 - Inicio
* 'BSIS-MONAT' v_data_lanc_char+3(2). "Período contábil
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
* 'BSIS-MONAT' t_dados-budat+4(2). "Período contábil
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_FB08
'BSIS-MONAT' v_monat+1(2). "Período contábil
* << Fim da inclusão
* Chamado 285378 - Renato Mendes - 31.01.2006 - Fim
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51N
...
t_dados-bldat TO v_data_doc_char,
t_dados-budat TO v_data_lanc_char,
t_dados-budat TO v_dtlanc_char,
t_dados-zfbdt TO v_dtvencto_char,
t_dados-kursf TO v_kursf.
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
v_monat = t_dados-budat+4(2).
v_gjahr = t_dados-budat+0(4).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
SELECT SINGLE periv FROM t001 INTO t001-periv
where bukrs = t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = t001-periv
IMPORTING
period = v_monat
year = v_gjahr
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
v_koart = '+'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
...
...
ELSE.
CONCATENATE v_data_lanc_char+6(4) v_data_lanc_char(2)
v_data_lanc_char+3(2) INTO t_dados-budat.
ENDIF.
MODIFY t_dados.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = t001-periv
IMPORTING
period = v_monat
year = v_gjahr
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
MOVE t_dados-budat(4) TO v_gjahr.
* << Fim da exclusão
PERFORM bdc_screen USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_data_doc_char,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
'BKPF-BUDAT' v_data_lanc_char,
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
'BKPF-MONAT' t_dados-budat+4(2),
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51N
'BKPF-MONAT' v_monat+1(2),
* << Fim da inclusão
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-WWERT' v_data_conv_char,
'BKPF-BVORG' t_dados-bvorg,
'BKPF-BKTXT' t_dados-bktxt,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51O
...
t_dados-budat TO v_budat,
t_dados-budat TO v_budat_ant,
t_dados-kursf TO v_kursf,
t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-bukrs TO v_bukrs.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
SELECT SINGLE periv FROM t001 INTO t001-periv
where bukrs = t_dados-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = t001-periv
IMPORTING
period = v_monat
year = v_gjahr
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
v_monat = t_dados-budat+4(2).
v_gjahr = v_date.
* << Fim da exclusão
v_koart = '+'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
CHANGING v_budat
v_ok.
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
CONCATENATE '0' v_budat+3(2) INTO v_monat.
MOVE v_budat+6(4) TO v_gjahr.
* << Fim da exclusão
IF v_budat NE v_budat_ant.
SELECT SINGLE datfm FROM usr01 INTO usr01-datfm
WHERE bname = sy-uname.
IF usr01-datfm = 1 OR sy-subrc NE 0.
CONCATENATE v_budat+6(4) v_budat+3(2) v_budat(2)
INTO t_dados-budat.
ELSE.
CONCATENATE v_budat+6(4) v_budat(2) v_budat+3(2)
INTO t_dados-budat.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = t001-periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' v_bukrs,
'BKPF-BUDAT' v_budat,
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
'BKPF-MONAT' t_dados-budat+4(2),
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51O
'BKPF-MONAT' v_monat+1(2),
* << Fim da inclusão
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
'BDC_OKCODE' '=SL'.
...