Módulo: CÂMBIO FINANCEIRO
Funcionalidade: SISCOSERV
Data/Hora da Publicação: 19/11/2013 08:44:13
Data/Hora Última Alteração: 19/11/2013 08:44:13
Descrição da Nota: SISCOSERV - ASSOCIAÇÃO RAS BUSCAR PAGAMENTO DAS FATURAS PELO INCOTERM
Sintoma
O programa estava consistitndo incorretamente o tipo de fatura
Solução
O programa foi ajustado para considerar o incoterm juntamente com o tipo de origem da RAS/RVS
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13314 Data: 10/10/2013 Hora: 15:29:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13314
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00165
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
13310 - 00001 - 9.0 - 00006 - SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPR
----------------------------------------------------------------------------------------------------
SISCOSERV - ASSOCIAÇÃO RAS BUSCAR PAGAMENTO DAS FATURAS PELO INCOTERM
----------------------------------------------------------------------------------------------------
Palavras Chave:
SISCOSERV - ASSOCIAÇÃO BUSCAR PAGAMENTO DAS FATURAS PELO INCOTERM
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA012F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA012F01
...
DATA: v_nrseq TYPE /pws/zycbt031-nrseq,
v_bcoccme TYPE /pws/zycbt134-bco_ccme,
v_nrseqpgfat TYPE /pws/zycbt108-nrseq_pgfat,
v_nrseqce TYPE /pws/zycit094-nrseqce,
v_tpfatura TYPE /pws/zycit006-tpfatura.
SELECT SINGLE nrseqce
FROM /pws/zycit094
INTO v_nrseqce
WHERE nrseq = p_wa_zycat039-fat_imp.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM VALIDA_FATIMP
SELECT SINGLE tpfatura lifnr nrseq_pgfat
FROM /pws/zycit006
INTO (v_tpfatura, p_bukext, v_nrseqpgfat)
WHERE nrseqce = v_nrseqce.
IF ( sy-subrc EQ 0 AND
v_tpfatura NE '02' AND
v_tpfatura NE '03' AND
v_tpfatura NE '01' ) OR
sy-subrc NE 0.
MESSAGE i015 WITH text-i14.
CLEAR p_pago.
EXIT.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VALIDA_FATIMP
perform valida_tipo_fatura
using p_wa_zycat039-fat_imp
v_nrseqce
changing v_tpfatura p_bukext v_nrseqpgfat p_pago.
* << Fim da inclusão
ELSE.
MESSAGE i015 WITH text-i14.
CLEAR p_pago.
EXIT.
ENDIF.
SELECT SINGLE bukrs waers vlme nrfat dtpagto
FROM /pws/zycbt119
INTO (p_bukrs, p_wa_zycat039-moeda, p_wa_zycat039-valor,
p_wa_zycat039-num_nf, p_wa_zycat039-dt_pg_rec)
WHERE nrseq = v_nrseqpgfat.
IF sy-subrc NE 0 OR p_wa_zycat039-dt_pg_rec IS INITIAL.
MESSAGE i061 WITH text-i13 p_wa_zycat039-fat_imp text-i09.
CLEAR p_pago.
EXIT.
ENDIF.
* >> Início da inclusão: FORM VALIDA_FATIMP
p_wa_zycat039-valor = /pws/zycat031-saldo.
* << Fim da inclusão
SELECT SINGLE nrseq
FROM /pws/zycbt031
INTO v_nrseq
WHERE mdcorresp = 'IP'
AND nrcorresp = v_nrseqpgfat.
IF sy-subrc EQ 0.
SELECT SINGLE bco_ccme
FROM /pws/zycbt134
INTO v_bcoccme
WHERE nrseq = v_nrseq.
...
...
wa_total-augdt TO wa_zycat039o-dt_pg_rec,
wa_total-waers TO wa_zycat039o-moeda,
wa_total-wrbtr TO wa_zycat039o-valor.
APPEND wa_zycat039o TO itab_zycat039_o.
CLEAR wa_zycat039o.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form valida_tipo_fatura
using p_fat_imp
p_nrseqce
changing p_tpfatura type /pws/zycit006-tpfatura
p_bukext type /pws/zycat030-bukrs_ext
p_nrseqpgfat type /pws/zycit094-nrseqce
p_pago.
data: v_inco1 type /pws/zycit001-inco1,
v_inco1_ci type /pws/zycit031-inco1_ci.
select single inco1
from /pws/zycit001
into v_inco1
where nrseq = p_fat_imp.
select single inco1_ci
from /pws/zycit031
into v_inco1_ci
where inco1 = v_inco1
and land1 = 'BR'.
if /pws/zycat030-tp_origem = 'EI'.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '01'
and eliminado = ' '.
if sy-subrc ne 0.
message i015 with text-i14.
clear p_pago.
exit.
endif.
elseif /pws/zycat030-tp_origem = 'FI'.
if v_inco1_ci = 'FOB' or
v_inco1_ci = 'C+I'.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '02'
and eliminado = ' '.
if sy-subrc ne 0.
message i015 with text-i14.
clear p_pago.
exit.
endif.
else.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '02'
and eliminado = ' '.
if sy-subrc ne 0.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '01'
and eliminado = ' '.
if sy-subrc ne 0.
message i015 with text-i14.
clear p_pago.
exit.
endif.
endif.
endif.
elseif /pws/zycat030-tp_origem = 'SI'.
if v_inco1_ci = 'FOB' or
v_inco1_ci = 'C&F'.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '03'
and eliminado = ' '.
if sy-subrc ne 0.
message i015 with text-i14.
clear p_pago.
exit.
endif.
else.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '03'
and eliminado = ' '.
if sy-subrc ne 0.
select single tpfatura lifnr nrseq_pgfat
from /pws/zycit006
into (p_tpfatura, p_bukext, p_nrseqpgfat)
where nrseqce = p_nrseqce
and tpfatura = '01'
and eliminado = ' '.
if sy-subrc ne 0.
message i015 with text-i14.
clear p_pago.
exit.
endif.
endif.
endif.
endif.
endform.
* << Fim da inclusão