1. SORT
SORT statement는 한 개 이상의 파일로부터 레코드를 받아서 기술된 KEY에 따라서 정렬한다.
다음은 statement의 각 설정 항목에 대한 설명이다.
-
file-name-1
-
정렬될 레코드가 포함된 file name으로 SD entry에 기술되어 있는 이름이다.
-
-
identifier-1
-
정렬될 레코드가 포함된 data description으로 GROUP 타입이며 하위에 정렬할 데이터를 포함하고 있어야 한다.
-
-
ASCENDING KEY and DESCENDING KEY phrases
-
sort key가 오름차순인지 내림차순인지를 지정한다.
항목 설명 data-name-1
SORT statement에서 사용될 KEY 데이터 항목을 기술한다.
data-name-1은 file-name-1에 대한 레코드에 포함된 데이터 항목이어야 한다. data item이 기술된 순서에 따라 좌측부터 중요도가 높은 키가 된다. 즉 처음 기술된 데이터 항목이 가장 중요한 키가 되고, 그 다음 나오는 데이터 항목이 그 다음 중요한 키가 된다.
-
KEY 데이터 항목은 각 입력 파일에 대해서 물리적으로 같은 위치에 있어야 하고, data format도 같아야 한다. data-name이 같을 필요는 없다.
-
file-name-1이 하나 이상의 레코드가 기술되어 있다면, KEY 데이터 항목은 그중 하나의 레코드에 기술될 필요가 있다.
-
KEY 데이터 항목은 OCCURS clause를 포함할 수 없고, OCCURS를 포함한 item에 종속될 수 없다.
-
KEY 데이터 항목은 qualified 될 수 있다. KEY 데이터 항목은 다음 데이터 범주중 하나가 된다.
-
Alphabetic, alphanumeric, alphanumeric-edited
-
Numeric
-
Numeric-edited (with usage DISPLAY)
-
Internal floating-point or display floating-point
-
file-name-3가 색인 파일(indexed file)을 참조한다면 , data-name-1은 ASCENDING phrase로 기술되어야 하고, data-item은 색인 파일의 major record key와 동일한 위치를 지정해야 한다.
-
-
-
DUPLICATES phrase
-
DUPLICATES phrase가 기술되지 않는다면 동일한 key를 가진 레코드들의 순서는 예측할 수 없다.
-
이 phrase가 지정되면 key가 같은 레코드들에 대해서 정렬된 이후 레코드 순서는 다음과 같다.
-
입력파일의 레코드 순서와 동일한 순서
-
INPUT PROCEDURE가 있을 때는, RELEASE statement에 사용된 레코드 순서
-
-
-
COLLATING SEQUENCE phrase
-
문법 검사만 이루어진다.
-
-
USING phrase
-
입력파일들을 기술한다.
항목 설명 file-name-2,...
입력 파일들을 정의한다. USING phrase가 사용되면 입력 파일들(file-name-2,...,)의 모든 레코드들이 자동적으로 file-name-1으로 전송된다. 모든 입력 파일들은 data division의 FD entries에 기술되어 있어야 한다.
-
-
INPUT PROCEDURE phrase
-
INPUT PROCEDURE에는 RELEASE statement이 있어, 한번에 하나의 레코드를 file-name-1이 참조하는 파일로 전송한다.
-
이외에 다양한 구문(OPEN, READ, CLOSE, ...)을 사용함으로써 입력 레코드를 선택, 복사, 수정할 수 있다. 정렬 작업을 수행하기 전에 입력 레코드를 선택하고 수정하는 procedure 이름을 기술한다.
항목 설명 procedure-name-1
INPUT PROCEDURE의 첫 번째(또는 유일한) section이나 paragraph를 기술한다.
procedure-name-2
INPUT PROCEDURE의 마지막 section이나 paragraph를 기술한다.
-
-
GIVING phrase
-
출력 파일들을 기술한다.
항목 설명 file-name-3,...
출력 파일을 정의한다. GIVING phrase가 기술되면 모든 정렬된 레코드들은 자동적으로 출력 파일로 전송된다. 모든 출력 파일들은 data division의 FD entries에 기술되어 있어야 한다.
-
-
OUTPUT PROCEDURE phrase
-
OUTPUT PROCEDURE에는 RETURN statement이 있어, 한 번에 하나의 레코드를 file-name-1이 참조하는 파일로부터 전송받는다. 이외에 다양한 구문(OPEN, WRITE, CLOSE, ...)을 사용함으로써 출력 레코드를 선택, 복사, 수정할 수 있다.
-
정렬 작업을 수행한 후 출력 레코드를 선택하고 수정하는 procedure 이름을 기술한다.
항목 설명 procedure-name-3
OUTPUT PROCEDURE의 첫 번째(또는 유일한) section이나 paragraph를 기술한다.
procedure-name-4
OUTPUT PROCEDURE의 마지막 section이나 paragraph를 기술한다.
-