CE PLUS - Nota 012443

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 21/08/2012 09:38:21

Data/Hora Última Alteração: 21/08/2012 09:38:21

Descrição da Nota: INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI

Sintoma

Adicionado novo campo "Aliq. Reduzida" na pasta de ICMS da DI e ajustado os programas de DI e o de

Nota Fiscal para tratamento do novo campo.

 

 

Solução

Adicionado novo campo "Aliq. Reduzida" na pasta de ICMS da DI e ajustado os programas de DI e o de

Nota Fiscal para tratamento do novo campo.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

CORREÇÃO E ABERTURA DE EXIT PARA TRATAMENTO DE FUNDAP.

O VALOR DOS IMPOSTOS ESTÁ ERRADO PARA PROCESSOS DE ADMISSÃO TEMPORARIA

AO CRIAR NF NÃO CONSIDERA IPI OU ICMS É ISENTO PARA LANÇAR ALÍQUOTA.

DIFERENÇA DE CENTAVOS ENTRE A BASE DE ICMS E O TOTAL DA NOTA FISCAL

Informações Complementares

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

Nota Número 12443 Data: 17/08/2012 Hora: 10:39:31

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

 

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

Nota Número              : 12443

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00001

Agrupamento              : 00125

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

Referência às notas relacionadas:

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

 

07407  - 00001 - 7.0    - 00007  - AO CRIAR NF NÃO CONSIDERA IPI OU ICMS É ISENTO PARA LANÇAR ALÍQUO

10212  - 00002 - 8.0    - 00003  - O VALOR DOS IMPOSTOS ESTÁ ERRADO PARA PROCESSOS DE ADMISSÃO TEMPO

11808  - 00003 - 8.0    - 00010  - DIFERENÇA DE CENTAVOS ENTRE A BASE DE ICMS E O TOTAL DA NOTA FISC

12123  - 00004 - 8.0    - 00011  - CORREÇÃO E ABERTURA DE EXIT PARA TRATAMENTO DE FUNDAP.

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

INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI

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

Palavras Chave:

DI - ALIQUOTA - REDUZIDA - ICMS - LEGISLAÇÃO - NOTA - FISCAL

/PWS/SAPMZYCI016 - /PWS/SAPMZYCI023 - /PWS/SAPMZYCI029

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

Objetos da nota:

DYNP /PWS/SAPMZYCI023                        0433

FUNC /PWS/ZYCI_AJUSTE_IMP_NF

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI029F01

TABD /PWS/ZYCIE100A

TABD /PWS/ZYCIT100

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI023                        0433

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE100A-ALIQICMSR"

Comprimento Visível      8

Linha                    6

Coluna                   22

Formato                  DEC

Grupo 1                  AC

Linhas mínimas           6

Colunas mínimas          2

Texto                    ____,__V

 

INCLUIR TEXTO "/PWS/ZYCIE100A-ALIQICMSR"

Comprimento Visível      14

Linha                    6

Coluna                   3

Formato                  CHAR

Texto                    Aliq. Reduzida

Código função

 

MODIFICAR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE100A-ICMS_DIF"

Linha                    7

 

MODIFICAR TEXTO "TXT_ICMS_DIF"

Linha                    7

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0433

...

module: set_screen_padrao.

process after input.

  field : /pws/zycie100a-codregtriicms,

           /pws/zycie100a-codfunlegicms

                     module load_fun_icms .

chain.

   field: /pws/zycie003-advalicms,

          /pws/zycie003-basred   ,

          /pws/zycie100a-icms_dif,

          /pws/zycie100a-codregtriicms,

* >> Início da inclusão:

           /pws/zycie100a-aliqicmsr,

* << Fim da inclusão

          t_icmsbs_st,

          /pws/zycie100a-aliq_icms_st

   module calc_vicms on chain-request.

endchain.

   module load_fun_icms .

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_AJUSTE_IMP_NF

 

...

  ENDIF.

    v_valor_i2 = v_valor_i *

                 ( zycee007-menge / wa_zycit003-qtd_iten ).

  IF zycit062-flag_icms = 'X'.

    IF zycit100-icms_dif = 'X' OR

       zycit003-basred IS INITIAL.

      v_basred = 100.

    ENDIF.

    CLEAR v_advicms.

    IF NOT zycit003-advalicms IS INITIAL.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF

      IF NOT zycit100-aliqicmsr IS INITIAL.

