CE PLUS - Nota 005477

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 17/12/2007 00:00:00

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

Descrição da Nota: AJUSTADO RATEIO DO SEGURO PARA PROCESSOS CIF A GRANEL

Sintoma

O total do seguro rateado entres itens da DI é menor que o total calculado pela DI.

 

 

Solução

Ajustar o rateio para utilizar o valor CIF.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO

AJUSTADO REATEIO DO SEGURO NA DI PARA PROCESSOS CIF

Informações Complementares

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

Nota Número 05477 Data: 17/12/2007 Hora: 10:48:32

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

 

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

Nota Número              : 05477

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00027

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

Referência às notas relacionadas:

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

 

04644  - 00001 - 7.0    - 00002  - ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO

05431  - 00002 - 7.0    - 00003  - AJUSTADO REATEIO DO SEGURO NA DI PARA PROCESSOS CIF

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

AJUSTADO RATEIO DO SEGURO PARA PROCESSOS CIF A GRANEL

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

Palavras Chave:

DI - RATEIO - SEGURO - GRANEL - CIF

/PWS/SAPMZYCI023

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

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

    t_vmle_d2 = t_vmle = t_vmle + t_vldif.

  ENDIF.

  itab_it-vlfob = t_vmle.

  /pws/zycie100a-vlfob = t_vmle.

ENDFORM.

FORM load_itax USING p_tipo.

  DATA v_desp_fren LIKE /pws/zycit049-vldp.

  DATA t_dif_seg LIKE /pws/zycit100-vlseg.

  CLEAR: t_ivdesp.

  LOOP AT itab_zycit049 WHERE baseii EQ 'X' AND NOT vlreal IS initial.

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

    IF /pws/zycit000-flag_txsisc IS INITIAL  OR

       wa_it000-cod_sisc NE itab_zycit049-tpdesp.

* << Fim da inclusão

    IF itab_zycit049-divabs  = 'X'.

      t_ivdes2 = ( 1 / v_ipt ) * itab_zycit049-vlreal.

    ELSEIF itab_zycit049-peso = 'X'.

      t_ivdes2 = ( wa_it-ntgew / v_tntgew )  *

                     itab_zycit049-vlreal.

    ELSEIF itab_zycit049-proporplan = 'X'.

      IF NOT v_tot_plan IS INITIAL.

        READ TABLE itab_zycit003 WITH KEY

                    nrseq = itab_it-nrseq

                    ebeln = itab_it-ebeln

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

    IF p_tipo = 'I'.

      itab_zycit049-vldp_aux = itab_zycit049-vldp_aux + t_ivdes2.

      MODIFY itab_zycit049 TRANSPORTING vldp_aux.

    ENDIF.

    IF t_ivdes2 > 0.

      t_ivdesp = t_ivdesp + t_ivdes2.

    ENDIF.

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

    ENDIF.

  ENDLOOP.

  CLEAR: v_nr_itens, v_desp. CLEAR: itab_zycit100_temp.

  REFRESH itab_zycit100_temp.

  MOVE itab_it[] TO itab_zycit100_temp[].

  IF itab_it-adicao IS INITIAL AND

      NOT /pws/zycit000-flag_txsisc IS INITIAL.

    READ TABLE itab_zycit100_temp WITH KEY nrseq = itab_it-nrseq

                                           ebeln = itab_it-ebeln

                                           ebelp = itab_it-ebelp.

    IF sy-subrc = 0.

      PERFORM adic_list.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

    LOOP AT itab_zycit100_temp WHERE adicao = itab_it-adicao.

      v_nr_itens = v_nr_itens + 1.

* << Fim da inclusão

  ENDLOOP.

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

  ENDIF.

  IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

    v_pii = 'X'.

    READ TABLE itab_zycit049 WITH KEY tpdesp = wa_it000-cod_sisc.

    IF sy-subrc = 0.

      IF v_sisco3 IS INITIAL.

        DESCRIBE TABLE itab_zycit116 LINES v_ipa.

        PERFORM fill_taxasiscomex USING v_ipa.

      ENDIF.

      IF NOT v_sisco3 IS INITIAL AND NOT v_nr_itens IS INITIAL.

        v_desp = ( v_sisco3 / v_nr_itens ).

      ENDIF.

    ENDIF.

  ENDIF.

  IF v_nr_itens GT 1.

    t_ivdesp =  t_ivdesp + v_desp .

  ELSE.

    t_ivdesp =  t_ivdesp + v_sisco3.

  ENDIF.

  CLEAR: v_sisco3.

