리소스 컨트롤 테이블
OSC 시스템은 구 버전의 CICS에서 사용하였던 리소스 컨트롤 테이블(Resource Control Table)을 중에서 PLT(Program List Table)과 XLT(Transaction List Table)을 사용한다. 사용자는 매크로 작성 규칙에 맞추어 PLT 매크로 및 XLT 매크로를 작성하도록 한다.
1. 작성 규칙
리소스 컨트롤 테이블은 IBM 어셈블러 매크로 형식이므로 IBM 어셈블러 매크로의 문법 및 제약 조건을 그대로 따른다.
다음은 IBM 어셈블러 매크로 문법 및 제약 조건 외에 리소스 컨트롤 매크로를 작성할 때 지켜야 할 규칙들이다.
-
이름은 첫 번째 열에서부터 시작한다.
-
명령어는 10번째 열에서부터 시작한다. 다음은 OSC에서 지원하는 매크로 구문이다.
항목 설명 DFHPLT
PLT를 선언하는 매크로이다.
DFHXLT
XLT를 선언하는 매크로이다.
-
각 매크로 이후에는 키워드가 올 수 있다. 매크로와 키워드는 한 칸의 공백으로 구분한다. 매크로에 따라서 사용할 수 있는 키워드의 종류는 다음 절들에서 설명한다.
-
여러 개의 키워드가 오는 경우 각 키워드 사이에 콤마(,) 기호를 삽입해서 구분한다. 모든 키워드 사이에는 공백이 삽입될 수 없다.
-
옵션값을 받을 수 있는 키워드는 키워드와 옵션값을 등호(=) 기호를 통해서 연결한다. 옵션값에 여러 개의 속성을 지정할 수 있는 경우에는 옵션의 시작과 끝을 괄호(())를 사용해서 묶고 각 옵션 사이에는 콤마(,) 기호를 삽입한다. 옵션 사이에도 공백은 삽입될 수 없다.
-
키워드는 71번째 열까지 작성 가능하다. 71번째 열을 벗어나서 작성되어야 할 경우에는 행을 분할할 수 있다. 행 분할은 키워드를 구분하는 콤마(,) 기호를 기준으로 분할하며, 다음 행이 연결된다는 것을 표시하기 위해 72번째 칼럼에 공백을 제외한 문자를 입력해야 한다. 다음 행에 이어서 작성할 때에는 16번째 열부터 나머지 부분을 이어서 작성한다.
-
초기값을 입력할 때에는 초기값의 시작과 끝을 작은따옴표(' ')를 사용해서 묶는다. 초기값에 작은따옴표가 나타나야 할 때에는 작은따옴표를 2개 사용한다(1개는 Map 컴파일러에서 제거한다).
-
괄호(())의 경우에도 Map 컴파일러에서 특수한 용도로 인식하므로 괄호 2개를 사용하는 방식으로 입력해야 한다.
-
한 행을 주석처리하고 싶은 경우에는 1번째 열에 애스터리스크(*) 기호를 사용한다. 2번째 열부터 71번째 열까지 사용자 주석으로 사용할 수 있다.
-
초기값을 제외한 모든 키워드와 옵션값에는 대문자만 사용할 수 있다.
2. PLT 매크로(DFHPLT)
DFHPLT는 PLT을 구성하는 필드를 정의하는 매크로로 DFHPLT 매크로에는 다음과 같은 키워드를 지정할 수 있다.
-
TYPE=INITIAL
매크로의 시작을 표시한다.
다음의 옵션을 지정할 수 있다.
옵션 내용 SUFFIX
특정 리소스 컨트롤 테이블를 구별하기 위한 SUFFIX 문자열을 2자로 기술한다.
-
TYPE=ENTRY
하나 또는 여러 개의 프로그램이 기술되었음을 표시한다.
다음의 옵션을 지정할 수 있다.
옵션 내용 PROGRAM
프로그램의 이름을 기술한다.
프로그램 이름은 최대 8자이며, 각 프로그램들은 OSC SD에 정의되어 있어야 한다. 프로그램 이름은 콤마(,)를 사용하여 여러 개를 기술할 수 있다.
PROGRAM을 DFHDELIM으로 설정할 경우에는 PLT를 수행하는 단계를 구별하며, 단지 단계를 구별하는 구분자 역할만 한다. 모든 프로그램들은 PROGRAM 리소스 정의를 등록해야 한다.
-
TYPE=FINAL
매크로의 끝을 표시한다.
PLT 매크로 파일 예제
다음은 PLT 매크로의 예이다. OSC Region의 부트 또는 다운 과정에서 수행될 프로그램을 지정한다. 1단계에서 TRAQA, TRAQB, TRAQC 프로그램을 실행하고, 2단계에서 TRASA, TRASB, TRASC 프로그램을 실행하는 것을 정의하고 있다.
DFHPLT TYPE=INITIAL,SUFFIX=PI DFHPLT TYPE=ENTRY,PROGRAM=TRAQA DFHPLT TYPE=ENTRY,PROGRAM=TRAQB DFHPLT TYPE=ENTRY,PROGRAM=TRAQC DFHPLT TYPE=ENTRY,PROGRAM=DFHDELIM DFHPLT TYPE=ENTRY,PROGRAM=TRASA DFHPLT TYPE=ENTRY,PROGRAM=TRASB DFHPLT TYPE=ENTRY,PROGRAM=TRASC DFHPLT TYPE=FINAL END
3. XLT 매크로(DFHXLT)
DFHXLT는 XLT을 구성하는 필드를 정의하는 매크로로 DFHXLT 매크로에는 다음과 같은 키워드를 지정할 수 있다.
-
TYPE=INITIAL
매크로의 시작을 표시한다.
다음의 옵션을 지정할 수 있다.
옵션 내용 SUFFIX
특정 리소스 컨트롤 테이블를 구별하기 위한 SUFFIX 문자열을 2자로 기술한다.
-
TYPE=ENTRY
하나 또는 여러 개의 트랜잭션이 기술되었음을 표시한다.
다음의 옵션을 지정할 수 있다.
옵션 내용 TRANSID
트랜잭션의 이름을 기술한다.
트랜잭션 이름은 최대 4자이며, 각 트랜잭션들은 OSC SD에 정의되어 있어야 한다. 트랜잭션 이름은 콤마(,)를 사용하여 여러 개를 기술할 수 있다. 단, 트랜잭션 이름에 특수 문자가 사용될 경우 하나의 ENTRY에는 하나의 트랜잭션 이름만 기술할 수 있으며, 인용 부호를 사용하여 'A,01’과 같이 기술한다.
-
TYPE=FINAL
매크로의 끝을 표시한다.
XLT 매크로 파일 예제
다음은 XLT 매크로의 예이다. OSC Region 다운 과정에서 터미널로부터 발생할 수 있는 트랜잭션에는 TSSA, TSRA, TDSA, TDRA, ICSA가 있음을 정의하고 있다.
DFHXLT TYPE=INITIAL,SUFFIX=XL DFHXLT TYPE=ENTRY,TRANSID=(TSSA,TSRA) DFHXLT TYPE=ENTRY,TRANSID=(TDSA,TDRA) DFHXLT TYPE=ENTRY,TRANSID=ICSA DFHXLT TYPE=FINAL END