CE PLUS - Nota 007994

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 02/02/2009 00:00:00

Data/Hora Última Alteração: 09/03/2010 16:16:17

Descrição da Nota: PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.

Sintoma

 

Mesmo parametrizando a lei 102 com crédito em 24 vezes o sistema leva o valor do icms para a coluna

movimentado, ocasionando erro no clearing.

 

Solução

 

Verificar quando é 24, 48 e sem parâmetro.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07994 Data: 02/02/2009 Hora: 15:33:23

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

 

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

Nota Número              : 07994

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00084

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.

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

Palavras Chave:

LEI 102 - PARÂMETRO - ICMS - COLUMA MOVIMENTADO - CUSTO EFETIVO.

 

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

Objetos da nota:

REPS /PWS/MZYCI010F01

REPS /PWS/MZYCI010F03

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI029F01

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F01

 

...

                                       tpnf = itab_zycit042-tpnf.

      ENDIF.

      CLEAR itab_zycit029.

      READ TABLE itab_zycit029 WITH KEY

                               codigo = itab_zycit036_aux2-codigo.

      CLEAR v_descon.

      IF itab_zycit029-estatistico EQ 'X'.

        v_descon = 'S'.

      ELSEIF ( ( itab_zycit033-tribicms   EQ '1'      OR

                ( itab_zycit033-tribicms   EQ '3' AND

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

                itab_zycit033-lei102 EQ 'X' ) ) AND

* << Fim da exclusão

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

                ( itab_zycit033-lei102 EQ 'X' or

                itab_zycit033-lei102 EQ 'Y' ) ) ) AND

* << Fim da inclusão

                 itab_zycit036_aux2-codigo EQ 'ICMS' ).

        v_descon = 'S'.

      ELSEIF itab_zycit033-tribipi    EQ '1'    AND

             itab_zycit036_aux2-codigo EQ 'IPI'.

        v_descon = 'S'.

      ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

 

    LOOP AT itab_zycit036_aux WHERE nrseq = itab_zycit042-nrseq

                            AND ebeln = itab_zycit042-ebeln

                             AND ebelp = itab_zycit042-ebelp.

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

      IF itab_zycit036_aux-codigo EQ 'ICMS'.

        IF ( itab_zycit033-tribicms EQ '1' ) OR

          ( itab_zycit033-tribicms EQ '3' AND

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

          itab_zycit033-lei102 EQ 'X' ) OR

* << Fim da exclusão

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

         ( itab_zycit033-lei102 EQ 'X' OR

         itab_zycit033-lei102 EQ 'Y' ) ) OR

* << Fim da inclusão

          itab_zycit100-icms_dif EQ 'X'.

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

 

...

 

...

 

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

        IF itab_zycit036_aux-codigo EQ 'ICMS'.

          IF ( itab_zycit033-tribicms EQ '1' ) OR

            ( itab_zycit033-tribicms EQ '3' AND

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

            itab_zycit033-lei102 EQ 'X' ) OR

* << Fim da exclusão

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

           ( itab_zycit033-lei102 EQ 'X' or

           itab_zycit033-lei102 EQ 'Y' ) ) OR

* << Fim da inclusão

            itab_zycit100-icms_dif EQ 'X'.

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

      itab_zycbt035-wrbtr = j_1bnfstx-taxval.

      APPEND itab_zycbt035.

      CLEAR itab_zycbt012.

    WHEN 3.

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

      IF itab_zycit033-lei102 = 'X'.

* << Fim da exclusão

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

      IF ( itab_zycit033-lei102 = 'X' OR

           itab_zycit033-lei102 = 'Y'  ).

* << Fim da inclusão

        CLEAR itab_zycbt012.

        itab_zycbt035-bschl   = '40'.

        itab_zycbt035-d_gsber = /pws/zycie003-gsber.

        READ TABLE itab_zycbt012 WITH KEY codeven  = v_codeven

                                          chlanc   = 'D'

                                          codaux   = '3X'.

