CE PLUS - Nota 002658

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

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

Data/Hora Última Alteração: 22/02/2011 13:39:09

Descrição da Nota: DI

Sintoma

O rateio do frete rodoviário está sendo feito pelo valor da fatura e não pelo peso líquido.

Na modificação, a taxa do siscomex não atualiza, conforme as adições.

 

 

Solução

Programa alterado para atualizar a tabela /PWS/ZYCIT049.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

O VALOR DO SEGURO ESTÁ ENTRANDO DUAS VEZES NO VALOR ADUANEIRO DA DI

PROGRAMA NÃO ACEITA ALTERAR REGIME TRIBUTÁRIO DOS IMPOSTOS NA DI.

VALOR DO RATEIO DO SEGURO CIF POR ITEM DI IGUAL AO SISCOMEX

Informações Complementares

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

Nota Número 02658 Data: 08/12/2006 Hora: 17:24:16

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

 

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

Nota Número              : 02658

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00142

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

Referência às notas relacionadas:

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

 

01949  - 00001 - 6.0    - 00024  - VALOR DO RATEIO DO SEGURO CIF POR ITEM DI IGUAL AO SISCOMEX

02472  - 00002 - 6.0    - 00025  - PROGRAMA NÃO ACEITA ALTERAR REGIME TRIBUTÁRIO DOS IMPOSTOS NA DI.

02503  - 00003 - 6.0    - 00025  - O VALOR DO SEGURO ESTÁ ENTRANDO DUAS VEZES NO VALOR ADUANEIRO DA

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

DI

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

Palavras Chave:

RATEIO FRETE RODOVIÁRIO; TAXA DO SISCOMEX

 

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

Objetos da nota:

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

    ENDIF.

  ELSE.

    IF NOT v_dif_frn IS INITIAL.

      t_vmle = t_vmle + ( /pws/zycie003-ntgew / v_ntgew ) * v_dif_frn.

    ENDIF.

    t_ivmle2 = t_vmle2 * /pws/zycie100a-dttaxbem.

  ENDIF.

  IF s_inco1_ci NE 'FOB'.

    IF NOT /pws/zycie093-ternacion IS INITIAL.

      v_ternacion = /pws/zycie093-ternacion.

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

      PERFORM trata_decimais USING /pws/zycie085-waersfre

                                   v_ternacion   .

* << Fim da inclusão

      IF /pws/zycie085-waersfob NE /pws/zycie093-waersfre .

        PERFORM: calc_conv_moeda:

                 USING    /pws/zycie093-waersfre

                          /pws/zycie085-waersfob

                 CHANGING v_ternacion.

        t_vmle = t_vmle - ( ( /pws/zycie003-ntgew / v_tntgew )

                         * v_ternacion ).

      ELSE.

        t_vmle = t_vmle - ( ( /pws/zycie003-ntgew / v_tntgew )

                         * v_ternacion ).

...

 

...

        v_cfr = t_ivmle.

    ENDCASE.

  ELSE.

    IF s_inco1_ci EQ 'CIF'.

    ELSE.

      v_cfr = t_ivmle.

    ENDIF.

  ENDIF.

  IF s_inco1_ci EQ 'CIF'.

    v_cif_fat = ( itab_it-vlreal * itab_it-qtd_iten ) +

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

        itab_it-vlfre_fat .

* << Fim da exclusão

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

        itab_it-vlfre_fat + itab_it-vlseg_fat .

* << Fim da inclusão

    IF NOT v_tcif_fat IS INITIAL.

      t_ivseg = itab_it-vlseg = ( v_cif_fat / v_tcif_fat ) *

                s_stvr.

      v_tot_seg = ( v_cif_fat / v_tcif_fat ) * v_sgtofat.

    ENDIF.

  ELSE.

    IF NOT v_tcfr IS INITIAL.

      t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.

      v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.

    ENDIF.

...

 

...

          itab_zycit049c-vlreal = itab_zycit049c-vlreal + t_ivdes2.

          itab_zycit049c-vldp   = itab_zycit049c-vldp   + t_ivdes3.

          MODIFY itab_zycit049c INDEX sy-tabix TRANSPORTING

                 vldp vlreal.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

  CASE s_inco1_ci.

    WHEN 'CIF'.

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

      t_dif_seg =  v_tsegfat - v_sgtofat.

      t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.

* << Fim da exclusão

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

      t_dif_seg   = /pws/zycie003-vlseg_fat - v_tot_seg  .

* << Fim da inclusão

  ENDCASE.

  IF v_dit EQ 'N'.

    CASE s_inco1_ci.

      WHEN 'FOB'.

        t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.

      WHEN 'C&F'.

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren.

        IF NOT v_desp_fren IS INITIAL.

          IF NOT /pws/zycie085-ukursfob IS INITIAL.

            t_vmle_d2 = t_vmle = t_vmle + v_tot_fre +

