CE PLUS - Nota 001481

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 31/05/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 15:12:41

Descrição da Nota: LIQUIDAÇÃO - EXCLUSÃO NÃO PERMITIDA DEVIDO JUROS PAGO

Sintoma

Criei uma captação e salvei. Depois entrei para criar uma vinculação e preenchi a coluna "Data

Crédito exterior" gerando a parcela de juros já na vinculação. Depois entrei na rotina de

pagamento e fiz o pagamento da parcela de juros gerada na vinculação.  Entrei em liquidação -

criar - para criar a liquidação do contrato. Mas ao salvar se ocorrer algum erro no batch input

Se eu entrar em liquidação - modificar - e tentar alterar essa liquidação ou excluí-la, é exibida a

mensagem (Fatura já possui juros pagos. Impossivel excluir), mas nesse caso a alteração ou exclusão

deveria ser permitida, já que a contabilização da liquidação não foi concluída com sucesso.

 

 

Solução

Ao excluir a liquidação de um contrato com juros pago, considerar que se o campo /PWS/ZYCBT006-

status estiver = 'I', tem que permitir.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01481 Data: 31/05/2006 Hora: 15:29:04

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

 

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

Nota Número              : 01481

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00116

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

LIQUIDAÇÃO - EXCLUSÃO NÃO PERMITIDA DEVIDO JUROS PAGO

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

Palavras Chave:

LIQUIDAÇÃO EXCLUSÃO NÃO PERMITIDA /PWS/ZYCBT006-STATUS = 'I'

JUROS PAGO

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

Objetos da nota:

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB004I01

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

                                AND gsberf   = itab_zycbt006-gsberf

                                AND dtvincul = itab_zycbt006-dtvincul

                                AND dtvencto = itab_zycbt006-dtvencto

                                AND dtpagto  = itab_zycbt006-dtpagto.

    ENDLOOP.

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

    IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL.

* << Fim da exclusão

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

    IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL

    AND itab_zycbt006-status NE 'I'.

* << Fim da inclusão

      LOOP AT itab_zycbt005_ant.

        PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc

                                       itab_zycbt005_ant-nrparc

                                       itab_zycbt005_ant-dtvincul

                                       itab_zycbt005_ant-nrinvoic

...

 

...

           AND dtvencto = itab_zycbt006-dtvencto

           AND dtpagto  = v_dt_estorno.

        ENDSELECT.

        v_sel = 'X'.

      ENDIF.

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

      IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme.

* << Fim da exclusão

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

      IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme

      AND itab_zycbt006-status NE 'I'.

* << Fim da inclusão

        PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc

                                       itab_zycbt005_ant-nrparc

                                       itab_zycbt005_ant-dtvincul

                                       itab_zycbt005_ant-nrinvoic

                                       itab_zycbt005_ant-nrparcf

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

                                AND gsberf   = itab_zycbt006-gsberf

                                AND dtvincul = itab_zycbt006-dtvincul

                                AND dtvencto = itab_zycbt006-dtvencto

                                AND dtpagto  = itab_zycbt006-dtpagto.

    ENDLOOP.

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

    IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL.

* << Fim da exclusão

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

    IF sy-subrc NE 0 AND NOT itab_zycbt005_ant IS INITIAL

    AND itab_zycbt006-status NE 'I'.

* << Fim da inclusão

      LOOP AT itab_zycbt005_ant.

        PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc

                                       itab_zycbt005_ant-nrparc

                                       itab_zycbt005_ant-dtvincul

                                       itab_zycbt005_ant-nrinvoic

...

 

...

           AND dtvencto = itab_zycbt006-dtvencto

           AND dtpagto  = v_dt_estorno.

        ENDSELECT.

        v_sel = 'X'.

      ENDIF.

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

      IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme.

* << Fim da exclusão

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

      IF itab_zycbt006-vlme NE itab_zycbt005_ant-vlme

      AND itab_zycbt006-status NE 'I'.

