$ListRep Lstr: Difference between revisions
m (1 revision) |
(Automatically generated page update) |
||
(50 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:$ListRep_Lstr}} | {{DISPLAYTITLE:$ListRep_Lstr}} | ||
<span class="pageSubtitle" | <span class="pageSubtitle">Replace a $list item with a longstring</span> | ||
<p class=" | <p class="warn"><b>Note: </b>Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $ListRep_Lstr function is <var>[[Replace (Stringlist function)|Replace]]</var>.</p> | ||
This function replaces an existing $list item with a longstring. Generally, this $list would have been created with the $ListNew function. | This function replaces an existing $list item with a longstring. Generally, this $list would have been created with the [[$ListNew]] function. | ||
The $ListRep_Lstr function accepts three arguments and returns a numeric result. It is a callable $function | The <var>$ListRep_Lstr</var> function accepts three arguments and returns a numeric result. It is a [[Calling Sirius Mods $functions|callable]] $function. | ||
The first argument is a $list identifier. This is a required argument. | The first argument is a $list identifier. This is a required argument. | ||
Line 13: | Line 13: | ||
The third argument is a string that is to replace the $list item indicated by the second argument. This is a required argument. | The third argument is a string that is to replace the $list item indicated by the second argument. This is a required argument. | ||
==Syntax== | ==Syntax== | ||
<p class="syntax" | <p class="syntax">[%RESULT =] $ListRep_Lstr(list_identifier, item_num, string) | ||
</p> | </p> | ||
<p><var class="term">%result</var> is set to 0 if the new item length is the same as the replaced item length, 1 if it is shorter, 2 if it is longer, or a negative number if an error has occurred.</p> | |||
===Error codes=== | |||
<p class="code">-3 - No room to add item | |||
(if LISTFC <var>$SirParm</var> parameter not set) | |||
All other errors cause request cancellation | |||
</p> | |||
$ListRep_Lstr works almost exactly like $ListRep except: | ==Usage notes== | ||
<ul> | |||
<li><var>$ListRep_Lstr</var> works almost exactly like [[$ListRep]] except: | |||
<li>It accepts a | <ul> | ||
<li>It accepts a longstring input. <var>$ListRep_Lstr</var> can be used with regular strings as well to pick up automatic request cancellation on programming errors. | |||
<li>It cancels the request on any errors such as invalid $list identifier or invalid $list item number. | <li>It cancels the request on any errors such as invalid $list identifier or invalid $list item number. | ||
<li>It does not have an item length argument (argument 4 in $ListRep). | <li>It does not have an item length argument (argument 4 in [[$ListRep]]). | ||
</ | </ul> | ||
<li><var>$ListRep_Lstr</var> is extremely efficient if the $list item size is not being changed (return value for <var>$ListRep_Lstr</var> of 0), fairly efficient when a $list item is being replaced with a shorter string (return value of 1) and can be fairly expensive when a $list item is being replaced with a longer string (return value of 2). The latter case can be expensive because such a <var>$ListRep_Lstr</var> can result in the splitting of a $list leaf page. Once a leaf page is split, it will not be merged back together, even if subsequent [[$ListRem]]s makes this possible. Because of this, heavy use of $LISREP_LSTRs that increase $list item size (and [[$ListIns]] and [[$ListRem]]) can result in "sparse" $lists which place an unnecessary burden on the buffer pool and CCATEMP. $List compression can be done using the [[$List_Copy_Items]] function. | |||
</ul> | |||
==Products authorizing {{PAGENAMEE}}== | |||
<ul class="smallAndTightList"> | <ul class="smallAndTightList"> | ||
<li>[[Sirius functions]]</li> | <li>[[List of $functions|Sirius functions]]</li> | ||
<li>[[Fast/Unload User Language Interface]]</li> | <li>[[Fast/Unload User Language Interface]]</li> | ||
<li>[[Janus Open Client]]</li> | <li>[[Media:JoclrNew.pdf|Janus Open Client]]</li> | ||
<li>[[Janus Open Server]]</li> | <li>[[Media:JosrvrNew.pdf|Janus Open Server]]</li> | ||
<li>[[Janus Sockets]]</li> | <li>[[Janus Sockets]]</li> | ||
<li>[[Janus Web Server]]</li> | <li>[[Janus Web Server]]</li> | ||
<li> | <li>Japanese functions</li> | ||
<li>[[Sir2000 Field Migration Facility]]</li> | <li>[[Media:SirfieldNew.pdf|Sir2000 Field Migration Facility]]</li> | ||
</ul> | </ul> | ||
[[Category:$Functions|$ListRep_Lstr]] | [[Category:$Functions|$ListRep_Lstr]] |
Latest revision as of 22:51, 20 September 2018
Replace a $list item with a longstring
Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $ListRep_Lstr function is Replace.
This function replaces an existing $list item with a longstring. Generally, this $list would have been created with the $ListNew function.
The $ListRep_Lstr function accepts three 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 the item number which is to be replaced. This is a required argument.
The third argument is a string that is to replace the $list item indicated by the second argument. This is a required argument.
Syntax
[%RESULT =] $ListRep_Lstr(list_identifier, item_num, string)
%result is set to 0 if the new item length is the same as the replaced item length, 1 if it is shorter, 2 if it is longer, or a negative number if an error has occurred.
Error codes
-3 - No room to add item (if LISTFC $SirParm parameter not set) All other errors cause request cancellation
Usage notes
- $ListRep_Lstr works almost exactly like $ListRep except:
- It accepts a longstring input. $ListRep_Lstr can be used with regular strings as well to pick up automatic request cancellation on programming errors.
- It cancels the request on any errors such as invalid $list identifier or invalid $list item number.
- It does not have an item length argument (argument 4 in $ListRep).
- $ListRep_Lstr is extremely efficient if the $list item size is not being changed (return value for $ListRep_Lstr of 0), fairly efficient when a $list item is being replaced with a shorter string (return value of 1) and can be fairly expensive when a $list item is being replaced with a longer string (return value of 2). The latter case can be expensive because such a $ListRep_Lstr can result in the splitting of a $list leaf page. Once a leaf page is split, it will not be merged back together, even if subsequent $ListRems makes this possible. Because of this, heavy use of $LISREP_LSTRs that increase $list item size (and $ListIns and $ListRem) can result in "sparse" $lists which place an unnecessary burden on the buffer pool and CCATEMP. $List compression can be done using the $List_Copy_Items function.