CE PLUS - Nota 001597

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Empréstimos

Data/Hora da Publicação: 16/06/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 11:42:07

Descrição da Nota: EMPRÉSTIMO - NÃO ESTÁ SENDO FEITO O ESTORNO

Sintoma

Ao entrar em modificar o empréstimo e clicar para efetuar o estorno, o programa entra direto na

FB08, ocasionando erro.

 

 

Solução

Foram efetuados os ajustes para que o programa execute uma FBRA e FB08 nos documentos de parcela e

FB08 no documento do banco.

 

Versões Tratadas

6.0

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 01597 Data: 16/06/2006 Hora: 15:13:30

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 01597

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00117

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

EMPRÉSTIMO - NÃO ESTÁ SENDO FEITO O ESTORNO

----------------------------------------------------------------------------------------------------

Palavras Chave:

EMPRÉSTIMO ESTORNO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCA111F01

REPS /PWS/MZYCA111I01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCA111F01

 

...

    CHECK v_ind_texto IS INITIAL.

    PERFORM ver_vlprinc.

    CHECK v_ind_valor IS INITIAL.

    PERFORM save_zycbt128.

    PERFORM save_zycbt129_comissao.

* >> Início da exclusão: FORM SAVE_CHANGES

    IF v_erro_bi IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FORM SAVE_CHANGES

    CHECK v_erro_bi IS INITIAL AND

          v_erro_exclusao IS INITIAL.

* << Fim da inclusão

      PERFORM salva_dados_bancarios.

      message i268 with text-128 /pws/zycbe128-nrseq text-129.

* >> Início da exclusão: FORM SAVE_CHANGES

    ENDIF.

* << Fim da exclusão

    MOVE /pws/zycbe128 TO wa_zycbt128.

    MOVE /pws/zycbe129 TO wa_zycbt129.

    IF sy-tcode = '/PWS/ZYCB111_C'.

      IF v_erro EQ 'N'.

        PERFORM limpa.

...

 

...

     /pws/zycbe128-statusp   EQ text-007 .

    v_mdparc = 'X'.

  ENDIF.

  IF NOT /pws/zycbe128-belnr IS INITIAL OR

     NOT itab_excluidos[]    IS INITIAL.

* >> Início da inclusão: FORM SAVE_ZYCBT128

    IF ( /pws/zycbe128-dtdesem   NE wa_zycbt128-dtdesem    OR

         /pws/zycbe128-bukrs     NE wa_zycbt128-bukrs      OR

         /pws/zycbe128-bcofinan  NE wa_zycbt128-bcofinan   OR

         /pws/zycbe128-waers     NE wa_zycbt128-waers      OR

         /pws/zycbe128-kursf     NE wa_zycbt128-kursf      OR

         /pws/zycbe128-ftaxa     NE wa_zycbt128-ftaxa      OR

         /pws/zycbe128-vlme      NE wa_zycbt128-vlme       OR

         /pws/zycbe128-lifnr     NE wa_zycbt128-lifnr      OR

         /pws/zycbe128-gsber     NE wa_zycbt128-gsber      OR

         /pws/zycbe128-kostl     NE wa_zycbt128-kostl      OR

         /pws/zycbe128-prctr     NE wa_zycbt128-prctr      OR

         /pws/zycbe128-fipos     NE wa_zycbt128-fipos      OR

         /pws/zycbe128-fictr     NE wa_zycbt128-fictr      OR

         /pws/zycbe128-tpemprest NE wa_zycbt128-tpemprest  OR

         v_modifp                EQ 'X' )                  AND

       /pws/zycbe128-statusp     EQ text-007.

* << Fim da inclusão

    MOVE /pws/zycbe128 TO /pws/zycbt128.

    PERFORM reverse_document_zycbt128.

* >> Início da inclusão: FORM SAVE_ZYCBT128

      PERFORM save_zycbt129.

    ELSE.

      MOVE /pws/zycbe128 TO /pws/zycbt128.

      MODIFY /pws/zycbt128.

