on 08-01-2011 11:46 PM
Olá estou tendo um problema ao extrair o arquivo do SPED, o que ocorre é que o programa standard possui uma verificação que exclui as NFs de importação dentro de um check do programa, que verifica se a nota é de entrada J_1BNFDOC-DIRECT e depois verifica se o flag J_1BNFDOC-ENTRAD da nota é vazio, o que ocorre é que no processo do cliente o J_1BNFDOC-ENTRAD é flegado fazendo com que o programa entre em outra condição e elimine a NF do arquivo, será que no processo de NF importada o J_1BNFDOC-ENTRAD deveria ser deixado em branco ou o programa standard pode estar errado??
Segue o trecho do código:
* Filter NFs
IF ls_j_1bnfdoc-nfe IS INITIAL.
* exclude documents with external document number (NF number) '000000'
CHECK ls_j_1bnfdoc-nfnum NE '000000'.
ELSEIF ls_j_1bnfdoc-model CA '55,57'.
"a NFe can be created without being numbered yet.
CHECK NOT ls_j_1bnfdoc-nfenum IS INITIAL.
SELECT SINGLE * FROM j_1bnfe_active INTO ls_nfe_active
WHERE docnum = ls_j_1bnfdoc-docnum.
IF sy-subrc IS INITIAL.
CHECK ( ls_nfe_active-action_requ = 'C' ).
CASE ls_nfe_active-docsta.
WHEN '1'. "auth
* incoming and emitted by third-party
IF ( ls_j_1bnfdoc-direct = 1
OR ls_j_1bnfdoc-direct = 4 )
AND ls_j_1bnfdoc-entrad IS INITIAL.
CHECK ( ls_nfe_active-scssta IS INITIAL ) <<<ACREDITO QUE O PROGRAMA DEVERIA ENTRAR NESSA
AND ( ls_nfe_active-cancel IS INITIAL ) CONDIÇÃO, E NÃO NA DE BAIXO
AND ( ls_nfe_active-authcod IS NOT INITIAL )
AND ( ls_nfe_active-docnum9 IS NOT INITIAL )
AND ( ls_nfe_active-cdv IS NOT INITIAL ).
* incoming emmited by company, or outgoing
ELSE.
CHECK ( ls_nfe_active-scssta CA '0,8' ) OR <<<PONTO QUE A NF DEIXA DE SER PROCESSADA E ENTRAR NO
( ls_nfe_active-scssta = '2' AND ARQUIVO TXT
ls_j_1bnfdoc-cancel = 'X' ) .
ENDIF.
WHEN '2'. "rejected
CHECK ls_nfe_active-scssta = '4' AND
ls_j_1bnfdoc-cancel = 'X'.
WHEN '3'. "denied
CHECK ls_j_1bnfdoc-cancel = 'X'.
WHEN OTHERS. "internal validation error
CHECK ls_nfe_active-scssta = 'A' AND
ls_j_1bnfdoc-cancel = 'X'.
ENDCASE.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
Obrigado.
Edited by: Fernando Ros on Aug 2, 2011 8:08 PM adicionado tag identação code
Oi Renato.
Mas para qual bloco acontece isso? Em que programa?
Abraço
Eduardo Chagas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Essa verificação (comando CHECK) acontece antes da determinação do bloco que a nota vai entrar,
programa J_1BPIS_MAIN, include J_1BPIS_MAIN_SEL_NF.
depois do select na J_1BNFDOC há esse processamento, somente depois o programa seleciona os itens da nota e depois determina em qual bloco a nota vai entrar.
Att,
CHECK ( ls_nfe_active-action_requ = 'C' ).
CASE ls_nfe_active-docsta.
WHEN '1'. "auth
* incoming and emitted by third-party
IF ( ls_j_1bnfdoc-direct = 1
OR ls_j_1bnfdoc-direct = 4 )
AND ls_j_1bnfdoc-entrad IS INITIAL.
CHECK ( ls_nfe_active-scssta IS INITIAL )
AND ( ls_nfe_active-cancel IS INITIAL )
AND ( ls_nfe_active-authcod IS NOT INITIAL )
AND ( ls_nfe_active-docnum9 IS NOT INITIAL )
AND ( ls_nfe_active-cdv IS NOT INITIAL ).
* incoming emmited by company, or outgoing <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ELSE.
CHECK ( ls_nfe_active-scssta CA '0,8' ) OR
( ls_nfe_active-scssta = '2' AND
ls_j_1bnfdoc-cancel = 'X' ) .
ENDIF.
WHEN '2'. "rejected
CHECK ls_nfe_active-scssta = '4' AND
ls_j_1bnfdoc-cancel = 'X'.
WHEN '3'. "denied
CHECK ls_j_1bnfdoc-cancel = 'X'.
WHEN OTHERS. "internal validation error
CHECK ls_nfe_active-scssta = 'A' AND
ls_j_1bnfdoc-cancel = 'X'.
ENDCASE.
Verificando com o cliente o mesmo informou que as NFs de importação NÃO precisam de autorização da SEFAZ,
neste caso vendo a nota pela J1B3N o histórico me informa que o Status do documento está AUTORIZADO e o Status de Comunicação Sistema está NÃO ENVIADO, isso influencia o CHECK no campo SCSSTA que deveria estar como 0, 8 ou 2.
O meu processo está errado ou o programa standard está errado?
Obrigado
Edited by: Fernando Ros on Aug 2, 2011 8:10 PM adicionado tag identação code
User | Count |
---|---|
13 | |
2 | |
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.