CICS 리소스 컨트롤 테이블

구 버전의 CICS에서 사용되는 DCT 매크로와 JCT 매크로에 대해 설명한다.

1. DCT 매크로(DFHDCT)

매크로의 기본적인 문법은 다음과 같다.

DFHDCT TYPE=type[,keywords…]

DCT 매크로의 타입은 GROUP, FINAL, INITIAL, SDSCI, EXTRA, INDIRECT, INTRA, REMOTE 8가지가 존재한다. 이들 중 EXTRA, INDIRECT, INTRA 3개 항목은 oscdct2rd 툴에서 변환될 때에 TDQUEUE의 TYPE 속성으로 사용된다.

다음은 각 타입에서 정의 가능한 키워드에 대한 설명한다.

GROUP

oscdct2rd를 사용하여 DCT를 TDQUEUE 리소스 정의로 변환할 때 적용할 그룹을 지정할 수 있다. GROUP 정의 이후 다음 GROUP 선언이 오기 전까지 정의된 모든 TDQUEUE는 마이그레이션 과정에서 앞에 정의된 GROUP 이름으로 설정된다.

  • 사용법

    DFHDCT TYPE=GROUP,
           GROUP=group_name
    항목 설명

    GROUP

    최대 8Bytes의 그룹 이름을 설정한다.

    변환 과정에서 GROUP 속성으로 사용된다.

FINAL

DCT 매크로의 끝을 의미한다. oscdct2rd에서는 사용되지 않는다.

INITIAL

DCT 매크로의 시작을 의미한다. oscdct2rd를 통한 변환 과정에서 USERID를 제외한 나머지 속성은 사용되지 않는다.

  • 사용법

    DFHDCT TYPE=INITIAL,
           USERID=name
    항목 설명

    USERID

    최대 8Bytes의 사용자 ID를 설정한다.

    해당 DCT에 속한 INTRA TDQUEUE 중 ATI의 USERID가 지정되지 않았을 경우 변환할 때 USERID 항목의 기본값으로 사용된다.

SDSCI

EXTRA TDQUEUE를 위한 DCB(Data Control Block)을 정의한다. DSCNAME은 필수 항목으로 SDSCI 타입을 정의할 때 반드시 설정되어 있어야 한다. 테이블에 누락된 항목들은 변환 과정에서 무시되는 속성들이다.

  • 사용법

DFHDCT TYPE=SDSCI,
       BLKSIZE=number,
       DSCNAME=name ,
       RECFORM={FIXUNB|FIXUNBA|FIXUNBM|FIXBLK|FIXBLKA|FIXBLKM|VARBLK|
                VARBLKA|VARBLKM|VARUNB|VARUNBA|VARUNBM},
       RECSIZE=number
항목 설명

BLKSIZE

데이터 셋의 블록 크기의 최대값을 설정한다.

변환 과정에서 EXTRA TDQUEUE의 BLOCKSIZE 값으로 사용된다.

DSCNAME

최대 8Bytes의 SDSCI의 이름을 설정한다. EXTRA TDQUEUE의 DSCNAME을 참조한다.

RECFORM

EXTRA TDQUEUE의 레코드 형식을 지정한다.

변환할 때 EXTRA TDQUEUE의 RECORDFORMAT, BLOCKFORMAT, PRINTCONTROL 속성으로 사용된다.

변환 규칙은 다음과 같다.

  • 처음 3Bytes의 FIX, VAR는 RECORDFORMAT의 FIXED 또는 VARIABLE로 변환된다.

  • 그 이후 3Bytes의 UNB, BLK는 BLOCKFORMAT의 BLOCKED 또는 UNBLOCKED로 변환된다.

  • 7번째 Bytes가 A일 경우는 PRINTCONTROL의 ASA, M일 경우는 PRINTCONTROL의 MACHINE으로 변환되며, 7번째 Byte가 없는 경우는 PRINTCONTROL에 값이 설정되지 않는다.

RECSIZE

레코드의 길이를 설정한다.

변환 과정에서 EXTRA TDQUEUE의 RECORDSIZE 항목으로 사용된다.

EXTRA