* << Fim da inclusão

      IF NOT zycit003-basred IS INITIAL OR

         NOT zycit003-basred EQ '100'.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF

          v_advicms = ( ( zycit100-aliqicmsr / 100 ) *

           ( zycit003-basred / 100 ) ) .

        ELSE.

          v_advicms = ( zycit100-aliqicmsr / 100 ).

        ENDIF.

        v_basred = ( v_advicms * 10000 / zycit100-aliqicmsr ).

      ELSE.

        IF NOT zycit003-basred IS INITIAL OR

           NOT zycit003-basred EQ '100'.

* << Fim da inclusão

        v_advicms = ( ( zycit003-advalicms / 100 ) *

         ( zycit003-basred / 100 ) ) .

      ELSE.

        v_advicms = ( zycit003-advalicms / 100 ).

      ENDIF.

      v_basred = ( v_advicms * 10000 / zycit003-advalicms ).

* >> Início da inclusão: FUNCTION /PWS/ZYCI_AJUSTE_IMP_NF

      ENDIF.

* << Fim da inclusão

    ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

    IF /pws/zycit001-tpdecl IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycit001

        WHERE nrseq EQ itab_zycit042-nrseq.

    ENDIF.

    IF itab_zycit100-icms_dif = 'X' OR

       itab_zycit003-basred IS INITIAL.

      itab_zycit003-basred = '100'.

      v_basred = itab_zycit003-basred.

    ENDIF.

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

    IF NOT /pws/zycit100-aliqicmsr IS INITIAL.

      itab_zycit003-advalicms = /pws/zycit100-aliqicmsr.

    ENDIF.

* << Fim da inclusão

    CLEAR v_advicms.

    IF NOT itab_zycit003-advalicms IS INITIAL.

      IF NOT itab_zycit003-basred IS INITIAL OR

         NOT itab_zycit003-basred EQ '100'.

        v_advicms = ( ( itab_zycit003-advalicms / 100 ) *

         ( itab_zycit003-basred / 100 ) ) .

      ELSE.

        v_advicms = ( itab_zycit003-advalicms / 100 ).

      ENDIF.

      v_basred = ( v_advicms * 10000 / itab_zycit003-advalicms ).

...

 

...

  it_zycee007-cpochv   = /pws/zycie041-nfglobal.

  it_zycee007-itmtyp   = itab_zycit033-tpmat.

  READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit042-ebeln

                                ebelp = itab_zycit042-ebelp.

  READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

  READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

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

    IF NOT itab_zycit100-aliqicmsr IS INITIAL.

      itab_zycit003-advalicms = itab_zycit100-aliqicmsr.

    ENDIF.

* << Fim da inclusão

  IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.

    SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

  ENDIF.

  PERFORM convert_matnr.

  IF NOT itab_ekpo-matnr IS INITIAL.

    it_zycee007-matnr = v_matnr.

    IF /pws/zycit000-flag_matnr IS INITIAL.

      SHIFT it_zycee007-matnr LEFT DELETING LEADING '0'.

    ENDIF.

...

 

...

  CLEAR: v_impostos.

  it_zycee007-itmtyp   = itab_zycit033-tpmat.

  READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit044-ebeln

                                ebelp = itab_zycit044-ebelp.

  READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit044-nrseq

                                    ebeln = itab_zycit044-ebeln

                                    ebelp = itab_zycit044-ebelp.

  READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit044-nrseq

                                    ebeln = itab_zycit044-ebeln

                                    ebelp = itab_zycit044-ebelp.

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

    IF NOT itab_zycit100-aliqicmsr IS INITIAL.

      itab_zycit003-advalicms = itab_zycit100-aliqicmsr.

    ENDIF.

* << Fim da inclusão

  IF ' 356' NA itab_zycit100-codregtriicms.

    it_zycee007-rate   = itab_zycit003-advalicms.

  ENDIF.

  it_zycee007-mfrpn         = itab_zycit003-mfrpn   .

  CONCATENATE itab_zycit044-ebeln '/' itab_zycit044-ebelp

        INTO it_zycee007-msg1.

  IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.

    SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

  ENDIF .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

 

