I am getting following message ,The transaction can not be completed because it will inconsistencies in the g/l entry table during jobwork cancellation .
[Topic moved from 'NAV Tips & Tricks' forum to 'NAV/Navision Classic Client' forum]
The total amount of the G/L Entry should always be 0.
If you are writing entries to it and the total is not 0 and you want to COMMIT it, you will get this error.
In general it means there is some bug in the customized code. (a record is not written, or a record too many is written. A bug in the calculation of the amount,rounding errors,...).
If there is no customized code in any point, it probably is a bug in the base.
The only way to find out is to use the debugger and following every write to the G/L Entry table (you can start to debug every time codeunit 12 is entered (this is the one that writes to the G/L Entry.
BTW: another way to help you debugging: if you are on SQL, you can try this trick: just before the COMMIT that generates the error. Do a FINDFIRST on the G/L Entry to force NAV to write all records it has in the buffer to the table. Then add "IF NOT CONFIRM('Continue?',FALSE) THEN ERROR('STOP'); The CONFIRM waits for a confirmation before doing the COMMIT. Opening another session you can see what this session has written in G/L Entry. DON'T DO THIS IN PRODUCTION BECAUSE YOU ARE BLOCKING EVERYONE!
Regards,Alain Krikilion No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
...
The only way to find out is to use the debugger and following every write to the G/L Entry table (you can start to debug every time codeunit 12 is entered (this is the one that writes to the G/L Entry.
BTW: another way to help you debugging: if you are on SQL, you can try this trick: just before the COMMIT that generates the error. Do a FINDFIRST on the G/L Entry to force NAV to write all records it has in the buffer to the table. Then add "IF NOT CONFIRM('Continue?',FALSE) THEN ERROR('STOP'); The CONFIRM waits for a confirmation before doing the COMMIT. Opening another session you can see what this session has written in G/L Entry. DON'T DO THIS IN PRODUCTION BECAUSE YOU ARE BLOCKING EVERYONE!
or a MUCH better way would be to search mibuso for Rashed's trick to solve this.
Comments
The total amount of the G/L Entry should always be 0.
If you are writing entries to it and the total is not 0 and you want to COMMIT it, you will get this error.
In general it means there is some bug in the customized code. (a record is not written, or a record too many is written. A bug in the calculation of the amount,rounding errors,...).
If there is no customized code in any point, it probably is a bug in the base.
The only way to find out is to use the debugger and following every write to the G/L Entry table (you can start to debug every time codeunit 12 is entered (this is the one that writes to the G/L Entry.
BTW: another way to help you debugging: if you are on SQL, you can try this trick: just before the COMMIT that generates the error. Do a FINDFIRST on the G/L Entry to force NAV to write all records it has in the buffer to the table. Then add "IF NOT CONFIRM('Continue?',FALSE) THEN ERROR('STOP'); The CONFIRM waits for a confirmation before doing the COMMIT. Opening another session you can see what this session has written in G/L Entry. DON'T DO THIS IN PRODUCTION BECAUSE YOU ARE BLOCKING EVERYONE!
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
or a MUCH better way would be to search mibuso for Rashed's trick to solve this.