CE PLUS - Nota 004330

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 02/08/2007 00:00:00

Data/Hora Última Alteração: 09/03/2010 10:12:06

Descrição da Nota: MANTER ALTERAÇÕES DE ALIQUOTA NOS TRIBUTOS DA ANA

Sintoma

 

Ao clicar no botão atualizar da ANA as alterações realizadas nas aliquotas dos tributo são perdidas.

 

Solução

 

Manter o registro da alteração das aliquotas para preencher a tabela interna com as aliquotas

ajustadas.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04330 Data: 02/08/2007 Hora: 11:31:20

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

 

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

Nota Número              : 04330

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00002

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

MANTER ALTERAÇÕES DE ALIQUOTA NOS TRIBUTOS DA ANA

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

Palavras Chave:

TRIBUTOS - ALIQUOTA - ANA - ALTERAÇÕES

/PWS/SAPMZYCI059

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

Objetos da nota:

REPS /PWS/MZYCI059F01

REPS /PWS/MZYCI059F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F01

 

...

  DELETE FROM /pws/zycit086 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit086 FROM TABLE itab_zycit086.

  DELETE FROM /pws/zycit087 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit087 FROM TABLE itab_zycit087.

  DELETE FROM /pws/zycit096 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit096 FROM TABLE itab_zycit096.

  DELETE FROM /pws/zycit115 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit115 FROM TABLE itab_zycit115.

  DELETE FROM /pws/zycit403 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit403 FROM TABLE itab_zycit403.

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

  REFRESH itab_zycit403a.

  MOVE itab_zycit403[] TO itab_zycit403a[].

* << Fim da inclusão

  REFRESH: itab_zycit049di2, itab_zycit049di.

  LOOP AT itab_zycit049.

    MOVE-CORRESPONDING itab_zycit049 TO itab_zycit049di2.

    APPEND itab_zycit049di2.

  ENDLOOP.

  DELETE FROM /pws/zycit049 WHERE nrseq = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit049 FROM TABLE itab_zycit049di2.

  DELETE FROM /pws/zycit200 WHERE id = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit200 FROM TABLE itab_zycit200.

  DELETE FROM /pws/zycit100 WHERE nrseqdi = /pws/zycie085-nrseqdi.

...

 

...

  CALL METHOD editor2->get_text_as_r3table IMPORTING table = ittxt1[].

  CLEAR: itab_zycit200. REFRESH: itab_zycit200.

  LOOP AT ittxt1.

    WRITE: sy-tabix TO v_tix RIGHT-JUSTIFIED.

    itab_zycit200-mandt = sy-mandt.

    itab_zycit200-id    = /pws/zycie085-nrseqdi.

    itab_zycit200-seq   = v_tix.

    itab_zycit200-linha = ittxt1-line.

    APPEND itab_zycit200.

  ENDLOOP.

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

  SORT itab_zycit403.

  SORT itab_zycit403a.

* << Fim da inclusão

  IF /pws/zycie085 NE wa_zycit085 OR

                           itab_zycit049di[] NE itab_zycit049di2[] OR

                           itab_zycit086[]   NE itab_zycit086a[]   OR

                           itab_zycit087[]   NE itab_zycit087a[]   OR

                           itab_zycit095[]   NE itab_zycit095a[]   OR

                           itab_zycit096[]   NE itab_zycit096a[]   OR

                           itab_zycit115[]   NE itab_zycit115a[]   OR

                           itab_zycit200[]   NE itab_zycit200a[]   OR

                           itab_zycit100[]   NE itab_zycit100a[]   OR

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

                           itab_zycit003[]   NE itab_zycit003a[].

* << Fim da exclusão

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

                           itab_zycit003[]   NE itab_zycit003a[]   OR

                           itab_zycit403[]   NE itab_zycit403a[].

* << Fim da inclusão

    IF sy-tcode NE '/PWS/ZYCI059_E' AND v_salvou EQ ' '.

      SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE

       nrseq  EQ /pws/zycie085-nrseqdi AND

       cancel EQ space.

      IF sy-subrc EQ 0 AND /pws/zycit041-docnum NE '8888888888'.

        MESSAGE i015 WITH text-028.

        EXIT.

      ELSEIF sy-subrc EQ 0 AND /pws/zycit041-docnum EQ '8888888888'

      AND  NOT /pws/zycit041-belnr_mr1m IS INITIAL.

        MESSAGE i015 WITH text-028.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F03

 

