Tabella NNM1 in SAP Business One (Serie di numerazione dei documenti)

NNM1 è la tabella di SAP Business One delle serie di numerazione: una riga per serie di un documento o di un oggetto anagrafico, con codice oggetto, numero di serie, nome, numero successivo, ultimo numero consentito, prefisso, suffisso e indicatore di periodo. I documenti memorizzano la serie in Series, quindi NNM1 spiega da dove proviene un DocNum e con quale prefisso viene stampato.

Campi chiave di NNM1

CampoContenuto
ObjectCodeOggetto a cui appartiene la serie, ad esempio 13 per le fatture cliente e 17 per gli ordini cliente.
SeriesNumero della serie, la chiave. OINV.Series e ORDR.Series puntano a questo campo.
SeriesNameNome della serie.
InitialNumNumero iniziale.
NextNumberNumero successivo disponibile.
LastNumUltimo numero consentito.
BeginStr / EndStrStringhe di prefisso e suffisso.
IndicatorIndicatore di periodo (OPID).
LockedY = bloccata, N = non bloccata.
SeriesTypeD = documento, B = business partner, I = articolo, R = risorsa, W = certificati di ritenuta.
IsManualY = serie manuale.
BPLIdFiliale assegnata (OBPL).
DocSubTypeSottotipo di documento.

Come NNM1 si collega alle altre tabelle

NNM1 contiene le righe delle serie di ogni oggetto elencato in ONNM. Le testate dei documenti (OINV.Series, ORDR.Series e le altre) e i business partner (OCRD.Series) puntano a NNM1.Series. La coppia ObjectCode più Series identifica la serie, e DocNum è univoco all’interno di una serie, non tra serie diverse.

Join più comuni

  • OINV T0 INNER JOIN NNM1 T1 ON T1.Series = T0.Series (serie della fattura)
  • ORDR T2 INNER JOIN NNM1 T1 ON T1.Series = T2.Series (serie dell’ordine)
  • NNM1 T1 WHERE T1.ObjectCode = '13' (tutte le serie delle fatture cliente)

Quando si usa la tabella NNM1

Usi NNM1 per stampare i numeri di documento con il loro prefisso, vedere quale serie è vicina all’ultimo numero prima della chiusura d’esercizio ed elencare le serie per indicatore di periodo o filiale.

Query di esempio: numeri di fattura con nome della serie e prefisso

SQL Server

SELECT T1.SeriesName, ISNULL(T1.BeginStr, '') + CAST(T0.DocNum AS varchar(20)) + ISNULL(T1.EndStr, '') AS PrintedNumber,
  T0.DocDate, T0.CardCode, T0.DocTotal
FROM OINV T0
INNER JOIN NNM1 T1 ON T1.Series = T0.Series
WHERE T0.DocDate >= DATEADD(day, -30, GETDATE())
ORDER BY T1.SeriesName, T0.DocNum

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T1."SeriesName", IFNULL(T1."BeginStr", '') + CAST(T0."DocNum" AS varchar(20)) + IFNULL(T1."EndStr", '') AS "PrintedNumber",
  T0."DocDate", T0."CardCode", T0."DocTotal"
FROM OINV T0
INNER JOIN NNM1 T1 ON T1."Series" = T0."Series"
WHERE T0."DocDate" >= ADD_DAYS(CURRENT_TIMESTAMP, -30)
ORDER BY T1."SeriesName", T0."DocNum"

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Considerare DocNum univoco

Con più serie di numerazione (per anno, per filiale o per tipo di documento) due fatture possono avere lo stesso DocNum in serie diverse. Usi DocEntry come chiave, oppure DocNum insieme a Series. Confronti inoltre NextNumber con LastNum prima della fine dell’anno, altrimenti la registrazione si blocca quando una serie si esaurisce. Veda Tabella OINV (testata della fattura cliente).

Query pronte che usano NNM1 (pagine in inglese)

Domande sulla tabella NNM1

Quale tabella contiene il numero di documento successivo in SAP Business One?

NNM1.NextNumber, per serie. Il documento memorizza la propria serie in Series.

DocNum è univoco in SAP Business One?

Solo all’interno di una serie di numerazione. DocEntry è la chiave univoca di un documento.

Dove si trova il prefisso di un numero di documento?

In NNM1.BeginStr (prefisso) e NNM1.EndStr (suffisso).

Tabelle correlate

OINV (Fattura cliente (testata)) · ORDR (Ordine cliente (testata)) · OCRD (Business Partner) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.