Tabella OPRJ in SAP Business One (Codici progetto)

OPRJ è la tabella di SAP Business One dei codici progetto: una riga per progetto con codice, nome, date di validità e indicatore di attività. Le righe delle registrazioni contabili (JDT1.Project) e le righe dei documenti (INV1.Project) memorizzano il codice progetto, quindi OPRJ è l’anagrafica alla base dei report di risultati e costi per progetto.

Campi chiave di OPRJ

CampoContenuto
PrjCodeCodice del progetto, la chiave. JDT1.Project, INV1.Project e OINV.Project puntano a questo campo.
PrjNameNome del progetto.
ValidFromData di inizio validità.
ValidToData di fine validità.
ActiveY = attivo, N = inattivo.
LockedY = bloccato, N = non bloccato.
UserSignUtente che ha creato il progetto. Si collega a OUSR.USERID.
UserSign2 / UpdateDateUtente e data dell’ultimo aggiornamento.
DataSourceOrigine della riga, ad esempio O = DI API, S = Service Layer.

Come OPRJ si collega alle altre tabelle

OPRJ è un’anagrafica senza tabella di righe. Il codice progetto è memorizzato nelle righe delle registrazioni contabili (JDT1.Project), nelle righe dei documenti (INV1.Project e le altre tabelle di righe), nelle testate dei documenti (OINV.Project) e come valore predefinito sul business partner (OCRD.ProjectCod).

Join più comuni

  • JDT1 T0 INNER JOIN OPRJ T1 ON T1.PrjCode = T0.Project (progetto della riga di registrazione)
  • JDT1 T0 INNER JOIN OACT T2 ON T2.AcctCode = T0.Account (conto Co.Ge.)
  • INV1 T3 INNER JOIN OPRJ T1 ON T1.PrjCode = T3.Project (progetto della riga di fattura)

Quando si usa la tabella OPRJ

Usi OPRJ per il conto economico per progetto da JDT1, i ricavi per progetto dalle righe delle fatture e per trovare registrazioni su progetti inattivi o con data ValidTo già superata.

Query di esempio: dare, avere e saldo per progetto nell’anno in corso

SQL Server

SELECT T1.PrjCode, T1.PrjName, SUM(T0.Debit) AS Debit, SUM(T0.Credit) AS Credit,
  SUM(T0.Debit - T0.Credit) AS Balance
FROM JDT1 T0
INNER JOIN OPRJ T1 ON T1.PrjCode = T0.Project
WHERE YEAR(T0.RefDate) = YEAR(GETDATE())
GROUP BY T1.PrjCode, T1.PrjName
ORDER BY T1.PrjCode

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T1."PrjCode", T1."PrjName", SUM(T0."Debit") AS "Debit", SUM(T0."Credit") AS "Credit",
  SUM(T0."Debit" - T0."Credit") AS "Balance"
FROM JDT1 T0
INNER JOIN OPRJ T1 ON T1."PrjCode" = T0."Project"
WHERE YEAR(T0."RefDate") = YEAR(CURRENT_TIMESTAMP)
GROUP BY T1."PrjCode", T1."PrjName"
ORDER BY T1."PrjCode"

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: Progetto in testata ma non nelle righe

Il progetto della testata di un documento e quello di ogni riga possono essere diversi, e la registrazione contabile prende il progetto dalle righe. Un report su OINV.Project può quindi non coincidere con un report su JDT1.Project. Per i dati contabili per progetto, basi il report su JDT1. Veda Query dei movimenti dei conti Co.Ge..

Query pronte che usano OPRJ (pagine in inglese)

Domande sulla tabella OPRJ

Dove viene memorizzato il codice progetto in una registrazione contabile?

Su ogni riga, in JDT1.Project, che si collega a OPRJ.PrjCode.

Un codice progetto può scadere?

Sì. OPRJ.ValidFrom e ValidTo definiscono il periodo di validità e Active lo contrassegna come attivo o inattivo.

Esiste un progetto predefinito per business partner?

Sì, OCRD.ProjectCod punta a OPRJ.

Tabelle correlate

JDT1 (Righe della registrazione contabile) · OJDT (Registrazione contabile (testata, prima nota)) · INV1 (Fattura cliente (righe)) · OOCR (Regole di distribuzione (centri di costo)) · 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.