Referencias de tabla

Muchas tablas incluyen campos, también conocidos como elementos de datos, de otras tablas. Estos campos se denominan datos referenciados.

La tabla Componentes de software implementados (tccom000), por ejemplo, tiene referencias a estas tablas:

  • Direcciones (tccom130)
  • Países (tcmcs010)
  • Idiomas (tcmcs046)

En este caso, las direcciones y los países a su vez tienen referencias a otras tablas.

Cada referencia de tabla tiene estas dos características:

  • Modo de referencia: describe la relación entre la tabla y la tabla referenciada. Entre las opciones se incluye lo siguiente:
    • Obligatorio: el campo de tabla debe contener un valor presente en la tabla de referencia. Por ejemplo, la referencia de Direcciones a Países es obligatoria. Por consiguiente, cada dirección debe tener un país; de lo contrario, la dirección no puede guardarse.

      Si se comparten tablas, esto implica que si la tabla de direcciones está compartida, la tabla de países también debe estar compartida.

    • Obligatorio si no está vacío: el campo de tabla puede estar vacío. Si el campo de tabla está cumplimentado, el valor del campo debe existir en la tabla de referencia. Por ejemplo, la referencia de Componentes de software implementados a Direcciones es obligatoria a menos que esté vacía. Por consiguiente, la dirección de la tabla Componentes de software implementados es opcional.

      Si se comparten tablas, esto implica que si la tabla Componentes de software implementados está compartida, puede compartir la dirección. Sin embargo, si la tabla de direcciones no está compartida, debe dejar en blanco la dirección en la tabla Componentes de software implementados. Tenga en cuenta que la decisión no de compartir la tabla de direcciones no sólo se puede tomar en función de las referencias de tabla. A menudo, existe una funcionalidad que requiere que se cumplimente un campo.

    • No obligatorio: el campo de tabla puede contener un valor presente en la tabla de referencia, pero el campo de tabla también puede contener otro valor.

      Si el modo de referencia no es obligatorio, no es necesario compartir la tabla referenciada si se comparte la tabla principal.

  • Tipo de referencia:
    • Referencia permanente: una referencia de una tabla a otra tabla definida en el diccionario de datos.
    • Referencia provisional: una referencia de una tabla a otra tabla que se incorpora en un programa o biblioteca.

Si los datos están compartidos, es posible que también haya que compartir todos los datos de referencia. Esto puede depender de si los datos son obligatorios, obligatorios si no están vacíos o no obligatorios. Las tablas referenciadas son importantes en la integridad referencial de los datos.

Si las tablas están vinculadas lógicamente, también se debe vincular la tabla referenciada, especialmente en el caso de los datos obligatorios. En el caso de datos no obligatorios, los campos pueden tener distintos valores en diferentes compañías siempre que existan estos valores en la compañía que hace referencia a los valores. Por consiguiente, la tabla principal se puede compartir mediante transacciones distribuidas. La tabla referenciada puede ser específica de la compañía o se puede duplicar.

Ejemplo: Más de una compañía comparte la tabla Datos generales de artículo (tcibd001). Existen muchos campos referenciados en el archivo de artículos, como las familias de artículos y los datos de unidad.

Si el archivo de artículos está vinculado lógicamente, los mismos valores exactos para todos los campos referenciados obligatorios deben existir en ambas compañías, como por ejemplo familias de artículos, etc. Estas tablas referenciadas también suelen estar vinculadas lógicamente. Si no se utilizan campos no obligatorios, es decir, tipos de producto, las tablas referenciadas no deben estar vinculadas lógicamente.

Si se duplica una tabla, los campos referenciados pueden tener varios valores, siempre y cuando estos valores existan en la compañía que hace referencia a los valores. Posteriormente, durante la duplicación, los valores cambian. En el caso de los campos no obligatorios, no es necesario que comparta los datos referenciados si no se utiliza el campo en la tabla.

Ejemplo: si se duplica el archivo Datos generales de artículos (tcibd001), los programas deben poder hacer referencia a todos los campos obligatorios, es decir, a familias de artículos, en la compañía que utiliza los datos. El valor de los campos obligatorios no tiene que ser el mismo en ambas compañías, siempre y cuando exista el valor al que se hace referencia en la compañía que hace la referencia. Si no se utilizan campos no obligatorios, es decir, tipos de producto, no tiene que duplicar las tablas referenciadas.

En algunos casos, existen muchos niveles de referencias. Las referencias pueden ser extensas y complejas. Por ejemplo, las tablas de referencias de archivos de artículos, como las familias de artículos y otras tablas MCS, así como los datos de ingeniería, estructuras de materiales, rutas y datos de contabilidad de costos. Por estos motivos, y debido a que las tablas se pueden compartir de varias maneras en cada implementación, las referencias de tabla se deben investigar detalladamente para cada implementación.