...

 

...

 

READ TABLE itab_global INDEX 1.

v_j_1bbranch = itab_global-j_1bbranch.

  FREE itab_zycbt035_aux2.

SORT itab_zycbt035_aux BY imposto tribicms matuse bklas d_gsber.

  LOOP AT itab_zycbt035_aux.

    IF itab_zycbt035_aux-tribicms EQ '3' AND

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

       itab_zycbt035_aux-lei102   NE 'X' .

* << Fim da exclusão

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

       ( itab_zycbt035_aux-lei102   NE 'X'  OR

         itab_zycbt035_aux-lei102   NE 'Y' ) .

* << Fim da inclusão

      LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

        IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.

          itab_zycbt035_aux2-imposto  = itab_zycbt035_aux-imposto.

          itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.

          IF itab_zycbt035_aux-bklas IS INITIAL.

            itab_zycbt035_aux2-matuse   = itab_zycbt035_aux-matuse.

          ELSE.

            itab_zycbt035_aux2-bklas    = itab_zycbt035_aux-bklas.

          ENDIF.

          itab_zycbt035_aux2-d_gsber  = itab_zycbt035_aux-d_gsber.

...

 

...

 

  FREE itab_zycbt035_aux2.

  SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.

  LOOP AT itab_zycbt035_aux.

    IF itab_zycbt035_aux-tribicms EQ '3' AND

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

       itab_zycbt035_aux-lei102   NE 'X'.

* << Fim da exclusão

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

     (  itab_zycbt035_aux-lei102   NE 'X' OR

        itab_zycbt035_aux-lei102   NE 'Y' ).

* << Fim da inclusão

      LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

        IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.

          itab_zycbt035_aux2-imposto  = itab_zycbt035_aux-imposto.

          itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.

          itab_zycbt035_aux2-matuse   = itab_zycbt035_aux-matuse.

 

...

 

...

 

  FREE itab_zycbt035_aux2.

  SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.

  LOOP AT itab_zycbt035_aux.

    IF itab_zycbt035_aux-tribicms EQ '3' AND

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

       itab_zycbt035_aux-lei102   EQ 'X'.

* << Fim da exclusão

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

    (   itab_zycbt035_aux-lei102   EQ 'X' OR

       itab_zycbt035_aux-lei102   EQ 'Y' ).

* << Fim da inclusão

      LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

        IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.

          itab_zycbt035_aux2-imposto  = itab_zycbt035_aux-imposto.

          itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.

          itab_zycbt035_aux2-matuse   = itab_zycbt035_aux-matuse.

          itab_zycbt035_aux2-d_gsber  = itab_zycbt035_aux-d_gsber.

          itab_zycbt035_aux2-wrbtr    = itab_zycbt035_aux-wrbtr.

          COLLECT itab_zycbt035_aux2.

        ENDIF.

      ENDLOOP.

...

 

...

 

  LOOP AT itab_zycbt035.

    v_index = sy-tabix.

    IF itab_zycbt035-bschl EQ '50'.

      IF itab_zycbt035-tribicms EQ '3' AND

* >> Início da exclusão: FORM GET_PARAMETERS_F-02

         itab_zycbt035-lei102   NE 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_F-02

        ( itab_zycbt035-lei102   NE 'X' OR

         itab_zycbt035-lei102   NE 'Y' ).

* << Fim da inclusão

        LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

          IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.

 

...

 

...

 

            ENDIF.

          ENDIF.

        ENDLOOP.

      ELSEIF itab_zycbt035-tribicms EQ '3' AND

* >> Início da exclusão: FORM GET_PARAMETERS_F-02

             itab_zycbt035-lei102   EQ 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_F-02

      ( itab_zycbt035-lei102   EQ 'X' or

        itab_zycbt035-lei102   EQ 'Y' ).