FORM load_iicms USING p_tipo.

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

  DATA v_advalicms TYPE /pws/zycie003-advalicms.

* << Fim da inclusão

...

 

...

    READ TABLE itab_zyglt100 WITH KEY zexit = 'DI023'  BINARY SEARCH.

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

    ENDIF.

    IF /pws/zycie100a-baseicms LT 0.

      CLEAR itab_zycit100-baseicms.

    ENDIF.

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

    IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.

      IF /pws/zycit062-bs_pis_cof IS INITIAL.

        IF NOT /pws/zycie003-basred IS INITIAL AND

           NOT /pws/zycie003-basred EQ '100'.

          v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ) *

           ( /pws/zycie003-basred / 100 ).

          IF /pws/zycit062-icms_base_red_ar = 'X'.

            v_trunc = v_advicms.

            v_advicms = v_trunc.

          ENDIF.

        ELSE.

          v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).

        ENDIF.

      ELSE.

        v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).

      ENDIF.

      v_advalicms = /pws/zycie003-advalicms .

      /pws/zycie003-advalicms = /pws/zycie100a-aliqicmsr.

    ENDIF.

* << Fim da inclusão

    IF NOT /pws/zycit062-bs_pis_cof IS INITIAL.

      IF NOT /pws/zycie003-basred IS INITIAL AND

         NOT /pws/zycie003-basred EQ '100'.

        v_advicms = ( ( /pws/zycie003-advalicms / 100 ) *

         ( /pws/zycie003-basred / 100 ) ) .

        IF /pws/zycit062-icms_base_red_ar = 'X'.

          v_trunc = v_advicms.

          v_advicms = v_trunc.

        ENDIF.

      ENDIF.

...

 

...

      ELSE.

        IF '3' CA /pws/zycie100a-codregtriicms .

          t_icmsbs_d2 = t_icmsbs =

          t_icmsbs - t_icms.

        ENDIF.

      ENDIF.

    ELSE.

      t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                           ( t_icmsbs ) .

      t_icmsbs_d2 = t_icmsbs .

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

    ENDIF.

    IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.

      /pws/zycie003-advalicms = v_advalicms.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  IF itab_zycit001-regime EQ '05' OR

     itab_zycit001-regime EQ '12' .

    PERFORM calcula_admtemp .

  ENDIF.

  itab_it-vlicms   = t_icms.

  IF '356' CA /pws/zycie100a-codregtriicms .

    CLEAR: t_icmsx, t_icms_d2, t_icms.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI029F01

 

...

    it_zycee007-ownpro2 = 'X'.

  ENDIF.

  READ TABLE itab_zycit100 WITH KEY

     nrseq  = itab_zycit265_c2-nrseq

     ebeln  = itab_zycit265_c2-ebeln

     ebelp  = itab_zycit265_c2-ebelp.

  READ TABLE itab_zycit003 WITH KEY

     nrseq  = itab_zycit265_c2-nrseq

     ebeln  = itab_zycit265_c2-ebeln

     ebelp  = itab_zycit265_c2-ebelp.

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

  IF NOT itab_zycit100-aliqicmsr IS INITIAL.

    itab_zycit003-advalicms = itab_zycit100-aliqicmsr.

  ENDIF.

* << Fim da inclusão

  CLEAR: itab_zycit001, itab_zycit480.

  READ TABLE itab_zycit001 WITH KEY

                   nrseq = itab_zycit265_c2-nrseq.

  IF itab_zycit001-modalidade EQ '05'.

    READ TABLE itab_zycit480 WITH KEY

                   nrseq = itab_zycit265_c2-nrseq

                   ebeln = itab_zycit265_c2-ebeln

                   ebelp = itab_zycit265_c2-ebelp.

    IF sy-subrc EQ 0.

      itab_zycit003-advalicms = itab_zycit480-vl_aliqicms.

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE100A

 

Nome de campo    Elem.dados    Tab.verif.    N CtDt Comp.

 

...

* >> Início da inclusão:

ALIQICMSR        J_1BTXRATE                    DEC      6

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCIT100

 

Nome de campo    Chv Elem.dados    Tab.verif.    N CtDt Comp.

 

...

* >> Início da inclusão:

ALIQICMSR            J_1BTXRATE                    DEC      6

* << Fim da inclusão