CE PLUS - Nota 003173

Módulo: DRAWBACK

Funcionalidade: Composição

Data/Hora da Publicação: 01/03/2007 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:07:08

Descrição da Nota: TRATAMENTO DE CASAS DECIMAIS DE MOEDA

Sintoma

Os valores referentes a moedas com numero de casas decimais diferente de 2 estão sendo exbidos

incorrtamente.

O programa está selecionando itens de exportações já utilizados em outra composição.

 

 

Solução

Adionado tratamento para ajustar os valores de acordo com as casas decimasi da moeda utilizada e

corigida preenchimento dos itens equiparados a exportação para gravar na tabela.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

INSERÇÃO DE MENSAGEM QUANDO NÃO HOUVER MATERIAL SUFICIENTE PARA ISENÇÃO

Informações Complementares

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

Nota Número 03173 Data: 01/03/2007 Hora: 14:29:37

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

 

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

Nota Número              : 03173

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00155

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

Referência às notas relacionadas:

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

 

01436  - 00001 - 6.0    - 00023  - INSERÇÃO DE MENSAGEM QUANDO NÃO HOUVER MATERIAL SUFICIENTE PARA I

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

TRATAMENTO DE CASAS DECIMAIS DE MOEDA

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

Palavras Chave:

CASAS - SECIMAIS - MOEDA - COMPOSIÇÃO - COMPOSIÇÃO

/PWS/SAPMZYCI064

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

Objetos da nota:

REPS /PWS/MZYCI064F03

REPS /PWS/MZYCI064TOP

REPT /PWS/SAPMZYCI064

 

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

Modificações efetuadas em REPS /PWS/MZYCI064F03

 

...

                       WHERE nrseqre EQ itab_re_final-nrseqre.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSE.

        PERFORM testa_nao_vinculacao.

      ENDIF.

      PERFORM trata_ordem_venda3.

      REFRESH itab_mess_un.

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

      IF itab_re_final[] IS INITIAL.

        MESSAGE i015 WITH text-292 text-293.

      ENDIF.

