CE PLUS - Nota 009178

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 09/10/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:14:26

Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC/ACE

Sintoma

Ao executar a Rotina Mensal de Exportação, com separação de ACC/ACE, o programa separa corretamente

os valores, mas a conta de ACE não deve ser utilizada e sim a de ACC. No cenário a data de pagamento

no exterior esta preenchida na liquidação, com fleg ao lado, só que a data da vinculação é maior que

a data de pagamento no exterior, por isso tem que ser conta de ACC.

 

 

Solução

Ao buscar a conta de provisão do período de ACE do programa(ftpj = E), verificar se a data de

pagamento no exterior é maior que a data da vinculação. Se não for, a conta deverá ser de ACC e não

de ACE;

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXPORTAÇÃO - JUROS SOBRE DIAS INCORRETOS - VALOR INCORRETO

ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ

Informações Complementares

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

Nota Número 09178 Data: 09/10/2009 Hora: 15:03:53

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

 

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

Nota Número              : 09178

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

 

04193  - 00001 - 7.0    - 00002  - ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ

05938  - 00002 - 7.0    - 00004  - ROTINA MENSAL EXPORTAÇÃO - JUROS SOBRE DIAS INCORRETOS - VALOR IN

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

ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC/ACE

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

Palavras Chave:

ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC ACE

DATA DE PAGAMENTO NO EXTERIOR DATA LIQUIDAÇÃO DATA VINCULAÇAO

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

Objetos da nota:

REPS /PWS/ZYCBI003

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBI003

 

...

    when 3.

  endcase.

  read table itab_contas index 1.

  if sy-subrc = 0.

    itab_relat-c_newko = itab_contas-konth.

  endif.

  clear itab_zycbt011.

  v_tpcontr = itab_relat-tpcontr.

  if /pws/zyglt009-cont_rot_sep eq 'S'.

    if itab_relat-tpcontr(1) eq 'A' and

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

       itab_relat-ftpj       eq 'E'.

* << Fim da exclusão

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

       itab_relat-ftpj       eq 'E'

       and ( v_jace is initial or

             ( not v_jace is initial and

               not v_dtpagto is initial and

               not itab_zycbt005-dtvincul is initial and

               not v_dtpagto < itab_zycbt005-dtvincul ) ).

* << Fim da inclusão

      v_codeven = '005E'.

    else.

      concatenate '005' itab_relat-tpcontr into v_codeven.

    endif.

  else.

    concatenate '005' itab_zycbt001-tpcontr into v_codeven.

  endif.

  read table itab_zycbt011 with key codeven = v_codeven.

  itab_relat-blart   = itab_zycbt011-blart.

  itab_relat-d_sgtxt = itab_zycbt011-txtdesc.

...

 

...

    v_codaux1 = 'J'.

  endif.

  v_codaux2 = v_tpcontr.

  if itab_zycbt001-tpcontr eq 'A' or

     itab_zycbt001-tpcontr eq 'E' or

     itab_zycbt001-tpcontr eq 'TR'.

    if /pws/zyglt009-cont_rot_sep eq 'S'.

      if itab_relat-ftpj = 'A'.

        v_codaux3 = 'ACC'.

      elseif itab_relat-ftpj = 'E'.

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

        if v_jace is initial or

           ( not v_jace is initial and

             not v_dtpagto is initial and

             not itab_zycbt005-dtvincul is initial and

             not v_dtpagto < itab_zycbt005-dtvincul ).

* << Fim da inclusão

        v_codaux3 = 'ACE'.

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

        else.

          v_codaux3 = 'ACC'.

        endif.

* << Fim da inclusão

      else.

        clear v_codaux3.

      endif.

    else.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  v_imp           type i,

  v_ec            type i,

  v_nrparcj       type /pws/zycbt002-nrparc,

 v_programa       type sy-cprog,

  v_defator       like tcurr-ffact,

  v_parafator     like tcurr-tfact,

  v_separa        type c,

  v_vlprov_aux    like /pws/zycbt004-vlme,

  v_fprov         type /pws/zycbt007-fprovisao,

  v_liq           type c.

* >> Início da inclusão:

data: v_jace    type c,

      v_dtpagto type sy-datum.

* << Fim da inclusão

selection-screen begin of block a1 with frame title text-001.

parameters: s_bukrs  like /pws/zycbt001-bukrs obligatory,

            s_dtentr like sy-datum obligatory.

parameters: p_agrup as checkbox.

selection-screen end of block a1.

selection-screen begin of block b2 with frame title text-046.

parameters: s_rbrotm radiobutton group rg1,

           s_rbrotd radiobutton group rg1,

           s_rbrela radiobutton group rg1.

selection-screen end of block b2.

...

 

...

    clear v_dias_mes.

    if not s_rbrotd is initial.

      perform data_inicio.

      if itab_relat-dtde =< v_dtinicio and

         itab_relat-dtate => v_dtinicio.

        v_dias_mes = itab_relat-dtate - v_dtinicio.

      else.

        v_dias_mes = itab_relat-dtate - itab_relat-dtde.

      endif.

    endif.

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

    v_jace = 'X'.

    v_dtpagto = p_dtfim.

* << Fim da inclusão

    perform preenche_itab_relat.

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

    clear: v_jace, v_dtpagto.

* << Fim da inclusão

    check not itab_relat is initial.

    check itab_relat-dtde =< itab_relat-dtate.

    v_dtate = itab_relat-dtate.

    perform processa_calculo_juros using p_vlme

                                         itab_zycbt002j-txjtotal

                                         itab_zycbt002j-tptxjur

...

 

...

        v_txjtotal = itab_zycbt005-txjtotal.

        v_tptxjur  = itab_zycbt005-tptxjur.

      else.

        v_txjtotal = itab_zycbt002j-txjtotal.

        v_tptxjur  = itab_zycbt002j-tptxjur.

      endif.

      itab_relat-vlme  = p_vlme.

      itab_relat-ftpj  = 'E'.

      itab_relat-dtde  = v_dtate.

      itab_relat-dtate = p_dtfim.

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

      v_jace = 'X'.

      v_dtpagto = p_dtfim.

* << Fim da inclusão

      perform preenche_itab_relat.

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

      clear: v_jace, v_dtpagto.

* << Fim da inclusão

      check not itab_relat is initial.

      check itab_relat-dtde =< itab_relat-dtate.

      perform processa_calculo_juros using p_vlme

                                           v_txjtotal

                                           v_tptxjur

                                           v_dtate

...

 

...

      v_txjtotal = itab_zycbt005-txjtotal.

      v_tptxjur  = itab_zycbt005-tptxjur.

    else.

      v_txjtotal = itab_zycbt002j-txjtotal.

      v_tptxjur  = itab_zycbt002j-tptxjur.

    endif.

    itab_relat-vlme  = p_vlme.

    itab_relat-ftpj  = 'E'.

    itab_relat-dtde  = itab_zycbt005-dtvincul.

    itab_relat-dtate = p_dtfim.

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

    v_jace = 'X'.

    v_dtpagto = p_dtfim.

* << Fim da inclusão

    perform preenche_itab_relat.

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

    clear: v_jace, v_dtpagto.

* << Fim da inclusão

    check not itab_relat is initial.

    check itab_relat-dtde =< itab_relat-dtate.

    if v_dtate is initial.

      v_dtate = itab_relat-dtde.

    endif.

    perform processa_calculo_juros using p_vlme

...