CE PLUS - Nota 011308

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 11/07/2011 00:00:00

Data/Hora Última Alteração: 12/07/2011 10:42:26

Descrição da Nota: ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZAÇÃO

Sintoma

O programa estava exibindo valores incorretos na somatória do valor MI por contrato e tipo de

contrato.

Na contabilização da provisão de juros o sistema está levando a taxa de pagamento para a conversão

do valor MI

 

 

Solução

O programa foi ajustado para considerar a taxa correta para efetuar a somatória

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXP-CLEARING-ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/ACE

ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL -DUPLICIDADE LP/CP-EXIT RME002

ROTINA MENSAL EXPORTAÇÃO - VALOR MI SUBTOTAL E TOTAL

CODE INSPECTOR(ROTINA MENSAL)

ROTINA MENSAL EXPORTAÇÃO - SEPARAÇÃO ACC/ACE - CONTABILIZAÇÃO

ROTINA MENSAL EM JPY

ROTINA MENSAL EXPORTAÇÃO - NÃO GERA CONTABILIZAÇÃO

ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = SIM

ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - DUPLICIDADE PROVISÕES

ROTINA MENSAL COM TRANSFERÊNCIA DE LONGO PARA CURTO, GERAVA F-30 A MAIS

Informações Complementares

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

Nota Número 11308 Data: 11/07/2011 Hora: 10:02:35

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

 

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

Nota Número              : 11308

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00008

Agrupamento              : 00076

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

Referência às notas relacionadas:

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

 

01054  - 00001 - 6.0    - 00023  - ROTINA MENSAL COM TRANSFERÊNCIA DE LONGO PARA CURTO, GERAVA F-30

01309  - 00002 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S

01441  - 00003 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO - VALOR MI SUBTOTAL E TOTAL

04627  - 00004 - 7.0    - 00002  - ROTINA MENSAL EM JPY

04930  - 00005 - 7.0    - 00003  - CODE INSPECTOR(ROTINA MENSAL)

05063  - 00006 - 7.0    - 00003  - ROTINA MENSAL EXPORTAÇÃO - NÃO GERA CONTABILIZAÇÃO

05316  - 00007 - 7.0    - 00003  - ROTINA MENSAL EXPORTAÇÃO - SEPARAÇÃO ACC/ACE - CONTABILIZAÇÃO

09009  - 00008 - 8.0    - 00001  - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL -DUPLICIDADE LP/CP-EXIT

10485  - 00009 - 8.0    - 00004  - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - DUPLICIDADE PROVISÕES

10636  - 00010 - 8.0    - 00005  - ROTINA MENSAL EXP-CLEARING-ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/A

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

ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZAÇÃO

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

Palavras Chave:

ROTINA MENSAL - SOMATÓRIA VALOR MI - TAXA DA OB08 PARA CONTABILIZAÇÃO

 

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

Objetos da nota:

REPS /PWS/ZYCBI003

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBI003

 

...

        v_vlirprov   like /pws/zycbt154-vlme,

        v_faux,

        v_waers      like /pws/zycbt001-waers,

        v_nrdias(8)  type n,

        v_tjuros     like /pws/zycbt004-vlme,

        v_primeiro   type c,

        v_conta_dif  type c,

        v_vlmej2     like /pws/zycbt001-vlme,

        v_vlmeir2    like /pws/zycbt001-vlme,

        v_conta_dif_parametro  type c.

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

  data: v_vlmij_contr type /pws/zycbt001-vlme.

* << Fim da inclusão

  data: begin of itab_sub_tipo occurs 5,

          tpcontab(02) type c,

          tpcontr  like /pws/zycbt001-tpcontr,

          waers    like /pws/zycbt001-waers,

          vlmej    like /pws/zycbt001-vlme,

          vlme_mes like /pws/zycbt001-vlme,

          vlmeir   like /pws/zycbt001-vlme,

          vlmij    like /pws/zycbt001-vlmi,

          vlmi_mes like /pws/zycbt001-vlmi,

        end of itab_sub_tipo.

...

 

...

          itab_relat-vlirprov = v_vlmeir2 - v_vlirprov.

          modify itab_relat index v_sytabix

                            transporting vlrprov vlirprov.

          clear: v_vlmej2, v_vlmeir2.

        endif.

      endif.

      if not v_conta_dif_parametro is initial.

        clear: v_vlmej2, v_vlmeir2.

      endif.

    endat.

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

    perform calcula_vlmi using aux_relat-tpcontr

                               aux_relat-waers

                               aux_relat-vlmej

                               aux_relat-txc

                         changing v_vlmij.

    v_vlmij_contr = v_vlmij_contr + v_vlmij.

