CE PLUS - Nota 009426

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 20/11/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:56:00

Descrição da Nota: ERRO VINCULAÇÃO/LIQUIDAÇÃO DE UM MESMO CONTRATO/FATURA EM DATAS DIFERENT

Sintoma

Ao vincular uma fatura a um contrato, depois liquidar e depois efetuar uma nova vinculação da mesma

fatura e do mesmo contrato, mas em data de vinculação diferente, não deixa efetuar a nova vinculação

(exibe mensagem de que a fatura esta liquidada) e, quando deixa, não aparece a segunda vinculação no

liquidação-criar.

 

 

Solução

Considerar a chave DTVINCUL ao ler a tabela /pws/zycbt006, que desta forma deixa de exibir mensagem

de erro na vinculação e atualiza o campo /pws/zycbt005-slpagar, permitindo assim liquidar.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DA-LIQUIDAÇÃO E VINCULAÇÃO LIQ. AUTOMÁT - NORMAL/ARBITRAGEM/PERFORMANCE

VINCULAÇÃO - ESTORNO DEVOLUÇÃO - SALDO A PAGAR/DOC.CONTÁBIL

Informações Complementares

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

Nota Número 09426 Data: 20/11/2009 Hora: 11:19:54

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

 

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

Nota Número              : 09426

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00001

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

01657  - 00001 - 6.0    - 00024  - VINCULAÇÃO - ESTORNO DEVOLUÇÃO - SALDO A PAGAR/DOC.CONTÁBIL

07760  - 00002 - 7.0    - 00007  - DA-LIQUIDAÇÃO E VINCULAÇÃO LIQ. AUTOMÁT - NORMAL/ARBITRAGEM/PERFO

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

ERRO VINCULAÇÃO/LIQUIDAÇÃO DE UM MESMO CONTRATO/FATURA EM DATAS DIFERENT

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

Palavras Chave:

ERRO VINCULAÇÃO LIQUIDAÇÃO DE UM MESMO CONTRATO FATURA EM DATAS DIFERENT

/PWS/ZYCBT005-SLPAGAR

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

Objetos da nota:

REPS /PWS/MZYCB009F03

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F03

 

...

            start_column   = 25

            start_row      = 6

            cancel_display = 'X'

       importing

            answer         = v_resposta.

  if v_resposta eq 'J'.

    loop at itab_zycbt005 where mark = 'X'.

      read table itab_zycbt006

                 with key nrinvoic = itab_zycbt005-nrinvoic

                          nrparcf  = itab_zycbt005-nrparcf

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

                          gsberf   = itab_zycbt005-gsberf.

* << Fim da exclusão

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

                          gsberf   = itab_zycbt005-gsberf

                          dtvincul = itab_zycbt005-dtvincul.

* << Fim da inclusão

      if sy-subrc eq 0 and  not

        ( ( /pws/zycbe001-tpcontr(1) eq 'C'  and

          wa_zycbt007-liq_cp    eq 'X' ) or

        ( /pws/zycbe001-tpcontr(1) eq 'D'  and

          /pws/zycbt089-f_cont_vinc eq 'F' ) ).

        v_excluida = 'N'.

        concatenate text-053 itab_zycbt005-nrinvoic into v_msg.

        message i061 with v_msg text-069 text-081.

        continue.

      else.

...

 

...

    endif.

  endif.

  if not itab_zycbt006[] is initial

    and ( ( /pws/zycbe001-tpcontr(01) eq 'A' or

            /pws/zycbe001-tpcontr(01) eq 'E'  or

            /pws/zycbe001-tpcontr(01) eq 'P' or

            /pws/zycbe001-tpcontr(01) eq 'S' ) and

            itab_zycbt005-slpagar eq 0 ).

    read table itab_zycbt006 with key nrinvoic = /pws/zycbe005-nrinvoic

                                      nrparcf  = /pws/zycbe005-nrparcf

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

                                      gsberf   = /pws/zycbe005-gsberf.

* << Fim da exclusão

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

                                      gsberf   = /pws/zycbe005-gsberf

                                      dtvincul = /pws/zycbe005-dtvincul.

* << Fim da inclusão

    if sy-subrc eq 0.

      read table itab_zycbt005_ant

        with key nrinvoic = /pws/zycbe005-nrinvoic

                 nrparcf  = /pws/zycbe005-nrparcf

                 gsberf   = /pws/zycbe005-gsberf.

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

      if /pws/zycbe005-nrinvoic ne itab_zycbt005_ant-nrinvoic or

* << Fim da exclusão

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

      if sy-subrc = 0 and

         ( /pws/zycbe005-nrinvoic ne itab_zycbt005_ant-nrinvoic or

* << Fim da inclusão

         /pws/zycbe005-nrparcf  ne itab_zycbt005_ant-nrparcf  or

         /pws/zycbe005-gsberf   ne itab_zycbt005_ant-gsberf   or

         /pws/zycbe005-vlme_p   ne itab_zycbt005_ant-vlme_p   or

         /pws/zycbe005-vlvinc   ne itab_zycbt005_ant-vlvinc   or

         /pws/zycbe005-kostl    ne itab_zycbt005_ant-kostl    or

         /pws/zycbe005-prctr    ne itab_zycbt005_ant-prctr    or

         /pws/zycbe005-txtinf   ne itab_zycbt005_ant-txtinf   or

         /pws/zycbe005-txtobs   ne itab_zycbt005_ant-txtobs   or

         /pws/zycbe005-frcont   ne itab_zycbt005_ant-frcont   or

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

         /pws/zycbe005-fipos    ne itab_zycbt005_ant-fipos.

* << Fim da exclusão

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

           /pws/zycbe005-fipos    ne itab_zycbt005_ant-fipos ).

* << Fim da inclusão

        concatenate text-053 /pws/zycbe005-nrinvoic into v_msg.

        message i061 with v_msg text-069 text-077 text-078.

        perform volta_valores_ant.

        read table itab_zycbt005_aux index v_index.

        if /pws/zycbe005-mark eq 'X'.

          itab_zycbt005-mark = 'X'.

          itab_zycbt005_aux-mark = 'X'.

        else.

          clear itab_zycbt005-mark.

          clear itab_zycbt005_aux-mark.

...

 

...

  endif.

endform.

form preenche_itab_zycbt005.

  if itab_zycbt006[] is initial.

    select * from /pws/zycbt006 into table itab_zycbt006

             where nrseqc = /pws/zycbe001-nrseqc.

  endif.

  loop at itab_zycbt005.

    loop at itab_zycbt006 where nrinvoic = itab_zycbt005-nrinvoic

                            and gsberf   = itab_zycbt005-gsberf

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

                            and nrparcf  = itab_zycbt005-nrparcf.

* << Fim da exclusão

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

                            and nrparcf  = itab_zycbt005-nrparcf

                            and dtvincul = itab_zycbt005-dtvincul.

* << Fim da inclusão

    endloop.

    if sy-subrc ne 0.

      itab_zycbt005-slpagar  = itab_zycbt005-vlvinc.

      loop at itab_zycbt050 where nrinvoic = itab_zycbt005-nrinvoic

                              and gsberf   = itab_zycbt005-gsberf

                              and nrparcf  = itab_zycbt005-nrparcf.

        itab_zycbt005-slpagar  = itab_zycbt005-slpagar -

                                 itab_zycbt050-vldev.

      endloop.

    else.

...