Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Valores Mantidos no Exterior
Data/Hora da Publicação: 29/12/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:49:20
Descrição da Nota: VALORES MANTIDOS NO EXTERIOR-SALDO DISPONIBILIDADE-VINCULAÇÃO SEM LIQUID
Sintoma
Ao criar mais de uma ordem(VME) para uma mesma fatura, e apenas vincular parte desta fatura sem
liquidar, ao tentar fazer a disponibilidade, esta consistindo incorretamente o saldo da mesma, não
considerando o valor total da fatura, apenas o valor da ordem subtraído do valor vinculado.
Solução
Na consistência do saldo a disponibilizar, somar todas as ordens para a mesma fatura existentes na
tabela /pws/zycbt226, campo sld_exterior, e, desta soma, subtrair o valor já vinculado e não
liquidado, para consistir o saldo corretamente.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09642 Data: 29/12/2009 Hora: 13:49:10
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09642
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00002
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05482 - 00001 - 7.0 - 00003 - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO
05967 - 00002 - 7.0 - 00004 - VALORES MANTIDOS NO EXTERIOR - EXIT VME001
06218 - 00003 - 7.0 - 00005 - VALORES MANTIDOS NO EXTERIOR - DISPONIBILIDADE NO EXTERIOR
07117 - 00004 - 7.0 - 00006 - BOTÕES "VINCULAR TOTAL" E "SELECIONAR FATURAS" - VME
07188 - 00005 - 7.0 - 00006 - VALORES MANTIDOS NO EXTERIOR - SALDO DISPONIBILIDADE - VLSLF NEGA
----------------------------------------------------------------------------------------------------
VALORES MANTIDOS NO EXTERIOR-SALDO DISPONIBILIDADE-VINCULAÇÃO SEM LIQUID
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALORES MANTIDOS NO EXTERIOR SALDO DISPONIBILIDADE INCORRETO
VINCULAÇÃO SEM LIQUID PARA MAIS DE UMA ORDEM PARA A MESMA FATURA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB034I01
REPS /PWS/MZYCB034TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034I01
...
MODULE guarda_ts_atual INPUT.
wa_controle-ts_atual = ts_principal-activetab.
ENDMODULE.
MODULE verifica_campos INPUT.
DATA:
wa_disp LIKE LINE OF itab_disp_30,
v_sldext TYPE /pws/zycbe226-sld_exterior,
v_valor_vinculado TYPE /pws/zycbe005-vlme_p,
v_saldoreal_disp TYPE /pws/zycbe226-sld_exterior,
v_saldoreal_disp2(20) TYPE c.
* >> Início da inclusão: MODULE VERIFICA_CAMPOS
data: v_sld_exterior type /pws/zycbe226-sld_exterior.
* << Fim da inclusão
CLEAR:
wa_contrato,
v_sldext.
CASE sy-dynnr.
WHEN '0120'.
LOOP AT itab_disp_00 INTO wa_disp
WHERE nrseq = /pws/zycbe238-nrseq
AND operacao NE space.
READ TABLE itab_disp_ant
WITH KEY nrseq = wa_disp-nrseq
...
...
nrinvoic = /pws/zycbe226-nrinvoic
nrparcf = /pws/zycbe226-nrparcf
gsberf = /pws/zycbe226-gsberf.
IF sy-subrc NE 0.
LOOP AT itab_zycbt005 WHERE nrinvoic = /pws/zycbe226-nrinvoic
AND nrparcf = /pws/zycbe226-nrparcf
AND gsberf = /pws/zycbe226-gsberf.
v_valor_vinculado = v_valor_vinculado +
itab_zycbt005-vlme_p.
ENDLOOP.
* >> Início da exclusão: MODULE VERIFICA_CAMPOS
v_saldoreal_disp = /pws/zycbe226-sld_exterior -
v_valor_vinculado.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_CAMPOS
if itab_zycbt226_all[] is initial or
sy-tcode = '/PWS/ZYCB034_C' or
sy-tcode = '/PWS/ZYCB034_SML_C'.
select * from /pws/zycbt226 into table itab_zycbt226_all[]
for all entries in itab_zycbt226
where nrinvoic = itab_zycbt226-nrinvoic
and nrparcf = itab_zycbt226-nrparcf
and gsberf = itab_zycbt226-gsberf.
endif.
clear v_sld_exterior.
loop at itab_zycbt226_all
where nrinvoic = /pws/zycbe226-nrinvoic
and nrparcf = /pws/zycbe226-nrparcf
and gsberf = /pws/zycbe226-gsberf.
v_sld_exterior = v_sld_exterior +
itab_zycbt226_all-sld_exterior.
endloop.
v_saldoreal_disp = v_sld_exterior - v_valor_vinculado.
* << Fim da inclusão
IF /pws/zycbe238-vldisp GT v_saldoreal_disp OR
v_sldext GT v_saldoreal_disp.
WRITE v_saldoreal_disp TO v_saldoreal_disp2
CURRENCY /pws/zycbe226-waers.
CONDENSE v_saldoreal_disp2.
MESSAGE e061 WITH text-045 v_saldoreal_disp2
text-046 text-047.
ENDIF.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034TOP
...
data: v_fsaldo type c,
end of itab_zycbt017_aux.
data: begin of itab_zycbt226_aux occurs 0.
include structure /pws/zycbe226.
data : mark(1) type c,
operacao(1) type c,
bloqueado(1) type c,
acesso_emp(1) type c,
drilldown(1) type c.
data: end of itab_zycbt226_aux .
* >> Início da inclusão:
data: begin of itab_zycbt226_all occurs 0.
include structure /pws/zycbt226.
data: end of itab_zycbt226_all.
* << Fim da inclusão
include /pws/mzycb034x01.
selection-screen begin of screen 0001.
selection-screen begin of block a with frame title text-011.
select-options: s_bukrs for /pws/zycbe226-bukrs,
s_nrseq for /pws/zycbe226-nrseq
matchcode object /PWS/ZYCBA297,
s_invoic for /pws/zycbe226-nrinvoic,
s_gsber for /pws/zycbe226-gsberf,
s_nrparc for /pws/zycbe226-nrparcf,
s_kunag for /pws/zycbe017-kunag,
...