$ListRem

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Remove item from $list

Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $ListRem function is RemoveItem.

This function removes an item from a $list, decrementing the item numbers of all items which follow.

The $ListRem function accepts two arguments and returns a numeric result. It is a callable $function.

The first argument is a $list identifier. This is a required argument.

The second argument is a number that specifies the item number in the $list. This is a required argument. The number of items remaining in the $list after the removal is returned as the result of this function. If removal of an item makes a CCATEMP $list page empty, that page is removed from use by the $list. Except for sorted lists which are only one page in size, space taken up by the removed item is made available on the $list page. If there are no items remaining after the removal, the $list is deleted.

Syntax

[%RESULT =] $ListRem(list_identifier, item_num)

%result is the number of items remaining in the $list after the removal, or is a negative number if an error has occurred.

Error codes

-5 - Required argument not specified -6 - $List identifier invalid -7 - Item number not found in $list

Usage notes

  • Consecutive $list leaf pages that are made relatively empty with $ListRem will not be merged together. Because of this, heavy use of $ListIns and $ListRem can result in "sparse" $lists which place an unnecessary burden on the buffer pool and CCATEMP. It can also result in an inability to add an item to the end of the $list (via $ListAdd) because of a full pointer page, even though the $list is nowhere near the theoretical capacity for a $list. To make matters worse, $ListCpy does a page-for-page copy of a $list so does not result in any compression of the resultant $list. $List compression can be done using the $List_Copy_Items function.

Products authorizing $ListRem