Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 07/12/2012 11:00:04
Data/Hora Última Alteração: 07/12/2012 11:00:04
Descrição da Nota: NOTA FISCAL: ICMS ST
Sintoma
Na criação da nota fiscal, está levando uma linha com valores zerados e sem informação de código do
imposto. Todos os impostos mencionados na DI estão destacados na nota. Porém está aparecendo uma
linha adicional com valores zerados e sem código de imposto.
Solução
Modificado a rotina de mapeamento de impostos dentro da função '/PWS/ZYCI_TRANSACAO_J1B1N' para que
seja incluído o número da linha dinâmicamente, pois estava com numeração fixa.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12691 Data: 29/11/2012 Hora: 10:44:48
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12691
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00002
Agrupamento : 00138
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
11157 - 00001 - 8.0 - 00007 - LEGISLAÇÃO PARA DESENVOLVIMENTO DE ICMS ST NA DI E NF.
11494 - 00002 - 8.0 - 00009 - ACRESCENTAR TRATAMENTO PARA LINHA DO II NA NF.
12666 - 00003 - 9.0 - 00002 - PREENCHIMENTO DO NUMERO DO DOCUMENTO DE IMPORTAÇÃO COM 10 DIGITOS
----------------------------------------------------------------------------------------------------
NOTA FISCAL: ICMS ST
----------------------------------------------------------------------------------------------------
Palavras Chave:
ICMS ST - IMPOSTO - LANÇAMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSACAO_J1B1N
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_J1B1N
...
DATA: t_fields(50) OCCURS 0 WITH HEADER LINE,
t_where(50) OCCURS 0 WITH HEADER LINE.
DATA v_nfe.
DATA: v_othbas_st(17),
v_base_st(15),
v_taxval_st(15),
v_stexcbas(20),
v_aliqst(8).
CONSTANTS c_x VALUE 'X'.
DATA: v_nrdi TYPE /pws/zycee005-nrdi.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
data: v_campo_TAXTYP(60),
v_campo_base(60),
v_campo_rate(60),
v_campo_taxval(60),
v_campo_excbas(60),
v_campo_othbas(60).
* << Fim da inclusão
LOOP AT t_dados.
CHECK t_dados-tcode = 'J1B1N'.
CLEAR v_cont.
IF ( t_dados-docdat = space ).
t_campos-mandt = t_dados-mandt.
t_campos-campo = 'J_1BDYDOC-DOCDAT'.
t_campos-descricao = text-001.
APPEND t_campos.
RAISE campo_em_branco.
ENDIF.
...
...
WRITE: t_itens-othbas_st TO v_othbas_st CURRENCY t_itens-waers,
t_itens-base_st TO v_base_st CURRENCY t_itens-waers,
t_itens-taxval_st TO v_taxval_st CURRENCY t_itens-waers,
t_itens-st_excbas TO v_stexcbas CURRENCY t_itens-waers,
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.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
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-TAXVAL(01)' v_taxval,
'J_1BDYSTX-EXCBAS(01)' v_cexcbas,
'J_1BDYSTX-OTHBAS(01)' v_othbas,
'J_1BDYSTX-TAXTYP(02)' t_itens-taxtyp2,
'J_1BDYSTX-BASE(02)' v_base2,
'J_1BDYSTX-RATE(02)' v_aliqipi,
'J_1BDYSTX-TAXVAL(02)' v_taxval2,
'J_1BDYSTX-EXCBAS(02)' v_pexcbas,
'J_1BDYSTX-OTHBAS(02)' v_othbas2,
'J_1BDYSTX-TAXTYP(03)' t_itens-taxtyp_pis,
'J_1BDYSTX-BASE(03)' v_base_pis,
'J_1BDYSTX-RATE(03)' v_aliqpis,
'J_1BDYSTX-TAXVAL(03)' v_taxval_pis,
'J_1BDYSTX-EXCBAS(03)' v_pisexcbas,
'J_1BDYSTX-OTHBAS(03)' v_othbas_pis,
'J_1BDYSTX-TAXTYP(04)' t_itens-taxtyp_cof,
'J_1BDYSTX-BASE(04)' v_base_cof,
'J_1BDYSTX-RATE(04)' v_aliqcof,
'J_1BDYSTX-TAXVAL(04)' v_taxval_cof,
'J_1BDYSTX-EXCBAS(04)' v_cofexcbas,
'J_1BDYSTX-OTHBAS(04)' v_othbas_cof,
'J_1BDYSTX-TAXTYP(05)' t_itens-taxtyp_st,
'J_1BDYSTX-BASE(05)' v_base_st,
'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,
'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,
v_linesel 'X',
'BDC_OKCODE' '=ITEM'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N
clear: v_cont,
v_campo_TAXTYP(60),
v_campo_base(60),
v_campo_rate(60),
v_campo_taxval(60),
v_campo_excbas(60),
v_campo_othbas(60).
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_taxtyp t_itens-taxtyp,
v_campo_base v_base,
v_campo_rate v_aliqicms,
v_campo_taxval v_taxval,
v_campo_excbas v_cexcbas,
v_campo_othbas v_othbas.
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_taxtyp t_itens-taxtyp2,
v_campo_base v_base2,
v_campo_rate v_aliqipi,
v_campo_taxval v_taxval2,
v_campo_excbas v_pexcbas,
v_campo_othbas v_othbas2.
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_taxtyp t_itens-taxtyp_pis,
v_campo_base v_base_pis,
v_campo_rate v_aliqpis,
v_campo_taxval v_taxval_pis,
v_campo_excbas v_pisexcbas,
v_campo_othbas v_othbas_pis.
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_taxtyp t_itens-taxtyp_cof,
v_campo_base v_base_cof,
v_campo_RATE v_aliqcof,
v_campo_TAXVAL v_taxval_cof,
v_campo_EXCBAS v_cofexcbas,
v_campo_OTHBAS v_othbas_cof.
if not t_itens-taxval_st is initial.
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_TAXTYP t_itens-taxtyp_st,
v_campo_BASE v_base_st,
v_campo_RATE v_aliqst,
v_campo_TAXVAL v_taxval_st,
v_campo_EXCBAS v_stexcbas,
v_campo_OTHBAS v_othbas_st.
endif.
ADD 1 TO v_cont.
CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.
CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')' INTO v_campo_base.
CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')' INTO v_campo_rate.
CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.
CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.
CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.
PERFORM bdc_campo USING:
v_campo_TAXTYP t_itens-taxtyp_ii,
v_campo_BASE v_base_ii,
v_campo_RATE v_aliqii,
v_campo_TAXVAL v_taxval_ii,
v_campo_EXCBAS v_iiexcbas,
v_campo_OTHBAS v_othbas_ii.
PERFORM bdc_campo USING:
v_linesel 'X',
'BDC_OKCODE' '=ITEM'.
* << Fim da inclusão
IF NOT v_lines = v_tabix.
PERFORM bdc_tela USING 'SAPLJ1BB2' '3000'.
PERFORM bdc_campo USING:
'BDC_OKCODE' '=ADIT'.
ENDIF.
ENDLOOP.
PERFORM bdc_tela USING 'SAPLJ1BB2' '3000'.
PERFORM bdc_campo USING:
...