* << Fim da inclusão

    PERFORM save_zycbt129.

* >> Início da inclusão: FORM SAVE_ZYCBT128

    ENDIF.

* << Fim da inclusão

  ELSE.

...

 

...

  ENDIF.

  CLEAR: v_assoc, v_numero, v_empresa, v_divisao, v_txtinf, v_codmod.

  FREE MEMORY ID '001'.

ENDFORM.

FORM save_zycbt129.

* >> Início da inclusão: FORM SAVE_ZYCBT129

  CHECK v_erro_exclusao IS INITIAL.

* << Fim da inclusão

  LOOP AT itab_zycbt129p.

    IF itab_zycbt129p-status IS INITIAL.

      itab_zycbt129p-status = 'I'.

    ELSEIF itab_zycbt129p-status = 'I'.

      itab_zycbt129p-status = 'A'.

...

 

...

  ENDSELECT.

  IF /pws/zycbe128-fassoc EQ 'X'.

    PERFORM recontabiliza_parcelas.

    EXIT.

  ENDIF.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

  IF NOT itab_excluidos[] IS INITIAL.

    PERFORM estorna_parcelas_excluidas.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

  CLEAR v_erro_exclusao.

  IF itab_zycbt129pa[] IS INITIAL.

    SELECT *

           FROM /pws/zycbt129

           INTO TABLE itab_zycbt129pa

           WHERE nrseq EQ /pws/zycbe128-nrseq

             AND tpparc EQ 'P'.

* << Fim da inclusão

  ENDIF.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

  LOOP AT itab_zycbt129p WHERE ftransf NE 'C' AND

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

  SORT itab_zycbt129pa BY nrparc DESCENDING.

  LOOP AT itab_zycbt129pa WHERE ftransf NE 'C' AND

* << Fim da inclusão

                               belnr   NE ' ' AND

                               belnr_p EQ ' '.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    READ TABLE itab_zycbt129pa WITH KEY nrparc = itab_zycbt129p-nrparc.

    IF itab_zycbt129p-vlme EQ itab_zycbt129pa-vlme AND

       itab_zycbt129p-dtvencto EQ itab_zycbt129pa-dtvencto AND

        itab_zycbt129p-belnr EQ itab_zycbt129pa-belnr.

      IF v_mdparc EQ 'X'.

        CONTINUE.

      ENDIF.

    ENDIF.

    IF itab_zycbt129p-belnr IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    IF itab_zycbt129pa-belnr IS INITIAL OR

       NOT v_erro_exclusao IS INITIAL.

* << Fim da inclusão

      CONTINUE.

    ENDIF.

    itab_zycbe033-mandt  = sy-mandt.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    itab_zycbe033-tcode  = 'FB08'.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    itab_zycbe033-tcode  = 'FBRA'.

* << Fim da inclusão

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = wa_zycbt128-nrseq.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    itab_zycbe033-belnr  = itab_zycbt129p-belnr.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    itab_zycbe033-belnr  = itab_zycbt129pa-belnr.

* << Fim da inclusão

    itab_zycbe033-bukrs  = wa_zycbt128-bukrs.

    itab_zycbe033-budat  = wa_zycbt128-dtdesem.

    itab_zycbe033-gjahs  = wa_zycbt128-dtdesem+0(4).

    v_monat              = itab_zycbe033-budat+2(2).

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    PERFORM verify_null_field USING wa_zycbt128-bukrs

                                    'BUKRS'

                                    text-012.

    itab_zycbe033-bukrs  = wa_zycbt128-bukrs.

* << Fim da inclusão

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = itab_zycbe033-bukrs

              i_gjahr          = itab_zycbe033-budat+0(4)

              i_koart          = 'S'

...

 

