SAP ABAP Syntax for Describe part two

This is in continuation with sap abap syntax for describe part one.

Addition 2

... TYPE typ

Effect

Returns the data type of f in the field typ

Example

 DATA: FLD(8) TYPE N,
      F_TYPE.
DESCRIBE FIELD FLD TYPE F_TYPE.
 
Result:  F_TYPE  contains the value  'N' .
 Note
   Along with the elementary data types you can specify under  DATA  (C, N, etc.), several other data types are created either
with reference to Dictionary fields or during generation. These data types, which are also returned by  DESCRIBE , have the following
type IDs:h Internal table s 2-byte integer with leading sign b 1-byte integer without leading sign u Structure without internal table v Structure containing at least one internal table
For compatibility reasons, ... TYPE typ returns C rather than u or v with structures.

Addition 3

... TYPE typ COMPONENTS n
Effect

Similar to ... TYPE typ except that, with structures in typ , u or v are returned and in the number of structure components is set in n . If f is not a structure, n is set to 0.

Example

Recursive processing of the pages of an ABAP/4 data structure:
FORM TEST USING F.
  DATA: TYP(1) TYPE C, N TYPE I.
  FIELD-SYMBOLS: .
  DO.
    ASSIGN COMPONENT SY-INDEX OF STRUCTURE F TO .
    IF SY-SUBRC <> 0. EXIT. ENDIF.
    DESCRIBE FIELD  TYPE TYP COMPONENTS N.
    IF N > 0. " Equivalent is TYP = 'u' OR TYP = 'v'
      PERFORM TEST USING .
    ELSE.
      PERFORM DO_SOMETHING USING .
    ENDIF.
  ENDDO.
ENDFORM.
 
RELATED POST

SAP ABAP SYNTAX FOR DESCRIBE PART ONE

ERP basis and sap netweaver overview
MYSAP ERP advantages and main features

SAP ABAP Syntax for Describe part one

DESCRIBE - determine distance between two fields

Basic form

DESCRIBE DISTANCE BETWEEN f1 AND f2 INTO f3.

Effect

Determines the distance between the fields f1 and f2 and places the result (in bytes) in f3 .

Example

Determine the distance between two components of the demo table SBOOK in the flight reservation system:
 TABLES SBOOK.
DATA DIST TYPE I.
DESCRIBE DISTANCE BETWEEN SBOOK-CARRID
                  AND     SBOOK-BOOKID
                  INTO    DIST.
Result: DIST contains the value 15 because exactly two fields, SFLIGHT-CONNID (4 bytes) and SBOOK-FLDATE (8 bytes), lie between the SBOOK components CARRID and BOOKID ; also, SBOOK-CARRID is itself 3 bytes long. The sum of these values gives the distance between the two components in bytes.

DESCRIBE - Supply attributes of a field

Basic form

DESCRIBE FIELD f.

Effect

Supplies the attributes of the field f . You must specify at least one of the additions:

Additions

1. ... LENGTH len
2. ... TYPE typ
3. ... TYPE typ COMPONENTS n
4. ... OUTPUT-LENGTH len
5. ... DECIMALS n
6. ... EDIT MASK mask

Addition 1

... LENGTH len

Effect

Returns the length of the field f in the field
len .

Example

SAP ABAP Syntax for Delete Program

Basic form

DELETE REPORT prog.

Effect

Deletes some components (source code, attributes, text elements and generated version) of the program specified in the field prog .

The return code value is set as follows:


SY-SUBRC = 0 The program was deleted.
SY_SUBRC = 4 The program does not exist.

Note

This statement deletes neither the variants nor the documentation.
Normally, you should use the function module RS_DELETE_PROGRAM to delete a program.


DELETE - delete text elements

Basic form

DELETE TEXTPOOL prog LANGUAGE lg.

Effect

Deletes all text elements of the program specified in the field prog for the language specified in the field lg from the library.

If you use the value '*' for lg , the text elements of all languages are deleted.

Example

Delete all text elements of the program PROGNAME in the language "English":

SAP ABAP Syntax For Delete From Internal Table Part Two

This is in continuation with DELETE DATA FROM INTERNAL TABLE PART ONE.

Variant 4

DELETE itab WHERE condition.

Additions

1. ... FROM idx1
2. ... TO idx2

Effect

