CE PLUS - Nota 012503

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 01/11/2012 14:57:08

Data/Hora Última Alteração: 01/11/2012 14:57:08

Descrição da Nota: NÃO DEIXA MUDAR VALOR DO SEGURO NA DI E DÁ DUMP SE NÃO HOUVER TAXA

Sintoma

Não deixa mudar valor do seguro na DI e dá dump se não houver taxa

 

 

Solução

Corrigir cálculo e verificar se campo está zerado.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

DESENVOLVIMENTO PARA TRATAMENTO NOVO INCOTERM C+I

DI CALCULA A PORCENTAGEM DO SEGURO INCORRETAMENTE

Informações Complementares

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

Nota Número 12503 Data: 12/09/2012 Hora: 11:05:46

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

 

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

Nota Número              : 12503

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00001

Agrupamento              : 00128

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

Referência às notas relacionadas:

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

 

11471  - 00001 - 8.0    - 00009  - DESENVOLVIMENTO PARA TRATAMENTO NOVO INCOTERM C+I

12441  - 00002 - 9.0    - 00001  - DI CALCULA A PORCENTAGEM DO SEGURO INCORRETAMENTE

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

NÃO DEIXA MUDAR VALOR DO SEGURO NA DI E DÁ DUMP SE NÃO HOUVER TAXA

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

Palavras Chave:

DI - SEGURO - VALOR - DUMP - TAXA

 

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

Objetos da nota:

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

FORM load_sevl.

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

  DATA : v_fob TYPE /pws/zycie085-vlfob,

         v_fre TYPE /pws/zycie085-vlfob.

* << Fim da exclusão

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

  DATA : v_fob   TYPE /pws/zycie085-vlfob,

         v_fre   TYPE /pws/zycie085-vlfob.

  DATA: v_vlseg TYPE /pws/zycit085-vlfob.

* << Fim da inclusão

  IF s_inco1_ci EQ 'CIF'.

    IF NOT v_tcif_fat IS INITIAL AND

       NOT /pws/zycie085-per_seg IS INITIAL.

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

      /pws/zycie085-vlseg  =   v_tcif_fat *

* << Fim da exclusão

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

      /pws/zycie085-vlseg  =  v_vlseg =  v_tcif_fat *

* << Fim da inclusão

      ( /pws/zycie085-per_seg / 100 ).

...

 

...

  ELSEIF s_inco1_ci EQ 'C+I'.

    IF NOT v_tval2 IS INITIAL AND

       NOT /pws/zycie085-per_seg IS INITIAL.

      PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                   /pws/zycie085-dttax

                                   CHANGING v_taxa.

      IF NOT v_taxa IS INITIAL.

        v_fob = v_tval2 * v_taxa .

      ENDIF.

      IF NOT /pws/zycie085-ukursseg IS INITIAL.

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

        /pws/zycie085-vlseg  =  ( ( v_fob + s_stvr - v_desp_brl ) *

* << Fim da exclusão

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

        /pws/zycie085-vlseg  = v_vlseg =

        ( ( v_fob + s_stvr - v_desp_brl ) *

* << Fim da inclusão

        ( /pws/zycie085-per_seg / 100 ) ) /  /pws/zycie085-ukursseg.

      ENDIF.

      PERFORM retorna_decimais USING /pws/zycie085-waersseg

                    CHANGING  /pws/zycie085-vlseg.

    ENDIF.

  ELSE.

    IF NOT v_tval2 IS INITIAL AND

       NOT /pws/zycie085-per_seg IS INITIAL.

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

      PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                   /pws/zycie085-dttax

                                   CHANGING v_taxa.

      IF NOT v_taxa IS INITIAL.

        v_fob = v_tval2 * v_taxa .

      ENDIF.

* << Fim da exclusão

      v_bltofat = /pws/zycie093-prepaid + /pws/zycie093-collect -

                  /pws/zycie093-ternacion.

      IF NOT /pws/zycie085-ukursfob IS INITIAL.

        PERFORM calc_conv_frete CHANGING v_bltofat.

      ENDIF.

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

      PERFORM taxa_converte USING /pws/zycie085-waersfob

                                  /pws/zycie085-dttax

                           CHANGING v_taxa.

      IF NOT v_taxa IS INITIAL.

        v_fre = v_bltofat * v_taxa .

      ENDIF.

      IF NOT /pws/zycie085-ukursseg IS INITIAL.

        s_stvr  =  ( ( v_fob + v_fre - v_desp_brl ) *

        ( /pws/zycie085-per_seg / 100 ) ) .

* << Fim da exclusão

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

      /pws/zycie085-vlseg =  v_vlseg = ( v_tval2 + v_bltofat ) *

         ( /pws/zycie085-per_seg / 100 ).

* << Fim da inclusão

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

      ENDIF.

* << Fim da exclusão

      PERFORM retorna_decimais USING /pws/zycie085-waersseg

                    CHANGING  /pws/zycie085-vlseg.

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

      s_stvr = v_vlseg * /pws/zycie085-ukursseg.

* << Fim da inclusão

    ENDIF.

  ENDIF.

 

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

      /pws/zycie085-vlseg = s_stvr / /pws/zycie085-ukursseg.

* << Fim da exclusão

 

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

  IF NOT v_vlseg IS INITIAL.

    s_stvr = v_vlseg * /pws/zycie085-ukursseg.

  ELSE.

    s_stvr = /pws/zycie085-vlseg * /pws/zycie085-ukursseg.

  ENDIF.

* << Fim da inclusão

  PERFORM trata_decimais USING /pws/zycie085-waersseg

              CHANGING   s_stvr.

  s_stvr_d2 = s_stvr.

ENDFORM.                    " load_sevl

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

  IF /pws/zycit000-rat_seg_fob IS INITIAL.

    IF s_inco1_ci EQ 'CIF'.

      v_tcfr =  /pws/zycie085-vlfob + v_sgtofat + v_bltofat.

      v_cfr = t_vmle .

    ELSEIF s_inco1_ci EQ 'C+I' .

      v_tcfr =  /pws/zycie085-vlfob + v_sgtofat.

      v_cfr = t_vmle  .

    ELSEIF s_inco1_ci NE 'FOB'.

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

      IF NOT /pws/zycie085-ukursfob IS INITIAL.

* << Fim da inclusão

      v_tcfr =  /pws/zycie085-vlfob +

                ( s_frvr / /pws/zycie085-ukursfob ).

      v_cfr = t_vmle + ( t_ivfre / /pws/zycie085-ukursfob ).

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

      ENDIF.

* << Fim da inclusão

    ELSE.

      v_tcfr =  /pws/zycie085-vlfob .

      v_cfr = t_vmle  .

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

MODULE  load_sevl INPUT.

* >> Início da inclusão: MODULE LOAD_SEVL

  clear s_stvr .

* << Fim da inclusão

  PERFORM load_sevl.

ENDMODULE.

...