CE PLUS - Nota 006695

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Prestação de Contas

Data/Hora da Publicação: 05/06/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:33:04

Descrição da Nota: AO RATEAR DESPESAS ESTÁ CONSIDERANDO ITENS ISENTOS OU SUSPENSOS.

Sintoma

Quando temos ICMS suspenso ou isento em 1 dos itens a prestação de contas não está fazendo o cálculo

correto para enviar ao custo. Está rateando o valor entre itens isentos e integrais.

 

 

Solução

Verificar se o item é suspenso ou isento antes de ratear.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PRESTAÇÃO DE CONTAS DIFERENÇA VALOR DOCUMENTO CONTÁBIL

Informações Complementares

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

Nota Número 06695 Data: 05/06/2008 Hora: 10:57:11

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

 

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

Nota Número              : 06695

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00050

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

Referência às notas relacionadas:

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

 

04911  - 00001 - 7.0    - 00003  - PRESTAÇÃO DE CONTAS DIFERENÇA VALOR DOCUMENTO CONTÁBIL

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

AO RATEAR DESPESAS ESTÁ CONSIDERANDO ITENS ISENTOS OU SUSPENSOS.

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

Palavras Chave:

RATEIO - DESPESA - ISENÇÃO - SUSPENSÃO - ICMS - IMPOSTOS.

 

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

Objetos da nota:

REPS /PWS/MZYCI007F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI007F01

 

...

  ENDLOOP.

  IF sy-subrc = 0.

    IF /pws/zycie001-regime = '04' AND /pws/zycie001-tpdecl = 'DI'.

      SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

             WHERE nrseq = /pws/zycie026-nrseq.         "#EC CI_NOFIRST

      IF sy-subrc NE 0.

        MESSAGE e015 WITH text-083 text-084.

      ELSE.

        CLEAR: v_tot_ii, v_tot_ipi, v_tot_icms, v_tot_pis, v_tot_cofins.

        LOOP AT itab_zycit443.

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

          IF NOT '356' CA itab_zycit443-codregtri .

* << Fim da inclusão

          v_tot_ii   = itab_zycit443-vlii + v_tot_ii.

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

          ENDIF.

          IF NOT '156' CA itab_zycit443-codregtriipi .

* << Fim da inclusão

          v_tot_ipi  = itab_zycit443-vlipi + v_tot_ipi.

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

          ENDIF.

          IF NOT '356' CA itab_zycit443-codregtripiscofi.

            v_tot_pis     = itab_zycit443-vlpis + v_tot_pis.

            v_tot_cofins  = itab_zycit443-vlcofins + v_tot_cofins.

          ENDIF.

          IF NOT '356' CA itab_zycit443-codregtriicms  .

* << Fim da inclusão

          v_tot_icms = itab_zycit443-vlicms + v_tot_icms.

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

          v_tot_pis   = itab_zycit443-vlpis + v_tot_pis.

          v_tot_cofins = itab_zycit443-vlcofins + v_tot_cofins.

* << Fim da exclusão

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

          ENDIF.

* << Fim da inclusão

        ENDLOOP.

        IF NOT itab_zycit443[] IS INITIAL.

...

 

...

        ENDIF.

      ENDIF.

    ELSE.

      SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100

             WHERE nrseq = /pws/zycie026-nrseq.         "#EC CI_NOFIRST

      IF sy-subrc NE 0.

        MESSAGE e015 WITH text-083 text-084.

      ELSE.

        CLEAR: v_tot_ii, v_tot_ipi, v_tot_icms, v_tot_pis, v_tot_cofins.

        LOOP AT itab_zycit100.

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

          IF NOT '356' CA itab_zycit100-codregtri .

* << Fim da inclusão

          v_tot_ii   = itab_zycit100-vlii + v_tot_ii.

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

          ENDIF.

          IF NOT '156' CA itab_zycit100-codregtriipi .

* << Fim da inclusão

          v_tot_ipi  = itab_zycit100-vlipi + v_tot_ipi.

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

          ENDIF.

          IF NOT '356' CA itab_zycit100-codregtripiscofi.

            v_tot_pis     = itab_zycit100-vlpis + v_tot_pis.

            v_tot_cofins  = itab_zycit100-vlcofins + v_tot_cofins.

          ENDIF.

          IF NOT '356' CA itab_zycit100-codregtriicms  .

* << Fim da inclusão

          v_tot_icms = itab_zycit100-vlicms + v_tot_icms.

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

          v_tot_pis   = itab_zycit100-vlpis + v_tot_pis.

          v_tot_cofins = itab_zycit100-vlcofins + v_tot_cofins.

* << Fim da exclusão

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

          ENDIF.

* << Fim da inclusão

        ENDLOOP.

        IF NOT itab_zycit100[] IS INITIAL.

...

 

...

                                            ebeln = it_item-ebeln

                                            ebelp = it_item-ebelp.

        ENDIF.

        it_lanca-tpdesp = it_zycit027_aux-tpdesp.

        IF it_zycit027_aux-tpdesp = '001'.

          IF v_index = v_lines.

            it_lanca-lancamento = it_zycit027_aux-vldp - v_total.

            CLEAR v_total.

          ELSE.

         IF /pws/zycit001-regime = '04' AND /pws/zycit001-tpdecl = 'DI'.

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

              IF NOT '156' CA itab_zycit443-codregtriipi .

