CE PLUS - Nota 009327

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Empréstimos

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

Data/Hora Última Alteração: 04/03/2010 11:15:06

Descrição da Nota: EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA

Sintoma

 

Ao contabilizar o empréstimo, rotina mensal de imp/fin, não esta considerando a tabela de-para na

categoria da moeda.

 

Solução

 

Considerar a tabela de-para de categoria de moeda /pws/zycbt009, antes de buscar taxa.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 09327 Data: 05/11/2009 Hora: 16:51:16

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

 

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

Nota Número              : 09327

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00121

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA

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

Palavras Chave:

EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA

 

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

Objetos da nota:

MERG F6DK972763 20091105 150210 PWSCB

RELE F6DK972792 20091105 150409 PWSCB

REPS /PWS/MZYCA111F01

REPS /PWS/MZYCA111TOP

REPS /PWS/ZYCBI112

REPS /PWS/ZYCBI113

REPS /PWS/ZYCBR112

REPS /PWS/ZYCBR113

 

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

Modificações efetuadas em MERG F6DK972763 20091105 150210 PWSCB

 

 

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

Modificações efetuadas em RELE F6DK972792 20091105 150409 PWSCB

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA111F01

 

...

            defaultoption = 'Y'

            textline1     = p_textline1

            titel         = p_titel

       importing

            answer        = v_answer

       exceptions

            others        = 0.                              "#EC *

endform.

form obtem_taxa_cambial.

  v_ftaxa = /pws/zycbe128-ftaxa.

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

  select single kurst

        from /pws/zycbt009

        into /pws/zycbt009-kurst

        where codpadr = v_ftaxa.

  if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

    /pws/zycbt009-kurst = v_ftaxa.

  endif.

* << Fim da inclusão

  call function '/PWS/ZYCB_MONTANTE_CONVERTE'

       exporting

            i_montante                 = /pws/zycbe128-sldesem

            i_demoeda                  = /pws/zycbe128-waers

            i_paramoeda                = wa_zycbt007-waersb

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

            i_ctmoeda                  = v_ftaxa

* << Fim da exclusão

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

            i_ctmoeda                  = /pws/zycbt009-kurst

* << Fim da inclusão

            i_dtbase                   = sy-datum

       importing

            e_txc                      = v_taxacambial

       exceptions

            i_demoeda_nao_encontrado   = 1

            i_paramoeda_nao_encontrado = 2

            i_ctmoeda_nao_encontrado   = 3

            i_dtbase_nao_encontrada    = 4

            taxa_nao_encontrada        = 5

            fator_nao_encontrado       = 6

...

 

...

                                    text-012.

    itab_zycbe033-bukrs  = /pws/zycbe128-bukrs.

    perform verify_null_field using /pws/zycbe128-waers

                                    c_waers

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe128-waers.

    if not /pws/zycbe128-kursf is initial.

      itab_zycbe033-kursf  = /pws/zycbe128-kursf.

    else.

      v_ftaxa = /pws/zycbe128-ftaxa.

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

      select single kurst

            from /pws/zycbt009

            into /pws/zycbt009-kurst

            where codpadr = v_ftaxa.

      if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

        /pws/zycbt009-kurst = v_ftaxa.

      endif.

* << Fim da inclusão

      call function '/PWS/ZYCB_MONTANTE_CONVERTE'

           exporting

                i_montante                 = /pws/zycbe128-sldesem

                i_demoeda                  = /pws/zycbe128-waers

                i_paramoeda                = wa_zycbt007-waersb

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

                i_ctmoeda                  = v_ftaxa

* << Fim da exclusão

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

                i_ctmoeda                  = /pws/zycbt009-kurst

* << Fim da inclusão

                i_dtbase                   = /pws/zycbe128-dtdesem

           importing

                e_txc                      = itab_zycbe033-kursf

           exceptions

                i_demoeda_nao_encontrado   = 1

                i_paramoeda_nao_encontrado = 2

                i_ctmoeda_nao_encontrado   = 3

                i_dtbase_nao_encontrada    = 4

                taxa_nao_encontrada        = 5

                fator_nao_encontrado       = 6

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA111TOP

 

...

  /pws/zycbt010,

  /pws/zycbt118,

  /pws/zycbt031,

  /pws/zyglt009,

  /pws/zycbt134,

  /pws/zycbt064,

  /pws/zyglt364,

  /pws/zyglt025,

  /pws/zycbt234,

  /pws/zycbt243,

* >> Início da exclusão:

  /pws/zycbt233.

* << Fim da exclusão

* >> Início da inclusão:

  /pws/zycbt233,

  /pws/zycbt009.

* << Fim da inclusão

