CE PLUS - Nota 009688

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 14/01/2010 00:00:00

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

Descrição da Nota: VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS

Sintoma

Câmbio Exportação, captação de 1 ACC gera o documento corretamente, se vincula uma fatura, a

vinculação ocorre sem problemas, porém quando faz Vinculação de 3 ou mais faturas, a primeira

fatura gera o contábil correto, a segunda fatura não sobra partida em aberto para a liquidação,

e a terceira fatura contabiliza corretamente tb.

 

 

Solução

Deixar efetuar o desmembramento do contrato, mesmo que seja vinculação total, pois desta forma irá

funcionar vinculação de contas iguais.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR CONTRATO

Informações Complementares

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

Nota Número 09688 Data: 14/01/2010 Hora: 12:28:17

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

 

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

Nota Número              : 09688

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

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

 

08536  - 00001 - 7.0    - 00009  - DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR C

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

VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS

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

Palavras Chave:

VINCULAÇÃO DE FATURAS EXPORTAÇÃO, CONTABILIZAÇÃO CONTAS IGUAIS

 

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

Objetos da nota:

REPS /PWS/MZYCB009F08

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

    endif.

  endif.

  perform limpa_itabs_contabil.

endform.

form fill_date1_f30_desm using    p_flag.

  data: v_soma like /pws/zycbt005-vlvinc,

        v_soma2  like /pws/zycbt005-vlvinc.

  data: v_cpochv like /pws/zycbe033-cpochv,

        v_kursf  like /pws/zycbe033-kursf ,

        v_vinc_total,

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

        v_linha.

* << Fim da exclusão

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

        v_linha,

        v_contas(1) type c.

* << Fim da inclusão

  clear v_dtdocto.

  clear v_f30_vinc.

  perform get_parameters_001.

  perform clear_date_batch.

  if /pws/zycbe001-dtvincul is initial

     or ( /pws/zycbe001-belnr = /pws/zycbe001-belnr2 and

          not /pws/zycbe001-belnr2 is initial ).

    case /pws/zycbe001-fdtlanc.

      when 'D'.

        v_dtdocto = /pws/zycbe001-dtdesem.

...

 

...

        separated by space.

      append itab_zycbt036.

    endif.

  endloop.

  if /pws/zycbe001-slvinc is initial.

    v_vinc_total = 'X'.

  else.

    clear v_vinc_total.

  endif.

  check sy-subrc eq 0.

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

  v_contas = 'N'.

  perform verifica_contas changing v_contas.

* << Fim da inclusão

  v_tpcontabil = 'D_CON'.

  perform busca_dados_bi using itab_zycbe033-bukrs

                               v_tpcontabil.

  loop at itab_zycbt034.

    message i016 with itab_zycbt034-descricao.

  endloop.

  if itab_zycbt034 is initial.

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

    if v_vinc_total is initial.

* << Fim da exclusão

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

    if v_vinc_total is initial or v_contas = 'S'.

* << Fim da inclusão

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

         not wa_zycbt089-rateio_cl is initial.

        call function '/PWS/ZYCB_TRANSACAO_F_30_PR'

             exporting

                  v_modo          = v_modo_bi

                  v_vinc_tot      = v_vinc_total

             tables

                  t_dados         = itab_zycbe033

                  t_campo         = itab_zycbt034

                  t_zycbt032      = itab_zycbt032

...

 

...

                  /pws/zycbe005-nrparc   /pws/zycbe005-dtincl

                  /pws/zycbe005-nrinvoic /pws/zycbe005-gsber

                  /pws/zycbe005-nrparcf

                  /pws/zycbe005-dtvincul /pws/zycbe005-dtvencto

                  into v_cpochv.

      read table itab_zycbt032 with key tcode  = text-041

                                        tabela = text-002

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      if sy-subrc = 0

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

         or not v_vinc_total is initial.

* << Fim da exclusão

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

        or ( not v_vinc_total is initial and v_contas = 'N' ).

* << Fim da inclusão

        v_status_s = '0'.

        clear v_doc_f30.

        if not itab_zycbt032-belnr is initial.

          v_dtdocto      = itab_zycbe033-budat.

          v_belnr_001    = itab_zycbt032-belnr.

          v_doc_f30   = 'X'.

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

        elseif not v_vinc_total is initial.

* << Fim da exclusão

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

        elseif ( not v_vinc_total is initial and v_contas = 'N' ).