* << Fim da inclusão

    at end of nrseqc.

      if itab_relat-tpcontab is initial or

         itab_relat-tpcontab eq 'PR'    or

         ( itab_relat-tpcontab   eq 'C'   and

           wa_zycbt007-fprovisao ne 'C' ).

        v_faux = 'X'.

        sum.

        clear v_tjuros.

        loop at itab_zycbt004 where nrseqc    = aux_relat-nrseqc

                              and   tpdesp(1) = 'J'.

...

 

...

        else.

          itab_relat-vlirprov = itab_relat-vlmeir.

          itab_relat-vlrprov = itab_relat-vlmej.

          modify itab_relat index v_sytabix transporting

                                           vlrprov vlirprov.

        endif.

        move itab_relat-vlmej  to v_vlmej.

        move itab_relat-vlmij  to v_vlmij.

        move itab_relat-vlmeir to v_vlmeir.

        uline.

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

        perform calcula_vlmi using aux_relat-tpcontr

                                   aux_relat-waers

                                   v_vlmej

                                   v_txc

                             changing v_vlmij.

* << Fim da exclusão

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

        read table itab_tcurx with key currkey = aux_relat-waers.

        if sy-subrc           eq 0   and

           itab_tcurx-currdec eq 0.

          v_vlmij = v_vlmij_contr /

              ( 10 ** ( itab_tcurx-currdec - 2 ) ).

        else.

          itab_tcurx-currdec = 2.

        endif.

* << Fim da inclusão

        format color col_normal intensified on.

        write: /    sy-vline,

                    text-106,

                172 v_vlmej currency v_waers,

                    v_waers,

               (16) v_vlmij currency wa_zycbt007-waersb.

        write: 225 v_vlmeir currency v_waers no-zero.

        write:   at v_tamr sy-vline.

        format color off.

        format color col_normal intensified off.

...

 

...

                172 itab_relat-vlrprov currency v_waers,

                    v_waers,

                225 itab_relat-vlirprov currency v_waers no-zero.

        write:   at v_tamr sy-vline.

        format color off.

        uline.

      endif.

      clear v_primeiro.

      perform exibe_top_relatorio.

      clear: v_vlmej2, v_vlmeir2.

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

      clear v_vlmij_contr.

* << Fim da inclusão

    endat.

    if not v_faux is initial.

      clear v_faux.

      if itab_relat-f_encerrado = 'I'.

        if not v_vlmej is initial.

          move-corresponding itab_relat to itab_msg.

          itab_msg-tpmsg    = 'W'.

          write v_vlmej to v_vlmejc currency itab_relat-waers.

          concatenate text-015 v_vlmejc into itab_msg-msg.

          append itab_msg.

...

 

...

    if itab_relat-tpcontab is initial.

      itab_sub_tipo-tpcontab = itab_relat-tpcontab.

      itab_sub_tipo-tpcontr  = itab_relat-tpcontr.

      itab_sub_tipo-waers    = itab_relat-waers.

      itab_sub_tipo-vlmej    = itab_relat-vlmej.

      itab_sub_tipo-vlme_mes = itab_relat-vlme_mes.

      if <fs_itab_relat> is assigned.

        perform calcula_vlmi using <fs_itab_relat>-tpcontr

                                   <fs_itab_relat>-waers

                                   itab_relat-vlmej

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

                                   <fs_itab_relat>-txc

* << Fim da exclusão

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

                                   itab_relat-txc

* << Fim da inclusão

                          changing itab_sub_tipo-vlmij.

      else.

        itab_sub_tipo-vlmi_mes = itab_relat-vlmi_mes.

      endif.

      itab_sub_tipo-vlmeir   = itab_relat-vlmeir.

      collect itab_sub_tipo.

      itab_total-tpcontab = itab_relat-tpcontab.

      itab_total-waers    = itab_relat-waers.

      itab_total-vlmej    = itab_relat-vlmej.

      if <fs_itab_relat> is assigned.

        perform calcula_vlmi using <fs_itab_relat>-tpcontr

                                   <fs_itab_relat>-waers

                                   itab_relat-vlmej

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

                                   <fs_itab_relat>-txc

