DimensionAttribute dimensionAttribute1;
DimensionAttributeValueGroupStatus dimAttrValueGroupStatus1;
DimensionAttributeValueGroupCombination dimAttrValueGroupCombo1;
DimensionAttributeValueGroup dimAttrValueGroup1;
DimensionAttributeLevelValue dimAttrLevelValue1;
DimensionAttributeValue dimAttrValue1;
DimensionAttrValueCOAOverride dimAttrValueCOAOverride1;
DimensionAttrValueLedgerOverride dimAttrValueLedgerOverride1;
DimensionFinancialTag dimensionFinancialTag1;
InventPosting inventPosting1;
DimensionValue Dim1, Dim2, Dim3;
MainAccountNum LedgerAc;
RecId LedgerRecId, dimCombinationId;
dimCombinationId = 65656776; // for example here i gave a valid ledgerdimension
// find MainAccountId from LedgerDimension
LedgerAc = MainAccount::findByLedgerDimension(dimCombinationId).MainAccountId;
LedgerRecId = Ledger::findLedgerRecIdByLegalEntity(CompanyInfo::findDataArea(curext()).RecId);
while select Ordinal from dimAttrValueGroupCombo1 order by Ordinal
where dimAttrValueGroupCombo1.DimensionAttributeValueCombination == dimCombinationId
join dimAttrValueGroup1
where dimAttrValueGroup1.RecId == dimAttrValueGroupCombo1.DimensionAttributeValueGroup
outer join dimAttrValueGroupStatus1
where dimAttrValueGroupStatus1.DimensionAttributeValueGroup == dimAttrValueGroup1.RecId
join dimAttrLevelValue1
where dimAttrLevelValue1.DimensionAttributeValueGroup == dimAttrValueGroup1.RecId
join pessimisticLock IsSuspended, IsTotal, ActiveFrom, ActiveTo, DimensionAttribute, RecId, EntityInstance from dimAttrValue1
where dimAttrValue1.RecId == dimAttrLevelValue1.DimensionAttributeValue
outer join pessimisticLock IsSuspended, ActiveFrom, ActiveTo, RecId from dimAttrValueCOAOverride1
where dimAttrValueCOAOverride1.DimensionAttributeValue == dimAttrValue1.RecId && dimAttrValueCOAOverride1.ChartOfAccounts == LedgerChartOfAccounts::current()
outer join pessimisticLock IsSuspended, ActiveFrom, ActiveTo, RecId from dimAttrValueLedgerOverride1
where dimAttrValueLedgerOverride1.DimensionAttributeValue == dimAttrValue1.RecId && dimAttrValueLedgerOverride1.Ledger == LedgerRecId
{
dimensionFinancialTag1 = null;
select * from dimensionFinancialTag1
where dimensionFinancialTag1.RecId == dimAttrValue1.EntityInstance
join dimensionAttribute1
where dimensionAttribute1.RecId == dimAttrValue1.DimensionAttribute;
if (dimensionAttribute1.Name == ‘Department’)
{
Dim1 = dimensionFinancialTag1.Value;
}
if (dimensionAttribute1.Name == ‘CostCenter’)
{
Dim2 = dimensionFinancialTag1.Value;
}
if (dimensionAttribute1.Name == ‘Purpose’)
{
Dim3 = dimensionFinancialTag1.Value;
}
}
Below is X++ Code to get Company name , Phone and fax in D365FO. You can try in Job to check to values. CompanyInfo Company; ; Company = CompanyInfo::find(); info(strFmt("Company Name : %1", Company.Name)); info(strFmt("Company Phone : %1", Company.phone())); info(strFmt("Company Phone : %1", Company.telefax()));