* << Fim da inclusão

        PERFORM busca_pgto_juros USING itab_zycbt005_ant-nrseqc

                                       itab_zycbt005_ant-nrparc

                                       itab_zycbt005_ant-dtvincul

                                       itab_zycbt005_ant-nrinvoic

                                       itab_zycbt005_ant-nrparcf

...

 

...

           itab_zycbt006-vlme - itab_zycbt006-v_vlmeant.

        itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'A'.

      ELSE.

        itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'N'.

      ENDIF.

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

      IF ( itab_zycbt006-vlme    EQ itab_zycbt005_ant-vlme ) AND

           itab_zycbt006-dtpagto NE v_dt_estorno.

* << Fim da exclusão

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

      IF itab_zycbt006-dtpagto NE v_dt_estorno.

* << Fim da inclusão

        v_dtpagto = v_dt_estorno.

        MESSAGE i061 WITH text-164 text-165.

        itab_zycbt006-v_status = itab_zycbt005_ant-v_status = 'N'.

        itab_zycbt006-dtpagto = v_dt_estorno.

        MODIFY itab_zycbt006 INDEX sy-tabix.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004I01

 

...

         /pws/zycbe001-f_encerrado NE 'I'.

        MESSAGE i015 WITH text-171 text-172.

        EXIT.

      ENDIF.

      if sy-tcode ne c_transacao_c.

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

        IF NOT itab_zycbt005[] IS INITIAL.

          SELECT * FROM /pws/zycbt006

            INTO CORRESPONDING FIELDS OF TABLE itab_zycbt006[]

            FOR ALL ENTRIES IN itab_zycbt005

            WHERE nrseqc   = itab_zycbt005-nrseqc

            AND   tpdesp   = itab_zycbt005-tpdesp

            AND   nrparc   = itab_zycbt005-nrparc

            AND   dtincl   = itab_zycbt005-dtincl

            AND   nrinvoic = itab_zycbt005-nrinvoic

            AND   nrparcf  = itab_zycbt005-nrparcf

            AND   gsberf   = itab_zycbt005-gsberf

            AND   dtvincul = itab_zycbt005-dtvincul

            AND   dtvencto = itab_zycbt005-dtvencto.

        ENDIF.

* << Fim da inclusão

      LOOP AT itab_zycbt005 WHERE mark = 'X'.

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

          READ TABLE itab_zycbt006

            WITH KEY nrseqc   = itab_zycbt005-nrseqc

                     tpdesp   = itab_zycbt005-tpdesp

                     nrparc   = itab_zycbt005-nrparc

                     dtincl   = itab_zycbt005-dtincl

                     nrinvoic = itab_zycbt005-nrinvoic

                     nrparcf  = itab_zycbt005-nrparcf

                     gsberf   = itab_zycbt005-gsberf

                     dtvincul = itab_zycbt005-dtvincul

                     dtvencto = itab_zycbt005-dtvencto.

          IF sy-subrc EQ 0 AND itab_zycbt006-status EQ 'I' AND

            ( itab_zycbt005-dtcredext NE space OR

              itab_zycbt005-dtcredext NE '00000000').

            DELETE itab_zycbt005.

            CLEAR  itab_zycbt005.

          ELSE.

* << Fim da inclusão

        v_index_1 = sy-tabix.

        PERFORM busca_pgto_juros USING itab_zycbt005-nrseqc

                                       itab_zycbt005-nrparc

                                       itab_zycbt005-dtvincul

                                       itab_zycbt005-nrinvoic

...

 

...

          DELETE itab_zycbt005 INDEX v_index_1.

          CLEAR itab_zycbt005.

        ELSE.

          MESSAGE i061 WITH text-155 itab_zycbt005-nrinvoic

                            text-157 text-156.

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

            ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDLOOP.

      else.

        loop at itab_zycbt005 where mark = 'X'.

          v_index_1 = sy-tabix.

...