* << Fim da inclusão

              vl_imp = itab_zycit443-vlipi / v_tot_ipi.

              it_lanca-porcent = vl_imp.

              it_lanca-lancamento = ( it_zycit027_aux-vldp *

                                      itab_zycit443-vlipi / v_tot_ipi ).

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

              ENDIF.

* << Fim da inclusão

            ELSE.

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

              IF NOT '156' CA itab_zycit100-codregtriipi .

* << Fim da inclusão

              vl_imp = itab_zycit100-vlipi / v_tot_ipi.

              it_lanca-porcent = vl_imp.

              it_lanca-lancamento = ( it_zycit027_aux-vldp *

                                      itab_zycit100-vlipi / v_tot_ipi ).

              it_lanca-lancamento = v_vldp_rat .

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

              ENDIF.

* << Fim da inclusão

            ENDIF.

            v_total = v_total + it_lanca-lancamento.

          ENDIF.

        ELSEIF it_zycit027_aux-tpdesp = '002'.

          IF v_index = v_lines.

            it_lanca-lancamento = it_zycit027_aux-vldp - v_total.

            CLEAR v_total.

          ELSE.

         IF /pws/zycit001-regime = '04' AND /pws/zycit001-tpdecl = 'DI'.

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

              IF NOT '356' CA itab_zycit443-codregtriicms  .

* << Fim da inclusão

              vl_imp = itab_zycit443-vlicms / v_tot_icms.

              it_lanca-porcent = vl_imp.

              it_lanca-lancamento = ( it_zycit027_aux-vldp *

                                    itab_zycit443-vlicms / v_tot_icms ).

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

              ENDIF.

* << Fim da inclusão

            ELSE.

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

              IF NOT '356' CA itab_zycit100-codregtriicms  .

* << Fim da inclusão

              vl_imp = itab_zycit100-vlicms / v_tot_icms.

              it_lanca-porcent = vl_imp.

              v_vldp_rat = ( it_zycit027_aux-vldp *

                                    itab_zycit100-vlicms / v_tot_icms ).

              it_lanca-lancamento = v_vldp_rat.

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

              ENDIF.

* << Fim da inclusão

            ENDIF.

            v_total = v_total + it_lanca-lancamento.

          ENDIF.

        ELSEIF it_zycit027_aux-tpdesp = '003'.

          IF v_index = v_lines.

            it_lanca-lancamento = it_zycit027_aux-vldp - v_total.

            CLEAR v_total.

          ELSE.

         IF /pws/zycit001-regime = '04' AND /pws/zycit001-tpdecl = 'DI'.

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

              IF NOT '356' CA itab_zycit443-codregtri .

* << Fim da inclusão

              vl_imp = itab_zycit443-vlii / v_tot_ii.

              it_lanca-porcent = vl_imp.

              it_lanca-lancamento = ( it_zycit027_aux-vldp *

                                        itab_zycit443-vlii / v_tot_ii ).

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

              ENDIF.

* << Fim da inclusão

            ELSE.

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

              IF NOT '356' CA itab_zycit100-codregtri .

* << Fim da inclusão

              vl_imp = itab_zycit100-vlii / v_tot_ii.

              it_lanca-porcent = vl_imp.

              v_vldp_rat = ( it_zycit027_aux-vldp *

                                        itab_zycit100-vlii / v_tot_ii ).

              it_lanca-lancamento = v_vldp_rat.

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

              ENDIF.

* << Fim da inclusão

            ENDIF.

            v_total = v_total + it_lanca-lancamento.

...

 

...

              it_lanca-porcent =

                          itab_zycit100-vl_sisco / it_zycit027_aux-vldp.

            ENDIF.

          ENDIF.

        ELSEIF it_zycit027_aux-tpdesp = /pws/zycit000-cod_pis.

          IF v_index = v_lines.

            it_lanca-lancamento = it_zycit027_aux-vldp - v_total.

            CLEAR v_total.

          ELSE.

         IF /pws/zycit001-regime = '04' AND /pws/zycit001-tpdecl = 'DI'.

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

              IF NOT '356' CA itab_zycit443-codregtripiscofi.

* << Fim da inclusão

              vl_imp = itab_zycit443-vlpis / v_tot_pis.

              it_lanca-porcent = vl_imp.

              it_lanca-lancamento = ( it_zycit027_aux-vldp *

                                      itab_zycit443-vlpis / v_tot_pis ).

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

              ENDIF.

* << Fim da inclusão

            ELSE.

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

              IF NOT '356' CA itab_zycit100-codregtripiscofi.

* << Fim da inclusão

              vl_imp = itab_zycit100-vlpis / v_tot_pis.

              it_lanca-porcent = vl_imp.

              v_vldp_rat = ( it_zycit027_aux-vldp *

                                      itab_zycit100-vlpis / v_tot_pis ).

              it_lanca-lancamento =  v_vldp_rat.

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

              ENDIF.

* << Fim da inclusão

            ENDIF.

            v_total = v_total + it_lanca-lancamento.

...