* << Fim da exclusão

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

                                   itab_relat-txc

* << Fim da inclusão

                          changing itab_total-vlmij.

      else.

        itab_total-vlmij    = itab_relat-vlmij.

      endif.

      itab_total-vlmeir   = itab_relat-vlmeir.

      itab_total-vlme_mes = itab_relat-vlme_mes.

      itab_total-vlmi_mes = itab_relat-vlmi_mes.

      collect itab_total.

      if wa_zycbt007-fprovisao is initial.

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

...

 

...

              changing value(v_vlrjprov).

  if wa_itab_relat-tpcontab = 'T' and p_vlmej is initial.

    exit.

  endif.

  move-corresponding wa_itab_relat to itab_contabil.

  itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.

  if wa_itab_relat-tpcontr(1) = 'P' or

     wa_itab_relat-tpcontr(1) = 'S'.

    itab_contabil-nrparcp    = wa_itab_relat-nrparcj.

  endif.

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

  itab_contabil-kursf      = wa_itab_relat-txc.

* << Fim da exclusão

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

  itab_contabil-kursf      = v_kursf.

* << Fim da inclusão

  itab_contabil-dtcont     = s_dtentr.

  itab_contabil-vlme       = p_vlmej.

  if wa_zycbt007-fprovisao  = space.

    itab_contabil-nrcorresp = wa_itab_relat-nrseqc.

    itab_contabil-vlrprov   = itab_contabil-vlme.

    append itab_contabil.

    clear itab_contabil.

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

    clear v_kursf.

* << Fim da inclusão

  else.

    itab_contabil-nrcorresp = wa_itab_relat-nrseqc.

    if not p_impr is initial.

      itab_contabil-vlrprov   = itab_contabil-vlme.

    endif.

  endif.

  if ( /pws/zyglt009-calc_rot_sep eq 'S'   or

       /pws/zyglt009-cont_rot_sep eq 'S' ) and

     wa_zycbt007-fprovisao      = 'C'.

    itab_contabil-subtotal = 'X'.

  endif.

  append itab_contabil.

  clear v_vlrjprov.

  v_vlrjprov = itab_contabil-vlme.

  clear itab_contabil.

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

  clear v_kursf.

* << Fim da inclusão

endform.

form get_parameters_001.

  clear wa_zycbt007.

  if not s_bukrs is initial.

    select single * from /pws/zycbt007

                    into wa_zycbt007

                    where bukrs eq s_bukrs.

  endif.

  clear itab_zycbt011.

  select * from /pws/zycbt011

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  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.

data: v_jace       type c,

      v_dtpagto    type sy-datum.

data: v_vinculacao type c.

data: v_msg(150) type c.

* >> Início da inclusão:

data: v_kursf type /pws/zycbe033-kursf.

* << Fim da inclusão

constants: v_jl(2) type c value 'JL'.

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.

...

 

...

        v_ftpj     like itab_relat-ftpj,

        v_tpcontab like itab_relat-tpcontab.

  itab_relat_aux[] = itab_relat[].

  if wa_zycbt007-fprovisao eq 'C'.

    delete itab_relat

        where tpcontab eq 'C' and

              vlrprov  is initial.

  endif.

  loop at itab_relat.

    v_tabix = sy-tabix.

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

    if itab_relat-vlmej > 0 and

       v_kursf is initial.

      v_kursf = itab_relat-txc.

    endif.

* << Fim da inclusão

    itab_contabil_aux[] = itab_contabil[].

    select name1

           up to 1 rows

           into (lfa1-name1)

           from lfa1

           where lifnr = itab_relat-bco.

    endselect.

    if sy-subrc eq 0.

      itab_relat-descbanc = lfa1-name1.

    else.

...

 

...

            v_cont = v_cont + 1.

          endloop.

          read table itab_contabil_aux with key

                                     nrcorresp = wa_itab_relat-nrseqc

                                     tpcontab  = wa_itab_relat-tpcontab.

          if sy-subrc ne 0 and

             not itab_relat-vlrprov is initial and

             wa_itab_relat-nrparcj = v_cont.

            move-corresponding wa_itab_relat to itab_contabil.

            itab_contabil-nrparcp    = wa_itab_relat-nrparcp.

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

            itab_contabil-kursf      = wa_itab_relat-txc.