...

      itab_zycbe033-stgrd = '01'.

    ELSE.

      itab_zycbe033-stgrd = '02'.

    ENDIF.

    APPEND itab_zycbe033.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FBRA'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

    IF sy-subrc = 0.

      itab_zycbe033-tcode = 'FB08'.

      MODIFY itab_zycbe033 TRANSPORTING tcode

                           WHERE tcode = 'FBRA'.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FB08'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

...

 

...

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                        tabela = text-008

                                        cpochv = /pws/zycbe128-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

        MESSAGE i030 WITH itab_zycbt129p-belnr.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

          MESSAGE i030 WITH itab_zycbt129pa-belnr.

* << Fim da inclusão

        CLEAR: itab_zycbt129p-belnr, itab_zycbt129p-belnr_lp,

               itab_zycbt129p-ftransf.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

        MODIFY itab_zycbt129p.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

          MODIFY itab_zycbt129p

                   TRANSPORTING belnr belnr_lp ftransf

                   WHERE nrseq  EQ /pws/zycbe128-nrseq

                     AND nrparc EQ itab_zycbt129pa-nrparc

                     AND tpparc EQ 'P'.

          CLEAR: itab_zycbt129pa-belnr, itab_zycbt129pa-belnr_lp,

                 itab_zycbt129pa-ftransf.

          MODIFY itab_zycbt129pa.

* << Fim da inclusão

        UPDATE /pws/zycbt129 SET belnr    = space

                                 belnr_lp = space

                                 ftransf  = space

                            WHERE nrseq  EQ /pws/zycbe128-nrseq   AND

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

                                  nrparc EQ itab_zycbt129p-nrparc AND

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

                                   nrparc EQ itab_zycbt129pa-nrparc AND

* << Fim da inclusão

                                  tpparc EQ 'P'.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

          PERFORM clear_date_batch.

        ELSE.

          LOOP AT itab_zycbt032.

            MESSAGE i015 WITH itab_zycbt032-msg.

          ENDLOOP.

* << Fim da inclusão

        PERFORM clear_date_batch.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

          v_erro_exclusao = 'X'.

        ENDIF.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015 WITH itab_zycbt032-msg.

        ENDLOOP.

        PERFORM clear_date_batch.

        v_erro_exclusao = 'X'.

      ENDIF.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    ELSE.

      LOOP AT itab_zycbt032.

        MESSAGE i015 WITH itab_zycbt032-msg.

      ENDLOOP.

      PERFORM clear_date_batch.

      v_erro_exclusao = 'X'.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

  CHECK v_erro_exclusao IS INITIAL.

* << Fim da inclusão

  IF NOT /pws/zycbe128-belnr IS INITIAL.

    LOOP AT itab_zycbt129p WHERE dtpagto NE ' '.

    ENDLOOP.

* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    IF sy-subrc NE 0.

* << Fim da exclusão

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128

    IF sy-subrc EQ 0.

* << Fim da inclusão

      PERFORM reverse_document_zycbt128_cab.

    ENDIF.

  ENDIF.

  /pws/zycbt128-status = 'I'.

  MODIFY /pws/zycbt128.

...

 

...

  DESCRIBE TABLE itab_zycbt129c LINES v_line.

  READ TABLE itab_zycbt129c INDEX v_line.

  vdtfinal3 = itab_zycbt129c-dtfinal.

ENDFORM.

FORM fill_date1_f02.

* >> Início da inclusão: FORM FILL_DATE1_F02

  CHECK NOT okcode = 'DELL'.

* << Fim da inclusão

  IF NOT /pws/zycbe128-belnr IS INITIAL.

    EXIT.

  ENDIF.

  v_nrdias = /pws/zycbe128-dtvencto - /pws/zycbe128-dtdesem.

  PERFORM get_parameters_111.

...

 

...

                                  'NEWKO'

                                  text-018.

ENDFORM.

FORM save_zycbt129_comissao.

  DATA v_nrlines TYPE i.

* >> Início da inclusão: FORM SAVE_ZYCBT129_COMISSAO

  CHECK v_erro_exclusao IS INITIAL.

