작업 제어 언어: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
136번째 줄:
=== 장치 독립성 ===
처음부터 OS 계열 운영 체제의 JCL은 고수준의 장치 독립성을 제공하였다. 잡을 끝낸 뒤 유지되어야 할 새로운 파일들에 대해서도 일반적인 용어(예: UNIT=DISK, UNIT=TAPE)들로 장치 유형을 지정할 수 있다. 물론 문제가 되면 모델 번호라든지, 특정 장치 주소 또한 지정할 수 있다.
 
=== 매개변수화된 프로시저 ===
OS JCL 프로시저는 처음부터 매개변수화되었으며 마치 [[어셈블리어|매크로]]나 단순 [[함수 (프로그래밍)|함수]]처럼 만들어준다. 이로써 재사용성을 다양한 환경에서 증대시킨다.
<code>
//MYPROC PROC FNAME=MYFILE01,SPTYPE=TRK,SPINIT=50,SPEXT=10,LR=100,BLK=1000
.....
//NEWFILE DD DSN=&FNAME,UNIT=DISK,SPACE=(&SPTYPE,&SPINIT,&SPEXT),
// DCB=(LRECL=&LR,BLKSIZE=&BLK),DISP=(NEW,CATLG,DELETE)
....
</code>
이 예제에서 &로 시작하는 모든 값들은 잡이 프로시저 사용을 요청할 때 지정될 매개변수들이다.
 
PROC 문은 프로시저에 이름을 줄 뿐만 아니라, 프로그래머가 각각의 매개변수에 대한 기본값을 지정할 수 있게 한다. 그래서 이 예제에서는 하나의 프로세서를 가지고 다양한 크기와 레이아웃의 파일들을 새로 만들어낸다. 이를테면:
<code>
//JOB01 JOB ..........
//STEP01 EXEC MYPROC FNAME=JOESFILE,SPTYPE=CYL,SPINIT=10,SPEXT=2,LR=100,BLK=2000
또는
//JOB02 JOB ..........
//STEP01 EXEC MYPROC FNAME=SUESFILE,SPTYPE=TRK,SPINIT=500,SPEXT=100,LR=100,BLK=5000
</code>
 
=== 조건 처리 ===