CE PLUS - Nota 001812

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Agrupamento de Embarque

Data/Hora da Publicação: 25/07/2006 00:00:00

Data/Hora Última Alteração: 21/02/2011 17:19:48

Descrição da Nota: BUSCA DE TAXA DE CONVERSÃO SEM FATORES EM AGRUPAMENTO DE EMBARQUE

Sintoma

Ao se enviar um embarque para câmbio, a taxa adotada no Batch-Input de agrupamento estava

considerando os fatores de conversão, quando na verdade não deveria.

 

 

Solução

Retirar a adoção de fatores de conversão na taxa de Batch-Input de agrupamento de embarque.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01812 Data: 25/07/2006 Hora: 13:55:37

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

 

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

Nota Número              : 01812

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00024

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

BUSCA DE TAXA DE CONVERSÃO SEM FATORES EM AGRUPAMENTO DE EMBARQUE

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

Palavras Chave:

EMBARQUE; AGRUPAMENTO; FATORES; CONVERSÃO; TAXA

 

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

Objetos da nota:

REPS /PWS/ZYCER089

REPS /PWS/ZYCER306

REPS /PWS/ZYCER636

 

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

Modificações efetuadas em REPS /PWS/ZYCER089

 

FORM fill_date_f30.

 

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

  DATA: wa_zycee085 LIKE /pws/zycee085.

* << Fim da exclusão

 

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

  DATA: wa_zycee085     LIKE /pws/zycee085,

        v_moeda_destino TYPE t001-waers,

        v_categoria     TYPE /pws/zycbt011-ctmoed.

* << Fim da inclusão

 

  CLEAR: itab_zycbt032,

         itab_zycbt033,

         itab_zycbt034,

         itab_zycbt036.

  REFRESH: itab_zycbt032,

 

...

 

    EXIT.

  ENDLOOP.

  itab_zycbt033-d_gsber = itab_zycet002-gsber.

  itab_zycbt033-agkon   = itab_zycet002-kunrg.

  itab_zycbt033-agkoa   = wa_zycbt011-koart.

 

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

  itab_zycbt033-kursf   = wa_zycet001-kurrf_bl.

* << Fim da exclusão

 

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

  PERFORM selecionar_param_conversao

          CHANGING v_moeda_destino

                   v_categoria.

  IF NOT v_moeda_destino IS INITIAL AND

     NOT v_categoria     IS INITIAL.

    CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                   = 1

              i_demoeda                    = itab_zycet002-waers

              i_paramoeda                  = v_moeda_destino

              i_ctmoeda                    = v_categoria

              i_dtbase                     = itab_zycbt033-dtdocto

         IMPORTING

              e_txc                        = itab_zycbt033-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

              i_montante_nao_encontrado    = 7

              tabela_categ_nao_configurada = 8

              OTHERS                       = 9.

  ENDIF.

* << Fim da inclusão

 

  IF /pws/zycet037-alt_cond = '1'.

    APPEND itab_zycbt033.

  ELSE.

    SELECT * FROM t052s

        INTO TABLE itab_t052s

 

...

 

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

ENDFORM.

 

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

FORM selecionar_param_conversao

     CHANGING p_moeda_destino TYPE t001-waers

              p_categoria     TYPE /pws/zycbt011-ctmoed.

  SELECT SINGLE waers

   FROM t001

   INTO p_moeda_destino

   WHERE bukrs EQ wa_zycet001-bukrs.

  SELECT SINGLE ctmoed

   FROM /pws/zycbt011

   INTO p_categoria

   WHERE codmod  EQ 'X'

     AND codeven EQ '001'

     AND bukrs EQ wa_zycet001-bukrs.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/ZYCER306

 

FORM fill_date_f30.

 

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

  DATA: v_moeda_destino TYPE t001-waers,

        v_categoria     TYPE /pws/zycbt011-ctmoed.

* << Fim da inclusão

 

  CLEAR:   itab_zycbt032, itab_zycbt033, itab_zycbt034,

 itab_zycbt036.

  REFRESH: itab_zycbt032, itab_zycbt033, itab_zycbt034,

 itab_zycbt036.

  IF v_mode IS INITIAL.

    v_mode = 'E'.

  ENDIF.

  DATA: wa_zycee085 LIKE /pws/zycee085.

 

...

 

      itab_zycbt033-aufnr   = itab_zycet002-vbeln_va.

      itab_zycbt033-wrbtr   = abs( v_vlme_a ).

    ENDIF.

  ENDIF.

  itab_zycbt033-agkoa   = wa_zycbt011-koart.

 

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

  itab_zycbt033-kursf   = wa_zycet001-kurrf_bl.