CONSTANTS:

  c_codlivre           TYPE c                     VALUE 'L',

  c_codvalor           TYPE c                     VALUE 'V',

  c_evento_ir_comissao TYPE /pws/zycbt011-codeven VALUE '001IC',

  c_zycbt128           TYPE /pws/zycbe033-tcode   VALUE 'ZYCBT128',

  c_zycbt129           TYPE /pws/zycbe033-tcode   VALUE 'ZYCBT129',

  c_chave_despesa_financ

                       TYPE /pws/zyglt316-ktosl   VALUE 'DSF',

  c_chave_provisao_financ

                       TYPE /pws/zyglt316-ktosl   VALUE 'PVF',

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI112

 

...

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

    itab_relat-c_newko = itab_zyglt316-konth.

  ENDIF.

ENDFORM.

FORM montante_converte.

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

  select single kurst

      from /pws/zycbt009

      into /pws/zycbt009-kurst

      where codpadr = itab_zycbt011-ctmoed.

  if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

    /pws/zycbt009-kurst = itab_zycbt011-ctmoed.

  endif.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = itab_relat-vlmetransf

            i_demoeda                  = itab_relat-waers

            i_paramoeda                = wa_zycbt007-waersb

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

            i_ctmoeda                  = itab_zycbt011-ctmoed

* << Fim da exclusão

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

            i_ctmoeda                  = /pws/zycbt009-kurst

* << Fim da inclusão

            i_dtbase                   = s_dtentr

       IMPORTING

            e_montante                 = itab_relat-vlmitransf

            e_txc                      = itab_relat-kursf

       EXCEPTIONS

            i_demoeda_nao_encontrado   = 1

            i_paramoeda_nao_encontrado = 2

            i_ctmoeda_nao_encontrado   = 3

            i_dtbase_nao_encontrada    = 4

            taxa_nao_encontrada        = 5

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI113

 

...

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

    itab_relat-c_newko = itab_zyglt316-konth.

  ENDIF.

ENDFORM.

FORM montante_converte.

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

  select single kurst

      from /pws/zycbt009

      into /pws/zycbt009-kurst

      where codpadr = itab_zycbt011-ctmoed.

  if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

    /pws/zycbt009-kurst = itab_zycbt011-ctmoed.

  endif.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = itab_relat-vlmetransf

            i_demoeda                  = itab_relat-waers

            i_paramoeda                = wa_zycbt007-waersb

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

            i_ctmoeda                  = itab_zycbt011-ctmoed

* << Fim da exclusão

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

            i_ctmoeda                  = /pws/zycbt009-kurst

* << Fim da inclusão

            i_dtbase                   = s_dtentr

       IMPORTING

            e_montante                 = itab_relat-vlmitransf

            e_txc                      = itab_relat-kursf

       EXCEPTIONS

            i_demoeda_nao_encontrado   = 1

            i_paramoeda_nao_encontrado = 2

            i_ctmoeda_nao_encontrado   = 3

            i_dtbase_nao_encontrada    = 4

            taxa_nao_encontrada        = 5

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR112

 

REPORT /pws/zycbr112 LINE-SIZE 220

                     LINE-COUNT 65

                     MESSAGE-ID /pws/zycmm

                     NO STANDARD PAGE HEADING.

TABLES: /pws/zycbt112,

* >> Início da exclusão:

        /pws/zycbt113,"#EC *

        /pws/zycbt031,"#EC *

* << Fim da exclusão

* >> Início da inclusão:

        /pws/zycbt113,  "#EC *

        /pws/zycbt031,          "#EC *

* << Fim da inclusão

        /pws/zycbt039,

        /pws/zycbt154,

        t001,

        /pws/zycbt021,

        /pws/zycbt009,

        sscrfields.

DATA: itab_zycbt112      LIKE /pws/zycbt112 OCCURS 10 WITH HEADER LINE,

      itab_zycbt113p     LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,

      itab_zycbt113p_aux LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,

      itab_zycbt113j     LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,

...

 

...

  IF s_dtentr IS INITIAL.

    s_dtentr = sy-datum.

  ENDIF.

  IF s_nrseq IS INITIAL.

    SELECT * FROM /pws/zycbt112

             INTO TABLE itab_zycbt112

             WHERE bukrs EQ s_bukrs

               AND dtdesem LE s_dtentr

               AND f_encerrado NE v_f_encerrado

               AND status NE 'E'

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

               AND codint IN s_codint."#EC CI_NOFIELD

* << Fim da exclusão

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

               and codint in s_codint.                  "#EC CI_NOFIELD

* << Fim da inclusão

  ELSE.

    SELECT * FROM /pws/zycbt112

             APPENDING TABLE itab_zycbt112

             WHERE bukrs EQ s_bukrs

               AND nrseq IN s_nrseq

               AND status NE 'E'

               AND codint IN s_codint.

  ENDIF.

  IF wa_zycbt007-fprovisao <> 'C'.

    SELECT * FROM /pws/zycbt113

