Fuente información: http://online-help.sageerpx3.com/erp/11/staticpost/dela/?highlight=dela
Dela is used to delete elements from single-sized arrays, from a given index.
Syntax
Dela START ARRAY_LIST
Dela START, NUMBER ARRAY_LIST
Dela START, NUMBER, LIMIT ARRAY_LISTSTARTis an integer expression that gives the index in the arrays from which the deletions are made. It cannot exceed the highest index or fall short of the smallest index available in the array list.NUMBERis an integer expression that gives the number of indexes to be deleted. It must be strictly positive. If not given by the syntax, '1' will be used.LIMITis an integer expression that gives the index in the arrays where the deletion ends.LIMITcannot exceed the highest index and the smallest index available in the array list.ARRAY_LISTis a list of arrays variable (at least one), separated by commas.
Examples:
Let's imagine we have three arrays called COMPOSER(1..10), NAME(1..10), and BIRTH_YEAR(1..10) that have at the beginning the following values:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BUXTEHUDE | Dietrich | 1637 |
| 2 | BACH | Johann Sebastian | 1685 |
| 3 | MOZART | Wolfgang Amadeus | 1756 |
| 4 | BEETHOVEN | Ludwig | 1770 |
| 5 | SCHUBERT | Frantz | 1797 |
| 6 | WAGNER | Richard | 1813 |
| 7 | STRAUSS | Richard | 1864 |
| 8 | SCHOENBERG | Arnold | 1874 |
| 9 | BERG | Alban | 1885 |
| 10 | STOCKHAUSEN | Karlheintz | 1928 |
After execution of:
Dela 1 COMPOSER, NAME, BIRTH_YEARThe result will be the following. The empty lines at the end of the arrays are not listed:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BACH | Johann Sebastian | 1685 |
| 2 | MOZART | Wolfgang Amadeus | 1756 |
| 3 | BEETHOVEN | Ludwig | 1770 |
| 4 | SCHUBERT | Frantz | 1797 |
| 5 | WAGNER | Richard | 1813 |
| 6 | STRAUSS | Richard | 1864 |
| 7 | SCHOENBERG | Arnold | 1874 |
| 8 | BERG | Alban | 1885 |
| 9 | STOCKHAUSEN | Karlheintz | 1928 |
Let's now execute the following instruction on the previous result:
Dela 2,3 COMPOSER, NAME, BIRTH_YEARThe result will become:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BACH | Johann Sebastian | 1685 |
| 2 | WAGNER | Richard | 1813 |
| 3 | STRAUSS | Richard | 1864 |
| 4 | SCHOENBERG | Arnold | 1874 |
| 5 | BERG | Alban | 1885 |
| 6 | STOCKHAUSEN | Karlheintz | 1928 |
Let's now execute the following instruction on the previous result:
Dela 3,2,5 COMPOSER, NAME, BIRTH_YEARThe result will become:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BACH | Johann Sebastian | 1685 |
| 2 | WAGNER | Richard | 1813 |
| 3 | BERG | Alban | 1885 |
| 4 | 0 | ||
| 5 | 0 | ||
| 6 | STOCKHAUSEN | Karlheintz | 1928 |
Let's now execute the following instruction on the previous result:
Dela 6,1 COMPOSER, NAME, BIRTH_YEARThe result will become:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BACH | Johann Sebastian | 1685 |
| 2 | WAGNER | Richard | 1813 |
| 3 | BERG | Alban | 1885 |
Description and comments
Dela is used to delete elements (by default 1) from a set of single-sized arrays.
In every table, the elements are shifted from the end of the table (this is the default value for LIMIT) by a number of positions equal to NUMBER. The last NUMBER elements in the table are set to null values (0 for numeric values, null date for dates, and empty character strings for strings).
When LIMIT has a value that is smaller than the lowest limit of the arrays, elements from the START position to the LIMIT (inclusively) are shifted, the array elements after LIMITS are not shifted, and the NUMBER elements from position LIMIT-NUMBER+1 to LIMIT are then set to null values.
Associated errors
| 8 | At least one of the indexes is outside the limits of one of the arrays. |
| 10 | START, NUMBER, or LIMIT are not numeric values. |
| 50 | NUMBER is less or equal to 0. |
| 55 | At least one of the arrays is not single sized. |