CE PLUS - Nota 002972

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 26/01/2007 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:13:56

Descrição da Nota: APRESENTAR MENSAGEM NA NOTA FISCAL DE "VALOR ICMS: DIFERIDO"

Sintoma

Nas mensagens de Nf, evidenciar quando ICMS for diferido.

 

 

Solução

Apresentar mensagem na nota fiscal de "Valor ICMS: Diferido" ao invés de aparecer o valor.

Tanto da global como na remessa.

Agora aparece o escrito Diferido ao invés do valor.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

1 - O EMBARQUE POSSUI DOIS ITENS, UM COM ICMS DIFERIDO E OUTRO DRAWBACK

Informações Complementares

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

Nota Número 02972 Data: 26/01/2007 Hora: 09:55:15

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

 

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

Nota Número              : 02972

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00150

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

Referência às notas relacionadas:

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

 

01182  - 00001 - 6.0    - 00023  - 1 - O EMBARQUE POSSUI DOIS ITENS, UM COM ICMS DIFERIDO E OUTRO DR

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

APRESENTAR MENSAGEM NA NOTA FISCAL DE "VALOR ICMS: DIFERIDO"

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

Palavras Chave:

MENSAGEM - NOTA FISCAL - NF REMESSA - VALOR ICMS

ICMS DIFERIDO

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

Objetos da nota:

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016X01

REPT /PWS/SAPMZYCI016

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

FORM mensagens_nf.

 

  DATA BEGIN OF itab_zycit001_msg OCCURS 0.

  DATA: nrseq LIKE /pws/zycit001-nrseq,

        embarca LIKE /pws/zycit001-embarca.

  DATA END OF itab_zycit001_msg.

 

  DATA: itab_zycit003_mark LIKE itab_zycit003 OCCURS 0 WITH HEADER LINE.

 

 

  DATA: v_nrdi         LIKE /pws/zycit085-nrdi   ,

        v_dtreg(10)    TYPE c VALUE space   ,

        v_dificms(15)   TYPE c VALUE space   ,

        v_landx        LIKE t005t-landx     ,

        v_impim(15)    TYPE c VALUE space   ,

        v_despace(15) TYPE c VALUE space   ,

        v_nrseqm       LIKE /pws/zycit085-nrseqdi  ,

        v_tamanho(45)  TYPE c,

        v_valor_r      TYPE /pws/zycit100-vlii,

        v_ind          TYPE i,               " CI - Indice de despesa

        v_descr        LIKE /pws/zycit027-descr,  " CI - Descr. Despesa

        v_vldp_x(15)   TYPE c,               " CI - Total de despesa

        v_cont         TYPE i,

        v_vlpis       LIKE /pws/zycit100-vlpis   ,

        v_vlcofins    LIKE /pws/zycit100-vlcofins,

        v_idx         LIKE sy-tabix              ,

        v_vldp_aux    LIKE /pws/zycit049-vldp    ,

        v_lin(3)        ,

        v_lin2(3)       ,

        v_txtkey     LIKE thead-tdname."Chave para o cabeçalho

 

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

  clear v_icms_dif.

* << Fim da inclusão

 

  FREE it_zycee006.

  SELECT SINGLE * FROM /pws/zycit001 INTO wa_zycit001

    WHERE nrseq = itab_zycit042-nrseq.

 

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ wa_zycit001-bukrs.

 

  CLEAR: v_nrdi, v_dtreg, v_landx, v_impim, v_despace, v_nrseqm.

 

  IF itab_zycit085[] IS INITIAL.

    SELECT * FROM /pws/zycit085 INTO TABLE itab_zycit085

           WHERE nrseqdi = v_nrseq.

  ENDIF.

 

...

 

...

    READ TABLE itab_zycit100 WITH KEY

                                   nrseq = itab_zycit042_mark-nrseq

                                   ebeln = itab_zycit042_mark-ebeln

                                   ebelp = itab_zycit042_mark-ebelp  .

    IF sy-subrc EQ 0

     AND NOT itab_zycit100-codregtripiscofi EQ '5'.

      v_vlpis = v_vlpis + itab_zycit100-vlpis.

      v_vlcofins = v_vlcofins + itab_zycit100-vlcofins.

    ENDIF.

  ENDLOOP.

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

  CLEAR itab_zycit042_mark[].

  REFRESH itab_zycit042_mark[].