Deletes all entries from internal table itab , which satisfies the condition condition .
The return code value is set as follows:

SY-SUBRC = 0 At least one entry was deleted.
SY_SUBRC = 4 None of the entries were deleted.

Addition 1

... FROM idx1

Effect

The line area to be investigated is restricted to the lines up to index idx1 . If the addition FROM idx1 is missing, a search is carried out from the beginning of the table.
The addition FROM must come before the WHERE condition.

Addition 2

... TO idx2

Effect

Restricts the line area to be investigated to the lines up to index idx2 . If the addition TO idx2 is missing, a search is carried out until the end of the table.
The addition TO must come before the WHERE condition.

Example

Delete all lines in a name table between lines 5 and 36, if the entry begins with one of the letters 'A' to 'C' :
DATA: BEGIN OF NAMETAB OCCURS 100,
        NAME(30) TYPE C,       END OF NAMETAB.
...
DELETE NAMETAB FROM 5 TO 36 WHERE NAME CA 'ABC'.

Variant 5

DELETE ADJACENT DUPLICATES FROM itab.

Additions

1. ... COMPARING f1 f2 ...
2. ... COMPARING ALL FIELDS

Effect

Deletes neighboring, duplicate entries from the internal table itab . If there are n duplicate entries, the first entry is retained and the other n - 1 entries are deleted.

Two lines are considered to be duplicated if their default keys match.

The return code value is set as follows:


SY-SUBRC = 0 At least one duplicate exists, at least one entry deleted.
SY_SUBRC = 4 No duplicates exist, no entry deleted.

Addition 1

... COMPARING f1 f2 ...

Effect

Two lines of the internal table itab are considered to be duplicates if the specified fields f1 , f2 , .... match.

Addition 2

... COMPARING ALL FIELDS

Effect

Two lines are considered to be duplicates if all fields of the table entries match.

Notes

The DELETE ADJACENT DUPLICATES statement is especially useful if the internal table itab is sorted by fields (whether in ascending or descending order) which were compared during duplicate determination. In this case, the deletion of neighbouring duplicates is the same as the deletion of all duplicates.
If a comparison criterion is only known at runtime, it can be specified dynamically as the content of a field name by using COMPARING ... (name) ... . If name is blank at runtime, the comparison criterion is ignored. If name contains an invalid component name, a runtime error occurs.
Comparison criteria - statistically or dynamically specified - can be further restriced by specifying the offset and/or length.

Note

Performance

Deleting a line from an internal table incurs index maintenance costs which depend on the index of the line to be deleted. The runtime depends on the line width of the table.

For example, deleting a line in the middle of an internal table with 200 entries requires about 10 msn (standardized microseconds).

Deleting a range of entries with " DELETE itab FROM idx1 TO idx2. " deleting a set of entries with " DELETE itab WHERE ... " only incur index maintenance costs once. Compared with a LOOP , which deletes line-by-line, this is much faster.
To delete neighboring, duplicate entries from an internal table, use the variant " DELETE ADJACENT DUPLICATES FROM itab. " instead of LOOP constructions.


RELATED POST

SAP ABAP SYNTAX FOR DELETE DATA FROM INTERNAL TABLE PART ONE

What is SAP and Why do we are in need of It
What is SAP Full form and its definition part one

SAP ABAP SYNTAX FOR DELETE FROM INTERNAL TABLE

Variants

1. DELETE itab.
2. DELETE itab INDEX idx.
3. DELETE itab FROM idx1 TO idx2.
4. DELETE itab WHERE condition.
5. DELETE ADJACENT DUPLICATES FROM itab.

Effect

Deletes one or more lines from an internal table.

Note

The deletion of lines within a LOOP ... ENDLOOP loop is performed in a sequence of loop passes.

Variant 1

DELETE itab.

Effect

The current entry of the internal table itab is
deleted in a loop.
Return code value
The is set to 0.

Note

After deleting the current entry in an internal table in a LOOP loop, the effect of further update operations on the current entry without an INDEX specification is not guaranteed and may changed in later Releases.

Variant 2

DELETE itab INDEX idx.

Effect

Deletes the idx entry from the internal table itab .

The return code value is set as follows:


SY-SUBRC = 0 The entry was deleted.
SY_SUBRC = 4 The entry does not exist.

Variant 3

DELETE itab FROM idx1 TO idx2.

