Tabela OPRJ no SAP Business One (Códigos de projeto)

OPRJ é a tabela do SAP Business One de códigos de projeto: uma linha por projeto com código, nome, datas de validade e indicador de ativo. As linhas de lançamentos contábeis (JDT1.Project) e as linhas de documentos (INV1.Project) guardam o código do projeto, então a OPRJ é o cadastro por trás dos relatórios de resultado e custos por projeto.

Campos-chave da OPRJ

CampoO que contém
PrjCodeCódigo do projeto, a chave. JDT1.Project, INV1.Project e OINV.Project apontam para ele.
PrjNameNome do projeto.
ValidFromData de início da validade.
ValidToData de fim da validade.
ActiveY = ativo, N = inativo.
LockedY = bloqueado, N = não bloqueado.
UserSignUsuário que criou o projeto. Relaciona com OUSR.USERID.
UserSign2 / UpdateDateUsuário e data da última atualização.
DataSourceComo a linha foi criada, por exemplo O = DI API, S = Service Layer.

Como a OPRJ se relaciona com outras tabelas

OPRJ é um dado mestre sem tabela de linhas. O código do projeto é gravado nas linhas de lançamentos contábeis (JDT1.Project), nas linhas de documentos (INV1.Project e as demais tabelas de linhas), nos cabeçalhos de documentos (OINV.Project) e como valor padrão no parceiro de negócios (OCRD.ProjectCod).

Joins mais comuns

  • JDT1 T0 INNER JOIN OPRJ T1 ON T1.PrjCode = T0.Project (projeto da linha do lançamento)
  • JDT1 T0 INNER JOIN OACT T2 ON T2.AcctCode = T0.Account (conta contábil)
  • INV1 T3 INNER JOIN OPRJ T1 ON T1.PrjCode = T3.Project (projeto da linha da nota fiscal)

Quando usar a tabela OPRJ

Use a OPRJ para a DRE por projeto a partir da JDT1, para as receitas por projeto a partir das linhas de nota fiscal e para encontrar lançamentos em projetos inativos ou com a data ValidTo já vencida.

Consulta de exemplo: débito, crédito e saldo por projeto neste ano

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 (nomes de colunas entre aspas duplas)

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"

Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.

Erro comum: Projeto no cabeçalho mas não nas linhas

O projeto do cabeçalho de um documento e o de cada linha podem ser diferentes, e o lançamento contábil usa o projeto das linhas. Um relatório sobre OINV.Project pode não bater com um relatório sobre JDT1.Project. Para números financeiros por projeto, faça o relatório sobre a JDT1. Veja Consulta de movimentos de contas contábeis.

Consultas prontas que usam a OPRJ (em inglês)

Perguntas sobre a tabela OPRJ

Onde fica o código do projeto em um lançamento contábil?

Em cada linha, em JDT1.Project, que relaciona com OPRJ.PrjCode.

Um código de projeto pode vencer?

Sim. OPRJ.ValidFrom e ValidTo definem o período de validade e Active o marca como ativo ou inativo.

Existe um projeto padrão por parceiro de negócios?

Sim, OCRD.ProjectCod aponta para a OPRJ.

Tabelas relacionadas

JDT1 (Linhas do lançamento contábil) · OJDT (Lançamento contábil (cabeçalho)) · INV1 (Nota fiscal de saída (linhas)) · OOCR (Regras de distribuição (centros de custo)) · pesquisar todas as tabelas do SAP Business One

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

Pronto para começar?

Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.