Skip to main content

TTSBEGIN TTSCOMMIT Error in MSD axapta

You may found an error while posting inventory journal (Inventory Counting, Inventory Transfer etc.) if you enable ModifiedDateTime property on InventJournalTrans or Inventory journal related tables. It throws following error.

The operation cannot be completed, since the record was not selected for update. Remember TTSBEGIN/TTSCOMMIT as well as the FORUPDATE clause.

 It should not throw error if it's only standard code and no customization is there. But the reason of this type of error is that somewhere update on record has been performed without selecting for forupdate clause or without locking the table. best way to know put a break point in info class and debug.
There no single change in codes.you set the InventjournalTrans table ( I am not sure it was InventJournalTrans or inventTransPosting ) property ModifiedDateTime as YES and from one blog you can got the clue that It may happening because of this property. After removing this property it may work fine.

apparently it should not happen in standard code. even then click on the error details. it will take you to some class. in that class find TTSBEGIN and Select Keyword. Do remember TTSBEGIN always accompined by TTTSCOMMIT. so find any TTSBEGIN with Missing TTSCIMMIT, Put there TTSCOMMIT And after SELECT write "forupdate"

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);