* << Fim da exclusão

      LOOP AT itab_re_final.

        CHECK NOT itab_re_final-matnr IS INITIAL.

        IF /pws/zycit321-ltopc NE '1'.

          READ TABLE itab_zycit281 WITH KEY matnr = itab_re_final-matnr

                                          werks = itab_re_final-werks.

          IF sy-subrc NE 0.

            SELECT SINGLE a~wrk02

              FROM ( t460a AS a INNER JOIN marc AS b ON

                a~werks EQ b~werks AND

                a~sobsl EQ b~sobsl AND

...

 

...

          itab_zycit373-it_fornec TO itab_det_exp_final-it_fornec ,

          itab_mara-gewei         TO itab_det_exp_final-gewei     ,

          /pws/zycie258-nrseqd    TO itab_det_exp_final-nrseqd    ,

          /pws/zycie258-lifnr     TO itab_det_exp_final-lifnr     ,

          itab_zycit281-werks     TO itab_det_exp_final-werks     ,

          itab_zycit281-stlnr     TO itab_det_exp_final-stlnr     ,

          itab_zycit281-stlal     TO itab_det_exp_final-stlal     ,

          itab_zycit281-stlan     TO itab_det_exp_final-stlan     ,

          itab_nota_c-matnr       TO itab_det_exp_final-codmat    ,

          itab_zycit373-doc_fat   TO itab_det_exp_final-vbeln_vf  ,

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

          itab_zycit373-it_docfat TO itab_det_exp_final-posnr     ,

* << Fim da inclusão

          itab_nota_c-werks       TO itab_det_exp_final-werks_e   ,

          itab_nota_c-nbm         TO itab_det_exp_final-j_1bnbm   ,

          itab_nota_c-nfnum       TO itab_det_exp_final-nfnum     ,

          itab_nota_c-series      TO itab_det_exp_final-serie     ,

          itab_nota_c-docdat      TO itab_det_exp_final-dtnf      ,

          itab_nota_c-meins       TO itab_det_exp_final-meins     ,

          itab_zycit373-qtd_apro  TO itab_det_exp_final-qtd_iten  ,

          itab_nota_c-waers       TO itab_det_exp_final-waersfob  ,

          itab_nota_c-waers       TO itab_det_exp_final-waerscif  ,

          itab_nota_c-waers       TO itab_det_exp_final-waersemb  .

...

 

...

            itab_di_final-sdo_qtd =

                    itab_di_final-sdo_qtd - itab_di_final-sdo_qtd.

          ENDIF.

          itab_di_final-vlfrete_t = itab_di_final-vlfrete *

                                          itab_di_final-qtd_vinc.

          itab_di_final-vlseg_t   = itab_di_final-vlseg *

                                          itab_di_final-qtd_vinc.

          itab_di_final-vlfob_t = itab_di_final-valor_u *

                                           itab_di_final-qtd_vinc.

          itab_di_final-vlfob = itab_di_final-vlfob_t.

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

          PERFORM retorna_decimais USING itab_zycit085-waersfob

                              CHANGING itab_di_final-vlfob.

* << Fim da inclusão

          PERFORM valor_converte_imp USING itab_zycit085-waersfob

                                             'USD'

                                             itab_zycit085-dttax

                                    CHANGING itab_di_final-vlfob.

          itab_di_final-i_vlcifn_mi =

           ( itab_di_final-vlfob_t * itab_di_final-i_txmoeda ).

          v_perc_vinc =

                    itab_di_final-qtd_vinc / itab_di_final-qtd_di.

          itab_di_final-vlpis =

                  v_perc_vinc * itab_zycit100-vlpis.

...

 

...

                                nrseq    = itab_zycit042-nrseqnf

                                nfglobal = itab_zycit042-nfglobal.

          IF sy-subrc EQ 0.

            MOVE: itab_zycit041-nfnum  TO itab_di_final-nfnum,

                  itab_zycit041-series TO itab_di_final-serie,

                  itab_zycit041-dtincl TO itab_di_final-dtnf .

            EXIT.

          ENDIF.

        ENDLOOP.

      ENDIF.

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

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-valor_u.

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-vlfob_t.

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-netpr.

* << Fim da inclusão

      APPEND itab_di_final.

      IF NOT wa_itab_di_final IS INITIAL.

        LOOP AT itab_di_final WHERE

         ( nrseqre  NE itab_det_exp-nrseqre      OR

           vbeln_va NE itab_det_exp-vbeln_va     OR

           vbeln_vf NE itab_det_exp-vbeln_vf     OR

           posnr    NE itab_det_exp-posnr        OR

           nrseq    NE itab_det_exp-nrseq        OR

           codmat   NE itab_det_exp-codmat )    AND

          nrdi      EQ wa_itab_di_final-nrdi    AND

...

 

...

                                 nrseq    = itab_zycit042-nrseqnf

                                nfglobal = itab_zycit042-nfglobal.

          IF sy-subrc EQ 0.

            MOVE: itab_zycit041-nfnum  TO itab_di_final-nfnum,

                  itab_zycit041-series TO itab_di_final-serie,

                  itab_zycit041-dtincl TO itab_di_final-dtnf .

            EXIT.

          ENDIF.

        ENDLOOP.

      ENDIF.

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

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-valor_u.

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-vlfob_t.

      PERFORM retorna_decimais USING itab_zycit085-waersfob

                          CHANGING itab_di_final-netpr.

* << Fim da inclusão

      APPEND itab_di_final.

      IF NOT wa_itab_di_final IS INITIAL.

        LOOP AT itab_di_final WHERE

             ( nrseqre  NE itab_det_exp-nrseqre      OR

               vbeln_va NE itab_det_exp-vbeln_va     OR

               vbeln_vf NE itab_det_exp-vbeln_vf     OR

               posnr    NE itab_det_exp-posnr        OR

               nrseq    NE itab_det_exp-nrseq        OR

               codmat   NE itab_det_exp-codmat )     AND

               nrdi     EQ wa_itab_di_final-nrdi     AND

...

 

...

  READ TABLE itab_areas INDEX 1.

  IF sy-subrc EQ 0 AND v_areas IS INITIAL.

    MOVE itab_areas-codagrup TO /pws/zycie258-codagrup.

  ELSE.

    MOVE v_areas TO /pws/zycie258-codagrup.

  ENDIF.

  DELETE itab_areas WHERE codagrup = /pws/zycie258-codagrup.

  SET CURSOR FIELD /pws/zycie258-codagrup.

  CLEAR v_areas.

ENDFORM.

* >> Início da inclusão:

FORM retorna_decimais USING p_moeda

                   CHANGING p_valor.

  SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI064TOP

 

PROGRAM /pws/sapmzyci064 MESSAGE-ID /pws/zycim.

INCLUDE /pws/mzyci064x01.

INCLUDE /pws/mzyci064top2.

INCLUDE /pws/mzyci064top3.

TABLES:

        bsak     ,

        mast     ,

        stpo     ,

        stko     ,

* >> Início da inclusão:

        tcurx    ,

* << Fim da inclusão

        stas     ,

        stpox    ,

        mbew     ,

        makt     ,

        icon     ,

        icons    ,

        ckmlcr   ,

        ekpo     ,

        stxl     ,

        t604f,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI064

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 267

 

Texto: (36 caracteres)

"Não foram encontradas registros para"

 

Comprimento máximo: 38