Para ayudarte a comprender rápidamente el diccionario de datos de SAP Business One, repasaremos las convenciones de nomenclatura de las tablas en SAP Business One.
Palabras de tres letras
La mayoría de las tablas en SAP Business One tienen cuatro letras. Las únicas excepciones son las tablas con números finales, si estos son mayores que nueve. Estas tablas tendrán cinco letras. Para comprender fácilmente los nombres de las tablas, existe una abreviatura de tres letras en SAP Business One. Algunas de las abreviaturas más comunes son las siguientes:
| ID | Description | Descripción |
|---|---|---|
| ADM | Administration | Administración |
| ATC | Attachments | Adjuntos |
| CPR | Contact Persons | Personas de contacto |
| CRD | Business Partners | Socios de negocios |
| DLN | Delivery Notes | Notas de entregas |
| HEM | Employees | Empleados |
| INV | Sales Invoices | Facturas de ventas |
| ITM | Items | Artículos |
| ITT | Product Trees (Bill of Materials) | Árbol de productos (Listas de materiales) |
| OPR | Sales Opportunities | Oportunidad de ventas |
| PCH | Purchase Invoices | Facturas de compras |
| PDN | Goods Receipt PO | Orden de recepción de mercancías |
| POR | Purchase Orders | Ordenes de compra |
| QUT | Sales Quotations | Cotizaciones de ventas |
| RDR | Sales Orders | Ordenes de venta |
| RIN | Sales Credit Notes | Notas de crédito (ventas) |
| RPC | Purchase Credit Notes | Notas de crédito (compras) |
| SLP | Sales Employees | Vendedores |
| USR | Users | Usuarios |
| WOR | Production Orders | Ordenes de producción |
| WTR | Stock Transfers | Transferencias de Stock |
Tablas «O»
Todas las tablas que empiezan por «O» se refieren a tablas maestras. Aquí, «O» representa el objeto. Por ejemplo:
| ID | Description | Descripción |
|---|---|---|
| OITM | Items Master | Master de productos |
| OCRD | Business Partners Master | Master de socios de negocios |
| OSLP | Sales Employee | Empleados de ventas |
Tablas «A»
La mayoría de las tablas que empiezan por «A» pueden referirse a tablas de registro histórico. La «A» aquí representa el archivo. Por ejemplo:
| ID | Description | Descripción |
|---|---|---|
| AITM | Items—History | Productos - Bitácora |
| ACRD | Business Partners—History | Socios de negocios - Bitácora |
| AUSR | Archive Users—History | Archivo de usuarios - Bitácora |
Tablas de encabezado de documento
Son tablas O especiales con la misma estructura. Pueden estar relacionadas con Ventas o Compras. Se denominan Documentos de Marketing. También incluyen la mayoría de las tablas de transacciones de inventario. Algunos ejemplos son:
| ID | Description | Descripción |
|---|---|---|
| OINV | A/R Invoice Header | Encabezado de factura de cuentas por cobrar |
| OPCH | A/P Invoice Header | Encabezado de factura de cuentas por pagar |
| OIGN | Goods Receipt Header | Encabezado de recepción de mercancías |
Tablas de líneas (detalle) de documento
Todas las tablas que terminan con un número se refieren a tablas de detalle de líneas de documento o subtablas de la tabla principal. Los números aquí pueden referirse a diferentes propiedades de las tablas de encabezado.
| ID | Description | Descripción |
|---|---|---|
| INV1 | A/R Invoice Row | Fila de factura de cuentas por cobrar |
| PCH1 | A/P Invoice Row | Fila de factura de cuentas por pagar |
| IGN1 | Goods Receipt Row | Fila de recepción de mercancías |
| INV2 | A/R Invoice—Row Expense | Factura de cuentas por cobrar: Gastos de fila |
Ejemplos de tablas importantes
A continuación se enumeran algunas tablas específicas muy importantes para la creación de consultas:
- OJDT – Asiento contable: Esta tabla incluye todos los asientos contables financieros, independientemente de si se contabilizan de forma automática o manual.
- OINM – Diario de almacén: Esta tabla incluye todas las transacciones relacionadas con el inventario. Es un punto único para comprobar todo lo relacionado con el inventario (o stock). En la nueva versión, se convierte en una vista. Esta vista debe consultarse con mucho cuidado.
- ADOC – Historial de documentos: Esta tabla incluye todo el historial de documentos.
Sin embargo, su nombre incorrecto en la documentación es «Historial de facturas» en el archivo de ayuda.
Enlaces de tabla: la clave para una consulta correcta
Los enlaces de tabla son fundamentales para la creación de consultas. Verá diferentes enlaces en esta sección, pero los más comunes se analizarán en la siguiente, ya que son demasiado numerosos y se utilizan con demasiada frecuencia.
Para comprender los enlaces de tabla, necesita saber más sobre las estructuras de tabla.
Primary Key (Clave principal)
Cada tabla tiene una clave principal. Algunas tablas también tienen claves foráneas. Todas estas claves se utilizan para el índice. Docentry es una clave principal típica para vincular OXXX con tablas de documentos XXXn. Por ejemplo, Docentry es un campo clave común para vincular OPOR con POR1, POR2 y POR12.
Una clave principal puede ser uno o más campos. Para una tabla simple, un campo clave sería suficiente. Para una tabla compleja, no es raro que dos o más campos de clave principal sean suficientes.
Una clave principal debe ser única dentro de la misma tabla. Esta clave no admitirá valores nulos (es decir, campos vacíos o sin datos).
Foreign Key (Clave externa)
Una clave externa (foreign key) se utiliza generalmente para vincular con la clave principal de otra tabla. Este campo se actualizará cada vez que cambie el registro de la otra tabla.
Si bien se puede vincular cualquier campo entre tablas, si el campo no es nulo, se recomienda usar la clave externa siempre que sea posible para mejorar el rendimiento de la base de datos.
Ejemplos de vínculos de tablas en SAP Business One
Para mayor claridad sobre el vínculo, a continuación se muestran algunos ejemplos:
- Tablas OITM – Artículos e ITM1 – Precios de artículos:
Estas dos tablas están vinculadas mediante el campo Código de artículo. Ambas tablas tienen el mismo nombre de campo para vincular. No se trata de relaciones uno a uno, sino de uno a muchos. Un Código de artículo en el maestro de artículos puede tener más de un precio de artículo asociado. - Tablas OITT – Árbol de productos e ITT1 – Artículos secundarios del árbol de productos:
Estas dos tablas están vinculadas mediante el campo Código en OITT y el campo Padre en ITT1. Estas tablas se utilizan para la lista de materiales. - Tabla OCRD-Socio Comercial y tabla OSLP-Empleado de Ventas:
Estas dos tablas están vinculadas mediante el mismo campo, SlpCode. En la segunda tabla, SlpCode es la clave principal para OSLP. Por otro lado, es una clave externa en la primera tabla, OCRD.
Tablas base vs. tablas de destino
Las tablas base y de destino son tablas vinculadas especiales dentro de SAP Business One. También son las tablas vinculadas más utilizadas para consultas SQL.
La mayoría de ellas se relacionan con documentos de Ventas y Compras, o todos los llamados «Documentos de Marketing».
Es posible que los documentos de marketing no tengan tablas base ni tablas de destino. Para obtener el Documento Base, puede usar el atajo de teclado Ctrl+N. Para obtener el Documento de Destino, puede usar el atajo de teclado Ctrl+T. Solo cuando la tabla base o la tabla de destino estén disponibles para el documento actual, los elementos de menú y los iconos estarán activos. De lo contrario, tanto los iconos como los elementos de menú estarán inactivos.
Al usar los términos «Base» y «Destino», queda claro que la tabla de destino puede basarse en la tabla base.
Una tabla podría basarse en diferentes tipos de tablas:
A continuación, se presenta una lista de pares base-destino comúnmente utilizados (no se incluyen todos). Puede encontrar más, pero los siguientes son los más utilizados:
| BASE | « » | TARGET | ||
|---|---|---|---|---|
| Table | Description | « » | Table | Description |
| OQUT | Sales Quotation | « » | ORDR | Sales Order |
| OQUT | Sales Quotation | « » | ODLN | Delivery |
| OQUT | Sales Quotation | « » | OINV | A/R Invoice |
| ORDR | Sales Order | « » | ODLN | Delivery |
| ORDR | Sales Order | « » | OINV | A/R Invoice |
| ODLN | Delivery | « » | ORDN | Returns |
| ODLN | Delivery | « » | OINV | A/R Invoice |
| ORDN | Returns | « » | ORIN | A/R Credit Note |
| ODLN | A/R Invoice | « » | ORIN | A/R Credit Note |
| OPOR | Purchase Order | « » | OPDN | Goods Receipt PO |
| OPOR | Purchase Order | « » | OPCH | A/P Invoice |
| OPDN | Goods Receipt PO | « » | ORPD | Goods return |
| OPDN | Goods Receipt PO | « » | OPCH | A/P Invoice |
| ORPD | Goods return | « » | ORPC | A/P Credit Note |
| OPCH | A/P Invoice | « » | ORPC | A/P Credit Note |
He omitido los detalles del enlace. De hecho, verá que todos los enlaces existen en la primera tabla secundaria, o la llamada tabla de filas de la tabla de encabezado, como QUT1, en lugar de OQUT.
Los campos de enlace son muy claros. Por ejemplo:
- BaseEntry en la tabla de destino se refiere a DocEntry de la tabla base.
- BaseType se refiere a los tipos de la tabla base.
- BaseRef suele estar vinculado al campo DocNum de la tabla base.
- BaseLine será el número de línea en la tabla de líneas base.
- TargetEntry en la tabla base se refiere a DocEntry de la tabla de destino.
- TargetType se refiere a los tipos de la tabla de destino.
Manteniéndolo simple: la clave para crear una buena consulta.
La simplicidad es fundamental en el cambiante mundo actual. Dondequiera que compliques las cosas, puedes encontrarte en una posición incómoda para competir con otros.
Mi lema es: simple, más simple, lo más simple.
Tengo una costumbre al crear consultas: el último paso para cualquier consulta nueva es comprobar si es la más simple. De esta manera, la simplicidad no solo se mantiene en la consulta ya creada, sino que también ayuda a que las nuevas consultas sean las más simples desde el principio.
Al mantener una consulta lo más simple posible, se garantiza que el rendimiento del sistema no se vea afectado. También será de gran ayuda para el proceso de resolución de problemas. Una breve lista de verificación para la simplicidad es la siguiente:
- Otras consultas: ¿Existen otras consultas que realicen una función similar? De ser así, ¿por qué es necesario crear la nueva consulta?
- Tablas: ¿Hay alguna tabla que no se haya utilizado para la consulta? • Campos: ¿Hay campos que no se hayan utilizado en la consulta?
- Condiciones: ¿Hay alguna condición que se superponga?
La lista podría ser mucho más larga. El significado es claro: existe una lucha constante por eliminar las complicaciones.
Cuando pruebes este método y se convierta en una rutina, descubrirás que la creación de consultas se convierte en un proceso agradable.