* << Fim da exclusão

 

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

  PERFORM selecionar_param_conversao

          CHANGING v_moeda_destino

                   v_categoria.

  IF NOT v_moeda_destino IS INITIAL AND

     NOT v_categoria     IS INITIAL.

    CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                   = 1

              i_demoeda                    = itab_zycet002-waers

              i_paramoeda                  = v_moeda_destino

              i_ctmoeda                    = v_categoria

              i_dtbase                     = itab_zycbt033-dtdocto

         IMPORTING

              e_txc                        = itab_zycbt033-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

              i_montante_nao_encontrado    = 7

              tabela_categ_nao_configurada = 8

              OTHERS                       = 9.

  ENDIF.

* << Fim da inclusão

 

  IF /pws/zycet037-alt_cond = '1'.

    APPEND itab_zycbt033.

  ELSE.

    SELECT * FROM t052s

    INTO TABLE itab_t052s

 

...

 

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

ENDFORM.

 

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

FORM selecionar_param_conversao

     CHANGING p_moeda_destino TYPE t001-waers

              p_categoria     TYPE /pws/zycbt011-ctmoed.

  SELECT SINGLE waers

   FROM t001

   INTO p_moeda_destino

   WHERE bukrs EQ wa_zycet001-bukrs.

  SELECT SINGLE ctmoed

   FROM /pws/zycbt011

   INTO p_categoria

   WHERE codmod  EQ 'X'

     AND codeven EQ '001'

     AND bukrs EQ wa_zycet001-bukrs.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/ZYCER636

 

FORM fill_date_f30.

 

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

  DATA: v_moeda_destino TYPE t001-waers,

        v_categoria     TYPE /pws/zycbt011-ctmoed,

        v_data_base     TYPE sy-datlo.

* << Fim da inclusão

 

  CLEAR:   itab_zycbt032, itab_zycbt033, itab_zycbt034,

 itab_zycbt036.

  REFRESH: itab_zycbt032, itab_zycbt033, itab_zycbt034,

 itab_zycbt036.

  IF v_mode IS INITIAL.

    v_mode = 'E'.

  ENDIF.

  IF /pws/zycet037-centro_dif = '1'.

 

...

 

      itab_zycbt033-aufnr   = itab_zycet002-vbeln_va.

      itab_zycbt033-wrbtr   = abs( v_vlme_a ).

    ENDIF.

  ENDIF.

  itab_zycbt033-agkoa   = wa_zycbt011-koart.

 

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

  itab_zycbt033-kursf   = wa_zycet001-kurrf_bl.

* << Fim da exclusão

 

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

  PERFORM selecionar_param_conversao

          CHANGING v_moeda_destino

                   v_categoria

                   v_data_base.

  IF NOT v_moeda_destino IS INITIAL AND

     NOT v_categoria     IS INITIAL.

    CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                   = 1

              i_demoeda                    = itab_zycet002-waers

              i_paramoeda                  = v_moeda_destino

              i_ctmoeda                    = v_categoria

              i_dtbase                     = v_data_base

         IMPORTING

              e_txc                        = itab_zycbt033-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

              i_montante_nao_encontrado    = 7

              tabela_categ_nao_configurada = 8

              OTHERS                       = 9.

  ENDIF.

* << Fim da inclusão

 

  IF /pws/zycet037-alt_cond = '1'.

    APPEND itab_zycbt033.

  ELSE.

    SELECT * FROM t052s

    INTO TABLE itab_t052s

 

...

 

  SELECT *

  FROM /pws/zycet226

  INTO TABLE itab_zycet226

  WHERE nrinvoic = p_nrseq.

ENDFORM.

 

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

FORM selecionar_param_conversao

     CHANGING p_moeda_destino TYPE t001-waers

              p_categoria     TYPE /pws/zycbt011-ctmoed

              p_data_base     TYPE sy-datlo.

  SELECT SINGLE waers

   FROM t001

   INTO p_moeda_destino

   WHERE bukrs EQ wa_zycet001-bukrs.

  SELECT SINGLE ctmoed

   FROM /pws/zycbt011

   INTO p_categoria

   WHERE codmod  EQ 'X'

     AND codeven EQ '001'

     AND bukrs EQ wa_zycet001-bukrs.

  CHECK NOT wa_zycet001-modo_venc IS INITIAL.

  CASE wa_zycet001-modo_venc.

    WHEN 'E'.

      p_data_base = wa_zycet001-dtemb.

    WHEN 'B'.

      SELECT SINGLE dtbl

          FROM /pws/zycet047

          INTO p_data_base

          WHERE nrseq = wa_zycet001-nrseq.

    WHEN 'V'.

      p_data_base = wa_zycet001-dtaverb.

    WHEN 'S'.

      p_data_base = wa_zycet001-dtcruze.

  ENDCASE.

ENDFORM.

* << Fim da inclusão