* << Fim da inclusão

  LOOP AT itab_zycbt129c.

    IF itab_zycbt129c-status IS INITIAL.

      itab_zycbt129c-status = 'I'.

    ELSEIF itab_zycbt129c-status = 'I'.

      IF itab_zycbt129_ant[] <> itab_zycbt129c[].

...

 

...

        MESSAGE i015 WITH itab_zycbt032-msg.

      ENDLOOP.

      v_erro_exclusao = 'X'.

      PERFORM clear_date_batch.

    ENDIF.

* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128_CAB

  ELSE.

    LOOP AT itab_zycbt032.

      MESSAGE i015 WITH itab_zycbt032-msg.

    ENDLOOP.

    v_erro_exclusao = 'X'.

    PERFORM clear_date_batch.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM verifica_boleto.

  IF sy-tcode EQ '/PWS/ZYCB111_A'.

    CLEAR /pws/zycbt129.

...

 

...

    ENDIF.

    PERFORM get_parameters_111.

    IF itab_zycbt129p-belnr_p NE ' '.

      CONTINUE.

    ENDIF.

* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS

    READ TABLE itab_zycbt129pa WITH KEY nrparc = itab_zycbt129p-nrparc.

    IF itab_zycbt129p-vlme EQ itab_zycbt129pa-vlme AND

       itab_zycbt129p-dtvencto EQ itab_zycbt129pa-dtvencto AND

       itab_zycbt129p-belnr EQ itab_zycbt129pa-belnr.

      IF v_mdparc EQ 'X'.

        CONTINUE.

      ENDIF.

    ENDIF.

* << Fim da exclusão

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = text-095.

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = /pws/zycbe128-nrseq.

    CASE wa_zycbt007-fdtdoc.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCA111I01

 

...

                APPEND itab_excluidos.

              ENDIF.

            ENDLOOP.

            IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.

              DELETE itab_zycbt129p WHERE mark EQ 'X'.

* >> Início da inclusão: MODULE USER_COMMAND_0102

              LOOP AT itab_zycbt129p.

                itab_zycbt129p-nrparc = sy-tabix.

                MODIFY itab_zycbt129p INDEX sy-tabix.

              ENDLOOP.

* << Fim da inclusão

            ENDIF.

          ENDIF.

      ENDCASE.

    WHEN 'CS'.

      GET CURSOR FIELD v_campo VALUE v_valor.

...

 

...

            LOOP AT itab_zycbt129j WHERE mark EQ 'X'.

              PERFORM checa_boleto.

            ENDLOOP.

            IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.

              DELETE itab_zycbt129j WHERE mark EQ 'X'.

* >> Início da inclusão: MODULE USER_COMMAND_0103

              LOOP AT itab_zycbt129j.

                itab_zycbt129j-nrparc = sy-tabix.

                MODIFY itab_zycbt129j INDEX sy-tabix.

              ENDLOOP.

* << Fim da inclusão

            ENDIF.

          ENDIF.

      ENDCASE.

    WHEN 'CS'.

      GET CURSOR FIELD v_campo VALUE v_valor.

...

 

...

                     /pws/zycbe128-fpagto_c, /pws/zycbe128-tpcomis,

                     /pws/zycbe128-tptaxa.

            ENDIF.

            IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.

              DELETE itab_zycbt129c WHERE mark EQ 'X'.

* >> Início da inclusão: MODULE USER_COMMAND_0104

              LOOP AT itab_zycbt129c.

                itab_zycbt129c-nrparc = sy-tabix.

                MODIFY itab_zycbt129c INDEX sy-tabix.

              ENDLOOP.

              DESCRIBE TABLE itab_zycbt129c LINES v_parcela.

              /pws/zycbe128-nrparc = v_parcela.

* << Fim da inclusão

            ENDIF.

          ENDIF.

      ENDCASE.

    WHEN 'CS'.

      GET CURSOR FIELD v_campo VALUE v_valor.

...