Dynamics AX 2009 - Programming Example

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.
Marius0188Asked:
Who is Participating?
 
AgrippineConnect With a Mentor Commented:
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
 
Marius0188Author Commented:
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
 
AgrippineCommented:
Yes, I would
inventTableModule.PriceDate = inventTableModule.PriceDate - 1;

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.