Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 22/10/2008 00:00:00
Data/Hora Última Alteração: 04/03/2010 10:47:59
Descrição da Nota: REMESSA - ANO FISCAL - OB52 - DRILL-DOWN E BUSCA DE DOCUMENTOS
Sintoma
Ao clicar no drill-down ou busca de algum documento na BKPF/BSEG, esta levando ano contábil
incorreto. O ambiente tem ano fiscal diferente do padrão.
Solução
Verificar o ano fiscal na função obtem_ano_contabil, para trazer o correto.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07467 Data: 22/10/2008 Hora: 20:03:03
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07467
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00070
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
REMESSA - ANO FISCAL - OB52 - DRILL-DOWN E BUSCA DE DOCUMENTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMESSA ANO FISCAL OB52 DRILL-DOWN E BUSCA DE DOCUMENTOS
GJAHR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA109F01
REPS /PWS/MZYCA109I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109F01
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBV0'
tabela = '/PWS/ZYCBT124'
cpochv = /pws/zycbe124-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM EXECUTA_APROVACAO
PERFORM determina_ano USING /pws/zycbe124-dtdocto
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM EXECUTA_APROVACAO
AND gjahr EQ /pws/zycbe124-dtdocto+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_APROVACAO
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
PERFORM determina_ano USING p_data
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ p_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0
AND gjahr EQ p_data(4)
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat NE 'Z'.
...
...
READ TABLE itab_zycat027
WITH KEY koart = 'C'
shkzg = 'C'.
itab_zycbe033-newbs = itab_zycat027-bschl.
v_koart_bi = 'C'.
v_shkzg_bi = 'C'.
itab_zycbe033-agkoa = 'D'.
ENDIF.
ENDIF.
itab_zycbe033-belnr = /pws/zycbe124-belnr.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
PERFORM determina_ano USING /pws/zycbe124-dtdocto
/pws/zycbe124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat kursf awkey FROM bkpf
INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,
itab_zycbe033-awkey)
WHERE bukrs EQ /pws/zycbe124-bukrs
AND belnr EQ /pws/zycbe124-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
AND gjahr EQ /pws/zycbe124-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_PRIN
AND gjahr EQ v_ano.
* << Fim da inclusão
CLEAR: itab_zyglt100.
REFRESH: itab_zyglt100.
IF itab_zyglt100[] IS INITIAL.
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'F'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
...
...
PERFORM verify_null_field USING itab_zycbe033-c_newko
'C_NEWKO'
text-137.
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
IF sy-index <= 1.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT124'.
itab_zycbt036-cpochv = /pws/zycbe124-nrseq.
itab_zycbt036-belnr = /pws/zycbe124-belnr_f51.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
PERFORM determina_ano USING /pws/zycbe124-dtdocto
/pws/zycbe124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe124-bukrs
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
AND gjahr EQ /pws/zycbe124-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
PERFORM verify_null_field USING itab_zycbt036-belnr
'BELNR'
text-138.
ELSEIF sy-index = 2.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT124'.
itab_zycbt036-cpochv = /pws/zycbe124-nrseq.
itab_zycbt036-belnr = /pws/zycbe124-belnr_f51p.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
PERFORM determina_ano USING /pws/zycbe124-dtdocto
/pws/zycbe124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ /pws/zycbe124-belnr_f51p
AND bukrs EQ /pws/zycbe124-bukrs
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR
AND gjahr EQ /pws/zycbe124-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
PERFORM verify_null_field USING itab_zycbt036-belnr
'BELNR'
text-138.
ENDIF.
CONCATENATE /pws/zycbe124-nrseq 'R-IR' INTO v_zuonr.
PERFORM verify_null_field USING /pws/zycbe124-bukrs
'BUKRS'
text-092.
itab_zycbe033-bukrs = /pws/zycbe124-bukrs.
...
...
'BUKRS'
text-092.
itab_zycbe033-bukrs = /pws/zycbe124-bukrs.
itab_zycbe033-budat = p_data.
itab_zycbe033-bldat = itab_zycbe033-budat.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe124-bukrs
CHANGING v_monat.
PERFORM determina_ano USING itab_zycbe033-budat
/pws/zycbe124-bukrs
* >> Início da exclusão: FORM ANULA_DOC
CHANGING p_data(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DOC
CHANGING v_ano.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_ano
i_koart = '+'
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
...
...
ENDFORM.
FORM verifica_estrategia_liberacao.
CLEAR: v_lib, v_area.
SELECT SINGLE * FROM /pws/zyglt340
WHERE codmod = 'F'
AND func = 'CP'
AND estrat = 'X'.
IF sy-subrc EQ 0.
PERFORM verifica_taxa.
IF /pws/zycbe124-criacao NE 'S'.
* >> Início da inclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
PERFORM determina_ano USING /pws/zycbe124-dtdocto
/pws/zycbe124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf INTO itab_zycbe033-kursf
WHERE belnr = /pws/zycbe124-belnr
AND bukrs = /pws/zycbe124-bukrs
* >> Início da exclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
AND gjahr = /pws/zycbe124-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ESTRATEGIA_LIBERACAO
AND gjahr = v_ano.
* << Fim da inclusão
ENDIF.
...
...
v_koart_bi
v_shkzg_bi.
ELSEIF /pws/zycbe124-frgzu = '1'.
MODIFY /pws/zycbt124 FROM /pws/zycbe124.
ENDIF.
ENDFORM.
FORM preenche_estorna_contabeis USING p_tpimp
p_belnr
p_data.
CLEAR bkpf.
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
PERFORM determina_ano USING p_data
wa_zycbt124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ wa_zycbt124-bukrs
AND belnr EQ p_belnr
* >> Início da exclusão: FORM PREENCHE_ESTORNA_CONTABEIS
AND gjahr EQ p_data(4)
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
/pws/zycbe124-frgsx5, /pws/zycbe124-estrat,
/pws/zycbe124-bname, /pws/zycbe124-frgzu.
EXIT.
ENDIF.
PERFORM clear_date_batch.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = '/PWS/ZYCBT124'.
itab_zycbe033-cpochv = /pws/zycbe124-nrseq.
itab_zycbe033-belnr = p_belnr.
itab_zycbe033-bukrs = /pws/zycbe124-bukrs.
* >> Início da exclusão: FORM PREENCHE_ESTORNA_CONTABEIS
itab_zycbe033-gjahs = p_data(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ESTORNA_CONTABEIS
itab_zycbe033-gjahs = v_ano.
* << Fim da inclusão
PERFORM verifica_motivo_estorno
USING
itab_zycbe033-bukrs
p_data
CHANGING
itab_zycbe033-stgrd
itab_zycbe033-budat.
APPEND itab_zycbe033.
CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FB08'
EXPORTING
...
...
UP TO 1 ROWS
FROM /pws/zycbt011
WHERE bukrs = /pws/zycbe124-bukrs AND
codmod = 'I' AND
codeven = v_codeven.
ENDSELECT.
IF sy-subrc EQ 0.
v_agums = /pws/zycbt011-agums.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_DADOS_REPATRIACAO
PERFORM determina_ano USING v_dtassoc
/pws/zycbe124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT *
UP TO 1 ROWS
FROM bseg
WHERE bukrs = /pws/zycbe124-bukrs AND
belnr = v_belnr_as AND
* >> Início da exclusão: FORM PREENCHE_DADOS_REPATRIACAO
gjahr = v_dtassoc(4) AND
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DADOS_REPATRIACAO
gjahr = v_ano AND
* << Fim da inclusão
augbl = space AND
koart = 'K' AND
umskz = v_agums.
ENDSELECT.
IF sy-subrc EQ 0.
v_saknr1 = bseg-hkont.
MOVE: v_nrseq TO itab_zycbt141_p-nrseq,
v_saknr1 TO itab_zycbt141_p-saknr1,
v_saldo TO itab_zycbt141_p-vlremessa.
SELECT SINGLE *
FROM bkpf
WHERE bukrs = /pws/zycbe124-bukrs
* >> Início da exclusão: FORM PREENCHE_DADOS_REPATRIACAO
AND gjahr = v_dtassoc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DADOS_REPATRIACAO
AND gjahr = v_ano
* << Fim da inclusão
AND belnr = v_belnr_as.
IF sy-subrc = 0.
MOVE: bkpf-kursf TO /pws/zycbe124-kursf.
ENDIF.
APPEND itab_zycbt141_p.
ENDIF.
MOVE: v_nrseq TO /pws/zycat028-nrseq,
v_processo TO /pws/zycat028-tp_processo,
v_sequencial_aux TO /pws/zycat028-nr_processo,
v_agums TO /pws/zycat028-agums,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109I01
...
ENDIF.
ENDMODULE.
MODULE user_command_0101 INPUT.
CASE sy-ucomm.
WHEN 'CS'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCBE124-BELNR' OR
v_campo EQ 'V_BELNR_S'.
IF NOT v_valor IS INITIAL.
i_belnr = v_valor.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_bukrs = /pws/zycbe124-bukrs.
i_gjahr = wa_zycbt124-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
i_bukrs = wa_zycbt124-bukrs.
PERFORM determina_ano USING wa_zycbt124-dtdocto
wa_zycbt124-bukrs
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
...
...
UP TO 1 ROWS
WHERE nrchave = /pws/zycbe124-nrseq
AND mdcorresp = 'CP'.
ENDSELECT.
IF sy-subrc = 0 AND /pws/zycbe124-tpoper = 'R'.
SELECT * FROM /pws/zycbt031
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto.
ENDSELECT.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_gjahr = /pws/zycbt031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
PERFORM determina_ano USING /pws/zycbt031-dtcredpr
/pws/zycbe124-bukrs
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
ENDIF.
ELSEIF sy-subrc = 0.
SELECT * FROM /pws/zycbt134
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto
AND ( tpproc = 'PRINCIPAL' OR
tpproc = ' ' ).
ENDSELECT.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_gjahr = /pws/zycbt134-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
PERFORM determina_ano USING /pws/zycbt134-dtlanc
/pws/zycbe124-bukrs
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
ENDIF.
ENDIF.
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDIF.
ELSEIF v_campo = '/PWS/ZYCAE025-BELNR_PR'.
IF NOT v_valor IS INITIAL.
i_belnr = v_valor.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_bukrs = /pws/zycbe124-bukrs.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
i_bukrs = wa_zycbt124-bukrs.
* << Fim da inclusão
READ TABLE itab_zycat025 WITH KEY belnr_pr = v_valor.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
PERFORM determina_ano USING itab_zycat025-dtlanc
wa_zycbt124-bukrs
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
ENDIF.
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
...
...
WHERE nrchave = /pws/zycbe124-nrseq
AND mdcorresp = 'CP'.
ENDSELECT.
IF sy-subrc = 0.
SELECT * FROM /pws/zycbt134
UP TO 1 ROWS
WHERE nrseq = /pws/zycbt064-nrboleto
AND tpproc = itab_zycat025-tpimp.
ENDSELECT.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0101
i_gjahr = /pws/zycbt134-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0101
PERFORM determina_ano USING /pws/zycbt134-dtlanc
/pws/zycbe124-bukrs
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
...
...