Pending Transaction Error-Partial Manufacturing Orders will not close


TechKnowledge Content


We receive a "Pending Transaction" error when attempting to partially close manufacturing orders Although this error is most commonly caused by an inventory or financial batch not having been posted, and probably sitting in batch recovery (Routines>>Batch Recovery), the more uncommon source of this error is a dropped trigger. What is a "Dropped Trigger"? - Manufacturing close, partial or otherwise, writes journal entry information to the company table ICGL0102. Upon successful posting of the journal entry the manufacturing order rows (e.g. picklist items) in ICGL0102 are removed. If a G/L trigger has been dropped these rows are never removed and the table continues to grow. The problem manifests itself when attempts to complete an already partially posted manufacturing order abort with a pending transaction message. Full manufacturing order closes also leave records in ICGL0102 but since no further posting occurs on the order the error is never encountered. A suggested initial step is to compare the contents of ICGL0102 with journal entries found in the journal entry inquiry screen (Inquiry>>Financial>>Journal Entry) to determine if ICGL0102 rows have actually posted. Only a DBA should perform these procedures and the DBA should be the only user on the system (dial-up too). 1) In SQL Server 7.0 Enterprise Manager (Start=>Programs=>Microsoft SQL Server 7.0=>Enterprise Manager) go to the databases portion (e.g. TWO). Make backups of your company (e.g. TWO) and DYNAMICS databases. In SQL Server, right click on the database, select &All Tasks,8 &Backup Database.8 2) In SQL Server Enterprise Manager go to the company database (e.g. TWO) and then proceed to the tables portion. 3) Find table GL10001 and examine triggers (highlight the table with a single mouse click, then right click with the mouse, =>All Tasks=>Manage Triggers). In the &Name8 dropdown, determine if trigger &ICGL_TRX_LINE_WORK_DELETE8 exists. Absence of the trigger is the source of partial manufacturing order close problem. If the trigger is present you have a different problem. 4) If possible, search other company databases (e.g. TWO) and find where the trigger is present (follow steps in item three). If you cannot find the trigger call Manufacturing Support and we will provide you with the trigger via e-mail. Highlight and copy the trigger to buffer. 5) Read Carefully ) In Microsoft SQL Server 7.0 open the Query Analyzer (in Enterprise Manager, Tools=>SQL Server Query Analyzer). In the &DB8 (database) dropdown select the company database missing the trigger &ICGL_TRX_LINE_WORK_DELETE8. Paste the trigger in the window and execute the script (green arrow). 6) Suggested ) Exit from eEnterprise, stop and start your server, reenter eEnterprise and test partial manufacturing order closes on a NEW manufacturing order. The old, partially posted manufacturing orders will still exhibit the error. 7) In order to complete existing partially posted manufacturing orders remove the relative lines in company table ICGL0102 (in Enterprise Manager go to the company database, find table ICGL0102, highlight the table with a single mouse click, then right click with the mouse, =>Open Table=>Return all rows, highlight the manufacturing order rows using the left column, press the delete key). Be sure that you delete ONLY the rows of posted manufacturing orders ) check in the inquiry screen mentioned above to be certain posting has occurred.

This article was TechKnowledge Document ID:5738