...

 

...

          IF NOT itab_it-qtd_itend IS INITIAL.

            t_vmle_d2 = t_vmle2 = t_vmle2 + v_tot_fre.

          ELSE.

            t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

            t_vmle2 = t_vmle.

          ENDIF.

        ENDIF.

        t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

        t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.

      WHEN 'CIF'.

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

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren +

                      ( t_dif_seg * /pws/zycie085-ukursseg ).

* << Fim da exclusão

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

        t_ivmle_d2 = t_ivmle = t_ivmle +  v_desp_fren +

                t_ivfre  + t_ivseg +

                      ( t_dif_seg * /pws/zycie085-ukursfob ).

* << Fim da inclusão

        IF NOT v_desp_fren IS INITIAL.

          IF NOT /pws/zycie085-ukursfob IS INITIAL.

            t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg +

                   ( v_desp_fren / /pws/zycie085-ukursfob ) + t_dif_seg.

          ELSE.

            MESSAGE i015 WITH text-221.

          ENDIF.

        ELSE.

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

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + t_dif_seg.

* << Fim da exclusão

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

          t_vmle_d2 = t_vmle = t_vmle +  v_tot_fre +

                    v_tot_seg + t_dif_seg.

* << Fim da inclusão

        ENDIF.

        t_vmle2 = t_vmle.

        t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

        t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.

    ENDCASE.

  ELSE.

    CASE s_inco1_ci.

      WHEN 'FOB'.

        t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.

      WHEN 'C&F'.

...

 

...

 

FORM adic_list.

  CLEAR:   it_adi[], /pws/zycie100a, itab_itb.

  REFRESH: it_adi[].

  CLEAR:   itab_it_aux[].

  REFRESH: itab_it_aux[].

  MOVE itab_it[] TO itab_it_aux[].

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

  PERFORM data_sort.

* << Fim da inclusão

  IF itab_zycit001-flag_adicao EQ 'X'.

    v_adic = 0.

  ELSE.

    v_adic = 1.

  ENDIF.

  CLEAR: v_tabix, v_cont.

  LOOP AT itab_it_aux.

    IF sy-tabix = 1.

      MOVE-CORRESPONDING itab_it_aux TO itab_itb.

    ENDIF.

...

 

...

 /pws/zycie085-dttax

                             CHANGING /pws/zycie085-ukursseg,

               load_sevl.

    ENDIF.

    DESCRIBE TABLE itab_zycit116 LINES v_ipa.

    PERFORM fill_taxasiscomex USING v_ipa.

    SORT itab_it BY nrseq ebeln ebelp.

    PERFORM calc_itab.

    IF NOT itab_it[] IS INITIAL.

      PERFORM adic_list.

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

      PERFORM data_sort.

* << Fim da exclusão

      CLEAR v_pos.

      LOOP AT it_alist.

        v_pos = v_pos + 1.

        PERFORM: adic_change,

                 adic_load,

                 calc_itab_adic,

                 save_adic.

      ENDLOOP.

    ENDIF.

  ELSE.

...

 

...

 /pws/zycie085-dttax

                             CHANGING /pws/zycie085-ukursseg,

               load_sgvl.

    ENDIF.

    LOOP AT itab_it WHERE NOT waersbem IS initial AND

                              waersbem NE wa_zycbt007-waersb.

      PERFORM: taxa_converte USING itab_it-waersbem /pws/zycie085-dttax

                             CHANGING itab_it-dttaxbem.

      MODIFY itab_it INDEX sy-tabix TRANSPORTING dttaxbem.

    ENDLOOP.

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

    SORT itab_it BY nrseq ebeln ebelp.

* << Fim da exclusão

    PERFORM calc_itab.

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

    SORT itab_it BY nrseq ebeln ebelp.

* << Fim da inclusão

  ENDIF.

  PERFORM propoe_banco.

ENDFORM.

 

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

               load_sewa,

               load_sgvl,

               load_blag,

               load_blitens,

               load_reg,

               calc_itab.

      PERFORM concatena_empresa.

      PERFORM atualiza_peso_desemb.

      PERFORM: adic_list,

               adic_li_data.

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

      PERFORM data_sort.

* << Fim da exclusão

    ELSE.

      MESSAGE i015 WITH text-017 text-018.

    ENDIF.

  ENDIF.

ENDFORM.

 

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