* << Fim da exclusão

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

            itab_contabil-kursf      = v_kursf.

* << Fim da inclusão

            itab_contabil-dtcont     = s_dtentr.

            itab_contabil-vlme       = itab_relat-vlrprov.

            itab_contabil-vlmeir     = itab_relat-vlirprov.

            itab_contabil-nrcorresp  = wa_itab_relat-nrseqc.

            append itab_contabil.

            clear itab_contabil.

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

            clear v_kursf.

* << Fim da inclusão

          endif.

...

 

...

          v_nrparcj = itab_relat-nrparcj.

          add itab_relat-vlmej    to v_vlmej_w.

          add itab_relat-vlmeir   to v_vlmeir_w.

          add itab_relat-vlrprov  to v_vlprov.

          add itab_relat-vlirprov to v_vlprovir.

          if not itab_relat-vlrprov is initial.

            move-corresponding wa_itab_relat to itab_contabil.

            itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.

            itab_contabil-nrparcp    = wa_itab_relat-nrparcj.

            itab_contabil-dtcont     = s_dtentr.

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

            itab_contabil-kursf      = wa_itab_relat-txc.

* << Fim da exclusão

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

            itab_contabil-kursf      = v_kursf.

* << Fim da inclusão

            itab_contabil-vlme       = wa_itab_relat-vlrprov.

            itab_contabil-vlmeir     = wa_itab_relat-vlirprov.

            itab_contabil-nrcorresp  = wa_itab_relat-nrseqc.

            append itab_contabil.

            clear itab_contabil.

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

            clear v_kursf.

* << Fim da inclusão

          endif.

        else.

...

 

...

                                          nrcorresp = itab_relat-nrseqc.

                  if sy-subrc ne 0.

                    if not itab_relat-vlmej_contr is initial.

                      itab_contabil-vlrprov = itab_relat-vlmej_contr.

                    elseif not itab_relat-vlmej_ace is initial.

                      itab_contabil-vlrprov = itab_relat-vlmej_ace.

                    endif.

                  endif.

                endif.

              endif.

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

              itab_contabil-kursf      = wa_itab_relat-txc.

* << Fim da exclusão

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

              itab_contabil-kursf      = v_kursf.

* << Fim da inclusão

              itab_contabil-dtcont     = s_dtentr.

              if /pws/zyglt009-calc_rot_sep = 'S'.

                itab_contabil-vlme = itab_relat-vlmej.

              else.

                itab_contabil-vlme = itab_relat-vlrprov.

              endif.

              itab_contabil-vlmeir     = itab_relat-vlirprov.

              if wa_zycbt007-fprovisao  <> space.

                itab_contabil-nrcorresp = wa_itab_relat-nrseqc.

              endif.

              append itab_contabil.

              clear itab_contabil.

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

              clear v_kursf.

* << Fim da inclusão

            endif.

          else.

            add itab_relat-vlrprov  to v_vlprov.

          endif.

        endif.

      endif.

    else.

      clear v_vlmej_w.

      add itab_relat-vlmetransf to v_vlmej_w.

      move-corresponding wa_itab_relat to itab_contabil.

      itab_contabil-vlmetransf  =  wa_itab_relat-vlmetransf.

      itab_contabil-nrparcp     =  wa_itab_relat-nrparcp.

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

      itab_contabil-kursf       =  wa_itab_relat-txc.

* << Fim da exclusão

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

      itab_contabil-kursf       =  v_kursf.

* << Fim da inclusão

      itab_contabil-dtcont      =  s_dtentr.

      itab_contabil-vlme        =  itab_relat-vlrprov.

      if wa_zycbt007-fprovisao  <> space.

        itab_contabil-nrcorresp =  wa_itab_relat-nrseqc.

      endif.

      append itab_contabil.

      clear itab_contabil.

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

      clear v_kursf.

* << Fim da inclusão

    endif.

    v_bukrs   = itab_relat-bukrs.

    v_waers   = itab_relat-waers.

    v_gsber   = itab_relat-gsber.

    v_tpcontr = itab_relat-tpcontr.

    v_d_newko = itab_relat-d_newko.

    v_c_newko = itab_relat-c_newko.

    v_bco     = itab_relat-bco.

    v_ftpj    = itab_relat-ftpj.

    v_nrseq = itab_relat-nrseqc.

...