Effect

Deletes the line area from index idx1 to idx2 from internal table itab . At least one of the two parameters FROM idx1 or TO idx2 should be specified. If parameter FROM is missing, the area from the start of the table to line idx2 is deleted. If parameter TO is missing, the area from line idx1 to the end of the table is deleted. Start index idx1 must be greater than 0.

The return code value is set as follows:


SY-SUBRC = 0 At least one entry was deleted.
SY_SUBRC = 4 None of the entries were deleted.

RELATED POST

SAP ABAP SYNTAX FOR DELETE PART THREE

MySAP technology RFC,BAPI,ALE and IDOC overview
MySAP new generation technologies overview
SAP cost,definition,authorization and architecture

SAP ABAP SYNTAX FOR DELETE PART THREE

Variant 4

DELETE dbtab VERSION vers.
DELETE *dbtab VERSION vers.

Note

This variant is obsolete, since variants 1 - 3 allow you to specify the database table name dynamically.

Effect

Deletes a line in a database table, the name of which is taken from the field vers at run time. The database table must be known to the ABAP/4 Dictionary and its name must conform to the following naming convention: It must begin with 'T' and can consist of four additional characters. The field vers must contain the table name without a leading 'T'. Only lines in the current client are deleted. The line to be deleted is taken from the statically specified table work area dbtab or *dbtab .

The return code value is set as follows:

SY-SUBRC = 0 The line was deleted.
SY_SUBRC = 4 No lines could be deleted because no line existed with the specified primary key.

DELETE DYNEPRO - delete a screen

Basic form

DELETE DYNPRO f.

Effect

Deletes the screen specified in the field f .

The return code value is set as follows:
SY-SUBRC = 0 The screen was deleted.
SY_SUBRC = 4 The screen does not exist.
The contents of f consist of the 8-character program name and the 4-character screen number.

Example

DELETE DYNPRO 'SAPTESTX0100'.

DELETE - delete a data cluster 

Basic form

DELETE FROM DATABASE dbtab(ar) ID key.

Addition

... CLIENT f

Effect

Deletes the data cluster stored in the table dbtab under the area ar (constant) and the ID key (field or literal) .

Example

 TABLES INDX.
DATA: BEGIN OF TAB OCCURS 1,
        CONT(30),
      END   OF TAB.
DATA: FLD(30) TYPE C.
...
EXPORT TAB FLD TO DATABASE INDX(AR) ID 'TEST'.

You can delete this data cluster with the following statement:
 DELETE FROM DATABASE INDX(AR) ID 'TEST'.
Addition  1
... CLIENT f

Effect

Deletes the data cluster in the client specified in the table f (only with client-specific import/export databases).

Example

SAP ABAP SYNTAX FOR DELETE PART TWO

Variant 2

DELETE dbtab.
DELETE *dbtab.
DELETE (dbtabname) ...

Additions

1. ... FROM wa
2. ... CLIENT SPECIFIED

Effect

These are SAP-specific short forms used to delete a single line of a database table. If the name of the database table is specified in the program, the primary key of the line to be deleted is taken from the specified work area - dbtab or *dbtab . If the name of the database table is not determined until runtime ( DELETE (dbtabname) ... ), the addition ... FROM wa is obligatory .

When the statement has been executed, the system field SY-DBCNT contains the number of deleted lines (0 or 1).

The return code value is set as follows:


SY-SUBRC = 0 The line was deleted.
SY_SUBRC = 4 No lines could be deleted, since no line exists with the primary key specified.

Example

Delete the booking with the booking number 3 for the Lufthansa flight 0400 on 28.02.1995 (in the current client):
 
TABLES SBOOK.
SBOOK-CARRID = 'LH'.
SBOOK-CONNID = '0400'.
SBOOK-FLDATE = '19950228'.
SBOOK-BOOKID = '00000003'.
 DELETE  SBOOK.

Addition 1

... FROM wa

Effect

Takes the primary key for the line to be deleted not from the table work area dbtab , but from the explicitly specified work area wa . Here, the key values from left to right are taken from wa according to the structure of the primary key in the table work area dbtab . The structure of wa is not taken into account. Therefore, the work area wa must be at least as wide as the primary key in the table work area dbtab and the alignment of the work area wa must correspond to the alignment of the primary key in the table work area. Otherwise, you get a runtime error.

