Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 23/07/2010 00:00:00
Data/Hora Última Alteração: 11/10/2011 14:50:55
Descrição da Nota: IMPLEMENTADO NA NOTA FISCAL RATEIO DA TX SISCOMEX NAS MENSAGENS E NR ATO
Sintoma
Implementar Taxa do siscomex proporcional na nota fiscal de entrada e numero do ato concessório na
mensagem
Solução
Implementar parâmetro para permitir ratear Taxa do siscomex proporcional na nota fiscal de entrada e
levar o numero do ato concessório na mensagens
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10424 Data: 23/07/2010 Hora: 09:39:21
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10424
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00004
Agrupamento : 00031
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08729 - 00001 - 7.0 - 00010 - NA DI ARREDONDAR O CALCULO DE ICMS BASE REDUZIDA PARA 4 CASAS
----------------------------------------------------------------------------------------------------
IMPLEMENTADO NA NOTA FISCAL RATEIO DA TX SISCOMEX NAS MENSAGENS E NR ATO
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA - FISCAL - MENSAGENS- RATEIO - TX - SISC - ATO - CONCESSORIO - NFE
----------------------------------------------------------------------------------------------------
Objetos da nota:
DTEL /PWS/ZYCIL884
MESS /PWS/ZYCIM151
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI016I01
REPS /PWS/MZYCI016X01
TABD /PWS/ZYCIT062
TABU TDDAT
TABU TVDIR
TOBJ /PWS/ZYCIT062S
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCIL884
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYCIL884
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (50 caracteres), idioma: PT
"GL - Rateio Proporcional da Taxa do Siscomex na NF"
Categoria de dados: Domínio
Domínio: XFELD
ID parâmetro:
Nome componente default:
Documentar modificações: SIM
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (9 caracteres), idioma: PT
"Rat. Sisc"
Comprimento máximo do denominador médio: 19
Denominador médio incluído (19 caracteres), idioma: PT
"Rat. Sisc. Proporc."
Comprimento máximo do denominador longo: 34
Denominador longo incluído (34 caracteres), idioma: PT
"Rat. Proporcional da Tx Sisc na NF"
Comprimento máximo do título: 45
Título incluído (45 caracteres), idioma: PT
"Rateio Proporcional da Taxa do Siscomex na NF"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MESS /PWS/ZYCIM151
* Incluir mensagem na Classe de Mensagens /PWS/ZYCIM
* Mensagem = "151"
* Txt.breve mensagem = "NF-e Campos Dt. Desembaraço, URF Entrada, URF Despacho. São Obrigatórios"
* Traduzir esta mensagem para Espanhol "ES"
* "NFe Campos Dt. Liquidación, Entrada URF, URF Orden. Se requieren"
* Traduzir esta mensagem para Inlgês "EN"
* "NF-e fields Dt. Clearance, URF Entry, Order URF. Are Required"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.
PERFORM trata_decimais USING itab_zycit049_aux_r-waers
CHANGING itab_zycit049_aux_r-vldp.
PERFORM taxa_converte USING itab_zycit049_aux_r-waers
itab_zycit085-dttax CHANGING v_taxa_desp.
v_vldp = itab_zycit049_aux_r-vldp *
v_taxa_desp.
ELSE.
v_vldp = itab_zycit049_aux_r-vldp .
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
IF ( itab_zycit049_aux_r-tpdesp EQ /pws/zycit000-cod_sisc AND
/pws/zycit062-RATEIO_TX_SISC = 'X' ).
CLEAR v_vldp.
LOOP AT itab_zycit042_mark.
READ TABLE itab_zycit042_sisc WITH KEY
nrseqnf = itab_zycit042_mark-nrseqnf
nrseq = itab_zycit042_mark-nrseq
nfglobal = itab_zycit042_mark-nfglobal
ebeln = itab_zycit042_mark-ebeln
ebelp = itab_zycit042_mark-ebelp.
IF SY-SUBRC = 0.
v_vldp = v_vldp + itab_zycit042_sisc-vldp.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit049_aux_r-tpdesp.
READ TABLE itab_zycit020 WITH KEY codigo = itab_zycit019-codigo
regio = itab_zycit019-regio.
ELSE.
IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.
PERFORM trata_decimais USING itab_zycit049_aux_r-waers
CHANGING itab_zycit049_aux_r-vldp.
PERFORM taxa_converte USING itab_zycit049_aux_r-waers
/pws/zycit085-dttax
...
...
it_zycee006-indice = v_ind.
APPEND it_zycee006.
ENDIF.
ENDLOOP.
SELECT SINGLE * FROM /pws/zycit479
WHERE tpnf EQ itab_zycit042_mark-tpnf.
IF sy-subrc EQ 0.
it_zycee006-msg = /pws/zycit479-text1.
APPEND it_zycee006.
it_zycee006-msg = /pws/zycit479-text2.
* >> Início da inclusão: FORM MENSAGENS_NF
APPEND it_zycee006.
ENDIF.
ENDIF.
LOOP AT itab_zycit003_mark.
IF NOT itab_zycit003_mark-nrseqd IS INITIAL.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = itab_zycit003_mark-nrseqli
AND ( tpli = 'N' OR tpli = 'S' ).
IF sy-subrc EQ 0.
it_zycee006-msg = 'Pedido'. "#EC NOTEXT
CONCATENATE it_zycee006-msg itab_zycit003_mark-ebeln
INTO it_zycee006-msg
SEPARATED BY '-' .
CONCATENATE it_zycee006-msg 'Item' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY space .
CONCATENATE it_zycee006-msg itab_zycit003_mark-ebelp
INTO it_zycee006-msg
SEPARATED BY '-'.
CONCATENATE it_zycee006-msg 'Nº Ato Concessório' "#EC NOTEXT
INTO it_zycee006-msg
SEPARATED BY ' / ' .
CONCATENATE it_zycee006-msg /pws/zycit078-reg_drawback
INTO it_zycee006-msg
SEPARATED BY '-' .
v_ind = v_ind + 1.
it_zycee006-indice = v_ind.
* << Fim da inclusão
APPEND it_zycee006.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
ENDLOOP.
* << Fim da inclusão
CLEAR itab_zycit042_mark[].
REFRESH itab_zycit042_mark[].
ENDFORM.
FORM mensagens_nf_r.
...
...
itab_zycit003-vlreal =
itab_zycit003-vlreal / v_taxa .
ENDIF.
ENDIF.
v_tot_plan = v_tot_plan +
( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
v_tot_real = v_tot_real +
( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).
ENDLOOP.
LOOP AT itab_zycit049_a.
* >> Início da exclusão: FORM SELECIONA_DESPESAS
IF ( itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc AND
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND
/pws/zycit062-RATEIO_TX_SISC = 'X' ).
CLEAR: itab_zycit042_sisc.
REFRESH: itab_zycit042_sisc.
MOVE: itab_zycit042_d[] TO itab_zycit042_sisc[].
ENDIF.
IF ( ( itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc OR
itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND
/pws/zycit062-RATEIO_TX_SISC = 'X' ) AND
* << Fim da inclusão
itab_zycit049_a-tpdesp NE /pws/zycit000-cod_antidump ) OR
/pws/zycit000-flag_txsisc IS INITIAL OR
/pws/zycit001-tpdecl = 'DSI'.
IF itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_antidump AND
/pws/zycit001-tpdecl NE 'DSI'.
CONTINUE.
ENDIF.
CLEAR: v_tot_vldp, v_vldp.
LOOP AT itab_zycit042_d.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND
/pws/zycit062-RATEIO_TX_SISC = 'X' ).
READ TABLE itab_zycit042_sisc WITH KEY
nrseqnf = itab_zycit042_d-nrseqnf
nrseq = itab_zycit042_d-nrseq
nfglobal = itab_zycit042_d-nfglobal
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
ENDIF.
* << Fim da inclusão
IF itab_zycit085-waersfob NE itab_zycit003-waers.
PERFORM taxa_converte USING itab_zycit003-waers
itab_zycit085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
itab_zycit003-vlreal =
itab_zycit003-vlreal * v_taxa.
itab_zycit003-netpr =
itab_zycit003-netpr * v_taxa.
ENDIF.
...
...
/pws/zycit085-vlseg ) ).
ENDIF.
ELSE.
v_vldp = itab_zycit049_a-vldp *
( itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_real ).
ENDIF.
ENDIF.
v_tot_vldp = v_tot_vldp + v_vldp.
itab_zycit042_d-vldp = itab_zycit042_d-vldp + v_vldp.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND
/pws/zycit062-RATEIO_TX_SISC = 'X' ).
itab_zycit042_sisc-vldp = itab_zycit042_sisc-vldp + v_vldp.
MODIFY itab_zycit042_sisc TRANSPORTING vldp
WHERE nrseqnf = itab_zycit042_d-nrseqnf
AND nrseq = itab_zycit042_d-nrseq
AND nfglobal = itab_zycit042_d-nfglobal
AND ebeln = itab_zycit042_d-ebeln
AND ebelp = itab_zycit042_d-ebelp.
ENDIF.
* << Fim da inclusão
CLEAR v_vldp.
ENDIF.
MODIFY itab_zycit042_d.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit042_d.
v_totitem = v_totitem + ( itab_zycit042_d-netpr *
itab_zycit042_d-qtd_iten ).
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
...
IF v_autoriza = 'X'.
PERFORM modo_batch_input.
ELSE.
MESSAGE w013 WITH text-094 text-095.
ENDIF.
WHEN 'CRIARNF'.
IF v_modo_bi IS INITIAL.
v_modo_bi = 'E'.
ENDIF.
SORT itab_zycit042 BY tpnf j_1bbranch lifnr nrseq ebeln ebelp.
* >> Início da inclusão: MODULE USER_COMMAND_0050
SELECT SINGLE * FROM dd03l
WHERE tabname = 'J_1BNFDOC' AND
fieldname = 'NFE'.
IF sy-subrc = 0.
ASSIGN: (t_fields4) TO <nfenum>,
(t_fields3) TO <nfe>.
IF NOT <nfenum> IS INITIAL AND
NOT <nfe> IS INITIAL.
SELECT SINGLE * FROM /PWS/ZYCIT085
WHERE NRSEQDI = /PWS/ZYCIE041-NRSEQ.
IF SY-SUBRC = 0.
IF /PWS/ZYCIT085-DTDESEMB IS INITIAL OR
/PWS/ZYCIT085-URFENT IS INITIAL OR
/PWS/ZYCIT085-URFDESP IS INITIAL.
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
AND msgnr EQ '151'.
IF sy-subrc EQ 0 AND
NOT /pws/zyglt217-msgtp IS INITIAL.
MESSAGE ID '/PWS/ZYCIM' TYPE
/pws/zyglt217-msgtp NUMBER '151'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
IF /pws/zycie041-transpnac IS INITIAL.
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
AND msgnr EQ '111'.
IF sy-subrc EQ 0 AND /pws/zyglt217-msgtp EQ 'E'.
MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '111'
.
ELSE.
IF sy-subrc EQ 0 AND ( /pws/zyglt217-msgtp NE 'E'
AND NOT /pws/zyglt217-msgtp IS INITIAL ).
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit042_sisc OCCURS 0.
INCLUDE STRUCTURE itab_zycit042.
DATA: END OF itab_zycit042_sisc.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT062
Nome de campo Chv Elem.dados Tab.verif. N CtDt Comp.
...
ICMS_BASE_RED_AR /PWS/ZYCIL390 CHAR 1
* >> Início da inclusão:
RATEIO_TX_SISC /PWS/ZYCIL884 CHAR 1
* << Fim da inclusão
USERNAMEC SYUNAME CHAR 12
DTUSERC SYDATUM DATS 8
HRUSERC SYSTTIMLO TIMS 6