Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 16/01/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:58:14
Descrição da Nota: VINCULAÇÃO - CHAVE DE REFERENCIA INCORRETA - DATA DO DOCUMENTO INCORRETA
Sintoma
Ao efetuar uma vinculação em um ano diferente da captação e da fatura, aparece a mensagem de que o
documento esta compensado(e não esta) e lança chave de referência incorreta no desmembramento do
Acc.
Solução
Aplicar notas precedentes para atualizar o campo /PWS/ZYCBT001-DTVINCUL.
Aplicar código desta nota que confere se o campo /PWS/ZYCBT074-DTCONT é o último, ou seja, do último
documento gerado, assim busca a chave de referência corretamente.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07919 Data: 16/01/2009 Hora: 13:36:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07919
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00081
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01690 - 00002 - 6.0 - 00024 - VINCULAÇÃO CONTRATO DE PRÉ-PAGAMENTO - DATA LANÇAMENTO DIFERENTE
01730 - 00001 - 6.0 - 00024 - VINCULAÇÃO DATA DO DOCUMENTO CONTÁBIL
05930 - 00003 - 7.0 - 00004 - VINCULAÇÃO LIQUIDAÇÃO - ESTORNO EM PERÍODO FECHADO
06166 - 00004 - 7.0 - 00004 - VINCULAÇÃO - GRAVAR DATA VINCULAÇÃO NA TABELA /PWS/ZYCBT001 - DTV
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - CHAVE DE REFERENCIA INCORRETA - DATA DO DOCUMENTO INCORRETA
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO CHAVE DE REFERENCIA INCORRETA DATA DO DOCUMENTO INCORRETA
/PWS/ZYCBT074-DTCONT /PWS/ZYCBT001-DTVINCUL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F07
REPS /PWS/MZYCB009F08
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F07
...
v_data = /pws/zycbe001-dtdesem.
WHEN OTHERS.
v_data = /pws/zycbe001-dtcred.
ENDCASE.
itab_zycbe033-belnr = /pws/zycbe001-belnr.
itab_zycbe033-dtdocto = v_data.
ELSE.
itab_zycbe033-belnr = /pws/zycbe001-belnr2.
SELECT SINGLE * FROM /pws/zycbt074
WHERE nrseqc = /pws/zycbe001-nrseqc.
* >> Início da exclusão: FORM DESMEMBRA_ACE_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_ACE_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL
and /pws/zycbt074-dtcont > itab_zycbt005-dtvincul.
* << Fim da inclusão
itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.
ELSE.
itab_zycbe033-dtdocto = itab_zycbt005-dtvincul.
ENDIF.
ENDIF.
ELSE.
itab_zycbe033-belnr = itab_zycbt005-belnr.
itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
ENDIF.
itab_zycbt036-tcode = 'F-30'.
...
...
WHEN 'O'.
v_data = /pws/zycbe001-dtcontr.
WHEN 'D'.
v_data = /pws/zycbe001-dtdesem.
WHEN OTHERS.
v_data = /pws/zycbe001-dtcred.
ENDCASE.
v_belnr_cap = /pws/zycbe001-belnr.
ELSE.
v_belnr_cap = /pws/zycbe001-belnr2.
* >> Início da exclusão: FORM CLEARING_030_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_030_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL
and /pws/zycbt074-dtcont > itab_zycbe033-dtdocto.
* << Fim da inclusão
itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.
ENDIF.
ENDIF.
ELSE.
v_belnr_cap = wa_zycbt005-belnr.
ENDIF.
ENDIF.
LOOP AT itab_zycbt030 WHERE nrinvoic = wa_zycbt005-nrinvoic AND
gsberf = wa_zycbt005-gsberf AND
nrparcf = wa_zycbt005-nrparcf.
...
...
READ TABLE itab_zycbt017
WITH KEY nrinvoic = wa_zycbt005-nrinvoic
gsberf = wa_zycbt005-gsberf
nrparcf = wa_zycbt005-nrparcf.
itab_partidas-agkon = itab_zycbt017-kunag.
itab_partidas-agkoa = 'D'.
itab_partidas-agums = space.
itab_partidas-bukrs = wa_zycbt005-bukrs.
itab_partidas-shkzg = 'H'.
itab_partidas-v_sinal = '+'.
* >> Início da exclusão: FORM CLEARING_030_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_030_CP
IF NOT /pws/zycbt074-dtcont IS INITIAL
and /pws/zycbt074-dtcont > /pws/zycbe006-dtpagto.
* << Fim da inclusão
itab_partidas-dtdocto = /pws/zycbt074-dtcont.
ELSE.
itab_partidas-dtdocto = /pws/zycbe006-dtpagto.
ENDIF.
CONCATENATE 'Des.'
wa_zycbt005-nrinvoic
wa_zycbt005-nrparcf
INTO itab_partidas-d_zuonr
SEPARATED BY space.
itab_partidas-v_sinal = '-'.
...
...
CLEAR itab_contabil-vbeln.
itab_contabil-gsberf = wa_zycbt005-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-295.
CLEAR /pws/zycbt084.
/pws/zycbt084-dtpagext = /pws/zycbe006-dtpagext.
PERFORM grava_t084 USING itab_zycbt032-belnr.
READ TABLE itab_zycbt074 WITH KEY nrseqc = wa_zycbt005-nrseqc.
IF sy-subrc EQ 0.
IF itab_zycbt074-dtcont IS INITIAL OR
* >> Início da exclusão: FORM CLEARING_030_CP
itab_zycbt074-dtcont EQ '00000000'.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_030_CP
itab_zycbt074-dtcont EQ '00000000'
or /pws/zycbt074-dtcont < /pws/zycbe006-dtpagto.
* << Fim da inclusão
itab_contabil-dtdocto = /pws/zycbe006-dtpagto.
ELSE.
itab_contabil-dtdocto = itab_zycbt074-dtcont.
ENDIF.
ENDIF.
itab_contabil-bukrs = wa_zycbt005-bukrs.
APPEND itab_contabil.
v_subrc = 0.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
...
DATA: v_soma LIKE /pws/zycbt005-vlvinc,
v_soma2 LIKE /pws/zycbt005-vlvinc.
DATA: v_cpochv LIKE /pws/zycbe033-cpochv,
v_kursf LIKE /pws/zycbe033-kursf ,
v_vinc_total,
v_linha.
CLEAR v_dtdocto.
CLEAR v_f30_vinc.
PERFORM get_parameters_001.
PERFORM clear_date_batch.
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
IF /pws/zycbe074-dtcont IS INITIAL.
* << Fim da exclusão
IF /pws/zycbe001-dtvincul IS INITIAL.
CASE /pws/zycbe001-fdtlanc.
WHEN 'D'.
v_dtdocto = /pws/zycbe001-dtdesem.
WHEN 'O'.
v_dtdocto = /pws/zycbe001-dtcontr.
WHEN OTHERS.
v_dtdocto = /pws/zycbe001-dtcred.
ENDCASE.
ELSE.
v_dtdocto = /pws/zycbe001-dtvincul.
ENDIF.
* >> Início da exclusão: FORM FILL_DATE1_F30_DESM
ELSE.
v_dtdocto = /pws/zycbe074-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30_DESM
IF NOT /pws/zycbe074-dtcont IS INITIAL AND
/pws/zycbt074-dtcont > v_dtdocto.
v_dtdocto = /pws/zycbt074-dtcont.
* << Fim da inclusão
ENDIF.
v_prazo = /pws/zycbe001-przcontr.
CONCATENATE /pws/zycbe001-tpcontr v_prazo
INTO v_codaux1 SEPARATED BY space.
IF /pws/zycbe001-tpcontr(1) NE 'D'.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycbe001-bukrs
ktosl = 'CPT'
codaux1 = v_codaux1
...
...
IF itab_zycbt002p-belnr2 IS INITIAL.
itab_zycbe033-belnr = itab_zycbt002p-belnr.
CASE /pws/zycbe001-fdtlanc.
WHEN 'D'.
v_dtdocto = /pws/zycbe001-dtdesem.
WHEN 'O'.
v_dtdocto = /pws/zycbe001-dtcontr.
WHEN OTHERS.
v_dtdocto = /pws/zycbe001-dtcred.
ENDCASE.
* >> Início da exclusão: FORM VINCULACAO
IF NOT /pws/zycbe074-dtcont IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULACAO
IF NOT /pws/zycbe074-dtcont IS INITIAL
and /pws/zycbe074-dtcont > v_dtdocto.
* << Fim da inclusão
itab_zycbe033-dtdocto = /pws/zycbe074-dtcont.
ELSE.
itab_zycbe033-dtdocto = v_dtdocto.
ENDIF.
ELSE.
itab_zycbe033-belnr = itab_zycbt002p-belnr2.
v_dtdocto = itab_zycbt002p-dtvincul.
ENDIF.
REFRESH itab_zyglt321.
SELECT * FROM /pws/zyglt321
...