Error Object Framework
Currently, all incoming data to Tally via Rewrite, Migrate, Import, and Sync including errors are persisted (instead of ignoring them) and the user will have the ability to resolve these errors. To provide the ability to serve these error objects and their counts to the Application layer, we have enhanced TDL to express the intent to retrieve these errors and the platform provides the capabilities to
- gather these collections based on the criteria specified in TDL and
- provide counts of such objects so that reports and drill-downs can be instantaneous.
Functions
$$HasDataErrors
The function HasDataErrors is used to know whether the errors are present for a given activity or not.
Syntax
$$HasDataErrors:<Activity>
Where,
<Activity> is used to get the count of all masters for the specified activity. The possible values of the activity are Sync, Import, Migrate, Repair, and Any.
Example
$$HasDataErrors:”Sync”
Collections
There are a few collection changes related to the error object framework.
Case 1:
If the Type attribute of collection definition contains both error object type and activity then the Child Of attribute must identify the activity from which the error object needs to be gathered.
[Collection: List of Error Objects]
Type :<ErrorObjects>[:<Activity>/ <Rule>]
Child Of: Sync/Rewrite/Migration/Import or <Rule Master Name>
In the above example, the Activity/Rule are keywords. If the keyword Rule is mentioned, always the activity would be ‘Sync’.
Example:
- To get all master errors irrespective of activity
Type : ErrorMasters
- To get all Ledger errors irrespective of activity
Type: ErrorLedger
- To get all ledger errors from the Sync activity
Type : ErrorLedger : Activity
Child of: Sync
- To get all voucher errors irrespective of activity
Type: ErrorVouchers
- To get Error Ledgers from Sync activity
[Collection : Error Ledgers]
Type : ErrorLedger: Activity
Child of : Sync
- To get Error Ledgers from Sync activity and for Rule Master ‘RuleABCD’
[Collection : Error Ledgers for Rule]
Type : ErrorLedgers: Rule
Child of : RuleABCD
- To get Error Vouchers for Sync activity
[Collection : All Sync Error Vouchers]
Type :ErrorVouchers:Activity
Child of : Sync
- To get Error Vouchers of a particular voucher type for Sync activity
[Collection : All Sync Error Vouchers of a Voucher type]
Source Collection : All Sync Error Vouchers
By : VchType : $VoucherTypeName
Aggregate Compute : Count : Sum : 1
If voucher type (payment, sales etc) is missing it will be shown as uncategorized.
Error wise collections
[Collection : All Sync Error Ledgers error wise]
Source Collection : Error Ledgers
By : Error Type : $ErrorType
Aggregate Compute : Count : Sum : 1