EXTRA TDQUEUE를 정의한다. DESTID와 DSCNAME은 필수 항목으로 EXTRA 타입을 정의할 때 반드시 설정되어 있어야 한다. 테이블에 누락된 항목들은 변환 과정에서 무시되는 속성들이다.

  • 사용법

    DFHDCT TYPE=EXTRA,
           DESTID=name ,
           DSCNAME=name,
           RMTNAME=name,
           SYSIDNT=name
    항목 설명

    DESTID

    최대 4Bytes의 EXTRA TDQUEUE의 이름을 지정한다.

    DSCNAME

    해당 EXTRA TDQUEUE에서 DCB 정보 관련 속성을 받아올 SDSCI의 DSCNAME을 설정한다.

    RMTNAME

    Remote TDQUEUE의 Remote Region에서의 이름을 설정한다.

    공백일 경우에는 DESTID와 동일한 것으로 간주된다. SYSIDNT가 설정되어 있을 경우에만 의미가 있고, SYSIDNT가 설정되지 않았을 경우에는 변환 과정에서 무시된다.

    변환 과정에서 TDQUEUE의 REMOTENAME 항목으로 사용된다.

    SYSIDNT

    해당 TDQUEUE를 소유하고 있는 Remote Region의 SYSID를 설정한다.

    이 속성이 설정되어 있다면 변환 과정에서 TYPE 항목이 설정되지 않으며, RMTNAME, SYSIDNT를 제외한 모든 항목들이 무시된다.

    변환 과정에서 TDQUEUE의 REMOTESYSTEM 항목으로 사용된다.

INDIRECT

INDIRECT TDQUEUE를 정의한다. 모든 항목이 필수 항목으로 INDIRECT 타입을 정의할 때 반드시 설정되어 있어야 한다.

  • 사용법

    DFHDCT TYPE=INDIRECT ,
           DESTID=name,
           INDDEST=name
    항목 설명

    DESTID

    최대 4Bytes의 INDIRECT TDQUEUE의 이름을 지정한다.

    INDDEST

    최대 4Bytes의 간접적으로 가리키는 TDQUEUE 이름을 지정한다.

    지정되는 TDQUEUE의 타입은 상관 없다.

    변환 과정에서 INDIRECT TDQUEUE의 INDIRECTNAME 항목으로 사용된다.

INTRA

INTRA TDQUEUE를 정의한다. DESTID는 필수 항목으로 INTRA 타입을 정의할 때 반드시 설정되어 있어야 한다. 테이블에 누락된 항목들은 변환 과정에서 무시되는 속성들이다.

  • 사용법

    DFHDCT TYPE=INTRA,
           DESTID=name,
           DESTFAC={(TERMINAL [,trmid])|FILE},
           DESTRCV={NO|PH|LG},
           RMTNAME=name,
           SYSIDNT=name,
           TRANSID=name,
           TRIGLEV=number,
           USERID=name
    항목 설명

    DESTID

    최대 4Bytes의 INTRA TDQUEUE의 이름을 지정한다.

    DESTFAC

    TDQUEUE와 연동되는 facility를 지정한다. trmid가 주어진 경우 FACILITYID 항목으로 사용된다.

    변환 과정에서 INTRA TDQUEUE의 ATIFACILITY 항목으로 사용된다.

    DESTRCV

    오류가 발생할 경우 복구 여부를 설정이다.

    • NO : NO

    • PH : PHYSICAL

    • LG : LOGICAL로 변환된다.

    변환 과정에서 INTRA TDQUEUE의 RECOVSTATUS 항목으로 사용된다.

    RMTNAME

    Remote TDQUEUE의 Remote Region에서의 이름을 설정한다.

    공백일 경우에는 DESTID와 동일한 것으로 간주된다. SYSIDNT가 설정되어 있을 경우에만 의미가 있고, SYSIDNT가 설정되지 않았을 경우에는 변환 과정에서 무시된다.

    변환 과정에서 TDQUEUE의 REMOTENAME 항목으로 사용된다.

    SYSIDNT

    해당 TDQUEUE를 소유하고 있는 Remote Region의 SYSID를 설정한다.

    이 속성이 설정되어 있다면 변환 과정에서 TYPE 항목이 설정되지 않으며, RMTNAME, SYSIDNT를 제외한 모든 항목들이 무시된다.

    변환 과정에서 TDQUEUE의 REMOTESYSTEM 항목으로 사용된다.

    TRANSID

    ATI로 기동되는 트랜잭션 ID를 설정한다.

    변환 과정에서 INTRA TDQUEUE의 TRANSID 항목으로 사용된다.

    TRIGLEV

    ATI가 발생하기까지 필요한 레코드 개수를 설정한다.

    변환 과정에서 INTRA TDQUEUE의 TRIGLEVEL 항목으로 사용된다.

    USERID

    ATI로 구동되는 트랜잭션의 보안 확인을 위한 사용자 ID를 설정한다.

    변환 과정에서 INTRA TDQUEUE의 USERID 항목으로 사용된다.

REMOTE

