on 05-28-2009 2:35 AM
Bom dia!
Pessoal,
ao analisar os campos do monitor, verifiquei que o campo Imprimida fica em branco, mesmo que a nota ja tenha sido impressa.
Verifiquei que esse campo fica na tabela j_1bnfe_active e não é o mesmo campo que esta na J_1BNFDOC-PRINTD.
Portanto depois de ser autorizada e impressa, ao consultar a nota na J1B3N é possivel ver o flag assinalado, enquanto no monitor fica em branco.
Alguem ja passou por essa situação?
Porque esse campo não é atualizado.
Estou usando a 6.0 SP. Ja apliquei todas as notas com xx-csc-br-nfe que estavam disponiveis na SAP. Portanto acho que o sistema está no ultimo nivel de atualização.
Agradeço imensamente qualquer dica ou informação sobre esse assunto.
Att
Márcia Verro
Bom dia Márcia,
Tente o seguinte: Colocar um COMMIT WORK dentro do método CALL_RSNAST00, logo após a chamada da função de impressão.
Atenciosamente, Fernando Da Ró
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Boa tarde!
Fernando
inclui o comando conforme sua orientação. Veja codigo abaixo.
Mas não funcionou.
O monitor ainda não mostra que a nota foi impressa.
Esse flag não deveria ser atualizado no mesmo momento em que o flag da J_1BNFDOC é atualizado?
grata
Márcia Verro
___________
METHOD if_ex_cl_nfe_print~call_rsnast00.
DATA vl_prnter TYPE RSPONAME.
IF i_active-code EQ '100'. "NF-e autorizada
AND i_active-printd IS INITIAL "só imprimir automaticamente se ainda não foi impressa
AND i_active-cancel IS INITIAL "não faz sentido imprimir autom. se ela foi cancelada
AND i_active-conting_s IS INITIAL. "não faz sentido imprimir autom. se ela foi alternada p/conting.
"pois deverá ser cancelada
SELECT SINGLE prnter
INTO vl_prnter
FROM j_1bb2
WHERE bukrs = i_active-bukrs
AND branch = i_active-branch
AND form = i_active-form.
IF vl_prnter IS INITIAL.
vl_prnter = 'LOCL'.
ENDIF.
CALL FUNCTION 'J_1BNFE_CALL_RSNAST00'
EXPORTING
i_active = i_active
i_printer = vl_prnter
EXCEPTIONS
no_printer = 1
OTHERS = 3.
COMMIT WORK.
IF sy-subrc <> 0.
CALL FUNCTION 'J_1B_NFE_ERROR_PROTOKOLL'
EXPORTING
i_docnum = i_active-docnum.
ENDIF.
ENDIF.
___________
Bom dia Márcia,
Você está utilizando o programa de impressão standard (J_1BNFPR) ou fez cópia ?
Faça um teste usando o programa de impressão standard J_1BNFPR.
Além disso, procure por notas para este objeto (seu sistema pode estar defasado).
Estando ou não estando defasado, se você estiver utilizando um Z, o que é comum, então talvez as notas tenham atualizado o standard e faltou vocês sincronizarem as modificações no Z. Faça uma revisão quanto a isso:
No include J_1BNFPR_SF, deve ter este código para atualizar corretamente a J_1BNFE_ACTIVE:
FORM smart_sub_printing.
.......
IF retcode IS INITIAL.
PERFORM financial_doc_update. " update in database
PERFORM nota_fiscal_update. " update in database
IF NOT gs_nfeactive IS INITIAL.
PERFORM active_update ON COMMIT.
ENDIF.
ENDIF.
Se tudo estiver Ok em relação às notas, recorra ao bom e velho debug. Verifique se está passando por aqui.
Atenciosamente, Fernando Da Ró
Fernando,
verifiquei os pontos recomendados.
Estamos usando o programa ZNFE_PRINT_DANFE, disponibilizado na nota referente ao DANFE.
Fiz o debugging do programa e esta com a mesma codificação do programa standard.
Acompanhei os comandos e o flag é posicionado no tanto no cabeçalho do documento qto na tabela
J_1BNFE_Active.
Mas quando sai da rotina a area da J_1BNFE_Active some. E pelo que pude ver essa tabela é lida, o X é movido para flag, mas mesmo com o comit no metodo CALL>RSNAST00, no final o campo fica em branco.
Agora, me diz uma coisa, depois de impressa a nota (o danfe esta sendo impresso automaticamente), esse campo deve ficar marcado mesmo? E nesse momento que o mesmo é atualizado no monitor?
Alguem do grupo ja passou por essa situação?
agradeço a atenção
Márcia Verro
Bom dia Márcia,
O campo J_1BNFE_ACTIVE-PRINTD (J1BNFE) deve estar impresso, uma coisa que acontece é que muitos usuários nem percebem que não está sendo preenchido pois estão acostumados, e inclusive tem desenvolvimentos feitos ao, J_1BNFDOC-PRINTD (J1B3N) marcado.
O ponto de atualização é exatamente este, sugiro uma nova análise para descobrir o por que de em marcando, por que é desmarcado ou porque não grava ? Será que tem outras modificações à tabela ACTIVE ?
Faça este levantamento e atualize aqui o motivo de não gravar em se marcando com o flag, conforme você confirmou ?
Por último, remove a instrução ON COMMIT do perform. Isto irá realizar a gravação imediata.
Atenciosamente, Fernando Da Rós
Edited by: Fernando Da Ros on May 29, 2009 3:09 PM - Del ON COMMIT
Olá, boa tarde,
Verifiquei que a sua implementação da BADI tem um select para determinar a impressora. Estou com um problema, que quando ocorre a impressão pela BADI, o dispositivo de saída é apagado da tabela NAST, e a impressão não ocorre. Quando eu seto alguma impressora para o usuário de chamada das RFC, a impressão ocorre na impressora setada, e não na impressora cadastrada na J1BG.
A impressão no dispositivo cadastrado na J1BG não ocorre de forma standard? Tenho que fazer como foi feito por você? Outra coisa, você usou a j_1bb2. Não seria a tabela de mensagens?
Obrigado.
Fernando Fussi
Márcia,
você encontrou a causa deste problema?
Estou tendo o mesmo erro..
Atc.
Sahira
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Olá Márcia,
Como o programa de impressão que eu utilizo também é Z (ZNFE_PRINT_DANFE). Eu retirei o ON COMMIT da chamada do FORM active_update como sugerido pelo Fernando, e dentro do form inseri o UPDATE na tabela j_1bnfe_active:
UPDATE j_1bnfe_active SET printd = 'X'
WHERE docnum = wk_header-docnum.
Funcionou violento!
User | Count |
---|---|
6 | |
5 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.