Solved

Dynamics AX 2009 - Programming Example

Posted on 2009-04-06
3
1,072 Views
Last Modified: 2012-05-11
Dear Experts,

In AX 2009 can someone please assist me with the following code example:

Table1
-------------
Id
Description
BeginDate
EndDate

Basically I need to run an update query that will find rows where id = x and EndDate = <empty> then update the row and insert EndDate = Date - 1 day.

What I am struggling with is date time methods in X++.
1. How can you subtract 1 day from a datetime value????
2. Query to update all rows where Id = X and EndDate = <empty>, how will this where clause looks like?


Please help ASAP.
Kind regards.
0
Comment
Question by:Marius0188
  • 2
3 Comments
 
LVL 5

Accepted Solution

by:
Agrippine earned 500 total points
ID: 24084655
Hi again ;-)

to check for an empty date, use the method datenull().
To set a field to date - 1, just write "systemdateget() - 1" ...

I hope the example helps.

Kind regards!

static void Job1(Args _args)
{
    InventTableModule   inventTableModule;
    ItemId              itemId = 'ESB-007';
    ;
 
    ttsbegin;
 
    while select forupdate inventTableModule
        where   inventTableModule.ItemId    == itemId
            &&  inventTableModule.PriceDate == datenull()
    {
        inventTableModule.PriceDate = systemdateget() - 1;
        inventTableModule.update();
    }
 
    ttscommit;
}

Open in new window

0
 

Author Comment

by:Marius0188
ID: 24085034
Just another question.
Let say you instead of using systedateget() you would like to use the date field from a row?

Would you simple - 1 as well to get the day before?


Thanks for the quick reply....
0
 
LVL 5

Expert Comment

by:Agrippine
ID: 24085205
Yes, I would
inventTableModule.PriceDate = inventTableModule.PriceDate - 1;

Open in new window

0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is a walkthrough guide I wrote whilst upgrading my on-premise MS Dynamics CRM 3.0 deployment to 4.0. This covers the actual installation of the product to a working level for my system, I ran into a lot of issues that the steps below fixed so h…
Automatically creating a Trello card using data from a Microsoft Dynamics CRM record turned out to be an easy project that yielded great results.  Here's how I did this for an internal team at General Code.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question