Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Relatórios
Data/Hora da Publicação: 26/12/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:45:03
Descrição da Nota: REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.
Sintoma
Ao executar o Relatório de Câmbios Fechados (/PWS/ZYCBR047) para ACC e ACE, os valores das colunas
"Tx Juros BRL" e "Juros BRL" aparecem em branco quando o pagamento dos juros é feito pela rotina de
pagto,ou seja, qdo os juros são pagos através do complemento do boleto,essas duas colunas ficam em
branco.
Solução
Ajuste efetuado para a busca do fator de conversão para calcular o valor MI do juros será realizada
pela data de pagamento do juros, que esta na tabela /pws/zycbt004
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02756 Data: 26/12/2006 Hora: 11:26:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02756
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00145
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR047
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR047
...
END OF i_final.
DATA: BEGIN OF itab_lfa1 OCCURS 0.
INCLUDE STRUCTURE lfa1.
DATA: END OF itab_lfa1.
DATA: BEGIN OF itab_zycbt003 OCCURS 0,
nrseqc LIKE /pws/zycbt003-nrseqc,
tppror LIKE /pws/zycbt003-tppror,
dtpror LIKE /pws/zycbt003-dtpror,
nrcontr LIKE /pws/zycbt003-nrcontr.
DATA: END OF itab_zycbt003.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycbt064 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt064.
DATA: END OF itab_zycbt064.
DATA: BEGIN OF itab_zycbt031 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt031.
DATA: END OF itab_zycbt031.
* << Fim da inclusão
DATA: v_data(14) TYPE c,
v_type LIKE tcurr-kurst,
v_nrdias(4) TYPE c,
v_vlrjur LIKE /pws/zycbt005-vljur,
v_tvlvinc LIKE /pws/zycbt001-vlme,
v_tjurme LIKE /pws/zycbt005-vljur,
v_tjurbrl LIKE /pws/zycbt005-vljur,
v_moeda LIKE /pws/zycbt001-waers,
v_dtfech(10) TYPE c,
v_dtfech2(10) TYPE c,
v_titulo(70) TYPE c,
v_fat TYPE c,
v_salpgo LIKE /pws/zycbt001-vlme,
v_jurapgme LIKE /pws/zycbt005-vljur,
v_jurapgbrl LIKE /pws/zycbt005-vljur,
v_dtpror LIKE /pws/zycbt003-dtpror,
v_vlme TYPE /pws/zycbt001-vlme,
* >> Início da exclusão:
v_impr(1) TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
v_impr(1) TYPE c,
v_defator TYPE tcurr-ffact,
v_parafator TYPE tcurr-ffact.
* << Fim da inclusão
CONSTANTS: c_ctmoed VALUE 'M'.
SELECTION-SCREEN BEGIN OF BLOCK bloco1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_nrcont FOR /pws/zycbt001-nrcontr
MATCHCODE OBJECT /pws/zycba053,
s_bukrs FOR /pws/zycbt001-bukrs,
s_werks FOR /pws/zycbt001-werks,
s_gsber FOR /pws/zycbt001-gsber,
s_vkorg FOR /pws/zycet002-vkorg,
s_vtweg FOR /pws/zycet002-vtweg,
s_spara FOR /pws/zycet002-spara,
...
...
ELSE.
MESSAGE i222.
STOP.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt007
WHERE bukrs IN s_bukrs.
v_type = c_ctmoed.
SELECT SINGLE * FROM /pws/zycbt009
WHERE codpadr EQ v_type.
MOVE /pws/zycbt009-kurst TO v_type.
* >> Início da inclusão: FORM SELECIONA_DADOS
IF NOT itab_zycbt005[] IS INITIAL.
SELECT * FROM /pws/zycbt064 INTO TABLE itab_zycbt064
FOR ALL ENTRIES IN itab_zycbt005
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND nrparc = itab_zycbt005-nrparc
AND dtvencto = itab_zycbt005-dtvencto
AND gsberf = itab_zycbt005-gsberf
AND tpdesp = 'J'
AND mdcorresp = 'ED'.
IF NOT itab_zycbt064[] IS INITIAL.
SELECT * FROM /pws/zycbt031 INTO TABLE itab_zycbt031
FOR ALL ENTRIES IN itab_zycbt064
WHERE nrseq = itab_zycbt064-nrboleto.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM imprime_relatorio.
CLEAR: v_impr,
itab_erro.
REFRESH: itab_erro.
DATA: v_credext LIKE /pws/zycbt006-dtpagext.
SORT itab_zycbt001 BY nrcontr bukrs.
SORT itab_zycbt002 BY nrseqc.
SORT itab_zycbt005 BY nrseqc.
SORT itab_zycbt006 BY nrseqc.
...
...
ENDIF.
MOVE:
itab_zycbt001-nrcontr TO itab_erro-nrcontr,
itab_zycbt001-tpcontr TO itab_erro-tpcontr,
itab_zycbt001-dtcontr TO itab_erro-dtcontr,
itab_zycbt001-bukrs TO itab_erro-bukrs.
APPEND itab_erro.
ENDIF.
ENDFORM.
FORM calcula_juros.
* >> Início da exclusão: FORM CALCULA_JUROS
v_vlrjur = itab_zycbt004-vlme * itab_zycbt043-kursf.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_JUROS
v_vlrjur = ( ( itab_zycbt043-kursf / v_defator ) * v_parafator )
* itab_zycbt004-vlme.
* << Fim da inclusão
IF NOT itab_zycbt043-dtincl IS INITIAL.
v_tjurme = v_tjurme + itab_zycbt004-vlme.
v_tjurbrl = v_tjurbrl + v_vlrjur.
ENDIF.
ENDFORM.
FORM imprime_total1.
v_moeda = itab_zycbt001-waers.
ULINE (329).
SKIP.
ULINE (43).
...
...
IF itab_zycbt017-credext NE '00000000' AND
itab_zycbt001-dtcred NE '00000000'.
v_nrdias = itab_zycbt017-credext - itab_zycbt001-dtcred.
ENDIF.
READ TABLE itab_zycbt004 WITH KEY
nrseqc = itab_zycbt005-nrseqc
nrinvoic = itab_zycbt005-nrinvoic
nrparc = itab_zycbt005-nrparc
dtincl = itab_zycbt005-dtvincul.
IF sy-subrc EQ 0 AND itab_zycbt004-dtpagto <> '00000000'.
* >> Início da inclusão: FORM F_MONTA_FINAL
PERFORM busca_fator_conversao USING itab_zycbt004-vlme
itab_zycbt004-waers
/pws/zycbt007-waersb
v_type
itab_zycbt004-dtpagto
CHANGING v_defator
v_parafator.
* << Fim da inclusão
READ TABLE itab_zycbt044 WITH KEY
nrseqc = itab_zycbt005-nrseqc
dtincl = itab_zycbt005-dtvincul
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
nrparc = itab_zycbt005-nrparc
tpdesp = 'J'.
READ TABLE itab_zycbt043 WITH KEY
nrpagto = itab_zycbt044-nrpagto BINARY SEARCH.
IF sy-subrc EQ 0.
PERFORM calcula_juros.
* >> Início da inclusão: FORM F_MONTA_FINAL
ELSE.
LOOP AT itab_zycbt064 WHERE nrchave = itab_zycbt005-nrseqc
AND nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND nrparc = itab_zycbt005-nrparc
AND dtliquid = itab_zycbt006-dtpagto
AND dtvencto = itab_zycbt005-dtvencto
AND gsberf = itab_zycbt005-gsberf
AND tpdesp = 'J'
AND mdcorresp = 'ED'.
READ TABLE itab_zycbt031 WITH KEY
nrseq = itab_zycbt064-nrboleto.
IF sy-subrc = 0.
v_vlrjur = v_vlrjur +
( ( itab_zycbt031-kursf / v_defator ) *
v_parafator ) * itab_zycbt064-vlme.
i_result-kursf = itab_zycbt031-kursf.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
MOVE: itab_zycbt001-nrcontr TO i_result-nrcontr,
itab_zycbt001-tpcontr TO i_result-tpcontr,
itab_zycbt016-txtdesc TO i_result-txtdesc,
itab_zycbt001-nrseqc TO i_result-nrseqc,
itab_zycbt001-dtcontr TO i_result-dtcontr,
itab_zycbt001-bukrs TO i_result-bukrs,
itab_zycbt001-waers TO i_result-waers.
MOVE: itab_zycbt001-txcneg TO i_result-txcneg,
...
...
PERFORM converte_moeda USING itab_zycbt005-waers_c
/pws/zycbt007-waersa
itab_zycbt005-vlvinc
itab_zycbt001-dtcontr
CHANGING i_result-vlvincusd.
ENDIF.
ENDIF.
SELECT SINGLE name1 FROM kna1 INTO i_result-kunag
WHERE kunnr = itab_zycbt017-kunag.
MOVE: itab_zycbt017-vlcomis TO i_result-vlcomis,
* >> Início da exclusão: FORM F_MONTA_FINAL
itab_zycbt004-vlme TO i_result-vljrs,
* << Fim da exclusão
v_vlrjur TO i_result-vljrsbr,
v_dtpagext TO i_result-credext,
v_nrdias TO i_result-nrdias,
* >> Início da exclusão: FORM F_MONTA_FINAL
itab_zycbt043-kursf TO i_result-kursf,
* << Fim da exclusão
itab_zycbt004-dtpagto TO i_result-dtpagto.
* >> Início da inclusão: FORM F_MONTA_FINAL
CLEAR: i_result-vljrs.
LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt005-nrseqc
AND tpdesp = 'J'
AND nrparc = itab_zycbt005-nrparc
AND dtincl = itab_zycbt005-dtvincul
AND dtliquid = itab_zycbt006-dtpagto
AND nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
i_result-vljrs = i_result-vljrs + itab_zycbt004-vlme.
ENDLOOP.
IF NOT itab_zycbt043-kursf IS INITIAL.
MOVE itab_zycbt043-kursf TO i_result-kursf.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycet003 WHERE nrseq = itab_zycbt017-nrinvoic(10).
CLEAR i_result-nrre.
MOVE itab_zycet003-nrre TO i_result-nrre.
APPEND i_result.
CLEAR i_result.
ENDLOOP.
IF sy-subrc <> 0.
APPEND i_result.
CLEAR i_result.
ENDIF.
...
...
screen-name EQ '%_P_OTIM_%_APP_%-TEXT' OR
screen-name EQ '%_P_ALV_%_APP_%-TEXT'.
screen-input = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
MOVE 'X' TO p_alv.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM busca_fator_conversao USING p_vlme
p_waers_de
p_waers_para
p_categoria
p_data
CHANGING p_defator
p_parafator.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = p_vlme
i_demoeda = p_waers_de
i_paramoeda = p_waers_para
i_ctmoeda = p_categoria
i_dtbase = p_data
IMPORTING
e_defator = p_defator
e_parafator = p_parafator
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
tabela_categ_nao_configurada = 8
OTHERS = 9.
IF sy-subrc NE 0.
p_defator = p_parafator = 1.
ENDIF.
ENDFORM.
* << Fim da inclusão