FORM calc_init USING p_tipo.

  CLEAR v_tcif_fat.

  DATA: v_qtd_iten LIKE /pws/zycie003-qtd_iten.

  IF itab_zycit049[] IS INITIAL.

    SELECT * FROM /pws/zycit049 INTO TABLE itab_zycit049

             WHERE nrseq   = /pws/zycie085-nrseqdi.

  ENDIF.

  IF p_tipo = 'I'.

    LOOP AT itab_zycit049.

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

      v_tabix = sy-tabix.

      IF NOT itab_zycit049-vldp   IS INITIAL.

        IF itab_zycit049-waers  NE wa_zycbt007-waersb.

          PERFORM taxa_converte USING   itab_zycit049-waers

                      /pws/zycie085-dttax

                                CHANGING s_tax.

          itab_zycit049-vlreal = itab_zycit049-vldp * s_tax.

          PERFORM trata_decimais USING itab_zycit049-waers

                                    itab_zycit049-vlreal.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      CLEAR itab_zycit049-vldp_aux.

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

      MODIFY itab_zycit049 INDEX sy-tabix TRANSPORTING vldp_aux.

* << Fim da exclusão

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

      MODIFY itab_zycit049 INDEX v_tabix TRANSPORTING vlreal vldp_aux.

* << Fim da inclusão

    ENDLOOP.

  ENDIF.

  DESCRIBE TABLE itab_it LINES v_ipt.

...

 

...

      ENDIF.

    ELSE.

      IF NOT itab_it-vlreald IS INITIAL.

        v_tval   = v_tval   + (  itab_it-qtd_itend * itab_it-vlreal ).

      ELSE.

        v_tval   = v_tval   + (  itab_it-qtd_iten * itab_it-vlreal ).

      ENDIF.

    ENDIF.

    IF s_inco1_ci EQ 'CIF'.

      v_tcif_fat = v_tcif_fat + ( ( itab_it-vlreal * itab_it-qtd_iten )

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

                   + itab_it-vlfre_fat ).

* << Fim da exclusão

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

                   + itab_it-vlfre_fat + itab_it-vlseg_fat ).

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

  CASE s_inco1_ci.

    WHEN 'CIF'.

      v_tdif = v_tfrefat - v_bltofat +

               v_tsegfat - v_sgtofat.

  ENDCASE.

  IF p_tipo NE 'A'.

    READ TABLE itab_zycit003 INDEX 1.

    v_totcif = v_tval.

...

 

...

 

FORM data_sort.

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

  SORT itab_it_aux BY

* << Fim da inclusão

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

  SORT itab_it BY

* << Fim da exclusão

       j_1bnbm       fabric      lifnrfabr     lifnr          advalii

    advalipi      naladi      naladincca    codregtri      codregtriipi

       zterm         meinsest    pproc         nrseqli        aplicacao

       condmerc      inco1       codmat        cacl           codfunleg

       acordo        acordorate  reduzida      percreduz      notatipi

    reduzidaipi   unit_valor  unit_meins    unit_reccapac  unit_rectipo

       waersbem      dttaxbem    antidrate     extarif_al     tipo_al

       orgemiss_al   numero_al   anoemiss_al   ii_extarif     ii_tipo

       ii_orgemiss   ii_numero   ii_anoemiss   ipi_extarif    ipi_tipo

       ipi_orgemiss  ipi_numero  ipi_anoemiss  ad_extarif     ad_tipo

...

 

...

 

FORM comm_adic.

  IF NOT itab_it[] IS INITIAL.

    PERFORM adic_list.

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

    PERFORM data_sort.

* << Fim da exclusão

    DO.

      CALL SCREEN '0170' STARTING AT 5 2.

      IF sy-ucomm = 'ENTE'.

        PERFORM adic_load.

      ELSE.

        EXIT.

      ENDIF.

    ENDDO.

  ENDIF.

ENDFORM.

...

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

  ENDIF.

  itab_zycit049-tpdesp = /pws/zycie049-tpdesp.

  itab_zycit049-descr  = /pws/zycie049-descr.

  itab_zycit049-vldp   = /pws/zycie049-vldp.

  itab_zycit049-waers  = /pws/zycie049-waers.

  IF NOT itab_zycit049-vldp   IS INITIAL.

    IF itab_zycit049-waers  NE wa_zycbt007-waersb.

      PERFORM taxa_converte USING    /pws/zycie049-waers

 /pws/zycie085-dttax

                            CHANGING s_tax.

* >> Início da exclusão: MODULE MODI_DATA049

      IF itab_zycit049-vlreal IS INITIAL.

* << Fim da exclusão

        itab_zycit049-vlreal = itab_zycit049-vldp * s_tax.

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

        IF /pws/zycie049-waers  NE wa_zycbt007-waersb.

          PERFORM trata_decimais USING /pws/zycie049-waers

                                       itab_zycit049-vlreal.

* << Fim da inclusão

      ENDIF.

    ELSE.

      itab_zycit049-vlreal = itab_zycit049-vldp.

    ENDIF.

...