INDEXED BY Clause�������������������������������������������������������������������������������������������������������������������������������������������� 304
Using SET to Manipulate the Table Index ����������������������������������������������������������������������������������������������������������� 304
The SEARCH Verb ����������������������������������������������������������������������������������������������������������������������305
SEARCH Examples ��������������������������������������������������������������������������������������������������������������������������������������������� 306
Searching Multidimensional Tables ������������������������������������������������������������������������������������������������������������������� 311
Searching the First Dimension of a Two-Dimensional Table ������������������������������������������������������������������������������ 313
The SEARCH ALL Verb ����������������������������������������������������������������������������������������������������������������314
KEY IS Clause ����������������������������������������������������������������������������������������������������������������������������������������������������� 314
How a Binary Search Works ������������������������������������������������������������������������������������������������������������������������������ 315
SEARCH ALL ������������������������������������������������������������������������������������������������������������������������������������������������������� 317
Variable-Length Tables ��������������������������������������������������������������������������������������������������������������319
Summary �����������������������������������������������������������������������������������������������������������������������������������322
Chapter 14: Sorting and Mer
■
ging ����������������������������������������������������������������������������������327
SORTING ������������������������������������������������������������������������������������������������������������������������������������327
Simple Sorting ��������������������������������������������������������������������������������������������������������������������������������������������������� 327
Using Multiple Keys ������������������������������������������������������������������������������������������������������������������������������������������� 332
SORT with Procedures ��������������������������������������������������������������������������������������������������������������������������������������� 333
How an INPUT PROCEDURE Works ��������������������������������������������������������������������������������������������������������������������� 335
OUTPUT PROCEDURE ����������������������������������������������������������������������������������������������������������������������������������������� 343
How the OUTPUT PROCEDURE Works ���������������������������������������������������������������������������������������������������������������� 343
Some Interesting Programs ������������������������������������������������������������������������������������������������������������������������������� 346
Sorting Tables: ISO 2002 Changes ������������������������������������
���������������������������������������������������������������������������������� 351
Merging Files �����������������������������������������������������������������������������������������������������������������������������352
MERGE Verb ������������������������������������������������������������������������������������������������������������������������������������������������������� 353
MERGE Notes ����������������������������������������������������������������������������������������������������������������������������������������������������� 353
Merging Province Sales Files ���������������������������������������������������������������������������������������������������������������������������� 354
Summary �����������������������������������������������������������������������������������������������������������������������������������356
xvi
■ Contents
Chapter 15: String Manipulation
■
�����������������������������������������������������������������������������������361
The INSPECT Verb ����������������������������������������������������������������������������������������������������������������������361
INSPECT �� TALLYING: Format 1 ��������������������������������������������������������������������������������������������������������������������������� 363
INSPECT �� REPLACING: Format 2 ������������������������������������������������������������������������������������������������������������������������ 365
INSPECT: Format 3 ��������������������������������������������������������������������������������������������������������������������������������������������� 367
INSPECT �� CONVERTING: Format 4 ��������������������������������������������������������������������������������������������������������������������� 368
String Concatenation �����������������������������������������������������������������������������������������������������������������370
The STRING Verb ������������������������������������������������������������������������������������������������������������������������������������������������ 371
String Concatenation Example �������������������������������������������������������������������������������������������������������������������������� 372
String Splitting ��������������������������������������������������������������������������������������������������������������������������373
The UNSTRING Verb ������������������������������������������������������������������������������������������������������������������������������������������� 374
String-Splitting Program ������������������������������������������������������������������������������������������������������������������������������������ 379
Reference Modification �������������������������������������������������������������������������������������������������������������380
Intrinsic Functions ���������������������������������������������������������������������������������������������������������������������383
Using Intrinsic Functions ����������������������������������������������������������������������������������������������������������������������������������� 383
String Functions ����������������������������������������������������������
���������������������������������������������������������������������������������������� 384
DATE Functions �������������������������������������������������������������������������������������������������������������������������������������������������� 389
Summary �����������������������������������������������������������������������������������������������������������������������������������393
■Chapter 16: Cr
eating Large Systems �����������������������������������������������������������������������������399
Subprograms and the COPY Verb ����������������������������������������������������������������������������������������������399
The CALL Verb ���������������������������������������������������������������������������������������������������������������������������400
Michael Coughlan Page 75