CE PLUS - Nota 001547

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 08/06/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:37:10

Descrição da Nota: NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O TOTAL

Sintoma

Ao criar uma NF global com uma DI com valor de seguro em jpy leva o valor incorreto para a NF.

Base do icms também estava incorreta.

 

 

Solução

Tratamento no valor do seguro para valores em JPY

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01547 Data: 08/06/2006 Hora: 14:14:44

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

 

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

Nota Número              : 01547

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00117

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O TOTAL

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

Palavras Chave:

NOTA GLOBAL, SEGURO

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

  /pws/zycit044-series    = itab_zycit044-series.

  /pws/zycit044-subser    = itab_zycit044-subser.

  MODIFY /pws/zycit044.

ENDFORM.

FORM valores.

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

  DATA: v_vldp_042 LIKE /pws/zycit042-vldp.

* << Fim da exclusão

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

  DATA: v_vldp_042 LIKE /pws/zycit042-vldp,

        v_vlseg    like itab_zycit036_di-vlmov.

* << Fim da inclusão

  CLEAR: v_vldp_042, v_impostos.

  CLEAR v_despesas.

  LOOP AT itab_zycit036

    WHERE nrseq = itab_zycit042-nrseq

      AND ebeln = itab_zycit042-ebeln

...

 

...

                                         ebelp  = itab_zycit036-ebelp

                                        codigo = itab_zycit036-codigo.

    IF itab_zycit036-codigo     = 'FRETEI'.

      it_zycee007-netfre = itab_zycit036_di-vlmov.

    ELSEIF itab_zycit036-codigo = 'SEGURO'.

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

      it_zycee007-netins = itab_zycit036_di-vlmov.

* << Fim da exclusão

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

      clear: v_vlseg.

      v_vlseg = itab_zycit036_di-vlmov.

      PERFORM trata_decimais USING itab_zycit036_di-waers_mov

                            CHANGING v_vlseg.

      it_zycee007-netins = v_vlseg.

* << Fim da inclusão

    ELSEIF itab_zycit036-codigo = 'II'.

      v_despesas         = itab_zycit036-vlreal.

    ENDIF.

  ENDLOOP.

  READ TABLE itab_zycit042_d WITH KEY

...

 

...

  IF sy-subrc <> 0.

    MESSAGE w061 WITH text-089 text-090.

    v_status_s = 0.

  ENDIF.

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/ZYCIR006

 

...

                                          .

           if not v_val_tots is initial and itab_zycit036-origem = 'NF'.

              v_val = ( /pws/zycit085-vlseg * /pws/zycit085-ukursseg ) .

              perform retorna_decimais using /pws/zycit085-waersseg

                                             changing v_val.

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

               v_val = v_val - v_val_tots.

* << Fim da exclusão

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

              v_valor = v_val = v_val - v_val_tots.

* << Fim da inclusão

              else.

                if itab_zycit036-origem = 'NF'.

                  if t001-land1 = 'BR'.

                    v_valor = itab_zycit100-vlseg.

                  else.

...

 

...

                endif.

              endif.

            ENDIF.

            IF t001-land1 EQ 'BR'.

              IF itab_zycit036-origem = 'NF'.

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

                PERFORM retorna_decimais USING itab_zycit036-waers_real

                                            CHANGING v_val.

* << Fim da exclusão

              ELSE.

                PERFORM retorna_decimais USING itab_zycit036-waers_real

                                            CHANGING v_val.

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

              MOVE v_val TO v_valor.

* << Fim da inclusão

              ENDIF.

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

              MOVE v_val TO v_valor.

* << Fim da exclusão

            ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR145

 

...

  select single * from /pws/zycit085

    where nrseqdi = /pws/zycit100-nrseqdi.

  loop at itab_zycit036 .

    move: itab_zycit036-ebeln  to i_final-ebeln,

          itab_zycit036-ebelp  to i_final-ebelp.

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

    READ TABLE itab_material WITH KEY ebeln = itab_zycit036-ebeln

                                      ebelp = itab_zycit036-ebelp.

    MOVE: itab_material-matnr  TO i_final-matnr.

    i_final-waers = itab_zycit036-waers_real.

* << Fim da inclusão

    if v_programa ne 'REC'.

      move:  itab_zycit036-vlreal to i_final-valor.

      if itab_zycit036-origem = 'NF' and

         ( itab_zycit036-codigo = 'FRETEI' or

         itab_zycit036-codigo = 'SEGURO' or

...

 

...

          i_final-valor =

                  ( i_final-valor * /pws/zycit085-ukursfre ) .

        elseif itab_zycit036-codigo = 'SEGURO'.

          i_final-valor =

                  ( i_final-valor * /pws/zycit085-ukursseg ) .

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

          i_final-waers = /pws/zycbt007-waersb.

* << Fim da inclusão

        else.

          i_final-valor =

                  ( i_final-valor * /pws/zycit085-ukursfob ) .

        endif.

      endif.

...

 

...

    endif.

    read table itab_descr with key codigo = itab_zycit036-codigo.

    move: itab_descr-descricao to i_final-descricao.

    read table itab_material with key ebeln = itab_zycit036-ebeln

                                      ebelp = itab_zycit036-ebelp.

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

    move: itab_material-matnr  to i_final-matnr.

    i_final-waers = itab_zycit036-waers_real.

* << Fim da exclusão

    if t001-land1 eq 'AR' or t001-land1 eq 'CL'.

      if itab_zycit036-origem = 'NF'.

        perform trata_decimais using /pws/zycbt007-waersb

                               changing i_final-valor.

        i_final-waers = /pws/zycbt007-waersb.

...