Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 24/10/2011 15:37:23
Data/Hora Última Alteração: 24/10/2011 15:37:23
Descrição da Nota: ACRESCENTAR TRATAMENTO PARA LINHA DO II NA NF.
Sintoma
Acrescentar tratamento para linha do II na NF. NOte 1616778 - NF-e: NT2011/004 (SAP),
Solução
Fazer tratamento para destacar linha do II na NF e retirar do campo despesas quando estiver
parametrizado na /PWS/ZYCIT398
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11494 Data: 29/09/2011 Hora: 08:22:48
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11494
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00009
Agrupamento : 00087
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01547 - 00002 - 6.0 - 00023 - NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O
01580 - 00001 - 6.0 - 00023 - ERRO NO SEGURO DA NF EM JPY.
02112 - 00003 - 6.0 - 00024 - NA CRIAÇÃO DA NF DE REMESSA, O IPI NÃO OBDECE PARÂMETRO DA /PWS/Z
02780 - 00004 - 6.0 - 00026 - AJUSTE PARA LEVAR A BASE DE IPI PARA NOTA FISCAL DE REMESSA.
03588 - 00005 - 7.0 - 00001 - LEI FISCAL REFERENTE PIS/COFINS NA NOTA FISCAL
03667 - 00006 - 7.0 - 00001 - PREENCHE LEI DE PIS E COFINS SEMPRE QUE PARAMETRIZADO.
08149 - 00007 - 7.0 - 00008 - VALOR DE FRETE E SEGURO COM DIFERENÇA DE CENTAVOS
08953 - 00008 - 8.0 - 00001 - TRAMENTO PARA DIFERENÇA DE CENTAVOS DEVIDO RATEIO DE DESPESAS
09430 - 00009 - 8.0 - 00001 - O VALOR TOTAL TOTAL DA NOTA DE REMESSA ESTÁ DIFERENTE DA GLOBAL
11157 - 00010 - 8.0 - 00007 - LEGISLAÇÃO PARA DESENVOLVIMENTO DE ICMS ST NA DI E NF.
11227 - 00011 - 8.0 - 00007 - NÃO APRESENTA A LINHA DO COFINS NA NF REMESSA
----------------------------------------------------------------------------------------------------
ACRESCENTAR TRATAMENTO PARA LINHA DO II NA NF.
----------------------------------------------------------------------------------------------------
Palavras Chave:
LINHA DO II - DESTACADO - NF - LEGISLAÇÃO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
DTEL /PWS/ZYGLL1436
DTEL /PWS/ZYGLL1437
FUNC /PWS/ZYCI_TRANSACAO_J1B1N
REPS /PWS/MZYCI016F01
TABD /PWS/ZYCEE007
TABD /PWS/ZYCIT398
TOBJ /PWS/ZYCIT398S
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1436
CRIAR ELEMENTO DE DADOS: /PWS/ZYGLL1436
DESCRIÇÃO BREVE: "CI - Lei PIS"
DEFINIÇÃO
CATEGORIA DE DADOS:
(x) - TIPO INSTALADO CTG. DADOS: CHAR
CUMPRIMEN.3 DECIMAIS.________
DENOM. DE CAMPO:
BREVE : 07 "Lei PIS"
MÉDIO : 07 "Lei PIS"
LONGA : 07 "Lei PIS"
TÍTULO: 07 "Lei PIS"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1437
CRIAR ELEMENTO DE DADOS: /PWS/ZYGLL1437
DESCRIÇÃO BREVE: "CI - Lei Cofins"
DEFINIÇÃO
CATEGORIA DE DADOS:
(x) - TIPO INSTALADO CTG. DADOS: CHAR
CUMPRIMEN.3 DECIMAIS.________
DENOM. DE CAMPO:
BREVE : 10 "Lei Cofins"
MÉDIO : 10 "Lei Cofins"
LONGA : 10 "Lei Cofins"
TÍTULO: 10 "Lei Cofins"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_J1B1N
...
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
DaTa:
v_othbas_ii(17),
v_base_ii(15),
v_taxval_ii(15),
v_iiexcbas(20),
v_aliqii(8).
* << Fim da inclusão
...
...
t_itens-st_excbas TO v_stexcbas CURRENCY t_itens-waers,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
t_itens-rate_st TO v_aliqst CURRENCY t_itens-waers.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
t_itens-rate_st TO v_aliqst CURRENCY t_itens-waers,
t_itens-othbas_ii TO v_othbas_ii CURRENCY t_itens-waers,
t_itens-base_ii TO v_base_ii CURRENCY t_itens-waers,
t_itens-taxval_ii TO v_taxval_ii CURRENCY t_itens-waers,
t_itens-ii_excbas TO v_iiexcbas CURRENCY t_itens-waers,
t_itens-rate_ii TO v_aliqii CURRENCY t_itens-waers.
* << Fim da inclusão
PERFORM bdc_campo USING:
'J_1BDYSTX-TAXTYP(01)' t_itens-taxtyp,
'J_1BDYSTX-BASE(01)' v_base,
'J_1BDYSTX-RATE(01)' v_aliqicms,
...
...
'J_1BDYSTX-RATE(05)' v_aliqst,
'J_1BDYSTX-TAXVAL(05)' v_taxval_st,
'J_1BDYSTX-EXCBAS(05)' v_stexcbas,
'J_1BDYSTX-OTHBAS(05)' v_othbas_st,
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
'J_1BDYSTX-TAXTYP(06)' t_itens-taxtyp_ii,
'J_1BDYSTX-BASE(06)' v_base_ii,
'J_1BDYSTX-RATE(06)' v_aliqii,
'J_1BDYSTX-TAXVAL(06)' v_taxval_ii,
'J_1BDYSTX-EXCBAS(06)' v_iiexcbas,
'J_1BDYSTX-OTHBAS(06)' v_othbas_ii,
* << Fim da inclusão
v_linesel 'X',
'BDC_OKCODE' '=ITEM'.
IF NOT v_lines = v_tabix.
PERFORM bdc_tela USING 'SAPLJ1BB2' '3000'.
PERFORM bdc_campo USING:
'BDC_OKCODE' '=ADIT'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
v_vlseg = itab_zycit036_di-vlmov.
PERFORM trata_decimais USING itab_zycit036_di-waers_mov
CHANGING v_vlseg.
it_zycee007-netins = v_vlseg.
ENDIF.
ELSEIF itab_zycit036-codigo = 'II'.
* >> Início da inclusão: FORM VALORES
READ TABLE itab_zycit398 WITH KEY tributos = 'II'.
IF sy-subrc NE 0 .
* << Fim da inclusão
IF /pws/zycit062-arbase EQ 'X' AND
NOT itab_zycit036_di-vlreal IS INITIAL.
v_despesas = itab_zycit100-vlii.
ELSE.
v_despesas = itab_zycit036-vlreal.
* >> Início da inclusão: FORM VALORES
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
...
...
NOT itab_zycit036_di-vlmov IS INITIAL.
it_zycee007-netins =
( itab_zycit100-vlseg / itab_zycit044-menge ) *
itab_zycit044-qtd_item.
ELSE.
it_zycee007-netins =
( itab_zycit036_di-vlmov / itab_zycit044-menge ) *
itab_zycit044-qtd_item.
ENDIF.
ELSEIF itab_zycit036-codigo = 'II'.
* >> Início da inclusão: FORM VALORES_R
READ TABLE itab_zycit398 WITH KEY tributos = 'II'.
IF sy-subrc NE 0.
* << Fim da inclusão
IF /pws/zycit062-arbase EQ 'X' AND
NOT itab_zycit036_di-vlreal IS INITIAL.
v_despesas =
( itab_zycit100-vlii / itab_zycit044-menge ) *
itab_zycit044-qtd_item.
ELSE.
v_despesas = itab_zycit036-vlreal /
itab_zycit044-menge * itab_zycit044-qtd_item.
ENDIF.
* >> Início da inclusão: FORM VALORES_R
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycit036-codigo = 'IPI'.
IF /pws/zycit062-arbase EQ 'X' AND
NOT itab_zycit036_di-vlreal IS INITIAL.
v_ipi =
( itab_zycit100-vlipi / itab_zycit044-menge ) *
itab_zycit044-qtd_item.
ELSE.
v_ipi = itab_zycit036-vlreal /
itab_zycit044-menge * itab_zycit044-qtd_item.
ENDIF.
...
...
FORM itens_nfnew.
* >> Início da inclusão: FORM ITENS_NFNEW
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398
WHERE bukrs EQ /pws/zycie041-bukrs
AND clnf EQ itab_zycit033-clnf
AND tpnf EQ itab_zycit033-tpnf
AND ( tributos EQ 'PIS' OR
tributos EQ 'COFINS' OR
tributos EQ 'II' OR
tributos EQ 'ICMSST' ).
* << Fim da inclusão
...
...
ENDIF.
IF itab_zycit100-codregtriicms EQ '3'.
it_zycee007-p_excbas = itab_zycit100-vlicms.
ENDIF.
ENDCASE.
ENDIF.
* >> Início da exclusão: FORM ITENS_NFNEW
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398
WHERE bukrs EQ /pws/zycie041-bukrs
AND clnf EQ itab_zycit033-clnf
AND tpnf EQ itab_zycit033-tpnf
AND ( tributos EQ 'PIS' OR
tributos EQ 'COFINS' OR
tributos EQ 'ICMSST' ).
* << Fim da exclusão
READ TABLE itab_zycit398 WITH KEY tributos = 'PIS'.
IF sy-subrc EQ 0.
it_zycee007-leipis = itab_zycit398-leipis.
* >> Início da inclusão: FORM ITENS_NFNEW
it_zycee007-taxtyp_pis = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_pis.
* << Fim da inclusão
ENDIF.
IF NOT itab_zycit100-vlpis IS INITIAL.
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp
codigo = 'PIS'.
it_zycee007-taxval_pis = itab_zycit036-vlreal.
ELSE.
CLEAR it_zycee007-taxval_pis .
* >> Início da exclusão: FORM ITENS_NFNEW
ENDIF.
READ TABLE itab_zycit398 WITH KEY tributos = 'PIS'.
IF sy-subrc EQ 0.
it_zycee007-taxtyp_pis = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_pis.
* << Fim da exclusão
ENDIF.
IF NOT it_zycee007-taxval_pis IS INITIAL.
it_zycee007-rate_pis = itab_zycit100-advalpis.
ENDIF.
CASE itab_zycit398-tribpiscof.
...
...
WHEN 3.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-basepis.
it_zycee007-othbas_pis = v_montante1.
ENDCASE.
READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.
IF sy-subrc EQ 0.
it_zycee007-leicofins = itab_zycit398-leicofins.
* >> Início da inclusão: FORM ITENS_NFNEW
it_zycee007-taxtyp_cof = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_cof.
* << Fim da inclusão
ENDIF.
IF NOT itab_zycit100-vlcofins IS INITIAL.
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp
codigo = 'COFINS'.
it_zycee007-taxval_cof = itab_zycit036-vlreal.
ELSE .
CLEAR it_zycee007-taxval_cof .
* >> Início da exclusão: FORM ITENS_NFNEW
ENDIF.
READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.
IF sy-subrc EQ 0.
it_zycee007-taxtyp_cof = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_cof.
* << Fim da exclusão
ENDIF.
IF NOT it_zycee007-taxval_cof IS INITIAL.
it_zycee007-rate_cof = itab_zycit100-advalcofins.
ENDIF.
CASE itab_zycit398-tribpiscof.
WHEN 1.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-basecofins.
it_zycee007-base_cof = v_montante1.
WHEN 2.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-basecofins.
it_zycee007-cof_excbas = v_montante1.
CLEAR it_zycee007-taxval_cof.
WHEN 3.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-basecofins.
it_zycee007-othbas_cof = v_montante1.
ENDCASE.
* >> Início da exclusão: FORM ITENS_NFNEW
READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.
IF sy-subrc EQ 0.
it_zycee007-leicofins = itab_zycit398-leicofins.
ENDIF.
* << Fim da exclusão
READ TABLE itab_zycit398 WITH KEY tributos = 'ICMSST'.
IF sy-subrc EQ 0.
IF NOT itab_zycit100-vlcofins IS INITIAL.
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit042-nrseq
...
...
WHEN 3.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-baseicms_st.
it_zycee007-othbas_st = v_montante1.
ENDCASE.
ELSE.
CLEAR it_zycee007-taxtyp_st.
* >> Início da inclusão: FORM ITENS_NFNEW
ENDIF.
READ TABLE itab_zycit398 WITH KEY tributos = 'II'.
IF sy-subrc EQ 0.
it_zycee007-taxtyp_ii = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_ii.
ENDIF.
IF NOT itab_zycit100-vlii IS INITIAL.
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp
codigo = 'II'.
it_zycee007-taxval_ii = itab_zycit036-vlreal.
ELSE .
CLEAR it_zycee007-taxval_ii .
ENDIF.
IF NOT it_zycee007-taxval_ii IS INITIAL.
it_zycee007-rate_ii = itab_zycit003-advalii.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ITENS_NFNEW
CASE itab_zycit398-tribpiscof.
WHEN 1.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-baseii.
it_zycee007-base_ii = v_montante1.
WHEN 2.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-baseii.
it_zycee007-ii_excbas = v_montante1.
CLEAR it_zycee007-taxval_ii.
WHEN 3.
PERFORM verifica_montante.
v_montante1 = itab_zycit100-baseii.
it_zycee007-othbas_ii = v_montante1.
ENDCASE.
* << Fim da inclusão
IF ( NOT /pws/zycie001-modalidade EQ '05' AND
NOT /pws/zycie001-tpdecl EQ 'DI' ) OR
itab_zycit480[] IS INITIAL.
IF /pws/zycit062-flag_icms = 'X' AND /pws/zycit001-meioemba NE 'PS'.
IF NOT v_basred IS INITIAL.
IF /pws/zycit062-tred IS INITIAL.
v_basred = '100'.
ENDIF.
...
...
DATA: itab_zycit398 LIKE /pws/zycit398 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão: FORM ITENS_NFRNEW
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398
WHERE bukrs EQ /pws/zycie041-bukrs
AND clnf EQ itab_zycit033-clnf
AND tpnf EQ itab_zycit033-tpnf
AND ( tributos EQ 'PIS' OR
tributos EQ 'COFINS' OR
tributos EQ 'II' OR
tributos EQ 'ICMSST' ).
* << Fim da inclusão
...
...
ELSE.
it_zycee007-taxval = v_icms.
ENDIF.
v_base = it_zycee007-othbas.
ENDCASE.
it_zycee007-taxtyp = itab_zycit033-taxtyp.
it_zycee007-taxtyp2 = itab_zycit033-taxtyp2.
* >> Início da exclusão: FORM ITENS_NFRNEW
SELECT * FROM /pws/zycit398
INTO TABLE itab_zycit398
WHERE bukrs EQ /pws/zycie041-bukrs
AND clnf EQ itab_zycit033-clnf
AND tpnf EQ itab_zycit033-tpnf
AND ( tributos EQ 'PIS' OR
tributos EQ 'COFINS' OR
tributos EQ 'ICMSST' ).
* << Fim da exclusão
READ TABLE itab_zycit398 WITH KEY tributos = 'PIS'.
IF sy-subrc EQ 0.
it_zycee007-leipis = itab_zycit398-leipis.
ENDIF.
READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.
IF sy-subrc EQ 0.
it_zycee007-leicofins = itab_zycit398-leicofins.
ENDIF.
...
...
WHEN 3.
v_montante1 = itab_zycit100-baseicms_st.
it_zycee007-othbas_st = v_montante1.
ENDCASE.
ELSE.
CLEAR it_zycee007-taxtyp_st.
* >> Início da inclusão: FORM ITENS_NFRNEW
ENDIF.
READ TABLE itab_zycit398 WITH KEY tributos = 'II'.
IF sy-subrc EQ 0.
it_zycee007-taxtyp_ii = itab_zycit398-taxtyp.
ELSE.
CLEAR it_zycee007-taxtyp_ii.
ENDIF.
IF NOT it_zycee007-taxval_ii IS INITIAL.
it_zycee007-rate_ii = itab_zycit003-advalii.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ITENS_NFRNEW
CASE itab_zycit398-tribpiscof.
WHEN 1.
v_montante1 = itab_zycit100-baseii.
it_zycee007-base_ii = v_montante1.
WHEN 2.
v_montante1 = itab_zycit100-baseii.
it_zycee007-ii_excbas = v_montante1.
CLEAR it_zycee007-taxval_ii.
CLEAR it_zycee007-rate_ii.
WHEN 3.
v_montante1 = itab_zycit100-baseii.
it_zycee007-othbas_ii = v_montante1.
ENDCASE.
* << Fim da inclusão
CASE itab_zycit033-tribipi.
WHEN 1.
IF NOT itab_zycit100-baseipi IS INITIAL.
it_zycee007-base2 = itab_zycit100-baseipi /
itab_zycit044-menge * itab_zycit044-qtd_item .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCEE007
Acrescentado os campos abaixo, no final da tabela:
Campos
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
TAXTYP_II J_1BTAXTYP CHAR 4
II_EXCBAS J_1BEXCBAS CURR 15
OTHBAS_II J_1BOTHBAS CURR 15
BASE_II J_1BBASE CURR 15
RATE_II J_1BTXRATE DEC 6
TAXVAL_II J_1BTAXVAL CURR 15
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT398
Alterado os elementos de dados dos campos abaixo:
Campos
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
*PARA:
LEIPIS /PWS/ZYGLL1436 CHAR 3
*DE:
LEIPIS CHAR3 CHAR 3
*PARA:
LEICOFINS /PWS/ZYGLL1437 CHAR 3
*DE:
LEICOFINS CHAR3 CHAR 3
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TOBJ /PWS/ZYCIT398S
Gerar visão de atualização de tabela /PWS/ZYCIT398
Na SE54, selecionar objetos gerados. Clicar no lapis e selecionar todas as opções. Mandar gerar.