In AX 2009, posting large journals generally greater than 1000 lines takes a lot of time. Typically, in our environment it took 4 hours for a journal with 1500 lines even when it was posted through batch.
As far as general journal is concerned, there is an un-official MS recommendation of keeping maximum number of lines to 300. The field ‘Lines limit’ under General journal → General tab can be used for this purpose.
A good friend of mine recommended placing tables such as LedgerJournalTrans, LedgerTrans tables in a SQL file group and place this file group in separate spindle. This is to improve I/O performance and minimize any locks that will affect performance.
I was referring to general journal, but I think this will be true in case of other standard journals as well. The Lines Limit feature is not particularly helpful if your journal contains a single voucher ( like in the instance of opening balance voucher or other similar large voucher).
We will be exploring the SQL file group solution, but correct me if I am wrong, this will give noticeable improvement only on high specification server, not on test servers.
It is difficult to comment without knowing what is your definition of test servers, hardware details etc.
On the other note, if it is not already done you might want to implement best practice guidelines in Ax performance blog - http://blogs.msdn.com/b/axperf/
I have a same kind of problem with AX2009. When posting a journal with humongous amount of lines, the posting will likely end in an error, which shows up in the info log like this:
Journal XXX
** Voucher YYY
*** Changing to company account FOO
*** Register Ledger Transactions (LedgerTrans) could not be created. Insert functions are not allowed between companies. Change to current company using changecompany -keyword before inserting record.
** Journal has not been posted and the update is cancelled
Pardon the crappy English, but that’s translated from Finnish and the label editor refuses to find matches so I’m somewhat guessing there.
This would seem to lead to Application.setDefaultCompany(), but why would it fail, is a mystery to me. Somehow it’s connected to the massive number of lines, but I’d like something more substantial than “post less lines” to tell the customer, if you know what I mean.
Ah, apparently line limit is out of the question. Can one post Project hour journals in batch? If so, do they go via the GL/Periodic/Periodic journals?