Skip to Content
0

Cancelamento de NF de entrada

Nov 11, 2016 at 01:07 PM

93

avatar image

Bom dia pessoal.

Não estão conseguindo cancelar uma nf de entrada o SAP retorna o seguinte erro:

(1) Nota Fiscal deve-se basear em um pedido de compras ou Recebimento de Mercadoria

Sendo que a NF ja esta baseada em um pedido de compra, só não tem recebimento.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
Fabio Bilicki Nov 17, 2016 at 11:00 AM
1

Bom dia,


Você tem que verificar suas Transactions, suas consultas e relatórios.

Antigamente era possível cancelar uma nota de entrada somente copiando ela para Dev. Nota Fiscal de Entrada, ou seja,
OPCH (Objeto 18) para ORPC (Objeto 19), então em uma trava básica de nota fiscal de entrada, teremos.

IF (@error = 0) AND (@sObjTyp ='18') AND (@sTraTyp IN ('U','A'))
BEGIN
  SELECT @error = 1, .....
  FROM [dbo].[OPCH] T0 
  WHERE T0.DocEntry = @sKeyVal AND ....
END


Com o novo tipo de cancelamento (botão direito, cancelar), o SAP gera o registro na mesma tabela, OPCH, com mesmo objeto, mas um detalhe é que ele gera o registro com o campo CANCELED = "F" e, altera o campo CANCELED do registro original para "C".

Exemplo:
Nota Fiscal Entrada: OPCH (DocEntry=17422, CANCELED="N")

Ao cancelar método antigo, canceled não é alterado: OPCH (DocEntry=17422, CANCELED="N"), cria o ORPC (Objeto 19)
Ao cancelar método novo (botão direito, cancelar)
OPCH (DocEntry=17422, CANCELED="Y") - Canceled é alterado para "Y"
OPCH (DocEntry=17423, CANCELED="C") - Gera um novo registro de cancelamento co Canceled "F" (um "substituto" do ORPC).

Uma trava especifica de uma nota fiscal de entrada, ignorando o cancelamento seria

IF (@error = 0) AND (@sObjTyp ='18') AND (@sTraTyp IN ('U','A'))
BEGIN
  SELECT @error = 1, .....
  FROM [dbo].[OPCH] T0 
  WHERE T0.DocEntry = @sKeyVal AND T0.CANCELED = "N" AND ....
END


Muitos relatórios e consultas fiscais tenho o seguinte filtro (tive que revisar todos quando mudamos o SAP para versão 9).

SELECT
.....
FROM OPCH T0
WHERE 

T0.DocEntry NOT IN (SELECT 
TB1.BaseEntry FROM ORPC TB0 INNER JOIN RPC1 TB1 ON TB0.DocEntry = 
TB1.DocEntry WHERE TB1.BaseEntry IS NOT NULL and TB0.SeqCode = 1) -- Não
 entra nota cancelada SAP 8/9

AND T0.CANCELED = 'N' -- Não entra nota cancelada SAP 9


[]'s

Fabio

SAP 9.1 PL11 / SAP 9.2 PL05 (test)


....

Share
10 |10000 characters needed characters left characters exceeded
Patrick Tadei Nov 11, 2016 at 01:42 PM
0

Ricardo, bom dia!

Essa mensagem ocorre quando tem uma Transaction, necessário corrigir o trecho no SQL.

Share
10 |10000 characters needed characters left characters exceeded
Ricardo Gardil Jan 06, 2017 at 02:05 PM
0

Seu eu comentar ele eu consigo?

Share
10 |10000 characters needed characters left characters exceeded