Why CompanyInfo, DirPerson table… not exists in SQL Server tables?

Do you aware AX 2012 tables like CompanyInfoDirPersonDirOrganizationOMOperatingUnit, and OMTeam not exists in SQL Server DB tables? This is because they are all inherited tables. AX table inheritance is Table-per-Hierarchy inheritance, it means the inheritance tree is created through one table only and that is the root table (DirPartyTable). Due to this, DirOrganizationBase and OMInternalOrganization table also not exist in SQL Server tables. Refer to ERD below for better understanding:

hierarchy-of-dirpartytable.png

Since all the derived tables data are stored in DirPartyTable, AX differential them by a column which is RelationType EDT. For DirPartyTable, it is InstanceRelationType. The value it stored is the derived table ID.

select ISNULL(d.name, N'') REQUESTER,
...
left join HCMWORKER as h
on h.recid = t.REQUESTER
left join DIRPARTYTABLE as d
on d.recid = h.PERSON

您知道SQL Server DB表中不存在诸如CompanyInfoDirPersonDirOrganizationOMOperatingUnitOMTeam之类的AX 2012表吗?这是因为它们都是继承的表。AX表继承是逐层表继承,这意味着继承树仅通过一个表创建,该表即为根表(DirPartyTable)。因此,SQL Server表中也不存在DirOrganizationBaseOMInternalOrganization表。请参阅下面的ERD以获得更好的理解: 由于所有派生表数据都存储在DirPartyTable中

【picture】

,则AX通过一个列将它们区别为RelationType EDT。对于DirPartyTable,它是InstanceRelationType它存储的值是派生表ID。

    Danzel
    Danzel管理员

    • 声明:本文由Danzel于2021-02-26转载(优化),转载须经原站同意并注明出处。
    • 本文地址:http://maryd.cn/?id=157
    上一篇:IDEA 2019.2.4破解
    下一篇:SSIS无法在unicode和非unicode 字符串数据类型之间转换

    留言评论

    暂无留言
    取消
    扫码支持