Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 02/03/2010 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:01:38
Descrição da Nota: COMPLEMENTO DO BOLETO - UTILIZAÇÃO DE MOEDAS INTERNAS SEM CASAS DECIMAIS
Sintoma
Algumas moedas internas que não possuem casas decimais estão com problema no complemento do boleto.
Solução
Tratamento dos campos para trabalho com moedas internas sem casas decimais.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09893 Data: 02/03/2010 Hora: 16:26:19
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09893
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00011
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01231 - 00017 - 6.0 - 00023 - REMESSA - IMPOSTOS NOVOS
01709 - 00016 - 6.0 - 00024 - COMPLEMENTO DO BOLETO - BARRA DE ROLAGEM - DADOS PROCESSO
02872 - 00015 - 6.0 - 00026 - REMESSA FINANCEIRA - COMPLEMENTO DO BOLETO - SAÍDA DE PAGAMENTO -
03471 - 00014 - 7.0 - 00001 - COMP.BOLETO- AO SAIR E SELECIONAR OUTRO BOLETO OS DADOS ESTÃO INC
03889 - 00013 - 7.0 - 00001 - COMPLEMENTO DO BOLETO - INCLUSÃO DE NÚMERO DA COTAÇÃO EM TELA
03984 - 00012 - 7.0 - 00001 - COTAÇÃO DE MOEDAS - DESENVOLVIMENTO ADICIONAL
04094 - 00011 - 7.0 - 00002 - COMPLEMENTO DO BOLETO - BUSCA AUTOMATICA DA TAXA PELA OB08
04252 - 00010 - 7.0 - 00002 - COMPLEMENTO DO BOLETO - AJUSTE EXIT BOTÕES ESPECÍFICOS
04594 - 00009 - 7.0 - 00002 - COTAÇÃO MOEDA - MODIFICAR/EXCLUIR
06118 - 00008 - 7.0 - 00004 - CB - 445631 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA.
06497 - 00007 - 7.0 - 00005 - REL. COMISSÃO DE AGENTE - BOLETO NA COMISSÃO DE AGENTE
06677 - 00006 - 7.0 - 00005 - COMPLEMENTO DO BOLETO - EXIT CBI008
06903 - 00005 - 7.0 - 00006 - FORMA DE PAGAMENTO NO COMPLEMENTO DE BOLETO
08896 - 00004 - 7.0 - 00010 - COMPLEMENTO DO BOLETO - ARMAZENAMENTO DE MENSAGENS
09331 - 00003 - 8.0 - 00001 - COMPLEMENTO DO BOLETO - REMESSA - APÓS ENTER EXIBE CAMPOS COM AST
09344 - 00002 - 8.0 - 00001 - COMPLEMENTO DO BOLETO - CAMPO EMPRESA PAGAMENTO
09781 - 00001 - 8.0 - 00002 - COMPLEMENTO DO BOLETO - DATA REPATRIAÇÃO DE ANO ANTERIOR CAMPO CH
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO - UTILIZAÇÃO DE MOEDAS INTERNAS SEM CASAS DECIMAIS
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPLEMENTO DO BOLETO - UTILIZAÇÃO DE MOEDAS INTERNAS SEM CASAS DECIMAIS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB110F01
REPS /PWS/MZYCB110I01
REPS /PWS/MZYCB110O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110F01
...
itab_zycbt031_tc-belnr_p = itab_zycet033-docfat.
perform carrega_dados_globais.
append itab_zycbt031_tc.
endif.
endloop.
endform.
form calcula_vlmi.
data: v_vlmeaux_ir like /pws/zycbt031-vlme,
v_vlmeaux_cide like /pws/zycbt031-vlme.
data: v_tabix type sy-tabix.
* >> Início da inclusão: FORM CALCULA_VLMI
if v_taxa_alter_i ne 'X'.
select single * from tcurx into wa_tcurx
where currkey = wa_zycbt007-waersb.
if sy-subrc <> 0.
wa_tcurx-currdec = 2.
endif.
if wa_tcurx-currdec = 0.
/pws/zycbe031-vlmi = /pws/zycbe031-vlmi /
( 10 ** ( wa_tcurx-currdec - 2 ) ).
/pws/zycbe031-vlmiir = /pws/zycbe031-vlmiir /
( 10 ** ( wa_tcurx-currdec - 2 ) ).
/pws/zycbe031-vlmicide = /pws/zycbe031-vlmicide /
( 10 ** ( wa_tcurx-currdec - 2 ) ).
endif.
endif.
* << Fim da inclusão
describe table itab_zycbt031_tc lines v_linha.
loop at itab_zycbt031_tc.
v_tabix = sy-tabix.
if v_tabix = 1.
clear: v_vlmi_tot,
v_vlmiir_tot.
endif.
select single * from /pws/zycbt007
where bukrs = /pws/zycbe031-bukrs.
if not /pws/zycbt007-waersb is initial.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110I01
...
where land1 = t001-land1
and zlsch = /pws/zycbe145-zlschc.
if sy-subrc ne 0 and not /pws/zycbe145-zlschc is initial.
message e061 with text-211 /pws/zycbe145-zlschc text-212.
endif.
endmodule.
module calcula_vlmi input.
perform calcula_vlmi.
endmodule.
module carrega_dados_tc input.
* >> Início da inclusão: MODULE CARREGA_DADOS_TC
select single * from tcurx into wa_tcurx
where currkey = wa_zycbt007-waersb.
if sy-subrc <> 0.
wa_tcurx-currdec = 2.
endif.
if wa_tcurx-currdec = 0.
itab_dados_tc_tela-vlmi = itab_dados_tc_tela-vlmi /
( 10 ** ( wa_tcurx-currdec - 2 ) ).
endif.
* << Fim da inclusão
move-corresponding itab_dados_tc_tela to itab_dados_tc.
modify itab_dados_tc index tc_dados-current_line.
endmodule.
module consiste_valores_dados_tc input.
if v_dfact = 0.
v_dfact = 1.
endif.
if v_pfact = 0.
v_pfact = 1.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110O01
MODULE status_0200 OUTPUT.
PERFORM exibe_altera.
ENDMODULE.
MODULE set_screen OUTPUT.
PERFORM desabilitar.
ENDMODULE.
MODULE status_0001 OUTPUT.
* >> Início da exclusão: MODULE STATUS_0001
GET PARAMETER ID c_origem FIELD v_prog_origem."#EC *
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0001
get parameter id c_origem field v_prog_origem. "#EC *
* << Fim da inclusão
SET PF-STATUS '001'.
IF sy-tcode = '/PWS/ZYCB110_E'.
SET TITLEBAR '001E'.
ELSE.
SET TITLEBAR '001'.
ENDIF.
PERFORM limpa_estrutura.
IF v_init IS INITIAL.
v_import = 'X'.
v_cambio = 'X'.
...
...
IF /pws/zycbe145-nrseq IS INITIAL.
/pws/zycbe145-nrseq = /pws/zycbe031-nrseq.
ENDIF.
IF /pws/zycbe145 IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt145 INTO /pws/zycbe145
WHERE nrseq = /pws/zycbe031-nrseq.
ENDIF.
IF itab_zycbt064[] IS INITIAL.
SELECT * FROM /pws/zycbt064
INTO TABLE itab_zycbt064
* >> Início da exclusão: MODULE CARREGA_DADOS
WHERE nrboleto = /pws/zycbe031-nrseq."#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_DADOS
where nrboleto = /pws/zycbe031-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
PERFORM seleciona_dados_gerais.
ENDIF.
IF itab_zycbt031_tc[] IS INITIAL.
PERFORM carrega_dados.
itab_zycbt031_tc1[] = itab_zycbt031_tc[].
ELSEIF NOT itab_zycbt031_tc[] IS INITIAL AND
itab_zycbt031_tc1[] IS INITIAL.
itab_zycbt031_tc1[] = itab_zycbt031_tc[].
ENDIF.
* >> Início da inclusão: MODULE CARREGA_DADOS
select single * from tcurx into wa_tcurx
where currkey = wa_zycbt007-waersb.
if sy-subrc <> 0.
wa_tcurx-currdec = 2.
endif.
if wa_tcurx-currdec = 0.
/pws/zycbe031-vlmi = /pws/zycbe031-vlmi *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
/pws/zycbe031-vlmiir = /pws/zycbe031-vlmiir *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
/pws/zycbe031-vlmicide = /pws/zycbe031-vlmicide *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
endif.
* << Fim da inclusão
ENDMODULE.
MODULE status_0102 OUTPUT.
SET TITLEBAR '0102'.
SET SCREEN '0102'.
SET PF-STATUS '0102'.
ENDMODULE.
MODULE status_0003 OUTPUT.
SET PF-STATUS '0003'.
SET TITLEBAR '0003'.
ENDMODULE.
...
...
MODIFY tc_dados-cols FROM wa_cols.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT tc_dados-cols INTO wa_cols.
wa_cols-screen-input = '0'.
MODIFY tc_dados-cols FROM wa_cols.
ENDLOOP.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt236 INTO /pws/zycbe236
* >> Início da exclusão: MODULE SET_SCREEN_101
WHERE nrboleto = /pws/zycbe031-nrseq."#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_101
where nrboleto = /pws/zycbe031-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
IF sy-subrc EQ 0.
IF v_prog_origem NE c_prog_cotacao.
LOOP AT tc_dados-cols INTO wa_cols.
wa_cols-screen-input = '0'.
MODIFY tc_dados-cols FROM wa_cols.
ENDLOOP.
ENDIF.
ENDIF.
ENDMODULE.
MODULE insere_dados_tc OUTPUT.
MOVE-CORRESPONDING itab_dados_tc TO itab_dados_tc_tela.
* >> Início da inclusão: MODULE INSERE_DADOS_TC
select single * from tcurx into wa_tcurx
where currkey = wa_zycbt007-waersb.
if sy-subrc <> 0.
wa_tcurx-currdec = 2.
endif.
if wa_tcurx-currdec = 0.
itab_dados_tc_tela-vlmi = itab_dados_tc_tela-vlmi *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
endif.
* << Fim da inclusão
tc_dados-lines = tc_dados-lines + 7.
IF v_status_s = 1.
LOOP AT SCREEN.
IF itab_dados_tc_tela-tpimp = 'PRINCIPAL' AND
screen-name = 'ITAB_DADOS_TC_TELA-VLDED'.
screen-input = '0'.
ELSEIF itab_dados_tc_tela-tpimp(4) NE 'IRRF' AND
itab_dados_tc_tela-tpimp(4) NE 'CIDE' AND
screen-name = 'ITAB_DADOS_TC_TELA-PAGTOIRRF'.
screen-input = '0'.
...