...

 

...

              IN PROGRAM (itab_zyglt100-programa)

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM processa_periodo_j USING value(p_vlme)

                              value(p_dtinicio) TYPE d

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

                              value(p_dtfim) TYPE d."#EC *

* << Fim da exclusão

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

                              value(p_dtfim) type d.        "#EC *

* << Fim da inclusão

  CLEAR itab_zycbt113j.

  LOOP AT itab_zycbt113j WHERE nrseq = itab_zycbt112-nrseq.

    IF wa_zycbt007-fprovisao <> 'C'.

      CHECK ( itab_zycbt113j-dtpagto IS INITIAL ).

    ENDIF.

    IF itab_zycbt113p-dtinicio => itab_zycbt113j-dtinicio AND

       ( itab_zycbt113p-dtfinal <= itab_zycbt113j-dtfinal OR

         p_dtfim                <= itab_zycbt113j-dtfinal ).

      IF itab_zycbt113p-nrparc = '001'.

        p_vlme = itab_zycbt112-vlme.

...

 

...

             AND dtcont >= s_dtentr

             AND bukrs  EQ s_bukrs

             AND codint IN s_codint

             AND status <> 'S'.

  ENDSELECT.

  IF sy-subrc = 0.

    MESSAGE i015 WITH text-044.

  ENDIF.

  CLEAR /pws/zycbt154.

ENDFORM.

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

FORM preenche_variacao_cambial USING value(p_vlme)."#EC *

* << Fim da exclusão

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

form preenche_variacao_cambial using value(p_vlme).         "#EC *

* << Fim da inclusão

  DATA: v_nrlines TYPE i.

  CHECK NOT wa_taxa_cambial IS INITIAL.

  itab_relat-vlmev =

    ( ( ( wa_taxa_cambial-kursf - itab_zycbt112-kursf ) * p_vlme ) /

    wa_taxa_cambial-ftme ) * wa_taxa_cambial-ftmi.

  DESCRIBE TABLE itab_relat LINES v_nrlines.

  MODIFY itab_relat INDEX v_nrlines TRANSPORTING vlmev.

  CLEAR: wa_taxa_cambial, itab_relat-vlmev.

ENDFORM.

FORM calcula_comissao.

...

 

...

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

    v_c_newko = itab_zyglt316-konth.

  ENDIF.

ENDFORM.

FORM montante_converte2.

  SELECT SINGLE kurst

          FROM /pws/zycbt009

          INTO /pws/zycbt009-kurst

          WHERE codpadr = itab_zycbt011-ctmoed.

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

  if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

    /pws/zycbt009-kurst = itab_zycbt011-ctmoed.

  endif.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = v_vlcomis

            i_demoeda                  = itab_relat-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = /pws/zycbt009-kurst

            i_dtbase                   = s_dtentr

       IMPORTING

            e_montante                 = itab_relat-vlmij

            e_txc                      = itab_relat-kursf

...

 

...

  REFRESH itab_lancados2.

  LOOP AT itab_zycbt154 WHERE codmodul = 'IR'.

    MOVE-CORRESPONDING itab_zycbt154 TO itab_lancados2.

    CLEAR itab_lancados2-dtcont.

    COLLECT itab_lancados2.

  ENDLOOP.

ENDFORM.

FORM modo_batch_input.

  CLEAR: /pws/zycbt039, itab_modo.

  REFRESH: itab_modo.

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

  SELECT * FROM /pws/zycbt039."#EC CI_NOWHERE

* << Fim da exclusão

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

  select * from /pws/zycbt039.                          "#EC CI_NOWHERE

* << Fim da inclusão

    itab_modo-selflag   = /pws/zycbt039-modo.

    itab_modo-varoption = /pws/zycbt039-descr.

    APPEND itab_modo.

  ENDSELECT.

  SORT itab_modo DESCENDING.

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

       EXPORTING

            textline1          = text-092

            textline2          = text-093

            titel              = text-094

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR113

 

...

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

    itab_relat-c_newkoir = itab_zyglt316-konth.

  ENDIF.

ENDFORM.

FORM montante_converte2.

  SELECT SINGLE kurst

      FROM /pws/zycbt009

      INTO /pws/zycbt009-kurst

      WHERE codpadr = itab_zycbt011-ctmoed.

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

  if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.

    /pws/zycbt009-kurst = itab_zycbt011-ctmoed.

  endif.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = v_vlcomis

            i_demoeda                  = itab_relat-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = /pws/zycbt009-kurst

            i_dtbase                   = s_dtentr

       IMPORTING

            e_montante                 = itab_relat-vlmij

            e_txc                      = itab_relat-kursf

...