* << Fim da inclusão

          v_dtdocto      = itab_zycbe033-budat.

          v_belnr_001    = itab_zycbe033-belnr.

          v_doc_f30   = 'X'.

        endif.

        clear v_ind_errocont.

        read table itab_zycbt005 with key

                                      nrinvoic = itab_zycbt017-nrinvoic

                                      nrparcf  = itab_zycbt017-nrparcf

                                      gsberf   = itab_zycbt017-gsberf.

        check sy-subrc = 0.

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

        if v_vinc_total is initial.

* << Fim da exclusão

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

        if v_vinc_total is initial or v_contas = 'S'.

* << Fim da inclusão

          read table itab_zycbe033 with key cpochv = v_cpochv.

          itab_zycbt077-belnr = itab_zycbt032-belnr.

          itab_zycbt077-bukrs = itab_zycbe033-bukrs.

          itab_zycbt077-gjahr = itab_zycbe033-budat(4).

          itab_zycbt077-status = 'C'.

          itab_zycbt077-tcode = itab_zycbt032-tcode.

          concatenate text-198 /pws/zycbe001-tpcontr into

                itab_zycbt077-codeven.

          itab_zycbt077-codmod = 'E'.

          itab_zycbt077-nrseqc = /pws/zycbe001-nrseqc.

...

 

...

        clear v_f30_vinc.

        clear v_desm.

        loop at itab_zycbt005 where flag = p_flag.

          if not v_doc_f30 is initial.

            if v_desm is initial or

               /pws/zycbe001-slvinc > 0.

              move v_belnr_001 to v_desm.

            endif.

            perform clear_date_batch.

            perform fill_date1_f30_vinc.

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

            if not v_contas = 'S'.

* << Fim da inclusão

            v_desm = itab_zycbt005-belnr.

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

            endif.

* << Fim da inclusão

            if v_subrc ne 0.

              exit.

            endif.

            itab_zycbt005-flag = ' '.

            modify itab_zycbt005.

          endif.

...

 

...

        nrparc = itab_zycbt002saldo-nrparc.

        itab_zycbt002e-slvinc = itab_zycbt002saldo-slvinc.

        modify itab_zycbt002e transporting slvinc

        where  nrseqc = itab_zycbt002saldo-nrseqc

        and    nrparc = itab_zycbt002saldo-nrparc

        and    tpparc = itab_zycbt002saldo-tpparc.

      endif.

    endloop.

  endif.

endform.

* >> Início da inclusão:

form verifica_contas changing v_contas.

  data: v_aux_agkon    type /pws/zycbe033-agkon,

        v_aux_d_newko  type /pws/zycbe033-d_newko.

  v_prazo = /pws/zycbe001-przcontr.

  v_contas = 'N'.

  if /pws/zycbe001-tpcontr(1) = 'A' or

     /pws/zycbe001-tpcontr(1) = 'T' or

     /pws/zycbe001-tpcontr(1) = 'P' or

     /pws/zycbe001-tpcontr(1) = 'S' or

     /pws/zycbe001-tpcontr(1) = 'D'.

    if /pws/zycbe001-tpcontr(1) ne 'D'.

      concatenate /pws/zycbe001-tpcontr v_prazo

                  into v_codaux1 separated by space.

      call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           exporting

                bukrs           = /pws/zycbe001-bukrs

                ktosl           = 'CPT'

                codaux1         = v_codaux1

           tables

                account         = itab_zyglt316

           exceptions

                key_not_found   = 1

                rules_not_found = 2

                others          = 3.

      if sy-subrc eq 0.

        read table itab_zyglt316 index 1.

        v_aux_agkon = itab_zyglt316-konth.

      endif.

    else.

      v_aux_agkon = /pws/zycbe001-kunnr.

    endif.

    concatenate 'E' v_prazo

                into v_codaux1 separated by space.

    call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         exporting

              bukrs           = /pws/zycbe001-bukrs

              ktosl           = 'CPT'

              codaux1         = v_codaux1

              codaux2         = /pws/zycbe001-tpcontr

         tables

              account         = itab_zyglt316

         exceptions

              key_not_found   = 1

              rules_not_found = 2

              others          = 3.

    if sy-subrc eq 0.

      read table itab_zyglt316 index 1.

      v_aux_d_newko = itab_zyglt316-konth.

    endif.

    if v_aux_agkon = v_aux_d_newko.

       v_contas = 'S'.

    endif.

  endif.

endform.

* << Fim da inclusão