Each table in the AOT has an ID, how can I discover the table name given an ID?
Looking at the SQL dictironary is really the correct method. Search for the line with the FieldId equal to 0. Using TSQL this will tell the name of the table for tableid 505
select NAME
from SQLDICTIONARY
where TABLEID = 505
and FIELDID = 0
From X++, use the tableId2Name function.
From the GUI, choose Tools/Development tools/Application objects/Application objects and filter for a recordType of TableInternalHeader and a parentId of the table id you are looking for.
Or in the AOT, right click on Tables and choose Find. On the Name & Location tab, set Search to All nodes. On the Properties tab click Selected next to ID and fill in the table id in the Range field.
I dont'know if this is your answer, if you want to give the TableName with his ID, you can use the method: str tableId2Name(int _tableid)
For example: If YourTable has ID :123456 ; use method
tableId2PName(123456)
will return the str name YourTable.
info(strFmt("%1" , tableId2PName(123456))); -> VideoStamp the name.
I used the info in https://msdn.microsoft.com/en-us/library/aa498759.aspx
I hope to useful , greetings!
If you need AX system table name you can use tableId2name
or DictTable.name
method.
If you need SQL table name you shoud use DictTable.name
method with first argument of DbBackend::Sql
Example:
print new DictTable(tableNum(DirPartyTable)).name(DbBackend::Sql);
print new DictTable(tableNum(OMOperatingUnit)).name(DbBackend::Sql);
pause;
// result:
// DIRPARTYTABLE
// DIRPARTYTABLE
Or you can try:
select Name, AxId
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock)
where ElementType = 44
order by AxId
In the AOT, go to the System Documentation node. In the Tables node, find SqlDictionary and open it with the table browser. Filter the column TabId with your ID.
In the AOT, go to the System Documentation node. In the Tables node, find SqlDictionary and right click and open it with the table browser. Filter the column TabId with your ID and fieldid == 0, his will give you the name of the table.
Easiest way:
- Create a project (not necessary but easier to delete later)
- Add a new view to your project
- Add the data source SqlSyncInfo
- Drag the fields ID, MessageType, SyncTable, TableName, etc to field
- Open the view
It provides all the table names and their respective IDs. Just filter what you want. If you know the table ID, search for that. If you know the table name, search for that.
© 2022 - 2024 — McMap. All rights reserved.