Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal Remessa
Data/Hora da Publicação: 18/12/2009 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:23:04
Descrição da Nota: AO CRIAR NF REMESSA DE CARVÃO, NÃO GRAVA DOCNUM.
Sintoma
Ao criar nf remessa de carvão, não grava docnum.
Solução
Fazer a gravação de docnum normal para nf remessa de carvão.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09599 Data: 18/12/2009 Hora: 16:45:42
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09599
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
09508 - 00001 - 8.0 - 00002 - AO CRIAR NOTA FISCAL REMESSA AR OU CL PROCESSO ANA TENTAVA CRIAR
----------------------------------------------------------------------------------------------------
AO CRIAR NF REMESSA DE CARVÃO, NÃO GRAVA DOCNUM.
----------------------------------------------------------------------------------------------------
Palavras Chave:
NF REMESSA - DOCNUM - PROCESSO DE CARVÃO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
....
PERFORM mensagens_nf_r.
LOOP AT it_zycet004.
MESSAGE i019 WITH it_zycet004-descricao.
ENDLOOP.
IF it_zycet004 IS INITIAL.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'DNF004'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'DNF004' BINARY SEARCH.
IF sy-subrc EQ 0.
"Verifica se a Exit está ativa.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
"Para verificar o tipo da NF e diferenciar seus
"tratamentos
v_tiponf = 'NFR'.
EXPORT: v_modo_bi TO MEMORY ID 'MODOBI' ,
it_zycet004[] TO MEMORY ID 'CET004',
it_zycet005[] TO MEMORY ID 'CET005',
it_zycee006[] TO MEMORY ID 'CEE006'.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) TABLES itab_zycit042_d
itab_zycit044
it_zycee005
it_zycee007
USING v_tiponf
/pws/zycie043
CHANGING e_subrc
IF FOUND.
IMPORT : it_zycet004[] FROM MEMORY ID 'CET004_04',
it_zycet005[] FROM MEMORY ID 'CET005_05',
it_zycee006[] FROM MEMORY ID 'CEE006_06'.
ENDIF.
ENDIF.
IF e_subrc = '0'.
* >> Início da exclusão: FORM EXECUTAR_EVENTO
IF v_modalidade = '99' OR
( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).
IF v_modalidade = '99'.
it_zycet005-tcode = text-065.
it_zycet005-tabela = text-025.
it_zycet005-cpochv = /pws/zycie043-nfremessa.
it_zycet005-tpmsg = 'S'.
it_zycet005-belnr = '9999999999'.
APPEND it_zycet005.
ELSEIF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.
it_zycet005-tcode = text-065.
it_zycet005-tabela = text-025.
it_zycet005-cpochv = /pws/zycie043-nfremessa.
it_zycet005-tpmsg = 'S'.
it_zycet005-belnr = '8888888888'.
APPEND it_zycet005.
ENDIF.
LOOP AT itab_zycit044.
PERFORM atualiza_dados_nota_r.
ENDLOOP.
ELSEIF v_modalidade NE '99' AND
( t001-land1 NE 'AR' AND t001-land1 NE 'CL' )..
* >> Fim da exclusão
REFRESH itab_zyglt100.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'DNF011'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'DNF011' BINARY SEARCH.
IF sy-subrc EQ 0.
"Verifica se a Exit está ativa.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
"Para verificar o tipo da NF e diferenciar seus
"tratamentos
v_tiponf = 'NFR'.
e_subrc = '0'.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM EXECUTAR_EVENTO
ENDIF.
* >> Fim da exclusão
IF e_subrc = '0' AND ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' ).
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B1N'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = it_zycee005
t_itens = it_zycee007
t_campos = it_zycet004
t_zycet005 = it_zycet005
t_message = it_zycee006
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
LOOP AT itab_zycit044.
PERFORM atualiza_dados_nota_r.
ENDLOOP.
ELSE.
LOOP AT itab_zycit044.
PERFORM atualiza_dados_nota_r.
ENDLOOP.
...
...
READ TABLE it_zycet005 WITH KEY tcode = text-065
tabela = text-025
cpochv =
/pws/zycie043-nfremessa
tpmsg = 'S'.
IF sy-subrc EQ 0.
IF it_zycee005-belnr NE '0000000000'.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-belnr.
IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'
OR it_zycet005-belnr = '8888888888'.
/pws/zycie043-docnum = it_zycee005-belnr.
* >> Início da exclusão: FORM ATUALIZA_DADOS_NOTA_R
IF it_zycet005-belnr = '9999999999'.
/pws/zycie043-docnum = it_zycet005-belnr.
ENDIF.
IF it_zycet005-belnr = '8888888888'.
/pws/zycie043-docnum = it_zycet005-belnr.
ENDIF.
* >> Fim exclusão
itab_zycit044-nfnum = j_1bnfdoc-nfnum.
itab_zycit044-series = j_1bnfdoc-series.
itab_zycit044-subser = j_1bnfdoc-subser.
CALL FUNCTION '/PWS/ZYCI_BUSCA_NFNUM'
EXPORTING
docnum = j_1bnfdoc-docnum
IMPORTING
nfnum = itab_zycit044-nfnum.
/pws/zycie043-nfnum = itab_zycit044-nfnum.
/pws/zycie043-series = itab_zycit044-series.
/pws/zycie043-subser = itab_zycit044-subser.
itab_zycit044-docnum = it_zycee005-belnr.
* >> Início da exclusão: FORM ATUALIZA_DADOS_NOTA_R
IF it_zycet005-belnr = '9999999999'.
itab_zycit044-docnum = it_zycet005-belnr.
ENDIF.
* >> Fim da exclusão
IF it_zycet005-belnr = '8888888888'.
itab_zycit044-docnum = it_zycet005-belnr.
ENDIF.
CLEAR /pws/zycie043-cancel.
CLEAR: /pws/zycie043-belnr_mr1m, /pws/zycie043-mblnr_mb01,
/pws/zycie043-belnr_f_51,
/pws/zycie043-belnr_f_02, /pws/zycie043-statusp_mr1m,
/pws/zycie043-statusp_mb01, /pws/zycie043-statusp_f_51,
/pws/zycie043-statusp_f_02, /pws/zycie043-dt_mr1m,
/pws/zycie043-dt_mb01, /pws/zycie043-dt_f_51,
/pws/zycie043-dt_f_02,
/pws/zycie043-belnrf02seg, /pws/zycie043-dt_f02seg,
/pws/zycie043-belnrf02fre, /pws/zycie043-dt_f02fre.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MODIFY itab_zycit044 TRANSPORTING docnum
nfnum series subser
WHERE nrseqnf = itab_zycit044-nrseqnf
AND nrseq = itab_zycit044-nrseq
AND nfglobal = itab_zycit044-nfglobal
AND nfremessa = itab_zycit044-nfremessa
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp
AND tpnf = itab_zycit044-tpnf.
MODIFY /pws/zycit044 FROM TABLE itab_zycit044.
v_sucesso = 'OK'.
COMMIT WORK.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
MESSAGE w013 WITH text-105 text-106.
ENDIF.
WHEN 'ESTOR'.
IF /pws/zycie041 IS INITIAL.
SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycie041
WHERE nrseq = /pws/zycie043-nrseq AND
cancel = space.
ENDIF.
PERFORM verifica_conta.
IF v_bloq NE 'N'.
* >> Início da exclusão: FORM EXECUTAR_EVENTO
IF /pws/zycie001-modalidade = '99'
AND wa_nf-docnum EQ '9999999999'.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTAR_EVENTO
IF /pws/zycie001-modalidade = '99' .
IF wa_nf-docnum EQ '9999999999'.
* << Fim da inclusão
PERFORM estorna_imposto.
IF e_subrc NE '0'.
EXIT.
* >> Início da inclusão: FORM EXECUTAR_EVENTO
ENDIF.
ELSE.
SELECT SINGLE * FROM /pws/zycit043 INTO /pws/zycie043
WHERE nrseq = wa_nf-nrseq
AND nfglobal = wa_nf-nfglobal
AND nfremessa = wa_nf-nfremessa
AND cancel = space.
IF sy-subrc EQ 0.
PERFORM estorna_imposto.
IF e_subrc NE '0'.
EXIT.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
ELSEIF /pws/zycie001-modalidade NE '99'.
PERFORM estorna_imposto.
IF e_subrc NE '0'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
LOOP AT itab_zycit042.
MOVE-CORRESPONDING itab_zycit042 TO itab_zycit042_est.
...