Monday, July 25, 2011

Basics of setting up AX2009 security keys

Set up alerts
a. Go to Basic > Number Sequence > Reference > System ID
i. Ensure that the Basic_01 number sequence exists. If not, create.
b. Set up Basic > Setup > Email Templates
c. Basic > Setup > Alerts > Set up email ID
d. Administration > Batch Groups
i. Create "Alerts" Batch Group
e. Administration > Setup > Server Configuration
i. Tick Is Batch Server
ii. On Batch server groups tab, select "Alerts"
f. Basic > Setup > Alerts > Manage alert rules
g. Basic > Setup > Alerts > Periodic > Alerts > Change based alerts
i. Add to "Alerts" batch group and send to batch
h. Basic > Setup > Alerts > Periodic > Alerts > Due date alerts
i. Add to "Alerts" batch group and send to batch
i. Administration > Common forms > Users > User options
i. Set up email
ii. On Notifications tab, set up parameters
iii. On Status Bar tab ensure the "Show alert status" is ticked
j. Set up security keys
i. http://technet.microsoft.com/en-us/library/aa834418(AX.50).aspx

Sunday, July 10, 2011

Manually upgrade Date and Time fields

after an AX2009 upgrade, if you happen to forget to upgrade a Date and
Time field combination on a table to the new DateTime field, use this
simple job.

in the case below, SysDatabaseLog's CreatedTime did not seem to be
upgraded to be incorporated into the new CreatedDateTime field.

=======

static void AX2009Upgrade_ManuallyUpgradeDateTime(Args _args)
{
DEL_SysUpgradeTimeZone listOfColumnsToBeUpgraded;
ReleaseUpdateDB_TimezoneUpgrade timezoneUpgradeClass;
;

ReleaseUpdateDB41_Basic::upgradeToDateTime
(
tablenum(SysDatabaseLog),

fieldnum(SysDatabaseLog, CreatedDateTime),

fieldnum(SysDatabaseLog, CreatedDateTime),

fieldnum(SysDatabaseLog, DEL_CreatedTime)
);

while
select
listOfColumnsToBeUpgraded
order by
listOfColumnsToBeUpgraded.RefTableId
where
listOfColumnsToBeUpgraded.Status == SysUpgradeTimeZoneStatusEnum::Ready
{
timezoneUpgradeClass =
ReleaseUpdateDB_TimezoneUpgrade::construct(
listOfColumnsToBeUpgraded.data() );
timezoneUpgradeClass.run();
}
pause;
}