* << Fim da inclusão

        LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

          IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.

            CLEAR v_codaux.

            CONCATENATE itab_zycbt035-tribicms

                        itab_zycbt035-lei102 INTO v_codaux.

 

...

 

...

 

      PERFORM verify_null_field USING itab_zycbt035-d_newko 'D_NEWKO'

                                                               text-021.

    ELSEIF itab_zycbt035-bschl EQ '40'.

      IF itab_zycbt035-tribicms EQ '3' AND

* >> Início da exclusão: FORM GET_PARAMETERS_F-02

         itab_zycbt035-lei102   NE 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_F-02

        ( itab_zycbt035-lei102   NE 'X' or

        itab_zycbt035-lei102   NE 'Y' ) .

* << Fim da inclusão

        LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

          IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.

            IF NOT itab_zycbt035-matuse IS INITIAL.

              CLEAR itab_cta. REFRESH itab_cta.

...

 

...

 

          ENDIF.

        ENDLOOP.

      ELSEIF itab_zycbt035-tribicms EQ '3' AND

* >> Início da exclusão: FORM GET_PARAMETERS_F-02

             itab_zycbt035-lei102   EQ 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_F-02

            ( itab_zycbt035-lei102   EQ 'X' or

            itab_zycbt035-lei102   EQ 'Y' ) .

* << Fim da inclusão

        LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.

          IF itab_zycbt035-imposto EQ itab_j_1baj-taxtyp.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

 

      IF itab_zycit036_aux2-codigo EQ 'ICMS'.

        IF ( itab_zycit033-tribicms EQ '1' ) OR

          ( itab_zycit033-tribicms EQ '3' AND

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

          itab_zycit033-lei102 EQ 'X' ) OR

* << Fim da exclusão

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

        ( itab_zycit033-lei102 EQ 'X' or

        itab_zycit033-lei102 EQ 'Y' ) ) OR

* << Fim da inclusão

          itab_zycit100-icms_dif EQ 'X'.

          DELETE itab_zycit036_aux2.

        ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI029F01

 

...

 

      ENDIF.

      CLEAR itab_zycbt012.

      PERFORM adiciona_outros_impostos.

    WHEN 3.

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

      IF itab_zycit033-lei102 = 'X'.

* << Fim da exclusão

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

      IF ( itab_zycit033-lei102 = 'X' OR

      itab_zycit033-lei102 EQ 'Y' ) .

* << Fim da inclusão

        CLEAR itab_zycbt012.

        itab_zycbt035_a-bschl   = '40'.

        itab_zycbt035_a-d_gsber = itab_zycit003-gsber.

        v_codaux = '3X'.

        CLEAR itab_cta. REFRESH itab_cta.

        PERFORM seek_account_number

                TABLES itab_cta

                USING /pws/zycie041a-bukrs

                      'ICR'

                      itab_zycit003-werks

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

    IF sy-subrc NE 0.

      READ TABLE itab_zycit033 WITH KEY clnf = v_clnf

                                        tpnf = itab_itens_nf-tpnf.

    ENDIF.

    LOOP AT itab_zycit036 WHERE nrseq = itab_itens_nf-nrseq

                            AND ebeln = itab_itens_nf-ebeln

                            AND ebelp = itab_itens_nf-ebelp.

      IF itab_zycit036-codigo EQ 'ICMS'.

        IF ( itab_zycit033-tribicms EQ '1' ) OR

           ( itab_zycit033-tribicms EQ '3' AND

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

             itab_zycit033-lei102 EQ 'X' ).

* << Fim da exclusão

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

            ( itab_zycit033-lei102 EQ 'X' or

             itab_zycit033-lei102 EQ 'Y' ) ).

* << Fim da inclusão

          DELETE itab_zycit036.

        ENDIF.

      ELSEIF itab_zycit036-codigo EQ 'IPI'.

        IF ( itab_zycit033-tribipi EQ '1' ).

 

...