Remote TDQUEUE를 정의한다. REMOTE 타입은 변환 과정에서 TYPE 속성이 지정되지 않는다. DESTID와 SYSIDNT는 필수 항목으로 REMOTE 타입을 정의할 때 반드시 설정되어 있어야 한다. 테이블에 누락된 항목들은 변환 과정에서 무시되는 속성들이다.

  • 사용법

    DFHDCT TYPE=REMOTE,
           DESTID=name,
           RMTNAME=name,
           SYSIDNT=name
    항목 설명

    DESTID

    최대 4Bytes의 Remote TDQUEUE의 이름을 지정한다.

    RMTNAME

    Remote TDQUEUE의 Remote Region에서의 이름을 설정한다.

    공백일 경우에는 DESTID와 동일한 것으로 간주된다.

    변환 과정에서 TDQUEUE의 REMOTENAME 항목으로 사용된다.

    SYSIDNT

    해당 TDQUEUE를 소유하고 있는 Remote Region의 SYSID를 설정한다.

    변환할 때 TDQUEUE의 REMOTESYSTEM 항목으로 사용된다.

DCT 매크로 파일 예제

실제 DCT 매크로 파일 예제는 다음과 같다.

DFHDCT TYPE=INITIAL
         DFHDCT TYPE=SDSCI,DSCNAME=SDSCI01,                            X
                RECFORM=FIXUNB
         DFHDCT TYPE=EXTRA,DSCNAME=SDSCI01,                            X
                DESTID=EXTR
         DFHDCT TYPE=INTRA,DESTID=INTR,TRIGLEV=5,                      X
                DESTFAC=TERMINAL,TRANSID=AUTO
         DFHDCT TYPE=INDIRECT,DESTID=INDR,INDDEST=BETA
         DFHDCT TYPE=REMOTE,DESTID=REMT,RMTNAME=INDR,                  X
                SYSIDNT=CICA
         DFHDCT TYPE=FINAL
         END

변환된 TDQUEUE 리소스 정의 결과는 다음과 같다.

DEFINE  TDQUEUE(EXTR)
        GROUP(OSCGROUP)
        TYPE(EXTRA)
        RECORDFORMAT(FIXED)
        BLOCKFORMAT(UNBLOCKED)

DEFINE  TDQUEUE(INTR)
        GROUP(OSCGROUP)
        TYPE(INTRA)
        ATIFACILITY(TERMINAL)
        TRANSID(AUTO)
        TRIGGERLEVEL(5)

DEFINE  TDQUEUE(INDR)
        GROUP(OSCGROUP)
        TYPE(INDIRECT)
        INDIRECTNAME(BETA)

DEFINE  TDQUEUE(REMT)
        GROUP(OSCGROUP)
        REMOTENAME(INDR)
        REMOTESYSTEM(CICA)

2. JCT 매크로

구 버전의 CICS에서 사용되는 JCT 매크로에 대해 설명한다.

매크로의 기본적인 문법은 다음과 같다.

DFHDCT TYPE=type[,keywords…]

JCT 매크로의 타입은 FINAL, INITIAL, ENTRY 3가지가 존재한다.

아래에는 각 타입에서 정의 가능한 키워드에 대해 설명한다.

FINAL

JCT 매크로의 끝을 의미한다. oscjct2rd에서는 사용되지 않는다.

INITIAL

JCT 매크로의 시작을 의미한다. oscjct2rd에서는 사용되지 않는다.

ENTRY

각 저널에 대해 ENTRY를 정의한다. 테이블에 누락된 항목들은 변환 과정에서 무시되는 속성들이다.

oscjct2rd 툴은 FORMAT 키워드가 지정된 경우 JOURNALMODEL 리소스 정의의 TYPE 항목을 SMF로 설정하며, 지정되지 않은 경우 MVS로 설정한다. 주의할 점은 TYPE 항목이 MVS로 변환된 JCT의 ENTRY는 변환된 리소스 정의 파일에서 STREAMNAME 항목을 직접 설정하도록 한다.

  • 사용법

    DFHDCT TYPE=ENTRY,
           JFILEID=name,
           FORMAT=SMF
    항목 설명

    JFILEID

    SYSTEM 또는 2부터 99까지의 숫자를 지정한다.

    변환 과정에서 JOURNALMODEL의 JOURNALNAME 항목으로 사용된다.

    FORMAT

    SMF 데이터 셋에 저널 레코드를 기록할지 지정한다.

    변환 과정에서 JOURNALMODEL의 TYPE 항목으로 사용된다.

JCT 매크로 파일 예제

실제 JCT 매크로 파일 예제는 다음과 같다.

DFHJCT TYPE=INITIAL
         DFHJCT TYPE=ENTRY,                                            X
                JFILEID=4,                                             X
                JTYPE=TAPE2,                                           X
                FORMAT=SMF,                                            X
                BUFSIZE=1500
         DFHJCT TYPE=FINAL
         END

변환된 JOURNALMODEL 리소스 정의 결과는 다음과 같다. JOURNALMODEL의 값은 oscjct2rd 툴에서 자동으로 생성을 하며, GROUP은 [–g] 옵션을 사용하여 지정한다.

DEFINE  JOURNALMODEL(DFHJM04)
        GROUP(OSCGROUP)
        JOURNALNAME(DFHJ04)
        TYPE(SMF)