Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Valores Mantidos no Exterior
Data/Hora da Publicação: 08/01/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:48:40
Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - ESTORNO - SÓ FAZ F-02, NÃO FAZ F-30
Sintoma
Ao efetuar o estorno de um valores mantidos no exterior, esta parando na F-02, não finalizando o
processo, deixando de atualizar os dados das tabelas.
Solução
Considerar no tratamento do documento da fatura os campo /pws/zycbt030-belnr ou /pws/zycbt030-
belnr_t, para que prossiga o estorno corretamente, independente do parâmetro de taxa da
/pws/zygl007.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05581 Data: 08/01/2008 Hora: 13:08:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05581
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00029
----------------------------------------------------------------------------------------------------
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
----------------------------------------------------------------------------------------------------
VALORES MANTIDOS NO EXTERIOR - ESTORNO - SÓ FAZ F-02, NÃO FAZ F-30
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALORES MANTIDOS NO EXTERIOR ESTORNO SÓ FAZ F-02 NÃO FAZ F-30
/PWS/ZYCBT030-BELNR_T
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB034F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034F01
...
v_dt_taxa = <fs_op>-dtcredext.
WHEN c_txfat.
READ TABLE itab_zycet001 INTO wa_zycet001
WITH KEY nrseq = <fs_op>-nrinvoic.
IF sy-subrc = 0.
READ TABLE itab_zycbt030 INTO wa_zycbt030
WITH KEY nrinvoic = <fs_op>-nrinvoic
gsberf = <fs_op>-gsberf
nrparcf = <fs_op>-nrparcf.
IF sy-subrc = 0.
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
CHECK NOT wa_zycet001-dtemb IS INITIAL AND
NOT wa_zycbt030-belnr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
CHECK ( NOT wa_zycbt030-belnr IS INITIAL OR
NOT wa_zycbt030-belnr_t IS INITIAL OR
NOT wa_zycbt030-belnr6 IS INITIAL ) AND
NOT wa_zycbt030-gjahr IS INITIAL.
* << Fim da inclusão
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
gjahr = wa_zycet001-dtemb(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
gjahr = wa_zycbt030-gjahr(4).
IF sy-subrc NE 0.
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr6
gjahr = wa_zycbt030-gjahr(4).
IF sy-subrc NE 0.
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr_t
gjahr = wa_zycbt030-gjahr(4).
ENDIF.
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
p_kursf = wa_bkpf-kursf.
ENDIF.
ENDIF.
ENDIF.
WHEN c_viatrans.
READ TABLE itab_zycet001 INTO wa_zycet001
WITH KEY nrseq = p_nrinvoic.
IF sy-subrc = 0.
READ TABLE itab_zycit054 INTO wa_zycit054
...
...
ENDIF.
WHEN c_txfat.
READ TABLE itab_zycet001 INTO wa_zycet001
WITH KEY nrseq = <fs_op>-nrinvoic.
IF sy-subrc = 0.
READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY
nrinvoic = <fs_op>-nrinvoic
gsberf = <fs_op>-gsberf
nrparcf = <fs_op>-nrparcf.
IF sy-subrc = 0.
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
IF NOT wa_zycbt030-belnr IS INITIAL AND
NOT wa_zycet001-dtemb IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
IF ( NOT wa_zycbt030-belnr IS INITIAL OR
NOT wa_zycbt030-belnr_t IS INITIAL OR
NOT wa_zycbt030-belnr6 IS INITIAL ) AND
NOT wa_zycbt030-gjahr IS INITIAL.
* << Fim da inclusão
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
gjahr = wa_zycet001-dtemb(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
gjahr = wa_zycbt030-gjahr(4).
IF sy-subrc NE 0.
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr6
gjahr = wa_zycbt030-gjahr(4).
IF sy-subrc NE 0.
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
belnr = wa_zycbt030-belnr_t
gjahr = wa_zycbt030-gjahr(4).
ENDIF.
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
p_kursf = wa_bkpf-kursf.
CLEAR v_dt_taxa.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN c_viatrans OR
c_dtcontr.
READ TABLE itab_zycet001
...
...
nrparcf EQ itab_zycbt017-nrparcf.
IF NOT itab_zycbt030[] IS INITIAL.
LOOP AT itab_zycbt030 INTO wa_zycbt030.
READ TABLE itab_zycbt017 INTO wa_zycbt017
WITH KEY nrinvoic = wa_zycbt030-nrinvoic
gsberf = wa_zycbt030-gsberf
nrparcf = wa_zycbt030-nrparcf.
IF sy-subrc = 0.
wa_zycbt030-bukrs = wa_zycbt017-bukrs.
ENDIF.
* >> Início da exclusão: FORM SELECIONA_DADOS
IF NOT wa_zycbt030-budat_t IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
IF NOT wa_zycbt030-budat IS INITIAL.
wa_zycbt030-gjahr = wa_zycbt030-budat(4).
ELSEIF NOT wa_zycbt030-budat_t IS INITIAL.
* << Fim da inclusão
wa_zycbt030-gjahr = wa_zycbt030-budat_t(4).
ELSE.
* >> Início da exclusão: FORM SELECIONA_DADOS
wa_zycbt030-gjahr = wa_zycbt030-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
wa_zycbt030-gjahr = wa_zycbt030-dtbelnr(4).
* << Fim da inclusão
ENDIF.
MODIFY itab_zycbt030 FROM wa_zycbt030
TRANSPORTING bukrs gjahr
WHERE nrinvoic EQ wa_zycbt030-nrinvoic
AND gsberf EQ wa_zycbt030-gsberf
AND nrparcf EQ wa_zycbt030-nrparcf.
ENDLOOP.
SELECT *
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE itab_bkpf
FOR ALL ENTRIES IN itab_zycbt030
* >> Início da exclusão: FORM SELECIONA_DADOS
WHERE belnr = itab_zycbt030-belnr
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
WHERE ( belnr = itab_zycbt030-belnr OR
belnr = itab_zycbt030-belnr_t OR
belnr = itab_zycbt030-belnr6 )
* << Fim da inclusão
AND bukrs = itab_zycbt030-bukrs
AND gjahr = itab_zycbt030-gjahr.
ENDIF.
SELECT *
FROM /pws/zycbt209
INTO TABLE itab_zycbt209
FOR ALL ENTRIES IN itab_zycbt017
WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
...