* << Fim da inclusão

  IF /pws/zycie100a-dttaxbem IS INITIAL.

    MOVE itab_it-dttaxbem TO /pws/zycie100a-dttaxbem.

  ENDIF.

  IF p_tipo NE 'B' OR t_ivmle IS INITIAL OR v_dit = 'N'.

    t_ivmle_d2 = t_ivmle = t_vmle * /pws/zycie100a-dttaxbem.

  ENDIF.

  PERFORM valor_cfr USING p_tipo.

  IF s_inco1_ci EQ 'CIF'.

    IF NOT itab_it-qtd_itend IS INITIAL.

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

      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.

* << Fim da exclusão

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

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                        ebeln = itab_it-ebeln

                                        ebelp = itab_it-ebelp.

      IF sy-subrc EQ 0.

        v_cif_fat = ( itab_zycit003-vlreal * itab_it-qtd_itend ) +

                itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat .

      ENDIF.

      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.

* << Fim da inclusão

      ENDIF.

    ELSE.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                        ebeln = itab_it-ebeln

                                        ebelp = itab_it-ebelp.

      IF sy-subrc EQ 0.

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

                itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat .

      ENDIF.

      IF NOT v_tcfr IS INITIAL.

...

 

...

    IF sy-subrc EQ 0.

      itab_zycit049-vldp = s_wsisco.

      itab_zycit049-vlreal = s_wsisco.

      MODIFY itab_zycit049 INDEX sy-tabix TRANSPORTING vldp vlreal.

      v_propoe_sisc = 'X'.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

    v_adics = p_adics.

    IF NOT v_adics IS INITIAL.

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

      IF v_pii EQ 'X'.

      READ TABLE itab_zycit049 WITH KEY tpdesp = /pws/zycit000-cod_sisc

                                              baseii = 'X'.

        CLEAR: v_pii.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_zycit049 WITH KEY tpdesp = /pws/zycit000-cod_sisc

                                        baseicms = 'X'.

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

      ENDIF.

* << Fim da inclusão

      IF sy-subrc = 0.

        v_sisco1 = ( itab_zycit049-vldp -

                     /pws/zycit000-txsis_fix ) / v_adics.

        v_sisco2 = /pws/zycit000-txsis_fix / v_adics.

        v_sisco3 = v_sisco1 + v_sisco2.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

        /pws/zycie085-ukursfob  = v_taxa.

      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'.

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

      IF NOT itab_it-qtd_itend IS INITIAL.

* << Fim da inclusão

      v_tcif_fat = v_tcif_fat + ( ( itab_zycit003-vlreal *

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

                                                 itab_it-qtd_itend )

               + itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat ).

      ELSE.

        v_tcif_fat = v_tcif_fat + ( ( itab_zycit003-vlreal *

* << Fim da inclusão

              itab_it-qtd_iten )

             + itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat ).

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

  CASE s_inco1_ci.

    WHEN 'CIF'.

      v_bltofat = /pws/zycie093-prepaid +

      /pws/zycie093-collect.

      PERFORM: calc_conv_frete CHANGING v_bltofat.

      v_tdif = v_tfrefat - v_bltofat +

               v_tsegfat - v_sgtofat.

      v_bltofat = /pws/zycie093-prepaid +

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

  t_vlii   LIKE /pws/zycie006-vlmerc,

  t_vlipi  LIKE /pws/zycie006-vlmerc,

  t_vlicms LIKE /pws/zycie006-vlmerc,

  t_ivdesp LIKE t_icms,

  t_ivdes2 LIKE t_icms,

  t_ivdes3 LIKE t_icms,

  t_ivfre  LIKE t_icms,

  t_ivseg  LIKE t_icms,

  t_ivadu  LIKE t_icms,

  t_iirec  LIKE t_icms,

* >> Início da inclusão:

  v_pii    type C,

* << Fim da inclusão

  t_ipibas LIKE t_icms,

  t_ipirec LIKE t_icms,

  v_tot_seg LIKE t_icms,

  v_tval2    LIKE t_icms,

  a_baseipi  LIKE /pws/zycie116-baseii,

  a_baseicms LIKE /pws/zycie116-baseii,

  a_itval    LIKE t_icms,

  a_icdevi   LIKE t_icms,

  a_icreco   LIKE t_icms,

  a_iiacor   LIKE t_icms,

...