by-exp-dsnd

by-exp-dsnd


by-exp Index Level c
Syntax by-exp-dsnd attr.name {"explosion limiter"}
Category Access
Type Modifier
Description followed by an attribute name which references a multi-valued attribute to be used individually as sort keys in descending order.

The "by-exp-dsnd" modifier is used to sort attributes that may contain more than one value. When the "by" modifier is used on a multi-valued attribute, it only sorts on the first value in the attribute. Further, each item-id will only appear one time, assuming that its display is not suppressed.

When the "by-exp-dsnd" modifier is used, it "explodes" each value in the attribute and treats each value as though it were a separate item. Each value sorts into its proper position, and the item-id will appear with each value. In other words, the number of times and item-id will appear on a report coincides to the number of values in the exploded attribute.

The "explosion limiter" specifies that output only occurs on data elements meeting the print limiting criteria.

This can be used with any verb that lists or selects items, such as "list", "sort", or "select".
Options
See Also by-exp by READNEXT modifiers attr.name seqlist sort by-dsnd collation order
Example If one invoice 0001 exists with quantity ordered attribute as follows:
005 1
   6
   3

sort invoices by-exp-dsnd quantity.ordered

The above statement would result in the following.

0001   6
0001   3
0001   1
Warnings In D3 systems, if "by" is provided with a verb that does not "naturally" sort (such as the "list" verb), the verb is changed to its "sorting" counterpart. (e.g. "list" becomes "sort", "select" becomes "sselect", etc.) This does NOT work, however, on R83 releases.
Compatibility D3 7.0 AP R83
by-exp Index Level c