...

            i_ctmoeda_nao_encontrado   = 3

            i_dtbase_nao_encontrada    = 4

            taxa_nao_encontrada        = 5

            fator_nao_encontrado       = 6

            i_montante_nao_encontrado  = 7

            OTHERS                     = 8.

  v_taxa = v_tax.

ENDFORM.

FORM carrega_tributos.

  DATA v_first TYPE i.

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

  DATA: itab_zycit403_t TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

  IF NOT /pws/zycie085-ukursfob IS INITIAL.

    IF itab_zycit029[] IS INITIAL.

      SELECT SINGLE land1

        FROM t001

        INTO t001-land1

        WHERE bukrs EQ /pws/zycie085-bukrs.

      SELECT * FROM /pws/zycit029 INTO TABLE itab_zycit029

        WHERE codmod = 'D' AND

              land1  = t001-land1.

    ENDIF.

    IF ok_code EQ 'REFR'.

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

      REFRESH: itab_zycit403_t.

      itab_zycit403_t[] = itab_zycit403[].

* << Fim da inclusão

      REFRESH itab_zycit403.

      CLEAR itab_zycit403.

    ENDIF.

    IF itab_zycit404[] IS INITIAL OR ok_code EQ 'REFR'.

      IF NOT itab_it[] IS INITIAL.

        SELECT nrseq ebeln ebelp doc FROM /pws/zycit082

        INTO TABLE itab_zycit082

        FOR ALL ENTRIES IN itab_it WHERE

                ebeln = itab_it-ebeln AND

                ebelp = itab_it-ebelp AND

...

 

...

                  ELSE.

                    READ TABLE itab_zycit402 WITH KEY

                                     codigo = itab_zycit403-codigo.

                    IF sy-subrc EQ 0.

                 MOVE itab_zycit402-aliquota TO itab_zycit403-advalorem.

                  MOVE itab_zycit402-creditar TO itab_zycit403-creditar.

                   MOVE itab_zycit402-base     TO itab_zycit403-basered.

                    ENDIF.

                  ENDIF.

                ENDIF.

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

                READ TABLE itab_zycit403_t WITH KEY

                                      codigo = itab_zycit403-codigo

                                      ebeln  = itab_zycit403-ebeln

                                      ebelp  = itab_zycit403-ebelp.

                IF sy-subrc EQ 0.

                  MOVE

                 itab_zycit403_t-percentual TO itab_zycit403-percentual.

                ELSE.

* << Fim da inclusão

               MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.

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

                ENDIF.

* << Fim da inclusão

                v_index = v_index + 1.

                READ TABLE itab_zycit403 INTO wa_zycit403 INDEX v_index.

                v_valtot = v_valtot + wa_zycit403-valorcalc.

              ENDIF.

            ENDWHILE.

            MOVE: itab_it-nrseqdi TO itab_zycit403-nrseqdi,

...

 

...

              ELSE.

                READ TABLE itab_zycit402 WITH KEY

                                 codigo = itab_zycit403-codigo.

                IF sy-subrc EQ 0.

                 MOVE itab_zycit402-aliquota TO itab_zycit403-advalorem.

                  MOVE itab_zycit402-creditar TO itab_zycit403-creditar.

                  MOVE itab_zycit402-base     TO itab_zycit403-basered.

                ENDIF.

              ENDIF.

            ENDIF.

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

                READ TABLE itab_zycit403_t WITH KEY

                                      codigo = itab_zycit403-codigo

                                      ebeln  = itab_zycit403-ebeln

                                      ebelp  = itab_zycit403-ebelp.

                IF sy-subrc EQ 0.

                  MOVE

                 itab_zycit403_t-percentual TO itab_zycit403-percentual.

                ELSE.

* << Fim da inclusão

            MOVE itab_zycit403-advalorem TO itab_zycit403-percentual.

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

                ENDIF.

* << Fim da inclusão

            itab_zycit403-valorcalc =

                itab_zycit403-base * itab_zycit403-percentual / 100.

            itab_zycit403-valorrec = itab_zycit403-valorcalc.

            APPEND itab_zycit403.

            READ TABLE itab_adic INTO wa_adic

                                 WITH KEY ebeln  = itab_it-ebeln

...