CE PLUS - Nota 007955

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DSI

Data/Hora da Publicação: 22/01/2009 00:00:00

Data/Hora Última Alteração: 09/03/2010 16:14:33

Descrição da Nota: DSI NÃO ESTA GRAVANDO A ADIÇÃO E O ITENS DA ADIÇÃO COM MAIS DE 999 ITENS

Sintoma

 

Quando registramos uma DSI no Pw.CE a mesma não está gravando na tabela /PWS/ZYCIT100 campo ADICAO e

ITEM_ADI_SISC os números relativos à adição da NCM.  Os campos são gravados na tabela com valor 000.

Com a Nota fiscal-eletrônica, precisamos informar à SEFAZ o número correspondente a cada adição e

seu respectivo item sequencial e buscamos esses dados na tabela /PWS/ZYCIT100, no entanto, o arquivo

é rejeitado porque os campos estão preenchidos com zeros.

 

Solução

 

Permitir criar uma DSI com mais de 999 itens e gravar os dados na ZYCIT100 nos campos ADICAO e

ITEM_ADI_SISC

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07955 Data: 22/01/2009 Hora: 14:35:16

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

 

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

Nota Número              : 07955

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00082

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

DSI NÃO ESTA GRAVANDO A ADIÇÃO E O ITENS DA ADIÇÃO COM MAIS DE 999 ITENS

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

Palavras Chave:

DSI - ADIÇÃO - ITENS - SISCOMEX

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI058                        0231

REPS /PWS/MZYCI058F01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI058                        0231

 

MODIFICAR CAMPO TEXTO "V_IP"

Comprimento Visível      5

Texto                    _____

 

MODIFICAR CAMPO TEXTO "V_IPT"

Comprimento Visível      5

Coluna                   72

Texto                    _____

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

      v_nrseqc   LIKE /pws/zycit085-nrseqdi,

      v_count(7) TYPE n,

      v_ano(4).

  CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.

  SELECT MAX( nrseqdi ) INTO (v_nrseqc) FROM /pws/zycit085

                                       WHERE nrseqdi LIKE v_ano.

  v_count = v_nrseqc+0(7) + 1.

  CONCATENATE v_count+0(7) 'I' sy-datum+2(2) INTO /pws/zycie085-nrseqdi.

ENDFORM.

FORM save_data.

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

data: v_adicao type /pws/zycit100-adicao,

      v_item   type /pws/zycit100-ITEM_ADI_SISC.

* << Fim da inclusão

  IF NOT /pws/zycie085-dtdesemb IS INITIAL AND

     NOT /pws/zycie085-dtreg IS INITIAL.

    IF /pws/zycie085-dtdesemb LT /pws/zycie085-dtreg .

      MESSAGE i015 WITH text-239 text-240.

      EXIT.

    ENDIF.

  ENDIF.

  CHECK NOT /pws/zycie085-dttax IS INITIAL.

  PERFORM refresh_all.

  PERFORM: taxa_converte USING /pws/zycie085-waersfob

...

 

...

    ENDIF.

  ENDIF.

  MODIFY /pws/zycit085 FROM /pws/zycie085.

  DELETE FROM /pws/zycit095 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit095 FROM TABLE itab_zycit095.

  DELETE FROM /pws/zycit200 WHERE id = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit200 FROM TABLE itab_zycit200.

  DELETE FROM /pws/zycit100 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  CLEAR:   itab_zycit100.

  REFRESH: itab_zycit100.

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

  clear v_cont.

  v_adicao = '001'.

* << Fim da inclusão

  LOOP AT itab_it.

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

    v_cont = v_cont + 1 .

    if v_cont < 999 .

       itab_it-adicao = v_adicao .

       itab_it-ITEM_ADI_SISC = v_cont.

    else.

       itab_it-adicao = v_adicao .

       itab_it-ITEM_ADI_SISC = v_cont.

       v_adicao = v_adicao + 1 .

       clear v_cont.

    endif.

* << Fim da inclusão

    MOVE-CORRESPONDING itab_it TO itab_zycit100.

    APPEND itab_zycit100.

  ENDLOOP.

  MODIFY /pws/zycit100 FROM TABLE itab_zycit100.

  PERFORM cria_zycit269.

  IF NOT itab_zycit269[] IS INITIAL.

    MODIFY /pws/zycit269 FROM TABLE itab_zycit269.

  ENDIF.

  LOOP AT itab_it.

    UPDATE /pws/zycit003

...