CE PLUS - Nota 000730

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

 

Versões Tratadas

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