Note

If a work area is not explicitly specified, the values for the line to be deleted are taken from the table work area dbtab , even if the statement appears in a subroutine or Funktionsbaustein where the table work area is stored in a formal parameter or a local variable of the same name.

Addition 2

... CLIENT SPECIFIED

Effect

As with variant 1. 


RELATED POST

SAP ABAP SYNTAX FOR DELETE PART ONE
SAP Authorization and ALE
Authorization and implementation of SAP
Mysap market place introduction

SAP ABAP SYNTAX FOR delete from data base table

Variants

1. DELETE FROM dbtab WHERE condition.
DELETE FROM (dbtabname) WHERE condition.
2. DELETE dbtab.
DELETE *dbtab.
DELETE (dbtabname) ...
3. DELETE dbtab FROM TABLE itab.
DELETE (dbtabname) FROM TABLE itab.
4. DELETE dbtab VERSION vers.
DELETE *dbtab VERSION vers.

Effect

Deletes lines in a database table . You can specify the name of the database table either in the program itself with DELETE FROM dbtab ... or at runtime as the contents of the field dbtabname with DELETE FROM (dbtabname) ... . In both cases, the database table must be known in the ABAP/4 Dictionary. If you specify the name in the program, there must also be an appropriate TABLES statement. Only data from the current client is usually deleted. You can delete data using a view only if the view refers to a single table and was created in the ABAP/4 Dictionary with the maintenance status "No restriction".

DELETE belongs to the Open SQL command set.

Note

The DELETE statement does not perform authorization checks : You must program these yourself.

Variant 1

DELETE FROM dbtab WHERE condition.
DELETE FROM (dbtabname) WHERE condition.

Addition

... CLIENT SPECIFIED

Effect

Deletes lines in a database table that satisfy the WHERE clause condition . With this variant, specification of a WHERE condition is obligatory .

When the statement has been executed, the system field SY-DBCNT contains the number of deleted lines.

The return code value is set as follows:


SY-SUBRC = 0 At least one line was deleted.
SY_SUBRC = 4 No lines were deleted, since no line was selected.

Example

Delete all bookings for the Lufthansa flight 0400 on 28.02.1995 (in the current client):
 TABLES SBOOK.
DELETE FROM SBOOK WHERE CARRID = 'LH'       AND
                        CONNID = '0400'     AND
                        FLDATE = '19950228'.

Note

To delete all the lines in a table, you must specify a WHERE condition that is true for all lines. You can achieve this with
 
 ... WHERE f IN itab
 
If the internal table itab is empty, such a condition would select all lines.

Addition

... CLIENT SPECIFIED

Effect

Switches off automatic client handling. This allows you to delete data across all clients in the case of client-specific tables. The client field is then treated like a normal table field, for which you can formulate suitable conditions in the WHERE clause.

You must specify the addition CLIENT SPECIFIED immediately after the name of the database table.

RELATED POST

SAP ABAP SYNTAX FOR DELETE

DELETE


- DELETE FROM dbtab WHERE condition.
- DELETE FROM (dbtabname) WHERE condition.
- DELETE dbtab.
- DELETE *dbtab.
- DELETE (dbtabname) ... .
- DELETE dbtab FROM TABLE itab.
- DELETE (dbtabname) FROM TABLE itab.
- DELETE dbtab VERSION vers.
- DELETE *dbtab VERSION vers.


- DELETE itab.
- DELETE itab INDEX idx.
- DELETE itab FROM idx1 TO idx2.
- DELETE itab WHERE condition.
- DELETE ADJACENT DUPLICATES FROM itab.


- DELETE REPORT prog.


- DELETE TEXTPOOL prog LANGUAGE lg.


- DELETE FROM DATABASE dbtab(ar) ...ID key.


- DELETE DATASET dsn.

- DELETE DYNPRO f.

DELETE - delete a file

Basic form

DELETE DATASET dsn.

Effect

Deletes the file specified in the field dsn .

The return code value is set as follows:


SY-SUBRC = 0 File deleted.

SY_SUBRC = 4 File does not exist or could not be deleted.

Possible reasons:

1) The file does not exist.

2) The file is a directory.

3) The R/3 System has no search authorization for a component of the file name.

4) The R/3 System has no search authorization
for the directory which contains the file.

