Tabelverwijzingen

Veel tabellen bevatten velden, ook wel gegevenselementen genoemd, uit andere tabellen. Deze velden worden referentiegegevens genoemd.

De tabel geïmplementeerde software-componenten (tccom000) bevat bijvoorbeeld verwijzingen naar de volgende tabellen:

  • Adressen (tccom130)
  • Landen (tcmcs010)
  • Talen (tcmcs046)

In dit geval bevatten adressen en landen op hun beurt verwijzingen naar andere tabellen.

Elke tabelreferentie heeft de volgende twee kenmerken:

  • Referentiemodus: Beschrijft de relatie tussen de tabel en de referentietabel. De opties omvatten het volgende:
    • Verplicht: Het tabelveld moet een waarde bevatten die aanwezig is in de referentietabel. De referentie van adressen naar landen is bijvoorbeeld verplicht. Dat betekent dat elk adres een land moet hebben. Als dat niet het geval is, kan het adres niet worden opgeslagen.

      Voor tabelsharing betekent dit dat als de tabel met adressen wordt gedeeld, de tabel met landen ook moet worden gedeeld.

    • Verplicht tenzij leeg Het tabelveld kan leeg zijn. Als het tabelveld is ingevuld, moet de waarde van het veld aanwezig zijn in de referentietabel. De referentie van geïmplementeerde software-componenten naar adressen is bijvoorbeeld verplicht, tenzij het veld leeg is. Dat betekent dat het adres in de tabel met geïmplementeerde softwarecomponenten optioneel is.

      Voor tabelsharing betekent dit dat als de tabel met geïmplementeerde softwarecomponenten wordt gedeeld, u het adres kunt delen. Als de adrestabel echter niet wordt gedeeld, moet u het adres leeg laten in de tabel met geïmplementeerde softwarecomponenten. NB: de beslissing om de adrestabel niet te delen, kan niet alleen op basis van de tabelreferenties worden gemaakt. Vaak bestaat de functionaliteit die u nodig hebt om een veld in te vullen.

    • Niet verplicht Het tabelveld kan een waarde bevatten die aanwezig is in de referentietabel, maar het tabelveld kan ook een andere waarde bevatten.

      Als de referentiemodel niet verplicht is, hoeft u de referentietabel niet te delen als de bovenliggende tabel gedeeld wordt...

  • Soort referentie:
    • Harde referentie: Een referentie van de ene tabel naar een andere tabel die is gedefinieerd in de data-dictionary.
    • Zachte referentie: Een referentie van een tabel naar een andere tabel die is opgenomen in een programmascript of bibliotheek.

Als gegevens worden gedeeld, moeten ook alle gerefereerde gegevens worden gedeeld. Dit kan afhankelijk zijn van de vraag of de gegevens verplicht, verplicht tenzij leeg, of niet verplicht zijn. Referentietabellen zijn van belang bij de referentiële integriteit van gegevens.

Als tabellen logisch zijn gekoppeld, moet de referentietabel ook worden gekoppeld, met name in het geval van verplichte gegevens. In het geval van niet-verplichte gegevens kunnen velden verschillende waarden in verschillende bedrijven hebben, zolang deze waarden bestaan in het bedrijf dat de waarden bevat. Hierdoor kan de hoofdtabel worden gedeeld met behulp van verdeelde mutaties. De referentietabel kan bedrijfsspecifiek zijn of kan worden gebruikt.

Voorbeeld: Algemene artikelgegevens (tcibd001) worden gedeeld door meer dan één bedrijf. Er zijn veel referentievelden in het artikelbestand, zoals artikelgroep- en artikelgegevens.

Als het artikelbestand logisch is gekoppeld moeten dezelfde waarden voor alle verplichte velden waarnaar wordt verwezen in beide bedrijven bestaan, zoals artikelgroepen, enzovoort. Deze referentietabellen zijn doorgaans direct gekoppeld. Als er geen niet-verplichte velden worden gebruikt, met andere woorden, de productsoort, mogen de referentietabellen niet aan elkaar worden gekoppeld.

Als een tabel wordt uitgewisseld, kunnen de velden met referenties verschillende waarden hebben, zolang deze waarden bestaan in het bedrijf dat naar de waarden verwijst. De waarden worden vervolgens gewijzigd tijdens de replicatie. In het geval van niet-verplichte velden hoeft u geen referentiegegevens te hebben die worden gedeeld als het veld in de tabel niet wordt gebruikt.

Voorbeeld: Als het bestand algemene artikelgegevens (tcibd001) wordt gebruikt, moeten programma's naar alle verplichte velden kunnen verwijzen, met andere woorden, artikelgroepen in het bedrijf dat de gegevens gebruikt. De waarde van de verplichte velden hoeft niet gelijk te zijn in beide bedrijven, zolang de referentiewaarde bestaat in het bedrijf die ernaar verwijst. Als er geen niet-verplichte velden worden gebruikt, met andere woorden, soorten producten, hoeft u de referentietabellen niet te repliceren.

In sommige gevallen zullen er referenties op veel niveaus voorkomen. De referenties kunnen verstrekkend en complex zijn. Bijvoorbeeld: de referentietabellen voor artikelbestanden, zoals artikelgroepen en andere MCS-tabellen, constructiegegevens, stuklijsten, routings en kostencalculatiegegevens. Om deze redenen en omdat tabellen tijdens elke implementatie op verschillende manieren kunnen worden gedeeld, moeten tabelreferenties in detail worden bestudeerd voor elke implementatie.