Collection Attribute ‘WalkEx’ Introduced
With every release, performance improvements are being brought, especially with respect to the data gathering and processing artefact ‘Collection’, used to gather and deliver data to presentation layers. Performance is enhanced drastically if collection is gathered judiciously as per usage. Sometime back, the Collection attribute ‘Keep Source’ had been introduced for performance enhancement. This was used to retain the source collection gathered once with the specified Interface Object, i.e., either with the current Object or its parents/owners. It drastically improved the performance in scenarios where the same source collection was referred multiple times with in the same Object hierarchy chain.
Similarly, there are scenarios where there is Union of multiple collections using the same source collection, and each collection walks over its sub objects across different paths, and computes/ aggregates the values from sub level. In such cases, significant CPU cycles will be utilized in gathering and walking over the same Source Object along different paths more than once
A new attribute WalkEx has been introduced, which when specified in the resultant collection, allows us to specify a collection list. The source collection specification is available in the resultant collection. The collections referred in WalkEx do not have any source collection specified and contain attributes only to walk the source collection and aggregate over Sub Objects of an already gathered collection. The advantage of using WalkEx is that all walk paths specified in the collection list are traversed in a single pass for each object in the source collection. This results in improvements in performance drastically.
Syntax
[Collection : Collection Name]
WalkEx : Collection Name1,Collection Name2,..
Where,
Collection Name1, Collection Name2, and so on, are the collection names specifying Walk and aggregation/computation attributes.
Example: The requirement here is to generate a Report displaying Item Wise and Ledger Wise amount totals for all Vouchers.
With every release, performance improvements are being brought, especially with respect to the data gathering and processing artefact ‘Collection’, used to gather and deliver data to presentation layers. Performance is enhanced drastically if collection is gathered judiciously as per usage. Sometime back, the Collection attribute ‘Keep Source’ had been introduced for performance enhancement. This was used to retain the source collection gathered once with the specified Interface Object, i.e., either with the current Object or its parents/owners. It drastically improved the performance in scenarios where the same source collection was referred multiple times with in the same Object hierarchy chain.
Similarly, there are scenarios where there is Union of multiple collections using the same source collection, and each collection walks over its sub objects across different paths, and computes/ aggregates the values from sub level. In such cases, significant CPU cycles will be utilized in gathering and walking over the same Source Object along different paths more than once
A new attribute WalkEx has been introduced, which when specified in the resultant collection, allows us to specify a collection list. The source collection specification is available in the resultant collection. The collections referred in WalkEx do not have any source collection specified and contain attributes only to walk the source collection and aggregate over Sub Objects of an already gathered collection. The advantage of using WalkEx is that all walk paths specified in the collection list are traversed in a single pass for each object in the source collection. This results in improvements in performance drastically.
Syntax
[Collection : Collection Name]
WalkEx : Collection Name1,Collection Name2,..
Where,
Collection Name1, Collection Name2, and so on, are the collection names specifying Walk and aggregation/computation attributes.
Example: The requirement here is to generate a Report displaying Item Wise and Ledger Wise amount totals for all Vouchers.
[Collection : VoucherSource]
Type : Voucher
[Collection : Ledger Details]
Source Collection : VoucherSource
Walk : AllLedgerEntries
By: Particulars : $LedgerName
Aggr Compute : Tot Amount : Sum: $Amount
Source Collection : VoucherSource
Walk : AllLedgerEntries
By: Particulars : $LedgerName
Aggr Compute : Tot Amount : Sum: $Amount
Keep Source : ().
Skip to main content