CE PLUS - Nota 005181

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 09/11/2007 00:00:00

Data/Hora Última Alteração: 09/03/2010 11:01:26

Descrição da Nota: ATUALIZAÇÃO DO CALCULO DAS BASES DOS IMPOSTOS

Sintoma

 

O programa está calculando incorretamente as bases dos impostos.

 

Solução

 

Atualizado o calculo das bases dos impostos.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 05181 Data: 09/11/2007 Hora: 11:24:03

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

 

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

Nota Número              : 05181

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

ATUALIZAÇÃO DO CALCULO DAS BASES DOS IMPOSTOS

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

Palavras Chave:

ANA BASE IMPOSTOS

 

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

Objetos da nota:

REPS /PWS/MZYCI059I01

REPS /PWS/MZYCI059O01

REPS /PWS/MZYCI059X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI059I01

 

...

        /pws/zycie403-condicoes  TO  itab_zycit403_i-condicoes,

        /pws/zycie403-creditar   TO  itab_zycit403_i-creditar.

  LOOP AT itab_zycit404 WHERE  exibir EQ 'X' AND

    codigo = itab_zycit403_i-codigo.

    CLEAR v_ate.

    CLEAR v_index.

    WHILE v_ate <= itab_zycit404-nivelate.

      IF v_ate IS INITIAL.

        v_ate = itab_zycit404-nivelde.

      ENDIF.

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

      CLEAR itab_zycit404_aux.

* << Fim da exclusão

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

      CLEAR: itab_zycit404_aux, wa_zycit404.

      READ TABLE itab_zycit404 INTO wa_zycit404 WITH KEY linha = v_ate.

* << Fim da inclusão

      READ TABLE itab_zycit404_aux WITH KEY linha = v_ate.

      v_ate = v_ate +  1.

      IF itab_zycit404_aux-codigo EQ 'FOB'.

        IF NOT v_usd IS INITIAL.

          v_valtot = v_valtot +

                          /pws/zycie100a-vlfob.

        ENDIF.

      ELSEIF itab_zycit404_aux-codigo EQ 'FRETEC'.

        v_valtot = v_valtot + /pws/zycie100a-vlfre.

      ELSEIF itab_zycit404_aux-codigo EQ 'SEGURO'.

        v_valtot = v_valtot + /pws/zycie100a-vlseg.

      ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.

        v_valtot = v_valtot +

        /pws/zycie100a-ajuste.

      ELSEIF sy-subrc EQ 4.

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

        v_index = v_index + 1.

        READ TABLE itab_zycit403_i INTO wa_zycit403 INDEX v_index.

* << Fim da exclusão

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

        READ TABLE itab_zycit403_i INTO wa_zycit403 WITH KEY

                          nrseqdi = itab_zycit403_i-nrseqdi

                          ebeln   = itab_zycit403_i-ebeln

                          ebelp   = itab_zycit403_i-ebelp

                          codigo  = wa_zycit404-codigo.

* << Fim da inclusão

        v_valtot = v_valtot + wa_zycit403-valorcalc.

      ENDIF.

    ENDWHILE.

    MOVE: v_valtot TO itab_zycit403_i-base.

    CLEAR  v_valtot.

    IF sy-tcode NE '/PWS/ZYCI059_E'.

      LOOP AT itab_trib WHERE ebeln = itab_zycit403_i-ebeln AND

                             ebelp = itab_zycit403_i-ebelp.

        IF NOT v_usd IS INITIAL.

          IF itab_trib-waers NE wa_zycbt007-waersb.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059O01

 

...

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit404 WHERE  exibir EQ 'X' AND

    codigo = itab_zycit403_i-codigo.

    CLEAR v_ate.

    CLEAR v_index.

    WHILE v_ate <= itab_zycit404-nivelate.

      IF v_ate IS INITIAL.

        v_ate = itab_zycit404-nivelde.

      ENDIF.

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

      CLEAR  itab_zycit404_aux.

* << Fim da exclusão

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

      CLEAR: itab_zycit404_aux, wa_zycit404.

      READ TABLE itab_zycit404 INTO wa_zycit404 WITH KEY linha = v_ate.

* << Fim da inclusão

      READ TABLE itab_zycit404_aux WITH KEY linha = v_ate.

      v_ate = v_ate +  1.

      IF itab_zycit404_aux-codigo EQ 'FOB'.

        IF NOT v_usd IS INITIAL.

          v_valtot = v_valtot +

                                                 /pws/zycie100a-vlfob .

        ENDIF.

      ELSEIF itab_zycit404_aux-codigo EQ 'FRETEC'.

        v_valtot = v_valtot + /pws/zycie100a-vlfre.

      ELSEIF itab_zycit404_aux-codigo EQ 'SEGURO'.

        v_valtot = v_valtot + /pws/zycie100a-vlseg.

      ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.

        IF NOT v_usd IS INITIAL.

          v_valtot = v_valtot +

          /pws/zycie100a-ajuste.

        ENDIF.

      ELSEIF sy-subrc EQ 4.

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

        v_index = v_index + 1.

        READ TABLE itab_zycit403_i INTO wa_zycit403 INDEX v_index.

* << Fim da exclusão

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

        READ TABLE itab_zycit403_i INTO wa_zycit403 WITH KEY

                          nrseqdi = itab_zycit403_i-nrseqdi

                          ebeln   = itab_zycit403_i-ebeln

                          ebelp   = itab_zycit403_i-ebelp

                          codigo  = wa_zycit404-codigo.

* << Fim da inclusão

        v_valtot = v_valtot + wa_zycit403-valorcalc.

      ENDIF.

    ENDWHILE.

    MOVE: v_valtot TO /pws/zycie403-base.

    CLEAR  v_valtot.

  ENDLOOP.

  IF sy-tcode NE '/PWS/ZYCI059_E'.

    LOOP AT itab_trib WHERE ebeln = itab_zycit403_i-ebeln AND

                           ebelp = itab_zycit403_i-ebelp.

      IF NOT v_usd IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059X01

 

...

  v_totalusdta      TYPE p DECIMALS 2,

  v_mudou ,

  v_valtot LIKE /pws/zycie085-vlfob,

  v_ate TYPE i  ,

  v_usd    LIKE /pws/zycie085-ukursfob,

  e_subrc  LIKE sy-subrc.

DATA:  okcode          LIKE sy-ucomm,

       e_exec_okcode                .

DATA wa_zycit403 LIKE /pws/zycit403.

DATA v_index LIKE sy-tabix.

* >> Início da inclusão:

DATA wa_zycit404 LIKE /pws/zycit404.

* << Fim da inclusão

DATA: s_frvr_d2   LIKE /pws/zycie006-vlmerc,

      s_stvr_d2   LIKE /pws/zycie006-vlmerc,

      v_tmle_d2   LIKE /pws/zycie006-vlmerc,

      t_vmle_d2   LIKE /pws/zycie006-vlmerc,

      v_tot_fre   LIKE t_icms,

      v_frete_nm  LIKE t_icms,

      t_ivmle_d2  LIKE /pws/zycie006-vlmerc,

      s_vluni_d2  LIKE /pws/zycie006-vlmerc,

      t_icmsbs_d2 LIKE /pws/zycie006-vlmerc,

      t_icms_d2   LIKE /pws/zycie006-vlmerc.

...