* << Fim da exclusão

  v_tamanho = '...............................'.

  CLEAR v_vldp_x.

  IF NOT v_vlpis IS INITIAL.

    MOVE : v_vlpis TO itab_zycit049_aux_r-vldp,

           itab_zycit049_aux_r-vldp TO v_vldp_x.

    CONCATENATE text-086 v_tamanho v_vldp_x

    INTO it_zycee006-msg SEPARATED BY space.

    APPEND it_zycee006.

  ENDIF.

  v_tamanho = '............................'.

  CLEAR v_vldp_x.

  IF NOT v_vlcofins IS INITIAL.

    MOVE: v_vlcofins TO itab_zycit049_aux_r-vldp,

          itab_zycit049_aux_r-vldp TO v_vldp_x.

    CONCATENATE text-087 v_tamanho v_vldp_x

    INTO it_zycee006-msg SEPARATED BY space.

    APPEND it_zycee006.

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

  ENDIF.

  LOOP AT itab_zycit042_mark.

    READ TABLE itab_zycit100 WITH KEY

                                   nrseq = itab_zycit042_mark-nrseq

                                   ebeln = itab_zycit042_mark-ebeln

                                   ebelp = itab_zycit042_mark-ebelp  .

    IF sy-subrc EQ 0   AND

      itab_zycit100-codregtriicms NE '5' .

      IF itab_zycit100-icms_dif NE 'X'.

        v_icms_dif   = itab_zycit100-vlicms.

      ELSE.

        v_dif = 'X'.

      ENDIF.

* << Fim da inclusão

  ENDIF.

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

  ENDLOOP.

  CLEAR itab_zycit042_mark[].

  REFRESH itab_zycit042_mark[].

* << Fim da inclusão

  IF v_icms_dif NE 0.

    v_ind = v_ind + 1.

    WRITE v_icms_dif TO v_dificms CURRENCY itab_zycit049-waers.

    CONCATENATE text-078 v_dificms

    INTO it_zycee006-msg SEPARATED BY space.

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

    it_zycee006-indice = v_ind.

    APPEND it_zycee006.

  ENDIF.

  IF v_dif = 'X'.

    v_ind = v_ind + 1.

    it_zycee006-msg =  text-097 .

    CLEAR v_dif.

* << Fim da inclusão

    it_zycee006-indice = v_ind.

    APPEND it_zycee006.

  ENDIF.

  IF v_base_dif NE 0.

    v_ind = v_ind + 1.

    WRITE v_base_dif TO v_basedif CURRENCY itab_zycit049-waers.

    CONCATENATE text-079 v_basedif

    INTO it_zycee006-msg SEPARATED BY space.

    it_zycee006-indice = v_ind.

    APPEND it_zycee006.

...

 

...

    SELECT SINGLE descdesp FROM /pws/zycet132

      INTO /pws/zycet132-descdesp

      WHERE codesp = itab_zycit085-urfdesp.

    v_cont = v_cont + 1.

    CONCATENATE text-067 /pws/zycet132-descdesp

     INTO it_zycee006-msg SEPARATED BY space.

    it_zycee006-indice = v_cont.

    APPEND it_zycee006.

  ENDIF.

  CLEAR v_dtreg.

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

  IF t001w-regio = 'MG'.

* << Fim da exclusão

    SELECT * FROM /pws/zycit100

    INTO TABLE itab_zycit100_aux

    WHERE nrseqdi = itab_zycit085-nrseqdi.

    IF itab_zycit003[] IS INITIAL.

      SELECT *

        FROM /pws/zycit003

        INTO TABLE itab_zycit003

        WHERE nrseq = itab_zycit042-nrseq AND

              ebeln = itab_zycit042-ebeln AND

              ebelp = itab_zycit042-ebelp.

    ENDIF.

    CLEAR v_icms_nfr_1.

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

    READ TABLE itab_zycit044 INDEX 1.

    IF sy-subrc EQ 0.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit044-ebeln

                                        ebelp = itab_zycit044-ebelp.

      LOOP AT itab_zycit042 WHERE docnum = itab_zycit044-docnumnfg.

      READ TABLE itab_zycit100_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

        v_icms_nfr_1 = v_icms_nfr_1 + itab_zycit100_aux-vlicms .

        IF itab_zycit100_aux-codregtriicms NE '5' AND

           itab_zycit100_aux-icms_dif  NE 'X'.

       WRITE v_icms_nfr_1 CURRENCY itab_zycit100-waersbem TO v_icms_nfr.

          CONCATENATE text-088 v_icms_nfr

          INTO it_zycee006-msg SEPARATED BY space.

        ELSE.

          CLEAR v_icms_dif.

        ENDIF.

      ENDLOOP.

      IF sy-subrc = 0 AND

        NOT  v_icms_nfr_1 IS INITIAL.

        v_cont = v_cont + 1.

        it_zycee006-indice = v_cont.

        APPEND it_zycee006.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da exclusão

  FREE itab_zycit001_re.

  CLEAR itab_zycit001_re.

  REFRESH itab_zycit001_re.

  IF itab_zycit001[] IS INITIAL.

    IF NOT itab_zycit044[] IS INITIAL.

      SELECT * FROM /pws/zycit001 INTO TABLE itab_zycit001_re

      FOR ALL ENTRIES IN itab_zycit044

      WHERE nrseq = itab_zycit044-nrseq.

    ENDIF.

  ELSE.

