$ListNewA

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.

Create array of empty $lists

Note: Many $functions have been deprecated in favor of Object Oriented methods. There is no direct OO equivalent for the $ListNewA function, but the feature is implemented in a much more natural way with Collections.

This function creates an array of empty $lists.

The $ListNewA function accepts eight arguments and returns a numeric result. It is a callable $function.

Syntax

[%rc =] $ListNewA(%array, option, start_dim1, size_dim1, - start_dim2, size_dim2, start_dim3, size_dim3)

%rc is set to 0 or to an error indicator.

  • The first argument is the array which will contain the identifiers of the $lists which are created. This is a required argument.
  • The second argument, if set to the string NOREL, indicates that the contents of the $lists are not to be emptied when a RELEASE ALL RECORDS statement is executed. This is an optional argument.
  • The third argument is the start index for the created $list identifiers in the first dimension of the array. This is an optional argument; its default is 1. It must be between 1 and the size of the first dimension of the array.
  • The fourth argument is the number of indices for the created $list identifiers in the first dimension of the array. This is an optional argument; its default is the number of indices in the first dimension of the array minus the start index, minus 1 (that is, all of the indices starting with the start index). It must be between 1 and this default value.
  • The fifth argument is the start index for the created $list identifiers in the second dimension of the array. This is an optional argument; its default is 1. It must be between 1 and the size of the second dimension of the array.
  • The sixth argument is the number of indices for the created $list identifiers in the second dimension of the array. This is an optional argument; its default is the number of indices in the second dimension of the array minus the start index, minus 1 (that is, all of the indices starting with the start index). It must be between 1 and this default value.
  • The seventh argument is the start index for the created $list identifiers in the third dimension of the array. This is an optional argument; its default is 1. It must be between 1 and the size of the third dimension of the array.
  • The eighth argument is the number of indices for the created $list identifiers in the third dimension of the array. This is an optional argument; its default is the number of indices in the third dimension of the array minus the start index, minus 1 (that is, all of the indices starting with the start index). It must be between 1 and this default value.

Return codes

0 - No errors 1 - Invalid array bound

Usage notes

  • All invocations of a particular call to $ListNewA will always set the same values to those elements of the array that are being set. Each time that call is executed, any previous $lists in those elements created by that call are deleted, and a new list is created.
  • $ListNewA performs the same processing as $ListNew, but it allows the creation of multiple lists in one call, and it allows you to manage the lists in an array. For example:

    B %I FLOAT %X FLOAT %Y FLOAT %L FLOAT ARRAY(10) %X = $READ('Number of procs to display, up to 10') %Y = $ListNewA(%L, , 1, %X) IF %Y NE 0 THEN PRINT 'Error ' %X ' creating ' %X 'lists' STOP END IF FOR %I FROM 1 TO %X %Y = $ProcOpn($READ('Enter proc name')) %Y = $ProcDat(%L(%I)) END FOR PRINT 'Here are the procs, last requested first:' FOR %I FROM %X TO 1 BY -1 PRINT ' ' PRINT 'Proc number ' %I FOR %Y FROM 1 TO $ListCnt(%L(%I)) PRINT $ListInf(%L(%I), %Y) END FOR END FOR

Products authorizing $ListNewA