Record.Consistent(Boolean) Method
Version: Available or changed with runtime version 1.0.
Marks a table as being consistent or inconsistent.
Syntax
Record.Consistent(Consistent: Boolean)
Parameters
Record
Type: Record
An instance of the Record data type.
Consistent
Type: Boolean
The mark to be set on the table. If this parameter is true, the table is marked as consistent. If this parameter is false, the table is marked as inconsistent.
Remarks
Usually this method is only used for accounting routines. If your accounts do not balance, then the accounts are inconsistent. This method makes sure that inconsistent changes are not made in your accounts.
If an attempt is made to commit a write transaction when a table is marked as inconsistent, then a message is displayed and all updates that were made in the write transaction are ended.
A typical example of an inconsistency occurs when the sum of all the entries in a table that contains general ledger entries does not balance - is not equal to zero.
In this example, your application includes a method object that is named ChangeAmount. This method is used to withdraw amounts that were put into the General Ledger Entry table in your application. When an amount is withdrawn from an account, the system is inconsistent until a corresponding amount is put in. The following code example illustrates the ChangeAmount method. The ChangeAmount method has one parameter, Amount
, which is a Decimal data type.
Example
var
GLEntry: Record "G/L Entry";
Balance: Decimal;
Amount: Decimal;
Consistent: Boolean;
begin
GLEntry."G/L Account No." := '1000';
GLEntry.Amount := Amount;
GLEntry.Insert;
Balance := Balance + Amount;
if Balance = 0 then
Consistent := true
else
Consistent := false;
GLEntry.Consistent(Consistent);
end;
The method uses the variable Balance
to express the change in balance. For example, when the method is used to withdraw $100, the Balance
variable will reflect this as -$100.
When you use the method to put in one or more amounts whose total equals +$100, the Balance
variable then equals zero and the table is marked as consistent. This means that if an attempt is made to put in an amount and end the write transaction - commit the change - without withdrawing a corresponding amount, an error occurs and the write transaction is canceled.