Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 07/11/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 09:51:46
Descrição da Nota: COMPLEMENTO DO BOLETO
Sintoma
Caso o usuário digite outro valor MI, o sistema deverá deixar o mesmo, ou seja, ele só deve calcular
o valor MI quando o mesmo estiver vazio ou quando a taxa tiver sido alterada
Solução
Alterada função /PWS/ZYGL_TRANSACAO_FBV0_A, e includes: /PWS/MZYCA110F01, /PWS/MZYCB110F01 e
/PWS/MZYG11F01. Para que o programa permita gravar o valor MI alterado pelo usuário.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05160 Data: 07/11/2007 Hora: 10:58:25
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05160
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00020
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03703 - 00001 - 7.0 - 00001 - COMPLEMENTO DO BOLETO - ATUALIZACAO CAMPO VLMI
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPLEMENTO DO BOLETO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYGL_TRANSACAO_FBV0_A
REPS /PWS/MZYCA110F01
REPS /PWS/MZYCB110F01
REPS /PWS/MZYGL110F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_FBV0_A
FUNCTION /pws/zygl_transacao_fbv0_a.
DATA:
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_date LIKE bkpf-gjahr,
v_msgid LIKE t100-arbgb,
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A
v_dmbtr(16) TYPE c,
* << Fim da inclusão
v_msgno LIKE t100-msgnr.
LOOP AT t_dados.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-bldat
IMPORTING
v_year = v_date
EXCEPTIONS
variante_de_exercicio = 1
...
...
t_dados-newbs EQ '50'.
PERFORM bdc_screen USING 'SAPLF040' '0300'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=ENTE'.
ELSE.
IF t_dados-agkoa = 'S'.
PERFORM bdc_screen USING 'SAPLF040' '0303'.
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A
IF NOT t_dados-dmbtr IS INITIAL.
WRITE: t_dados-dmbtr TO v_dmbtr.
PERFORM bdc_field USING
'BSEG-DMBTR' v_dmbtr.
ENDIF.
* << Fim da inclusão
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
ELSEIF t_dados-agkoa EQ 'D'.
PERFORM bdc_screen USING 'SAPLF040' '0301'.
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A
IF NOT t_dados-dmbtr IS INITIAL.
WRITE: t_dados-dmbtr TO v_dmbtr.
PERFORM bdc_field USING
'BSEG-DMBTR' v_dmbtr.
ENDIF.
* << Fim da inclusão
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
ELSE.
PERFORM bdc_screen USING 'SAPLF040' '0302'.
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A
IF NOT t_dados-dmbtr IS INITIAL.
WRITE: t_dados-dmbtr TO v_dmbtr.
PERFORM bdc_field USING
'BSEG-DMBTR' v_dmbtr.
ENDIF.
* << Fim da inclusão
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU',
'BSEG-ZLSPR' t_dados-zlspr.
ENDIF.
ENDIF.
REFRESH itab_msg.
CLEAR itab_msg.
ENDLOOP.
v_transacao = 'FBV0'.
v_update = 'S'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA110F01
...
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt100 WITH KEY zexit = v_exit.
IF sy-subrc EQ 0 and not itab_zyglt100-zexit_ativa is initial.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
ENDIF.
* >> Início da inclusão: FORM EXECUTA_APROVACAO_CP
itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.
* << Fim da inclusão
APPEND itab_zycbe033.
v_belnr = p_belnr.
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110F01
...
FORM EXEC_APROV_IR_PREMIO.
PERFORM CLEAR_DATE_BATCH.
ITAB_ZYCBE033-MANDT = SY-MANDT.
ITAB_ZYCBE033-TCODE = 'FBV0'.
ITAB_ZYCBE033-TABELA = '/PWS/ZYCBT031'.
ITAB_ZYCBE033-CPOCHV = /PWS/ZYCBE031-NRSEQ.
ITAB_ZYCBE033-BELNR = /PWS/ZYCBE031-BELNR_PI.
ITAB_ZYCBE033-BUKRS = /PWS/ZYCBE031-BUKRS.
ITAB_ZYCBE033-ZLSPR = ''.
ITAB_ZYCBE033-BLDAT = /PWS/ZYCBE031-DTCREDIR.
* >> Início da inclusão: FORM EXEC_APROV_IR_PREMIO
itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.
* << Fim da inclusão
APPEND ITAB_ZYCBE033.
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'
EXPORTING
V_MODO = V_MODO_BI
TABLES
T_DADOS = ITAB_ZYCBE033
T_CAMPO = ITAB_ZYCBT034
T_ZYCBT032 = ITAB_ZYCBT032
EXCEPTIONS
CAMPO_EM_BRANCO = 1
...
...
ITAB_ZYCBT031_TC-V_VLCIDE / ( 10 ** ( TCURX-CURRDEC - 2 ) ).
V_VLMEAUX_IR =
ITAB_ZYCBT031_TC-V_VLIR / ( 10 ** ( TCURX-CURRDEC - 2 ) ).
IF ( NOT /PWS/ZYCBE031-KURSF IS INITIAL AND
ITAB_ZYCBT031_TC-V_VLMI IS INITIAL ) OR
V_TAXA_ALTER_P = 'X'.
ITAB_ZYCBT031_TC-V_VLMI =
( ( /PWS/ZYCBE031-KURSF / V_DFACT ) * V_PFACT ) *
V_VLMEAUX.
ENDIF.
* >> Início da inclusão: FORM CALCULA_VLMI
IF itab_zycbt031_tc-v_vlmi NE 0 AND
itab_zycbt031_tc-v_vlmi EQ /pws/zycbe031-vlmi.
* << Fim da inclusão
IF V_LINHA = V_TABIX.
IF V_VLMI_TOT > /PWS/ZYCBE031-VLMI.
ITAB_ZYCBT031_TC-V_VLMI = V_VLMI_TOT - /PWS/ZYCBE031-VLMI.
ELSEIF V_VLMI_TOT < /PWS/ZYCBE031-VLMI.
ITAB_ZYCBT031_TC-V_VLMI = /PWS/ZYCBE031-VLMI - V_VLMI_TOT.
* >> Início da inclusão: FORM CALCULA_VLMI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110F01
...
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CMP008'.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ELSE.
* >> Início da inclusão: FORM EXECUTA_APROVACAO
itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.
* << Fim da inclusão
APPEND itab_zycbe033.
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
...
...
IF NOT /pws/zycbe031-tipo IS INITIAL AND
/pws/zycbe031-tipo NE /pws/zycbt031-tipo.
itab_zycbt031_tc-tipo = /pws/zycbe031-tipo.
ELSE.
itab_zycbt031_tc-tipo = /pws/zycbt031-tipo.
ENDIF.
itab_zycbt031_tc-dtvencto = /pws/zycbt031-dtvencto.
itab_zycbt031_tc-lifnr = /pws/zycbt031-lifnr.
itab_zycbt031_tc-waers = /pws/zycbt031-waers.
itab_zycbt031_tc-v_vlme = v_vlme_me.
* >> Início da inclusão: FORM ALTERA_DADOS
itab_zycbt031_tc-v_vlmi = /pws/zycbe064-vlmi.
* << Fim da inclusão
itab_zycbt031_tc-v_vlir = v_vlir.
itab_zycbt031_tc-v_vlcide = v_vlcide.
itab_zycbt031_tc-nrcontr = /pws/zycbe048-nrcontr.
itab_zycbt031_tc-dtcontr = /pws/zycbe048-dtcontr.
itab_zycbt031_tc-dtdebito = /pws/zycbe048-dtdebito.
itab_zycbt031_tc-dtliquida = /pws/zycbe048-dtliquida.
itab_zycbt031_tc-dtswift = /pws/zycbe048-dtswift.
itab_zycbt031_tc-praca = /pws/zycbe048-praca.
itab_zycbt031_tc-instituicao = /pws/zycbe048-instituicao.
itab_zycbt031_tc-corret = /pws/zycbe048-corret.
...