CE PLUS - Nota 009903

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 04/03/2010 00:00:00

Data/Hora Última Alteração: 21/02/2011 10:22:43

Descrição da Nota: VINCULAÇÃO COM LIQ AUTOMÁTICA - MENSAGEM INCORRETA DOCUMENTO COMPENSADO

Sintoma

Ao criar uma vinculação com liquidação automática, de Câmbio Pronto ou Down Payment, esta exibindo

mensagem de que o documento esta compensado ou não existe, mas o mesmo esta ok.

 

 

Solução

Incluir um sort na tabela interna itab_zycbt033_vinc pelo campo DTVINCUL, para que a lógica de busca

da data fique consistente.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

VINCULAÇÃO E LIQUIDAÇÃO DE FATURAS

VINCULAÇÃO/LIQUIDAÇÃO - CHAVE REFERÊNCIA E DATA LANÇAMENTO CONTRATO

LIQUIDAÇÃO - MENSAGEM INCORRETA DE DOCUMENTO COMPENSADO

Informações Complementares

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

Nota Número 09903 Data: 04/03/2010 Hora: 15:35:41

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

 

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

Nota Número              : 09903

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00011

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

Referência às notas relacionadas:

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

 

08692  - 00001 - 7.0    - 00010  - VINCULAÇÃO/LIQUIDAÇÃO - CHAVE REFERÊNCIA E DATA LANÇAMENTO CONTRA

08863  - 00002 - 7.0    - 00010  - LIQUIDAÇÃO - MENSAGEM INCORRETA DE DOCUMENTO COMPENSADO

09394  - 00003 - 8.0    - 00001  - VINCULAÇÃO E LIQUIDAÇÃO DE FATURAS

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

VINCULAÇÃO COM LIQ AUTOMÁTICA - MENSAGEM INCORRETA DOCUMENTO COMPENSADO

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

Palavras Chave:

VINCULAÇÃO COM LIQ AUTOMÁTICA MENSAGEM INCORRETA DOCUMENTO COMPENSADO

 

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

Objetos da nota:

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB004F03

REPS /PWS/MZYCB009F04

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

          itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.

        else.

         itab_zycbe033-dtdocto = /pws/zycbe001-dtvincul.

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

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

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

              wa_zycbt007-liq_cp        eq 'X' ).

           select * from /pws/zycbt005 into table itab_zycbt005_vinc

                    where nrseqc = /pws/zycbe001-nrseqc

                      and status = 'C'.

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

            sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

           describe table itab_zycbt005_vinc lines v_linha.

           while v_linha > 0.

             read table itab_zycbt005_vinc index v_linha.

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

              if sy-subrc = 0.

                select dtvincul

                     up to 1 rows

                     from /pws/zycbt005 into wa_zycbt005-dtvincul

                     where nrseqc   = /pws/zycbe001-nrseqc

                       and dtvincul > itab_zycbt005_vinc-dtvincul

                       and status   ne 'C'.

                endselect.

                if sy-subrc ne 0.

                  exit.

                endif.

              endif.

* << Fim da inclusão

             if sy-subrc = 0

                and

                itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

                and

                itab_zycbt005_vinc-dtvincul < /pws/zycbe001-dtvincul.

               itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.

               exit.

             else.

               v_linha = v_linha - 1.

             endif.

...

 

...

        itab_zycbe033-belnr  = itab_zycbt005-belnr.

      endif.

      itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.

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

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

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

           wa_zycbt007-liq_cp        eq 'X' ).

        select * from /pws/zycbt005 into table itab_zycbt005_vinc

                 where nrseqc = /pws/zycbe001-nrseqc

                   and status = 'C'.

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

        sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

        describe table itab_zycbt005_vinc lines v_linha.

        while v_linha > 0.

          read table itab_zycbt005_vinc index v_linha.

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

          if sy-subrc = 0.

            select dtvincul

                 up to 1 rows

                 from /pws/zycbt005 into wa_zycbt005-dtvincul

                 where nrseqc   = /pws/zycbe001-nrseqc

                   and dtvincul > itab_zycbt005_vinc-dtvincul

                   and status   ne 'C'.

            endselect.

            if sy-subrc ne 0.

              exit.

            endif.

          endif.

* << Fim da inclusão

          if sy-subrc = 0

             and

             itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

             and

             itab_zycbt005_vinc-dtvincul < itab_zycbt005-dtbelnr.

            itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.

            exit.

          else.

            v_linha = v_linha - 1.

          endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

          itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.

        else.

          itab_zycbe033-dtdocto = v_zycbe001-dtvincul.

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

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

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

               wa_zycbt007-liq_cp        eq 'X' ).

            select * from /pws/zycbt005 into table itab_zycbt005_vinc

                     where nrseqc = /pws/zycbe001-nrseqc

                       and status = 'C'.

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

            sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

            describe table itab_zycbt005_vinc lines v_linha.

            while v_linha > 0.

              read table itab_zycbt005_vinc index v_linha.

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

              if sy-subrc = 0.

                select dtvincul

                     up to 1 rows

                     from /pws/zycbt005 into wa_zycbt005-dtvincul

                     where nrseqc   = /pws/zycbe001-nrseqc

                       and dtvincul > itab_zycbt005_vinc-dtvincul

                       and status   ne 'C'.

                endselect.

                if sy-subrc ne 0.

                  exit.

                endif.

              endif.

