Friday, March 3, 2017

Prepping for D365

There are huge concerns for moving an ERP into the cloud. Any software as a service for that matter should be a well discussed process prior to making a commitment.

With the new D365 product suite here are a few areas to consider when deciding how the options may fit within your organization.

There are now three deployment options.


This will require a deep dive analysis period within your organization to understand the value-add of the cloud. Items to consider:

  • No hardware cost
  • No hardware maintenance
  • Always on the current version (Should be the last version, with on-going updates)
  • Built-in back-up and Disaster recovery. RTO 10 hours or less
  • Dev/Test boxes included
  • Analytics

Licensing has a similar model of thought in preparing for D365. With the advent of the two users types: Team Member and Full, plus the Device license, it is important to evaluate how the employees in your organization are currently using AX. It may require effort to redefine employee roles to reduce the need for FULL licenses. You can read more about licensing by downloading the guide here.






Thursday, February 16, 2017

Dynamics AX :: Fancy Dates


There is nothing worse than a bad date... or a bad date problem in AX. I recently needed to perform some date verification in a batch for the previous month. I started to play around with some conversions  but luckily before I wasted a whole day came upon this code snippet from another AX blogger.**

It works like a charm!

For date type:
static void EP_dateMonthInterval(Args _args)
{
    date            fromDate;
    date            toDate;
    date            baseDate = systemDateGet();
    ;
 
    toDate      = dateStartMth(baseDate) - 1;
    fromDate    = dateStartMth(toDate);
 
    info(strFmt("%1 - %2", fromDate, toDate));
}

For UTC Date type
static void EP_UtcdateMonthInterval(Args _args)
{
    UtcDateTime     fromDate;
    UtcDateTime     toDate;
    UtcDateTime     baseDate = DateTimeUtil::utcNow();
    ;
 
    // Remove this month number of days.
    toDate = DateTimeUtil::addDays(
    baseDate, -(DateTimeUtil::day(baseDate) -1));
 
    // Add the rest of this days time minus one second.
    toDate = DateTimeUtil::addSeconds(
    toDate, -(DateTimeUtil::time(toDate)+1));
 
    // Remove the number of days we are on in
    // the previous month and add one second to 
    // get to the first of the month.
    fromDate = DateTimeUtil::addSeconds(
    DateTimeUtil::addDays(
    toDate, -(DateTimeUtil::day(toDate))), 1);
 
    info(strFmt("%1 - %2", fromDate, toDate));
}

**Reference source: http://fourone.se/blog/2012/11/01/date-and-utcdatetime-interval-for-previous-month/