Create Contact Person for Vendor Or Customer AX 2012 & D365FO
Important
In D365FO use ContactPersonSyncEntity class and in AX 2012 use ContactPersonEntity Using below code you can create contact person against Customer or Vendor in AX 2012 & D365FO.
class SLD_DemoInstance
{
public static void main(Args _args)
{
// Declare variables: views.
DirPartyContactInfoView contactInfo;
DirPartyPostalAddressView postalAddress;
// Declare variables: tables.
ContactPerson contactperson;
DirPartyTable partyTable = DirPartyTable::findRec(VendTable::find("S00038").Party);
// Declare variables: classes.
ContactPersonEntity
contactPersonEntity;
// Create and populate the contact person.
contactPersonEntity =
ContactPersonEntity::construct(contactPerson);
contactPersonEntity.parmFirstName("FirstName");
contactPersonEntity.parmMiddleName('M.');
contactPersonEntity.parmLastName('Person');
contactPersonEntity.parmAssistantName('AssistantName');
contactPersonEntity.parmBillingInformation('Billing info');
contactPersonEntity.parmCharacter('Character
description');
contactPersonEntity.parmComputerNetworkName('Computer network
name');
contactPersonEntity.parmContactForParty(partyTable.RecId);
contactPersonEntity.parmContactMemo('Memo');
contactPersonEntity.parmContactPersonId('CP64');
contactPersonEntity.parmLoyalty('Loyalty');
contactPersonEntity.parmMileage('Mileage');
contactPersonEntity.parmOfficeLocation('Office location');
contactPersonEntity.parmOutlookCategories('Outlook categories');
contactPersonEntity.parmProfession('Profession');
contactPersonEntity.parmSensitivity(smmSensitivity::Personal);
contactPersonEntity.parmSpouse('Spouse');
contactPersonEntity.parmTimeAvailableFrom(1000);
contactPersonEntity.parmTimeAvailableTo(2000);
contactPersonEntity.write();
// Populate the postal address information by
using the view.
postalAddress.clear();
postalAddress.Street = 'One Microsoft Way';
postalAddress.City = 'Redmond';
postalAddress.State = 'WA';
postalAddress.ZipCode = '98052';
postalAddress.Address="QAR";
postalAddress.CountryRegionId = "Country Region
ID";
// Update the postal address information.
contactPersonEntity.createOrUpdatePostalAddress(postalAddress);
//phone
contactInfo.clear();
//Populate the contact information by using
the view.
contactInfo.LocationName="Phone";
contactInfo.Locator = "123456";
contactInfo.Type = LogisticsElectronicAddressMethodType::Phone;
contactInfo.IsPrimary = true;
// Update the contact information.
contactPersonEntity.createOrUpdateContactInfo(contactInfo);
contactInfo.clear();
//Populate the contact information by using
the view.
contactInfo.LocationName="Email";
contactInfo.Locator ="abcd@gmail.com";
contactInfo.Type = LogisticsElectronicAddressMethodType::Email;
contactInfo.IsPrimary = true;
// Update the contact information.
contactPersonEntity.createOrUpdateContactInfo(contactInfo);
contactInfo.clear();
//Populate the contact information by using
the view.
contactInfo.LocationName="FAX";
contactInfo.Locator ="98798789798";
contactInfo.Type = LogisticsElectronicAddressMethodType::Fax;
contactInfo.IsPrimary = true;
// Update the contact information.
contactPersonEntity.createOrUpdateContactInfo(contactInfo);
}
}