Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 26/01/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:48:10
Descrição da Nota: 280101 - CAPTAÇÃO VINCULAÇÃO
Sintoma
1- Criada uma captação e não concluida a contabilização, pois não foi preenchido o Campo Banco
Financiador e foi salvo, o status na tabela ZYCBT001 ficou com a letra `` I `` ( inicial), ao tentar
vincular o programa não fez contabilizações, mas gravou as faturas na tabela ZYCBT005. No historico
contábil ficou errado, pois o programa faz a dedução do valor a vincular e o valor nas duas parcelas
de principal, e não aparece as faturas gravadas na tabela ZYCB005, Para resolver este problema é
necessario criar no programa de vinculação uma consistencia quando a captação estiver com status I
inicial, ao tentar fazer uma vinculação o programa avise om a mensagem ``Contrato ainda foi
contabilizado. Favor verificar``. Essa consistencia evita a vinculação em um contrato que não
esteja concluído, evitando problemas nas tabelas e no historico contábil.
2- Ao fazer vinculações parciais e com faturas iguais com parcelas diferentes, no momento em que fiz
o estorno e cancelei a transação, via /n, na penultima fatura, o programa efetuou o clearing
corretamente das faturas, porém como dito na penultima fatura o programa teve seu clearing
interrompido, sendo assim, o programa deveria manter a vinculação da penultima e da ultima fatura, e
mante-las na tabela ZYCBT005, mas as faturas não aparecem na tabela ZYCBT005. O historico contábil
demonstra deduzido o saldo das faturas na parcela de principal, e não demonstra as faturas ( uma vez
que ela foi excluida erroneamente da ZYCB005).
Solução
1- Inserido consistência que permite apenas criar a vinculação caso o contrato esteja contabilizado
(com o campo BELNR preenchido ou o campo STATUS diferente de I na tabela /PWS/ZYCBT001).
2- Efetuado ajuste para que os saldos das tabelas /PWS/ZYCBT001 e /PWS/ZYCBT002 sejam atualizados
(corrigindo assim os valores apresentados no Histórico Contábil) caso ocorra erro na segunda F-30
(para cada parcela da fatura vinculada são feitas 3 contabilizações: F-02, F-30 e F-30,
respectivamente). Tratado para que a exclusão dos registros vinculados na tabela /PWS/ZYCBT005
apenas ocorra quando a contabilização for feita com sucesso
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00730 Data: 26/01/2006 Hora: 13:40:47
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00730
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00096
Agrupamento : 00022
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
280101 - CAPTAÇÃO VINCULAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
280101 - CAPTAÇÃO VINCULAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB001F01
REPS /PWS/MZYCB009F01
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009I01
REPT /PWS/SAPMZYCB001
REPT /PWS/SAPMZYCB009
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F01
...
ENDFORM.
FORM call_zycb009_c.
DATA: v_flag(1).
v_flag = 'X'.
IF NOT v_nrseqc IS INITIAL.
* >> Início da inclusão: FORM CALL_ZYCB009_C
IF /pws/zycbe001-belnr IS INITIAL OR
/pws/zycbe001-status EQ 'I'.
MESSAGE e601(sf) WITH text-448 text-449.
EXIT.
ENDIF.
* << Fim da inclusão
SELECT * FROM /pws/zycbt005
WHERE nrseqc EQ v_nrseqc.
ENDSELECT.
IF sy-subrc EQ '0'.
EXPORT v_nrseqc TO MEMORY ID '001'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F01
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM FILL_DATE1_F30_ACE
IF /pws/zycbe001-tpcontr EQ 'PT'.
IF sy-ucomm NE 'ESTOR'.
DELETE FROM /pws/zycbt005
WHERE nrseqc = wa_zycbt005-nrseqc
AND tpdesp = wa_zycbt005-tpdesp
AND nrparc = wa_zycbt005-nrparc
AND dtincl = wa_zycbt005-dtincl
AND nrinvoic = wa_zycbt005-nrinvoic
AND nrparcf = wa_zycbt005-nrparcf
AND gsberf = wa_zycbt005-gsberf
AND dtvincul = wa_zycbt005-dtvincul
AND dtvencto = wa_zycbt005-dtvencto.
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc +
wa_zycbt005-vlvinc.
ENDIF.
IF sy-ucomm EQ 'ESTOR'.
LOOP AT itab_zycbt005_ant.
READ TABLE itab_zycbt005 WITH KEY
nrseqc = itab_zycbt005_ant-nrseqc
tpdesp = itab_zycbt005_ant-tpdesp
nrparc = itab_zycbt005_ant-nrparc
dtincl = itab_zycbt005_ant-dtincl
nrinvoic = itab_zycbt005_ant-nrinvoic
nrparcf = itab_zycbt005_ant-nrparcf
gsberf = itab_zycbt005_ant-gsberf
dtvincul = itab_zycbt005_ant-dtvincul
dtvencto = itab_zycbt005_ant-dtvencto.
IF sy-subrc NE 0.
DELETE FROM /pws/zycbt005
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = itab_zycbt005_ant-tpdesp
AND nrparc = itab_zycbt005_ant-nrparc
AND dtincl = itab_zycbt005_ant-dtincl
AND nrinvoic = itab_zycbt005_ant-nrinvoic
AND nrparcf = itab_zycbt005_ant-nrparcf
AND gsberf = itab_zycbt005_ant-gsberf
AND dtvincul = itab_zycbt005_ant-dtvincul
AND dtvencto = itab_zycbt005_ant-dtvencto.
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc +
itab_zycbt005_ant-vlvinc.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
* << Fim da inclusão
IF NOT itab_zycbt032-belnr IS INITIAL.
wa_zycbt005-belnr = itab_zycbt032-belnr.
v_belnr = itab_zycbt032-belnr.
v_dtbelnr = itab_zycbe033-budat.
v_belnr69 = itab_zycbt069-belnr.
...
...
itab_contabil-msg = text-302.
itab_contabil-dtdocto = itab_zycbe033-budat.
itab_contabil-bukrs = itab_zycbe033-bukrs.
APPEND itab_contabil.
ELSE.
* >> Início da inclusão: FORM FILL_DATE1_F30_ACE
itab_zycbt002p-slvinc = itab_zycbt002p-slvinc -
itab_zycbt005_ant-vlvinc.
MODIFY itab_zycbt002p TRANSPORTING slvinc
WHERE nrparc = itab_zycbt002p_aux-nrparc.
MODIFY /pws/zycbt002 FROM TABLE itab_zycbt002p.
* << Fim da inclusão
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = '/PWS/ZYCBT005'
AND cpochv = v_cpochv
AND tpmsg = 'E'.
itab_erro-vbeln = wa_zycbt005-belnr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
IF sy-subrc EQ 0.
MOVE itab_zycbt005 TO itab_zycbt005_excluidas.
APPEND itab_zycbt005_excluidas.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM EXCLUI_DADOS_ITAB
IF /pws/zycbe001-tpcontr NE 'PT'.
* << Fim da inclusão
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc +
itab_zycbt005-vlvinc.
* >> Início da inclusão: FORM EXCLUI_DADOS_ITAB
ENDIF.
* << Fim da inclusão
DELETE itab_zycbt005_aux
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
CLEAR itab_zycbt005_aux.
...
...
wa_log(v_len) = wa_zycbt005_log(v_len).
PERFORM grava_log USING '/PWS/ZYCBT005'
wa_log
'E'.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF /pws/zycbe001-tpcontr NE 'PT'.
* << Fim da inclusão
DELETE FROM /pws/zycbt005
WHERE nrseqc = itab_zycbt005_ant-nrseqc
AND tpdesp = itab_zycbt005_ant-tpdesp
AND nrparc = itab_zycbt005_ant-nrparc
AND dtincl = itab_zycbt005_ant-dtincl
AND nrinvoic = itab_zycbt005_ant-nrinvoic
AND nrparcf = itab_zycbt005_ant-nrparcf
AND gsberf = itab_zycbt005_ant-gsberf
AND dtvincul = itab_zycbt005_ant-dtvincul
AND dtvencto = itab_zycbt005_ant-dtvencto.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
CALL CUSTOMER-FUNCTION '084'
TABLES
itab_zycbt005 = itab_zycbt005_ant.
DELETE FROM /pws/zycbt004
WHERE nrseqc = itab_zycbt005_ant-nrseqc
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009I01
...
WHEN 'ENTE'.
CLEAR v_ind_mudanca.
SELECT SINGLE * FROM /pws/zycbt001 INTO /pws/zycbe001
WHERE nrseqc = v_nrseqc.
IF sy-subrc = 0.
* >> Início da inclusão: MODULE USER_COMMAND_0002
IF /pws/zycbe001-belnr IS INITIAL OR
/pws/zycbe001-status EQ 'I'.
MESSAGE w601(sf) WITH text-378 text-379.
EXIT.
ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycbt074
INTO CORRESPONDING FIELDS OF /pws/zycbe074
WHERE nrseqc = v_nrseqc.
MOVE: /pws/zycbe001-j_1bbranch TO /pws/zycbe005-j_1bbranch,
/pws/zycbe001-werks TO /pws/zycbe005-werks .
...
----------------------------------------------------------------------------------------------------
MODIFICAR SÍMBOLOS DE TEXTO :
TEXTOS NOVOS:
SÍM.: 378 TEXTO: Contrato ainda não foi contabilizado. CD. 37 CM.37
TEXTOS ANTIGOS:
SÍM.: 379 TEXTO: Favor verificar. CD. 16 CM. 16