[AT] START [OF] DATA [(r)]
|
| statement
|
END-START |
[AT] START [OF] DATA [(r)]
|
||
|
|
statement |
|
DO
statementDOEND |
||
This document covers the following topics:
For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.
Related Statements: ACCEPT/REJECT |
AT BREAK | AT END OF DATA | BACKOUT TRANSACTION | BEFORE
BREAK PROCESSING | DELETE | END
TRANSACTION | FIND |
GET | GET SAME | GET TRANSACTION
DATA | HISTOGRAM
| LIMIT | PASSW | PERFORM BREAK
PROCESSING | READ |
RETRY | STORE | UPDATE
Belongs to Function Group: Database Access and Update
The statement AT START OF DATA is used to perform processing immediately
after the first of a set of records is read for a processing loop that has been initiated
by one of the following statements: READ, FIND,
HISTOGRAM, SORT or READ
WORK FILE.
See also AT START/END OF DATA Statements in the Programming Guide.
If the loop-initiating statement contains a WHERE clause, the
at-start-of-data condition will be true when the first record is read which meets both
the basic search and the WHERE criteria.
This statement is non-procedural, that is, its execution depends on an event, not on where in a program it is located.
All database fields contain the values of the record which caused the at-start-of-data condition to be true (that is, the first record of the set of records to be processed).
This statement must be positioned within a processing loop, and it may be used only once per processing loop.
| Syntax Element | Description |
|---|---|
(r) |
Reference to a Specific Processing Loop: An
AT START OF DATA statement may be related to a specific outer
active processing loop by using the notation (r).
If this notation is not used, the statement is related to the outermost active
processing loop.
|
statement ... |
Statement(s) to be Executed at Start of Data Condition:
In structured mode, you must supply one or several suitable statements, depending on the situation. For an example of a statement, see Example below. |
END-START |
End of AT START OF DATA Statement:
In structured mode, the Natural reserved word In reporting mode, use the |
** Example 'ASDEX1S': AT START OF DATA (structured mode)
***********************************************************************
DEFINE DATA LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 NAME
2 FIRST-NAME
2 CITY
*
1 #CNTL (A1) INIT <' '>
1 #CITY (A20) INIT <' '>
END-DEFINE
*
REPEAT
INPUT 'ENTER VALUE FOR CITY' #CITY
IF #CITY = ' ' OR = 'END'
STOP
END-IF
FIND EMPLOY-VIEW WITH CITY = #CITY
IF NO RECORDS FOUND
WRITE NOTITLE NOHDR 'NO RECORDS FOUND'
ESCAPE BOTTOM
END-NOREC
/*
AT START OF DATA
INPUT (AD=O) 'RECORDS FOUND' *NUMBER //
'ENTER ''D'' TO DISPLAY RECORDS' #CNTL (AD=A)
IF #CNTL NE 'D'
ESCAPE BOTTOM
END-IF
END-START
/*
DISPLAY NAME FIRST-NAME
END-FIND
END-REPEAT
END
ENTER VALUE FOR CITY PARIS
After entering and confirming name of city:
RECORDS FOUND 26 ENTER 'D' TO DISPLAY RECORDS D
Records displayed:
NAME FIRST-NAME
-------------------- --------------------
MAIZIERE ELISABETH
MARX JEAN-MARIE
REIGNARD JACQUELINE
RENAUD MICHEL
REMOUE GERMAINE
LAVENDA SALOMON
BROUSSE GUY
GIORDA LOUIS
SIECA FRANCOIS
CENSIER BERNARD
DUC JEAN-PAUL
CAHN RAYMOND
MAZUY ROBERT
FAURIE HENRI
VALLY ALAIN
BRETON JEAN-MARIE
GIGLEUX JACQUES
KORAB-BRZOZOWSKI BOGDAN
XOLIN CHRISTIAN
LEGRIS ROGER
VVVV
Equivalent reporting-mode example: ASDEX1R.