5) A component of the search path is not a directory.

6) The file is a symbolic link which cannot be resolved (endless loop ?).

7) The file is a program which is currently running.



RELATED POST

SAP ABAP SYNTAX FOR DEFINE
Customer interface in mysap market place
MySAP environment security solutions
SAP security authentication and authorization

SAP ABAP SYNTAX FOR DEFINE

Basic form

DEFINE macro.

Effect

Defines a program component (macro) under the name macro . It must consist only of ABAP/4 statements and is expanded at compilation time.A macro should always be concluded with the END-OF-DEFINITION statement.

In the definition, you can use &n to reference positional parameters (n = 0 .. 9). When the macro is called, &n is replaced by the n-th actual parameter.

Example

Define a macro called "++" for use in the program.
 
DEFINE ++.
ADD 1 TO &1.
END-OF-DEFINITION.
DATA: NUMBER TYPE I VALUE 1....++ NUMBER.

Notes

  • In general, it is better to use subroutines ( FORM , FUNCTION ) rather than macros because subroutines - unlike macros - are supported by all the ABAP/4 Development Workbench tools (including debugging, runtime analysis, runtime error handling, ...).
  • You cannot nest macro definitions.

SAP ABAP SYNTAX FOR DATA PART SIX

This is in continuation with SAP ABAP SYNTAX for data part five.

Variant 4

DATA: BEGIN OF itab OCCURS n,
...
END OF itab.

Additions


... VALID BETWEEN f1 AND f2

Effect

Defines the internal table itab .

An internal table includes a header line, which is a field string containing the fields defined between " BEGIN OF itab OCCURS n " and " END OF itab " (see variant 3), and any number of table lines with the same structure as the header line.

To fill and edit an internal table, you use various statements such as APPEND , LOOP and SORT .

The OCCURS parameter n determines how many table lines are held in main storage (the roll area). If you also generate table entries, these are rolled out either to a main storage buffer or to disk (the paging area).

Example

 
DATA: BEGIN OF PERSONS OCCURS 20,
        NAME(20),
        AGE TYPE I,
      END   OF PERSONS.
PERSONS-NAME = 'Michael'.
PERSONS-AGE  = 25.
APPEND PERSONS.
PERSONS-NAME = 'Gabriela'.
PERSONS-AGE  = 22.
APPEND PERSONS.

The internal table now consists of two table entries.

PERSONS also includes the header line (work area) through which all operations on the actual table pass.

Note

Access to table entries not in main storage is considerably slower. Also, main storage cannot hold large tables in their entirety, since the size of the roll area is restricted (see above).

Addition

... VALID BETWEEN f1 AND f2

Effect

Can appear only after " END OF itab ".

The sub-fields f1 and f2 of the internal table itab must have the line-related validity range .

Variant 5

DATA: BEGIN OF COMMON PART c,
.....
END OF COMMON PART.

Effect

Defines one or more common data areas in programs linked by external PERFORM calls. If only one common data area exists, you can omit the name c . There may be just one unnamed COMMON area or one or more named COMMON areas. You assign named COMMON areas to each other by name. The structure of data areas must always be the same for both the calling and the called program (otherwise, the program terminates with an error message at runtime).
  • The table work areas are always in the common data area.
  • In general, you define the area created as COMMON with a common INCLUDE STRUCTURE . Occasionally, you use a INCLUDE report which contains precisely the definition of the COMMON PART .
  • Field symbols cannot belong to a common data area, even if the FIELD-SYMBOLS statement lies between DATA BEGIN OF COMMON PART and DATA END OF COMMON PART .
RELATED POST

SAP ABAP SYNTAX FOR DATA PART FIVE

Continued from syntax for data part four.

Variant 2

DATA f(len).

Additions


As for variant 1

Effect

Creates the field f in the length len .

You can use this variant only for fields of type C , N , P and X . Any other field types must have their standard lengths (see table under effect of variant 1).

The lengths allowed depend on the field type:

Type
Allowed lengths


C
1 - 65535
N
1 - 65535
P
1 - 16
X
1 - 65535

Note

Each byte can contain (one character or) two decimal or hexadecimal digits. Since one place in type P fields is reserved for the sign, a type P field of length 3 can contain 5 digits, whereas a type X field of length 3 can hold 6 digits. Both have an output length of 6.

Variant 3

