Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 10/08/2006 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:22:28
Descrição da Nota: ESTORNO DA VINCULAÇÃO PARA CONTRATOS DE DOWN PAYMENT
Sintoma
Ao realizar a vinculação de um contrato de DP com liquidação automática o programa não está
preenchendo o campo "Vencimento em" no momento do Batch Imput, não permitindo assim o término do
processo. Estava ocasionando um erro também no momento que é criado uma Vinculação e caso de um erro
no momento da contabilização o programa deveria estornar todos os documentos e isso o programa não
está fazendo.
Solução
Para o problema dos estornos foi separado a forma como o programa vai armazenando os documentos
gerados em todo o processo. Para o documento do desmembramento do cliente não foi alterado,
Desmembramento do ACE está sendo armazenado no campo itab_zycbt005-belnr_d e para a Baixa do
Cliente contra a Conta de ACE também não foi alterado.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01916 Data: 10/08/2006 Hora: 18:05:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01916
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00126
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00175 - 00001 - 6.0 - 00021 - A VINCULAÇÃO/LIQUIDAÇÃO AUTOMÁTICA NÃO GERA DESMEMBRAMENTO DO CLI
00869 - 00002 - 6.0 - 00022 - AJUSTES DOS ERROS ENCONTRADOS NA VINCULAÇÃO DE FATURAS
----------------------------------------------------------------------------------------------------
ESTORNO DA VINCULAÇÃO PARA CONTRATOS DE DOWN PAYMENT
----------------------------------------------------------------------------------------------------
Palavras Chave:
ESTORNO VINCULAÇÃO DE FATURAS DOWN PAYMENT CÂMBIO PRONTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F08
REPS /PWS/MZYCB009F09
REPT /PWS/SAPMZYCB009
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
...
CONCATENATE itab_vinc-nrseqc
itab_vinc-nrinvoic
itab_vinc-dtvincul
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
* >> Início da exclusão: FORM ANULA_DESM_ACE
itab_zycbe033-belnr = itab_vinc-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DESM_ACE
itab_zycbe033-belnr = itab_vinc-belnr_d.
* << Fim da inclusão
itab_zycbe033-bukrs = itab_vinc-bukrs.
itab_zycbe033-bldat = itab_vinc-dtvincul.
itab_zycbe033-budat = itab_vinc-dtvincul.
IF ( /pws/zycbe001-tpcontr EQ 'C ' AND
wa_zycbt007-liq_cp EQ 'X' ) OR
...
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = 'ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM ANULA_DESM_ACE
CLEAR itab_vinc-belnr.
MODIFY itab_vinc TRANSPORTING belnr
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DESM_ACE
CLEAR itab_vinc-belnr_d.
MODIFY itab_vinc TRANSPORTING belnr_d
* << Fim da inclusão
WHERE nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
CLEAR itab_contabil-vbeln.
...
...
IF /pws/zycbe001-tpcontr(1) EQ 'C'.
CLEAR itab_vinc-belnr_f28.
ELSE.
CLEAR itab_vinc-belnr.
ENDIF.
* >> Início da exclusão: FORM ANULA_LIQUIDACAO
itab_vinc-belnr_d = v_belnr_comp.
MODIFY itab_vinc TRANSPORTING belnr belnr_d
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_LIQUIDACAO
MODIFY itab_vinc TRANSPORTING belnr belnr_f28 belnr_d
* << Fim da inclusão
WHERE nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
CLEAR itab_contabil-vbeln.
...
...
ENDFORM.
FORM lancamento_provisao_dp USING p_flag.
DATA: v_docto LIKE /pws/zycbt030-belnr,
v_subrc LIKE sy-subrc,
v_linha TYPE i,
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO_DP
v_index TYPE i.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_DP
v_index TYPE i,
v_anul_liq TYPE c.
* << Fim da inclusão
DATA: itab_zycbt005_est LIKE itab_zycbt005 OCCURS 0 WITH HEADER LINE.
LOOP AT itab_zycbt005 WHERE flag EQ p_flag.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt005-nrinvoic AND
gsberf = itab_zycbt005-gsberf AND
nrparcf = itab_zycbt005-nrparcf.
...
...
IF v_subrc NE 0.
DESCRIBE TABLE itab_zycbt005 LINES v_linha.
DO v_linha TIMES.
v_index = v_linha - sy-index + 1.
READ TABLE itab_zycbt005 INDEX v_index.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO_DP
CHECK itab_zycbt005-status = p_flag.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_DP
CHECK itab_zycbt005-flag = p_flag.
* << Fim da inclusão
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO_DP
IF ( NOT itab_zycbt005-belnr IS INITIAL
AND /pws/zycbe001-tpcontr NE 'C' ) OR
( /pws/zycbe001-tpcontr EQ 'C' AND
NOT itab_zycbt005-belnr_f28 IS INITIAL ).
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_DP
IF NOT itab_zycbt005-belnr_f28 IS INITIAL OR
NOT itab_zycbt005-belnr IS INITIAL.
* << Fim da inclusão
PERFORM anula_liquidacao TABLES itab_zycbt005.
ENDIF.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_DP
IF NOT itab_zycbt005-belnr_d IS INITIAL.
* << Fim da inclusão
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO_DP
IF NOT itab_zycbt005-belnr IS INITIAL.
v_belnr = itab_zycbt005-belnr.
IF itab_zycbt005-belnr_vinc EQ itab_zycbt005-belnr
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_DP
v_belnr = itab_zycbt005-belnr_d.
IF itab_zycbt005-belnr_vinc EQ itab_zycbt005-belnr_d
* << Fim da inclusão
AND /pws/zycbe001-tpcontr(1) NE 'C'.
CLEAR itab_zycbt005-belnr_vinc.
MODIFY itab_zycbt005
INDEX v_index.
ELSE.
...
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = 'ZYCBT005'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM DESMEMBRA_ACE
itab_zycbt005-belnr = itab_zycbt032-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_ACE
itab_zycbt005-belnr_d = itab_zycbt032-belnr.
* << Fim da inclusão
MODIFY itab_zycbt005.
ADD 1 TO v_f30_vinc.
/pws/zycbe001-belnr2 = itab_zycbt032-belnr.
/pws/zycbe001-dtvincul = itab_zycbe033-dtdocto.
itab_contabil-nrinvoic = itab_zycbt005-nrinvoic.
...
...
itab_contabil-nrinvoic = itab_zycbt209-nrinvoic.
itab_contabil-vbeln = itab_zycbt209-belnr.
itab_contabil-nrparcf = itab_zycbt209-nrparcf.
itab_contabil-gsberf = itab_zycbt209-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
* >> Início da exclusão: FORM ANULA_DESM_LIQ_AND
itab_contabil-msg = text-356.
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DESM_LIQ_AND
itab_contabil-msg = text-384.
* << Fim da inclusão
itab_contabil-dtdocto = itab_zycbt005-dtvincul.
itab_contabil-bukrs = itab_zycbt005-bukrs.
APPEND itab_contabil.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB08'
EXPORTING
...
...
itab_contabil-nrinvoic = itab_zycbt209-nrinvoic.
itab_contabil-vbeln = itab_zycbt209-belnr_d.
itab_contabil-nrparcf = itab_zycbt209-nrparcf.
itab_contabil-gsberf = itab_zycbt209-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
* >> Início da exclusão: FORM ANULA_DESM_LIQ_AND
itab_contabil-msg = text-357.
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_DESM_LIQ_AND
itab_contabil-msg = text-385.
* << Fim da inclusão
itab_contabil-dtdocto = itab_zycbt006-dtpagto.
itab_contabil-bukrs = itab_zycbt006-bukrs.
APPEND itab_contabil.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'FB08'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F09
...
itab_zycbt209-belnr
itab_zycbt209-gsberf
itab_zycbt209-nrparcf
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
* >> Início da exclusão: FORM DESMEMBRA_LIQ_AND_CP
IF /pws/zycbe001-tpcontr(1) = 'C'.
IF wa_zycbt007-liq_cp EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_LIQ_AND_CP
IF ( /pws/zycbe001-tpcontr(1) = 'C' AND
wa_zycbt007-liq_cp EQ 'X' ) OR
( /pws/zycbe001-tpcontr(1) = 'D' AND
wa_zycbt089-f_cont_vinc = 'F' ).
* << Fim da inclusão
CONCATENATE '003' /pws/zycbe001-tpcontr INTO v_codeven.
* >> Início da exclusão: FORM DESMEMBRA_LIQ_AND_CP
ENDIF.
* << Fim da exclusão
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB009
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 384
Texto: (50 caracteres)
"Compensação do Desmembramento da Liq. And. Anulada"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 385
Texto: (38 caracteres)
"Estorno do Desmembramento da Liq. And."
Comprimento máximo: 38