Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 18/01/2010 00:00:00
Data/Hora Última Alteração: 18/02/2011 13:57:36
Descrição da Nota: COMPLEMENTO DO BOLETO, CAMPO DMBTR NA TELA DE CONTABILIZAÇÃO
Sintoma
Pagamento de juros contrato PT. Pelo fato da moeda da empresa ser USD e o lançamento também em USD o
BI não mostra o campo de Montante em MI (BSEG-DMBTR), porém o programa está mapeando este campo.
Solução
Tratamento para verificar se a Moeda da Empresa (T001-WAERS) é igual a Moeda do Lançamento, caso
sejam iguais, o Campo não será Mapeado.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09700 Data: 18/01/2010 Hora: 14:18:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09700
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00005
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04503 - 00001 - 7.0 - 00002 - SAÍDA DE PAGAMENTO X ORDEM DE PAGAMENTO - F-30CAMPO WERKS(CENTRO)
06200 - 00002 - 7.0 - 00005 - PROCESSAR BOLETO
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO, CAMPO DMBTR NA TELA DE CONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPLEMENTO DO BOLETO, CAMPO DMBTR, CONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYGL_TRANSACAO_F_02
REPS /PWS/LZYGLGF2F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_02
...
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-NEWBS' '40',
'RF05A-NEWKO' t_dados-d_newko,
'BDC_OKCODE' '/00'.
if not t_dados-brnch is initial.
perform bdc_field using 'BKPF-BRNCH' t_dados-brnch.
endif.
write: t_dados-d_valut to v_data_val_char,
t_dados-wrbtr to v_wrbtr currency t_dados-waers.
perform bdc_screen using 'SAPMF05A' '0300'.
* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02
if not t_dados-dmbtr is initial and
t_dados-waers ne /pws/zycbt007-waersb.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
if not t_dados-dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
write : t_dados-dmbtr to v_dmbtr currency t_dados-waersb.
perform bdc_field using:
'BSEG-DMBTR' v_dmbtr.
endif.
perform bdc_field using:
'BSEG-WRBTR' v_wrbtr.
read table itab_oculto with key campo = 'BSEG-ZFBDT' chave = 'D'.
if sy-subrc <> 0.
if not v_data_venc_char is initial.
perform bdc_field using 'BSEG-ZFBDT' v_data_venc_char.
...
...
clear v_emprsa.
call customer-function '001'
importing
v_processa = v_emprsa. "#EC *
if v_emprsa = 'X'.
perform bdc_screen using 'SAPLKEAK' v_tela.
perform bdc_field using 'BDC_OKCODE' 'WEIT'.
endif.
write: t_dados-c_valut to v_data_val_char.
perform bdc_screen using 'SAPMF05A' v_tela.
* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02
if not t_dados-dmbtr is initial and
t_dados-waers ne /pws/zycbt007-waersb.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'C'.
if not t_dados-dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
write : t_dados-dmbtr to v_dmbtr currency t_dados-waersb.
perform bdc_field using:
'BSEG-DMBTR' v_dmbtr.
endif.
perform bdc_field using:
'BSEG-WRBTR' '*'.
perform bdc_field using:
'BSEG-ZTERM' t_dados-zterm.
if t_dados-agkoa <> 'D' and t_dados-agkoa <> 'K'.
if not t_dados-c_valut is initial.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYGLGF2F01
...
others = 2.
else.
clear p_string.
endif.
endform.
form trata_string_debito tables p_t_dados structure /pws/zycbe033
p_t_campo structure /pws/zycbt034
p_itab_oculto like itab_oculto[]
using value(p_string).
data:
* >> Início da exclusão: FORM TRATA_STRING_DEBITO
v_string(50) type c.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_STRING_DEBITO
v_string(50) type c,
v_component(2) type c,
v_bupla type i,
v_secco type i.
* << Fim da inclusão
move p_string to v_string.
if v_string+6(1) = '+'.
if p_t_dados-zterm = space.
clear p_t_campo.
read table p_t_campo with key campo = 'BSEG-ZTERM'.
if sy-subrc <> 0.
p_t_campo-mandt = p_t_dados-mandt.
p_t_campo-campo = 'BSEG-ZTERM'.
p_t_campo-descricao = text-032.
append p_t_campo.
...
...
move p_t_campo-conteudo to p_t_dados-werks.
modify p_t_dados transporting werks.
delete p_t_campo index sy-tabix.
clear p_t_campo.
endif.
endif.
endif.
elseif v_string+25(1) = '-'.
p_itab_oculto-campo = 'COBL-WERKS'.
p_itab_oculto-chave = 'D'.
* >> Início da inclusão: FORM TRATA_STRING_DEBITO
append p_itab_oculto.
endif.
select single waers bukrs
from t001
into (t001-waers, t001-bukrs)
where bukrs = p_t_dados-bukrs.
if sy-subrc eq 0.
if t001-waers eq p_t_dados-waers.
p_itab_oculto-campo = 'BSEG-DMBTR'.
p_itab_oculto-chave = 'D'.
append p_itab_oculto.
p_itab_oculto-campo = 'BSEG-DMBTR'.
p_itab_oculto-chave = 'C'.
append p_itab_oculto.
endif.
endif.
call function 'J_1BSA_COMPONENT_ACTIVE'
exporting
bukrs = t001-bukrs
component = '**'
importing
active_component = v_component
exceptions
component_not_active = 01.
if sy-subrc eq 0.
v_bupla = 0.
case v_component.
when 'BR' or 'KR'.
v_secco = 0.
when 'TH'.
if screen-name eq 'BSEG-SECCO'.
v_secco = 4.
endif.
when 'IN'.
if screen-name eq 'BSEG-SECCO'.
v_secco = 4.
endif.
when others.
v_bupla = 4.
v_secco = 4.
endcase.
else.
v_bupla = 4.
v_secco = 4.
endif.
if v_bupla = 4.
p_itab_oculto-campo = 'BSEG-BUPLA'.
p_itab_oculto-chave = 'D'.
append p_itab_oculto.
p_itab_oculto-campo = 'BSEG-BUPLA'.
p_itab_oculto-chave = 'C'.
append p_itab_oculto.
endif.
if v_secco = 4.
p_itab_oculto-campo = 'BSEG-SECCO'.
p_itab_oculto-chave = 'D'.
append p_itab_oculto.
p_itab_oculto-campo = 'BSEG-SECCO'.
p_itab_oculto-chave = 'C'.
* << Fim da inclusão
append p_itab_oculto.
endif.
endform.
form trata_string_debito2 tables p_t_dados structure /pws/zycbe033
p_t_campo structure /pws/zycbt034
p_itab_oculto like itab_oculto2[]
using value(p_string)
value(p_conta).
data:
v_string(50) type c.
...