DATA: BEGIN OF rec,
...
END OF rec.

Effect

Defines the field string rec which groups together all the fields defined for the field string rec between " BEGIN OF REC " and " END OF rec ". Each field carries the prefix " rec- ". Field strings can be nested to any depth. See Data objects .
When a field string needs the same fields as an already defined field string in addition to its own fields, you can include these fields in the field string with INCLUDE STRECTURE . If no additional fields are needed, it is better to use LIKE .

Example

DATA: BEGIN OF PERSON,
        NAME(20) VALUE 'May',
        AGE TYPE I,
      END   OF PERSON.
PERSON-AGE  = 35.
 
The field PERSON-NAME now contains the contents "May".
 DATA: BEGIN OF PERSON1,
        FIRSTNAME(20) VALUE 'Michael'.
        INCLUDE STRUCTURE PERSON.
DATA  END   OF PERSON1.

Notes

  • If you list a field string as a field, this field (" rec ") is type C , but you should not use a field string like a field, if the field string contains number fields (i.e. type I , F or F ). The length of rec is derived from the sum of the lengths of all components of rec . However, since some fields (for example, to the limit of a word), they include padding fields that also contribute to the overall length of rec ; for this reason, you cannot use the lengths of fields that occur before a particular field string component to calculate its offset to the start of the field string.
  • On the other hand, you can guarantee that two fields with the same structure always have the same structure (even where padding fields are concerned). This means that you can compare and assign fields directly below each other (with MOVE , IF , etc.) and do not have to work field by field (e.g. with MOVE-CORRESPONDING ).
    INCLUDE s are aligned according to maxumum alignment of their components. This applies both to INCLUDE s in ABAP/4 programs and also INCLUDE s in Dictionary structures.
  • The TABLES statement automatically defines a field string (the work area. Even the header line belonging to an internal table (see below) is a field string.

RELATED POST

SAP ABAP SYNTAX FOR DATA PART FOUR

This is the continuation of Syntax for data part three .

Addition 7

... VALUE lit

Effect

The initial value of the field f is the literal lit instead of that defined in the table above. You can also specify a constant or even use IS INITIAL . In the latter case, the field is preset to the type-specific initial value. This form is particularly important in connection with the CONSTANTS statement which always requires you to use the addition VALUES .

Example

 
DATA NUMBER      TYPE I        VALUE 123,
     FLAG                      VALUE 'X',
     TABLE_INDEX LIKE SY-TABIX VALUE 45.
When created, the field NUMBER of type I contains 123 rather than the expected initial value of 0. The newly created field FLAG of type C (length 1) contains 'X' , while TABLE_INDEX contains 45, since the system field SY-TABIX is a numeric field.

Addition 8

... DECIMALS n

Effect

Only makes sense with field type P . When you perform calculations and on output, the field has n decimal decimal places, where n is a number between 0 and 14.

In the case of newly generated programs, you normally activate fixed point arithmetic in the attributes. If it is not set, the DECIMALS specification is taken into account on output, but not when performing calculations. This means that the programmer must take care of any decimal point calculations by multiplying or dividing by powers of ten.
Fixed point arithmetic should always be active when you are performing calculations, since this enables intermediate results (for division) to be calculated as accurately as possible (in this case, to 31 decimal places).
To decide whether you should use the fixed point type P or the floating point type F , see "ABAP/4 number types ".

Addition 9

... WITH HEADER LINE

Effect

You can only use this addition with table types. When you specify WITH HEADER LINE , you create a header line with the same name type as a table line in addition to the table.

With non-table operations , the name f refers to this header line. With table operations (e.g. APPEND ,
the name f refers to the table or the table and header line. The notation f[] always denotes the table. The result of this expression is a table without a header line and can be used as such.

Example

 
DATA:  BEGIN OF PERSON_TYPE,
         NAME(20),
         AGE TYPE I,
       END OF PERSON_TYPE.
DATA:  PERSONS LIKE PERSON_TYPE OCCURS 20 WITH HEADER LINE.
 
PERSON-NAME = 'Michael'.
PERSON-AGE  = 25.
APPEND PERSONS.
PERSON-NAME = 'Gabriela'
PERSON-AGE  = 22.
APPEND PERSONS.
* Delete header line
CLEAR PERSONS.
* Delete table
CLEAR PERSONS[].