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.
6.0
Produto:
Nota
Descrição
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