The entities, fields and relationships shown in Business Data Lookup Snap-in are driven off a configuration file. A default configuration file is installed during setup but you can create your own and point setup to use that configuration file.
The configuration file defines the metadata for Snap-in. In particular, it defines the
Since the configuration file can be private for each user or shared across multiple users, by changing the configuration file, an administrator can make the Business Data Lookup behave differently for different users. Specifically, he can create configurations such that:
Of course, if you make the configurations too narrow (one for each user,) maintaining it can become a challenge. But customizing it for each department or a set of users based on their work profies can help improve their experience.
To elaborate further, the default configuration file shared with the application enables showing only a few entities, whereas the one shared by vsinha03 here shows many more entities and relationships like Project, Business Relations, etc. As another example, listed below is XML text for a very basic configuration that allows a user to only look up customer details and sales order details for those customers. Copy and paste below text into the config file (take a backup of your current config file if you don’t want to lose any changes you might have made) for Business Data Lookup Snap-in for Dynamics AX to try it out -
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<SystemConfiguration>
</SystemConfiguration >
<EntityConfiguration>
<Entity Name = "Customer" Table = "CustTable" TableId = "77" MainEntity ="Yes">
<Groups>
<Group DisplayName ="General" AxName="AutoReport"> </Group>
<Group DisplayName ="Description" AxName="Description"> </Group>
<Group DisplayName ="Invoice" AxName="Invoice"></Group>
<Group DisplayName ="Address" AxName="AddressDisplay"></Group>
</Groups>
<QuickSearch>
<Attribute Name ="AccountNum"/>
<Attribute Name ="Name"/>
</QuickSearch>
<RelatedView>
<Attribute Name="Address"/>
<Attribute Name ="CustGroup"/>
<Attribute Name="Currency"/>
</RelatedView>
<ParentTo>
<ChildEntity Name = "SalesOrder">
<RelationInfo ParentAttrName ="Accountnum" ChildAttrName ="CustAccount"/>
</ChildEntity>
</ParentTo>
<ChildrenOf>
</ChildrenOf>
</Entity>
<Entity Name = "SalesOrder" Table ="SalesTable" TableId = "366">
<Group DisplayName ="General" AxName="AutoReport"></Group>
<Group DisplayName ="DeliveryAddress" AxName="DeliveryAddress"></Group>
<Group DisplayName ="Delivery" AxName="Delivery"></Group>
<Group DisplayName ="AddressDisplay" AxName="AddressDisplay"></Group>
<Attribute Name ="SalesId"/>
<Attribute Name="SalesName"/>
<Attribute Name ="SalesStatus"/>
<Attribute Name="DeliveryDate"/>
<Attribute Name="DeliveryAddress"/>
<ChildEntity Name ="Sales Order Items">
<RelationInfo ParentAttrName ="SalesId" ChildAttrName ="SalesId"/>
<Entity Name ="Sales Order Items" Table ="SalesLine" TableId = "359">
<Group DisplayName ="Inventory" AxName="Inventory"> </Group>
<Group DisplayName ="SalesQuantity" AxName="SalesQuantity"></Group>
<Group DisplayName ="OrderLines" AxName="OrderLines"> </Group>
<Attribute Name="ItemId"/>
<Attribute Name ="ItemId"/>
<Attribute Name="SalesQty"/>
<Attribute Name="SalesDeliverNow"/>
</EntityConfiguration>
</Configuration>