...

 

...

    it_zycee006-indice  = '6'.

    it_zycee006-msg     = /pws/zycie043-observ4.

    APPEND it_zycee006.

  ENDIF.

  IF NOT /pws/zycie043-observ5 IS INITIAL.

    it_zycee006-indice  = '7'.

    it_zycee006-msg     = /pws/zycie043-observ5.

    APPEND it_zycee006.

  ENDIF.

  v_idm = it_zycee006-indice.

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

  IF v_icms_dif NE 0

  AND itab_zycit100-icms_dif NE 'X'.

* << Fim da exclusão

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

  IF v_base_dif NE 0.

* << Fim da inclusão

    v_idm = v_idm + 1.

    it_zycee006-indice  = v_idm.

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

    WRITE v_icms_dif TO v_dificms CURRENCY itab_zycit049-waers.

    CONCATENATE text-078 v_dificms

* << Fim da exclusão

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

    WRITE v_base_dif TO v_basedif CURRENCY itab_zycit049-waers.

    CONCATENATE text-079 v_basedif

* << Fim da inclusão

    INTO it_zycee006-msg SEPARATED BY space.

    APPEND it_zycee006.

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

  ENDIF.

  CLEAR v_icms_nfr_1.

  READ TABLE itab_zycit044 INDEX 1.

  IF sy-subrc EQ 0.

    READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit044-ebeln

                                      ebelp = itab_zycit044-ebelp.

    LOOP AT itab_zycit042 WHERE docnum = itab_zycit044-docnumnfg.

      READ TABLE itab_zycit100_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

      IF itab_zycit100_aux-codregtriicms NE '5' .

        IF itab_zycit100_aux-icms_dif NE 'X'.

          v_icms_nfr_1 = v_icms_nfr_1 + itab_zycit100_aux-vlicms .

        ELSE.

          v_dif = 'X'.

        ENDIF.

      ELSE.

        CLEAR v_icms_dif.

* << Fim da inclusão

  ENDIF.

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

    ENDLOOP.

    IF NOT  v_icms_nfr_1 IS INITIAL.

      v_cont = v_cont + 1.

      it_zycee006-indice = v_cont.

* << Fim da inclusão

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

  IF v_base_dif NE 0.

    v_idm = v_idm + 1.

    it_zycee006-indice  = v_idm.

    WRITE v_base_dif TO v_basedif CURRENCY itab_zycit049-waers.

    CONCATENATE text-079 v_basedif

* << Fim da exclusão

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

      WRITE v_icms_nfr_1 CURRENCY itab_zycit100-waersbem

          TO v_icms_nfr.

      CONCATENATE text-088 v_icms_nfr

* << Fim da inclusão

    INTO it_zycee006-msg SEPARATED BY space.

    APPEND it_zycee006.

  ENDIF.

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

    IF v_dif = 'X'.

      it_zycee006-msg =  text-097 .

      v_cont = v_cont + 1.

      it_zycee006-indice = v_cont.

      APPEND it_zycee006.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE *

    FROM /pws/zyglt369

    INTO wa_zyglt369

    WHERE bukrs  EQ /pws/zycit085-bukrs

     AND  branch EQ /pws/zycit085-j_1bbranch

     AND urfdesp EQ /pws/zycit085-urfdesp.

  IF sy-subrc EQ 0.

    CONCATENATE wa_zyglt369-bukrs   wa_zyglt369-branch

                wa_zyglt369-urfdesp INTO v_txtkey.

    CALL FUNCTION 'READ_TEXT'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

...

  v_modalidade like /pws/zycie001-modalidade,

      v_tiponf(10)    ,

      e_subrc   value 0,

      v_modo_bi       ,

      e_exec_okcode        ,

      v_total       like j_1bdytax-base,

      v_outras_ic like /pws/zycit044-vldp,

      v_counter TYPE i,

      v_qtditem TYPE i.

data:  okcode          LIKE sy-ucomm.

* >> Início da inclusão:

 data  v_dif.

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI016

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: 074

 

Texto: (5 caracteres)

"Curr."

 

Comprimento máximo: 5

 

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

Modificado símbolo de texto:

 

Idioma: EN

 

Símbolo: 075

 

Texto: (14 caracteres)

"Document Types"

 

Comprimento máximo: 17

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 097

 

Texto: (20 caracteres)

"Differed ICMS Value:"

 

Comprimento máximo: 22

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 097

 

Texto: (20 caracteres)

"Valor ICMS: Diferido"

 

Comprimento máximo: 22