Requirement
In Microsoft Dynamics 365 finance and operations, client has an data entity for importing list of customer account into a table.During the time of importing of customer accounts using Data entity, client also want to capture & save values of few fields.
Sample Code
To achieve this requirement, we are going to use event “ONMAPPINGENTITYTODATASOURCE” of Data entity in Microsoft Dynamics 365 finance and operations
class DemoCustRelatedTableEntityEvents
{
/// <summary>
///
/// </summary>
/// <param name="_sender"></param>
/// <param name="_eventArgs"></param>
[DataEventHandler(tableStr(DemoCustRelatedTableEntity), DataEventType::MappingEntityToDataSource)]
public static void DemoCustRelatedTableEntity_onMappingEntityToDataSource(Common _sender, DataEventArgs _eventArgs)
{
DataEntityContextEventArgs dataEntityContextEventArgs = _eventArgs;
DataEntityRuntimeContext runtimeContext = dataEntityContextEventArgs.parmEntityContext();
DataEntityDataSourceRuntimeContext DataEntityDataSourceRuntimeContext = dataEntityContextEventArgs.parmEntityDataSourceContext();
if (DataEntityDataSourceRuntimeContext.name() == dataEntityDataSourceStr(DemoCustRelatedTableEntity, DemoCustRelatedTable))
{
CustTable custTable;
DemoCustRelatedTable DemoCustRelatedTable;
DemoCustRelatedTableEntity DemoCustRelatedTableEntity = _sender as DemoCustRelatedTableEntity;
DemoCustRelatedTable = DataEntityDataSourceRuntimeContext.getBuffer();
custTable = CustTable::find(DemoCustRelatedTableEntity.CustAccount);
DemoCustRelatedTable.CustTableRecId = custTable.RecId;
DemoCustRelatedTable.MAB = custTable.balanceCurrency();
DataEntityDataSourceRuntimeContext.setBuffer(DemoCustRelatedTable);
}
}
}
One thought on “D365 FO: Data Entity “onMappingEntityToDataSource” event”