* << Fim da inclusão

              if sy-subrc = 0

                 and

                 itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

                 and

                 itab_zycbt005_vinc-dtvincul < v_zycbe001-dtvincul.

                itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.

                exit.

              else.

                v_linha = v_linha - 1.

              endif.

...

 

...

        endcase.

      elseif itab_zycbt006-belnr5 = itab_zycbt005-belnr.

        itab_zycbe033-dtdocto = itab_zycbt005-dtvincul.

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

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

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

             wa_zycbt007-liq_cp        eq 'X' ).

          select * from /pws/zycbt005 into table itab_zycbt005_vinc

                   where nrseqc = /pws/zycbe001-nrseqc

                     and status = 'C'.

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

          sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

          describe table itab_zycbt005_vinc lines v_linha.

          while v_linha > 0.

            read table itab_zycbt005_vinc index v_linha.

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

            if sy-subrc = 0.

              select dtvincul

                   up to 1 rows

                   from /pws/zycbt005 into wa_zycbt005-dtvincul

                   where nrseqc   = /pws/zycbe001-nrseqc

                     and dtvincul > itab_zycbt005_vinc-dtvincul

                     and status   ne 'C'.

              endselect.

              if sy-subrc ne 0.

                exit.

              endif.

            endif.

* << Fim da inclusão

            if sy-subrc = 0

               and

               itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

               and

               itab_zycbt005_vinc-dtvincul < itab_zycbt005-dtvincul.

              itab_zycbe033-dtdocto = itab_zycbt005_vinc-dtvincul.

              exit.

            else.

              v_linha = v_linha - 1.

            endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F03

 

...

          endif.

        else.

          assign /pws/zycbe001-dtvincul to <fs_dtdocto>.

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

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

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

               wa_zycbt007-liq_cp        eq 'X' ).

            select * from /pws/zycbt005 into table itab_zycbt005_vinc

                     where nrseqc = /pws/zycbe001-nrseqc

                       and status = 'C'.

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

            sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

            describe table itab_zycbt005_vinc lines v_linha.

            while v_linha > 0.

              read table itab_zycbt005_vinc index v_linha.

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

              if sy-subrc = 0.

                select dtvincul

                     up to 1 rows

                     from /pws/zycbt005 into wa_zycbt005-dtvincul

                     where nrseqc   = /pws/zycbe001-nrseqc

                       and dtvincul > itab_zycbt005_vinc-dtvincul

                       and status   ne 'C'.

                endselect.

                if sy-subrc ne 0.

                  exit.

                endif.

              endif.

* << Fim da inclusão

              if sy-subrc = 0

                 and

                 itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

                 and

                 itab_zycbt005_vinc-dtvincul < <fs_dtdocto>.

                assign itab_zycbt005_vinc-dtvincul to <fs_dtdocto>.

                exit.

              else.

                v_linha = v_linha - 1.

              endif.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F04

 

...

    endif.

  else.

    assign /pws/zycbe001-dtvincul to <fs_dtdocto>.

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

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

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

         wa_zycbt007-liq_cp        eq 'X' ).

      select * from /pws/zycbt005 into table itab_zycbt005_vinc

               where nrseqc = /pws/zycbe001-nrseqc

                 and status = 'C'.

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

      sort itab_zycbt005_vinc by dtvincul.

* << Fim da inclusão

      describe table itab_zycbt005_vinc lines v_line.

      while v_line > 0.

        read table itab_zycbt005_vinc index v_line.

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

        if sy-subrc = 0.

          select dtvincul

               up to 1 rows

               from /pws/zycbt005 into wa_zycbt005-dtvincul

               where nrseqc   = /pws/zycbe001-nrseqc

                 and dtvincul > itab_zycbt005_vinc-dtvincul

                 and status   ne 'C'.

          endselect.

          if sy-subrc ne 0.

            exit.

          endif.

        endif.

* << Fim da inclusão

        if sy-subrc = 0

           and

           itab_zycbt005_vinc-slpagar < itab_zycbt005_vinc-vlvinc

           and

           itab_zycbt005_vinc-dtvincul < /pws/zycbe001-dtvincul.

          assign itab_zycbt005_vinc-dtvincul to <fs_dtdocto>.

          exit.

        else.

          v_line = v_line - 1.

        endif.

...