cancel
Showing results for 
Search instead for 
Did you mean: 

SPED PIS/COFINS - NF Importação

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Oi Renato.

Mas para qual bloco acontece isso? Em que programa?

Abraço

Eduardo Chagas

Former Member
0 Kudos

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,

Former Member
0 Kudos
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

former_member182114
Active Contributor
0 Kudos

Bom dia Renato,

Talvez o que o cliente quis dizer é que a NF-e foi autorizada num sistema externo ao SAP não?

Pois toda NF-e precisa sim de autorização, o que pode ter acontecido é que não foi feita pelo SAP/GRC.

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Sim Fernando, o cliente acabou de informar isso, e inclusive eles utilizam um programa Z para mudar alguns campos das notas nas tabelas após a validação, agora vou solicitar que esse campo também seja atualizado.

Obrigado Fernando

Att,

Answers (0)