Get Standard Information in AX Monday, Jan 19 2009 

What I mean by standard function is, how to get logon user Id, default date or default datetime. I found it little bit hard, so that I’ll post it to make me easier to search

/*get the default user Id*/


/*get the default date */


/*get the default date time*/

utcdatetime utc4, utcNow;


    utc4 = DateTimeUtil::utcNow();

    utcNow = DateTimeUtil ::applyTimeZoneOffset

        ( utc4,



Select query by using connection class Monday, Jan 19 2009 

query in standard Axapta is really limited because I can’t define distinct. Here is the code to define it, but as a note, you need to define it as a server run object.

public client server static void GetBatchListed( itemId _ItemId)


    Connection  conn;

    Statement   stmt;

    ResultSet   R;

    SqlStatementExecutePermission perm;

    str         sql;

    TSWrkInventBatch    TSWrkInventBatch;


    conn = new connection();

    stmt = conn.createStatement();

    sql = “select * from InventBatch IB inner join (“;

    sql += “select distinct c.InventBatchId from Inventsum a inner join InventDim b “;

    sql += “on a.Inventdimid = b.inventdimid “;

    sql += “inner join InventBatch c on b.InventBatchId = c.InventBatchId “;

    sql += “where a.ItemId = %1 and “;

    sql += “c.inventBatchId <> ”) as TBJoin on IB.InventBatchId = TBJoin.InventBatchId”;

    perm = new SqlStatementExecutePermission(strfmt(sql,_ItemId));


    R = Stmt.executeQuery(sql);

    while (


        info( R.getString(fieldnum(InventBatch, InventBatchId)));



Update in Axapta Thursday, Dec 11 2008 

I’ve learned axapta for 2 days and I found a wall while customized it :p
Actually, it’s really different with Solomon, you could not just select or update like sql script. Here’re the scripts:

while select forUpdate wmsorder where wmsorder.inventTransId == salesline.InventTransId
select * from inventtable where inventtable.ItemId == salesline.ItemId;

if (inventtable)
wmsorder.itemName = inventtable.itemName;
wmsorder.PortDest = salestable.Port;

ttsbegin and ttscommit are like tranbeg and tranend in Solomon. This code makes sure your table is in update condition, and the system will wait until your update process finish.