4 정책

SMC의 두 가지 주요 기능은 테이프 볼륨과 호환되는 장치를 선택하도록 MVS 할당에 영향을 미치는 기능과 테이프 마운트 및 마운트 해제에 대한 MVS 메시지를 가로채서 라이브러리 및 가상 드라이브에 대해 이러한 작업을 자동화하는 기능입니다.

특정 볼륨의 경우, SMC 할당은 주로 볼륨 매체 및 위치를 기반으로 합니다.

스크래치 볼륨의 경우, SMC 할당 및 마운트 처리는 주로 사용자 정책을 기반으로 합니다. StorageTek DFSMS ACS 인터페이스 또는 SMC TAPEREQ 제어문을 사용해서 스크래치 할당 및 마운트를 제어하는 정책을 선택할 수 있습니다.

User Exit을 사용해서 정책을 선택할 수 있습니다. 자세한 내용은 ELS Legacy Interfaces Reference를 참조하십시오.

DFSMS를 통해 지정된 정책은 User Exit에 지정된 정책보다 우선 순위가 높은 TAPEREQ를 통해 지정된 정책보다 우선순위가 높습니다.

SMC POLicy 명령

SMC POLicy 명령을 사용하여 테이프 할당 및 마운트 요청에 대한 정책을 지정할 수 있습니다. 이 명령을 사용하면 MEDia, RECtech or MODel, SUBPool, ESOTeric, VTCS MGMTclas, TAPEPlex를 포함해서 할당 또는 마운트 이벤트와 연관된 모든 속성이 포함된 이름이 지정된 정책을 만들 수 있습니다.

POLicy 명령은 TAPEREQ 문 또는 StorageTek DFSMS 인터페이스에서 이름이 지정된 정책을 할당 및 마운트 요청과 연관시키는 데 사용할 수 있습니다.

또한 POLicy 명령은 IDAX(MVS Interpreter/Dynamic Allocation Exit) 처리 중 할당 변수에 영향을 주는 기능을 제공합니다. StorageTek DFSMS 인터페이스 및 TAPEREQ 사용자 모두 POLicy IDAX 매개변수를 사용해서 일반적으로 JCL에서 제공되는 변수를 변경할 수 있습니다.

SMC 정책은 일반적으로 단일 데이터 세트 또는 SMC READ 명령을 사용해서 SMC 시작 시에 로드되는 PDS 멤버에 정의됩니다. 또한 POLicy 명령은 언제라도 실행해서 새 정책을 추가하거나 기존 정책의 컨텐츠를 바꿀 수 있습니다.

다음 샘플 SMCCMDS 데이터 세트에서 READ 명령은 SMC 정책이 포함된 CNTL.PDS(POLMEM) 데이터 세트를 로드합니다.

예 4-1 샘플 SMCCMDS 데이터 세트

ALLOCDEF ZEROSCR(ON,INSIDE)
MSGDEF CASE(MIXED)
TAPEPLEX NAME(HSCPLEX) LOCSUB(HSC0)
READ DSN(’CNTL.PDS(POLMEM)’)
TREQDEF DSN(’CNTL.PDS(TREQMEM)’)

주:

  • TAPEREQ 문이 이름으로 정책을 참조하는 경우 POLicy 명령은 TREQDEF 명령 이전에 처리되어야 합니다.

  • POLicy 명령이 TAPEPlex를 참조하는 경우, TapePlex 이름은 POLicy 명령이 처리되기 전에 TAPEPlex 명령을 사용하여 정의되어야 합니다.

  • SMC POLicy 명령, SMSDef 명령 및 TAPEREQ 제어문에 대한 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

SMC 정책 및 Esoteric 선호도 지정

SMC POLicy 명령을 사용하면 할당 프로세스 중 장치 선호도를 지정할 수 있습니다. ESOTeric 매개변수는 최대 8개 esoteric이 포함된 목록을 지정할 수 있습니다. 드라이브 제외 중에는 나열된 모든 esoteric에 있는 장치가 포함됩니다. 드라이브 선호도 지정 중, 장치는 esoteric 목록에서 해당 위치에 따라 정렬됩니다. 이 기능을 사용하면 다음을 수행할 수 있습니다.

  • 동등 드라이브 중 빠르거나 느린 모델을 선호 모델로 지정합니다.

  • 장치를 사용할 수 있는 경우 특정 장치 유형(예: 9940)을 선호 장치로 지정하지만, 선호 드라이브가 사용 중인 경우 대체 장치 유형을 선택합니다.

기본적으로 SMC는 다음 조건에 따라 순서대로 드라이브를 선호 드라이브로 지정합니다.

  1. 특정 볼륨 LSM 위치

  2. Esoteric 목록

  3. LSM 스크래치 수.

상대적인 가중치는 POLicy PREFer 매개변수를 사용해서 변경할 수 있습니다. 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

IDAX의 SMC 정책

IDAX(MVS Interpreter/Dynamic Allocation Exit)에서 SMC 처리를 수행하면 SMC IDAX 명령 설정 및 개별 SMC POLicy 명령에 지정된 테이프 정책을 기준으로 추가 사용자 정책을 지정할 수 있습니다.

SMC IDAX 처리를 사용하면 이름이 지정된 SMC 정책 객체에 지정된 정책에 따라 esoteric 볼륨 수, 만료 날짜 또는 보존 기간, 부속 시스템 및 프로그램 이름에 대한 JCL 매개변수를 변경할 수 있습니다.

이러한 IDAX 정책 기능은 다음과 같은 기능을 수행하는 SMC IDAX 명령에 의해 사용으로 설정됩니다.

  • TAPEREQ를 기준으로 IDAX 정책이 적용되도록 지정합니다. IBM DFSMS 인터페이스 처리가 수행되기 전에 SMC IDAX 처리가 실행되도록 지정합니다. IDAX 명령 매개변수 SEQUENCE(FIRST)는 SMC IDAX 처리가 StorageTek DFSMS 처리보다 먼저 수행되도록 지정합니다.

  • MOD 데이터 세트가 새로운 (MOD(ON))으로 취급되도록 지정합니다.

SMC POLicy 명령을 사용하면 IDAX 중에 적용할 정책을 설정할 수 있습니다. "IDAX"로 시작하는 모든 정책 매개변수는 SMC IDAX 명령 매개변수 POLICY(ON)이 지정된 경우에만 적용됩니다. 이러한 매개변수는 다음과 같습니다.

  • IDAXESOTERIC

    이 매개변수는 JCL esoteric 대신 사용할 esoteric의 이름을 지정합니다. IDAXESOTERIC은 JCL 문이 어떠한 단위 정보도 포함하지 않을 경우에도 적용될 수 있습니다. JCL esoteric의 하위 세트로 장치를 지정할 수 있는 POLICY ESOTERIC 매개변수와 달리 IDAXESOTERIC은 "실질적인" esoteric 대체를 수행합니다.

  • IDAXEXPDTIDAXRETPD

    이러한 매개변수는 상호 배타적이며, JCL에 지정되었을 수 있는 값을 대체하고 DD 문에 보존 기간 또는 만료 날짜를 지정할 수 있습니다.

  • IDAXVOLCNT

    이 매개변수를 사용하면 JCL에 지정된 볼륨 수 매개변수를 대체할 수 있습니다.

  • IDAXSUBSYSIDAXPROGRAM

    이러한 매개변수를 사용하면 Oracle StorageTek ExHPDM(Extended High-Performance Data Mover)을 사용하도록 할당을 지정할 수 있습니다.

IDAX의 SMC Esoteric 대체

SMC는 IDAX에서 POLicy 명령 IDAXESOTERIC 매개변수를 사용하여 esoteric 대체를 수행할 수 있습니다. SMC가 esoteric 대체를 IDAX에서 수행할 때 원래 단위는 다른 단위(esoteric)로 바뀝니다. 모든 유효한 esoteric을 대체할 수 있으며, 예를 들어, 테이프 esoteric을 디스크 esoteric으로 대체할 수 있습니다.

주:

  • SMC IDAX 처리로 선택적으로 디스크인 단위가 수정되거나 테이프 단위가 디스크로 변경될 경우, SMC DFSMS 처리가 IBM DFSMS 처리보다 먼저 수행되도록 IDAX 명령 매개변수 SEQUENCE(FIRST)를 지정하는 것이 좋습니다. 이렇게 하면 테이프 및 디스크 데이터 세트가 의도한 대로 관리됩니다.

  • DFSMS에서 관리되는 새로운 할당은 SMC IDAX esoteric 대체에 적합하지 않습니다.

  • SMC는 모든 DISP=NEW 데이터 세트에 대해 esoteric 대체를 수행합니다.

  • 기본적으로 SMC는 DISP=MOD 데이터 세트를 사전에 존재하는 것으로 취급하며, esoteric 대체를 수행하지 않습니다. SMC는 IDAX 명령 MOD(ON) 매개변수가 지정되어 있고 해당 작업의 JCL에서 데이터 세트에 대한 첫번째 참조가 DISP=MOD 또는 DISP=NEW를 지정하는 경우에만 DISP=MOD 데이터 세트에 대해 esoteric 대체를 수행합니다.

  • 단위 선호도 체인은 체인의 다른 멤버가 다른 IDAXESOTERIC 매개변수를 포함하는 POLICY를 선택할 경우 분리됩니다.

  • 한 작업 내의 VOL=REF 체인은 볼륨 참조가 적용되도록 보장하기 위해 필요한 경우 체인 헤드 esoteric으로 검증 및 업데이트됩니다.

  • 임시 데이터 세트에 대해 IDAX esoteric 대체를 수행할 수 있으려면 먼저 SMSDef TEMPdsn(ON)을 지정해야 합니다.

  • IDAXSMSDef 명령에 대한 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

SMC 정책 및 TAPEREQ 제어문

SMC TAPEREQ 제어문은 할당 및 마운트 요청과 연관된 테이프 정책을 포함하여 테이프 요청 속성을 식별합니다. 선택한 정책은 데이터 세트 이름 또는 작업 이름과 같은 TAPEREQ 선택 조건을 기반으로 합니다.

The TAPEREQ POLicy 매개변수는 SMC가 SMC POLicy 명령으로 정의된 연관된 SMC 정책을 참조하도록 지정합니다.

TAPEREQ 제어문은 TREQDEF 운영자 명령으로 지정된 정의 데이터 세트에 상주합니다. TAPEREQ 문은 이 정의 데이터 세트에 배치되어야 하며, 운영자 명령으로 실행될 수 없습니다.

주:

  • SMC TAPEREQ 제어문 및 POLicy 명령에 대한 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

  • TAPEREQ 문이 이름으로 정책을 참조하는 경우 POLicy 명령은 TREQDEF 명령 이전에 처리되어야 합니다. 자세한 내용은 샘플 SMCCMDS 데이터 세트을 참조하십시오.

  • 해당 설치에서 POLICY 없이 TAPEREQ 문을 사용하거나 User Exit를 사용하는 경우, POLICY 및 기타 TAPEREQ 사이의 상호 작용 및 User Exit 정책 사양에 대한 자세한 내용은 ELS Legacy Interfaces Reference를 참조하십시오.

볼륨 일련 번호로 TAPEREQ 및 정책 지정

TAPEREQ 문과 POLicy 명령을 조합해서 사용할 경우, SMC에서는 특정 볼륨 일련 번호를 기준으로 할당 정책을 지정할 수 있습니다. 일부 경우 이 기능을 사용하면 HSC 비라이브러리 VOLATTRs을 SMC TAPEREQ 제어문 및 POLicy 명령으로 바꿀 수 있습니다.

주:

TAPEREQ 문에서 VOLSER 키워드는 POLicy 키워드도 지정되어 있고 VOLTYPE(SPECIFIC) 키워드로 이전에 정의된 SMC 정책을 참조하는 경우에만 허용됩니다.

볼륨 일련 번호와 연관된 정책을 사용하면 다음을 수행할 수 있습니다.

  • 여러 클라이언트의 동일한 볼륨 일련 번호에 대해 서로 다른 볼륨 특성을 정의합니다.

    예를 들어, volser AAAAAASTK1R 매체가 포함된 HSC 서버의 TapePlex에 존재하지만, 특정 클라이언트에서 볼륨 AAAAAA가 비라이브러리 표준 카트리지라고 가정해보십시오. 다음과 같은 POLicy 명령 및 TAPEREQ 문을 조합하면 SMC가 볼륨 AAAAAA에 대해 볼륨 조회를 우회하고 지정된 정책 정보를 사용할 수 있습니다.

    POLICY NAME(MANVOL) VOLTYPE(SPECIFIC) MEDIA(STANDARD) NOTAPEPLEX
    TAPEREQ VOLSER(AAAAAA) POLICY(MANVOL)
    
  • 볼륨 일련 번호를 기준으로 볼륨 조회를 단일 TapePlex로 제한합니다.

    예를 들어, 클라이언트 호스트에서 SMC에 PLEX1PLEX2라는 2개의 TapePlex가 정의되어 있고, 여기에 포함된 볼륨 일련 번호 범위(AAA000-AAA999BBB000-BBB999)가 겹쳐진다고 가정해보십시오. 기본적으로 SMC는 TapePlex가 정의된 순서 대로 이를 질의하고, 볼륨 일련 번호로 인식되는 첫번째 TapePlex의 정보를 사용합니다. 다음과 같은 POLicy 명령 및 TAPEREQ 문을 조합하면 SMC가 클라이언트 호스트의 볼륨에 대해 올바른 버전을 선택할 수 있습니다.

    POLICY NAME(PLEX1VOL) VOLTYPE(SPECIFIC) TAPEPLEX(PLEX1)
    POLICY NAME(PLEX2VOL) VOLTYPE(SPECIFIC) TAPEPLEX(PLEX2)
    TAPEREQ VOLSER(AAA000-AAA999) POLICY(PLEX1VOL)
    TAPEREQ VOLSER(BBB000-BBB999) POLICY(PLEX2VOL)
    
  • 라이브러리 외부의 볼륨 할당을 특정 TapePlex로 지정합니다.

    다음과 같은 POLicy 명령 및 TAPEREQ 문을 조합하면 SMC가 라이브러리 볼륨 조회를 우회하고 선택한 비라이브러리 볼륨을 표준 카트리지와 호환되는 라이브러리 장치에 할당할 수 있습니다.

    POLICY NAME(INLIB) VOLTYPE(SPECIFIC) ESOTERIC(LIB1ESOT) MEDIA(STANDARD) NOTAPEPLEX
    TAPEREQ VOLSER(AAA000-AAA999) POLICY(INLIB)
    

주:

위 예제에서 POLicy 명령의 NOTAPEPLEX 매개변수는 SMC 시스템이 TapePlex 볼륨 조회 논리를 우회하도록 지정합니다.

예제

다음 예제에서는 SMC Policy 명령, TREQDEF 명령 및 TAPEREQ 제어문을 지정하기 위한 권장 방법을 설명합니다.

  1. SMC 시작 절차에 다음 항목을 포함합니다.

    //SMCCMDS DD DSN=MY.PARMLIB(MYSMCCMD),DISP=SHR
    
  2. SMCCMDS 멤버 MYSMCCMD에 다음 항목을 포함시킵니다.

    READ DSN(’MY.PARMLIB(SMCPOL)’)
    TREQDEF DSN(’MY.PARMLIB(SMCTREQ)’)
    

    주:

    TAPEREQ 문에 POLicy 매개변수가 포함된 경우, TAPEREQ 문의 정책 이름이 정의된 정책 정의에 대해 검증되므로 TREQDEF 명령 이전에 POLicy 명령을 처리해야 합니다.
  3. 예를 들어, SMC POLicy 명령을 SMCPOL 멤버에 추가합니다.

    POLICY NAME(POL1) SUBPOOL(SP1) MEDIA(STK1R) RECTECH(STK1RC) TAPEPLEX(HSC)
    POLICY NAME(POL2) SUBPOOL(SP2) MEDIA(VIRTUAL) MGMTCLAS(ABC)
    
  4. 예를 들어, 이름이 지정된 정책을 가리키도록 SMCTREQ 멤버에서 TAPEREQ 제어문을 수정합니다.

    TAPEREQ DSN(A.B.*) POLICY(POL1)TAPEREQ DSN(A.C.*) POLICY(POL2)
    

    이러한 TAPEREQ 문은 3단계에서 정의된 SMC 정책 이름을 가리킵니다.

SMC READ 명령의 HOST 매개변수를 사용하면 다른 호스트에 대해 다른 정책 정의를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

READ DSN(MY.PARMLIB(PRODPOLS)) HOST=PRODREAD DSN(MY.PARMLIB(TESTPOLS)) HOST=TEST

호스트 이름이 PROD이면 PRODPOLS 멤버가 로드됩니다. 호스트 이름이 TEST이면 TESTPOLS 멤버가 로드됩니다.

SMC DFSMS 처리

DFSMS에 대한 SMC 인터페이스는 StorageTek DFSMS ACS 루틴에서 MGMTCLAS 이름을 반환하여 SMC POLICY를 선택할 수 있는 기능을 제공합니다.

주:

SMC DFSMS 인터페이스를 사용할 수 있는 대체 방법은 ELS Legacy Interfaces Reference에 설명되어 있습니다.

SMC DFSMS 인터페이스 사용 또는 사용 안함으로 설정

SMC DFSMS 인터페이스를 사용으로 설정하려면 다음과 같이 ALLOCDef 명령의 SMS 매개변수를 지정합니다.

ALLOCDEF SMS=ON

SMC DFSMS 인터페이스를 사용 안함으로 설정하려면 다음과 같이 ALLOCDef 명령의 SMS 매개변수를 지정합니다.

ALLOCDEF SMS=OFF

SMC DFSMS 인터페이스 조정

SMSDef 명령을 사용하면 설치 요구사항에 따라 기본 SMC DFSMS 지원을 조정할 수 있습니다. 이 명령은 특정 SMC DFSMS 기능을 포함하거나 우회할 수 있는 기능을 제공합니다. SMSDef 명령에 대한 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

MGMTCLAS를 지정하도록 StorageTek DFSMS ACS 루틴 정의

STORCLASMGMTCLAS는 ACS(자동 클래스 선택) 루틴을 실행하여 지정할 수 있습니다.

주:

STORCLASMGMTCLAS JCL 매개변수는 IBM MVS DFSMS와의 충돌로 인해 SMC DFSMS 인터페이스에서 지원되지 않습니다. STORCLAS JCL 매개변수를 사용하면 데이터 세트가 IBM DFSMS에서 관리되며, MGMTCLAS JCL 매개변수를 사용하려면 IBM DFSMS에서 관리되는 데이터 세트가 필요합니다. 비슷한 방식으로, &ACSENVIR=’STKTAP1' 변수에 대해 테스트를 수행하지 않는 DFSMS 루틴을 사용하면 데이터 세트가 IBM DFSMS에서 관리되며, SMC DFSMS 인터페이스에서 사용할 수 없게 됩니다.

SMC에서 모든 DFSMS 반환 관리 클래스 이름을 정책 이름으로 처리하도록 SMSDef MGMTPol (ALL)을 지정하는 것이 좋습니다.

SMC SMSDef 명령을 사용하면 특정 SMC DFSMS 기능을 포함하거나 우회하여 기본 SMC DFSMS 지원을 조정할 수 있습니다. 이 명령에 대한 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

ACS 루틴 호출

IBM DFSMS는 SMC가 STKTAP1로 설정된 &ACSENVIR 변수를 사용해서 ACS 루틴을 호출하기 전에 ALLOC로 설정된 &ACSENVIR 변수를 사용해서 ACS 루틴을 호출합니다.

SMC는 다음과 같은 처리 지점에서 ACS 루틴을 호출합니다.

JES2

  • SSI55 IDAX(Interpreter/Dynamic Allocation Exit)

  • SSI24 공통 할당

  • 마운트 메시지 가로채기

JES3

  • SSI55 IDAX(Interpreter/Dynamic Allocation Exit)

  • JES3 C/I(Converter/Interpreter)

  • SSI23 JES3 동적 할당

  • JES3 MDS(Main Device Scheduler)

  • 마운트 메시지 가로채기

ACS 루틴 순서

ACS 루틴은 다음과 같은 순서로 호출됩니다.

  1. 데이터 클래스

  2. 스토리지 클래스

  3. 관리 클래스

  4. 스토리지 그룹.

관리 클래스 및 스토리지 그룹 ACS 루틴은 스토리지 클래스가 지정된 경우에만 호출됩니다.

SMC의 DFSMS ACS(자동 클래스 선택) 루틴 환경

SMC에서 이 정보를 사용할 수 있으면 SMC에서 다음과 같은 읽기 전용 변수 목록이 DFSMS에 전달됩니다. ACS 루틴에 대한 모든 호출에서 모든 변수를 사용할 수 있는 것은 아닙니다. 특히, MDS와 같이 JES3 주소 공간에서 수행되는 프로세스는 이러한 필드에 대한 값을 포함하는 MVS 제어 블록에 대한 액세스 권한을 SMS에 제공하지 않습니다. 예외사항은 각 DFSMS 인터페이스에 대한 설명을 참조하십시오.

  • &ACSENVIR(SMC 인터페이스의 경우 STKTAP1과 동일)

  • &ALLVOL

  • &ANYVOL

  • &DATACLAS

  • &DD

  • &DSORG

  • &DSN

  • &DSTYPE

  • &EXPDT

  • &FILENUM

  • &JOB

  • &LABEL

  • &LIBNAME

  • &NVOL

  • &PGM

  • &RETPD

  • &SYSNAME

  • &SYSPLEX

  • &UNIT

STKTAP1 환경에서 &ANYVOL 변수는 특정 VOLSER와 일치하는지 확인하기 위한 목적으로만 사용되며, VOL=REF 할당에 대해 REF=xx 값을 포함하지 않습니다.

&DATACLAS 필드는 JCL DD 문이 이 매개변수를 지정할 경우에 설정됩니다.

SMSDef TEMPdsn(ON)이 지정되었고 처리 중인 현재 데이터 세트가 임시 데이터 세트인 경우 &LIBNAME은 문자 3으로 설정됩니다.

DFSMS ACS 루틴이 호출되기 전에 읽기 전용 변수를 수정하기 위해 IGDACSXT 루틴이 사용자의 설치에 사용되는 경우, &ACSENVIRSTKTAP1로 설정되어 있으면 다음과 같은 변수는 초기화되었더라도 DFSMS ACS 루틴에 전달되지 않습니다.

  • &ACCT_JOB

  • &ACCT_STEP

  • &GROUP

  • &MSGVP

  • &USER

  • &XMODE

읽기 전용 변수를 사용할 때의 제약 조건에 대한 자세한 내용은 IBM 설명서 DFSMSdfp Storage Administration Reference를 참조하십시오.

MGMTCLAS 루틴 고려 사항

관리 클래스 루틴을 작성할 때는 다음을 고려하십시오.

  • 관리 클래스 루틴은 스토리지 클래스가 지정된 경우에만 호출됩니다.

  • 관리 클래스 루틴은 &ACSENVIR=’STKTAP1’ 읽기 전용 변수 값을 테스트해야 합니다. &ACSENVIR=’STKTAP1' 변수에 대해 테스트를 수행하지 않는 DFSMS 루틴을 사용하면 데이터 세트가 IBM DFSMS에서 관리되며, SMC DFSMS 인터페이스에서 사용할 수 없게 됩니다.

  • 볼륨 마운트 메시지 IEC501A 가로채기 중에 &UNIT 읽기 전용 변수에는 일반 단위 유형(예: 3490)이 포함됩니다. 따라서 &UNIT 읽기 전용 변수를 사용하는 ACS 루틴을 코딩할 때는 특히 주의해야 합니다.

  • JES3 정적 할당에 대해 DFSMS에서 실행된 메시지는 SMC GTF 추적 파일로 경로 지정됩니다.

다음 그림은 샘플 관리 클래스 루틴을 보여줍니다.

예 4-2 관리 클래스 루틴 만들기

PROC STORCLAS

IF &ACSENVIR = ’STKTAP1’ THEN
    SET &STORCLAS = ’STKSTORC’
  END
END
======================================================================
PROC MGMTCLAS

FILTLIST LOCAL INCLUDE(BACKUP*.**.,
                       PROD.BKP*.**)
FILTLIST REMOTE INCLUDE(PROD.OFFSITE.**)

  IF &ACSENVIR = ’STKTAP1’ THEN
    SELECT
    WHEN (&DSN = &LOCAL)
      SET &MGMTCLAS = ’INVTAPE’
    WHEN (&DSN = &REMOTE)
      SET &MGMTCLAS = ’OFFVTAPE’
    END
END

주:

이 예제에서 STORCLAS 루틴은 스토리지 클래스를 모든 호출에 지정합니다. 이렇게 하면 MGMTCLAS 루틴이 마운트 시에도 구동됩니다.

읽기 전용 변수의 가용성

DFSMS ACS 루틴 처리 중에 SMC는 해당 정보를 사용할 수 있는 경우 모든 읽기 전용 변수에 대해 값을 설정합니다. SMC가 ACS 루틴을 호출하는 각 프로세스에서 항상 모든 정보가 제공되지는 않습니다.

JES2

할당 시 및 마운트 시에는 IEF233A 메시지 처리 중에 SMC가 &UNIT 읽기 전용 변수를 DD 문의 UNIT= 매개변수로 지정된 값으로 설정합니다. 마운트 시에는 IEC501A 메시지 처리 중에 SMC가 &UNIT 읽기 전용 변수를 일반 단위 유형(예: 3490)으로 설정합니다.

동적 할당 중에는 DADACL 텍스트 단위를 코딩하여 &DATACLAS 값을 지정할 수 있습니다. 하지만 마운트 메시지 IEF233A를 처리할 때는 이 값이 SMC에 제공되지 않습니다.

JES3

JES3 C/I POSTSCAN 처리 중에는 다음과 같은 읽기 전용 변수가 SMC에 제공되지 않습니다.

  • &DATACLAS(JCL에 지정된 경우)

  • &EXPDT

  • &PGM

  • &RETPD

SSI23 동적 할당 처리 중에는 모든 읽기 전용 변수가 ACS 루틴에 제공됩니다.

JES3 MDS 처리 중에는 다음과 같은 읽기 전용 변수가 SMC에 제공되지 않습니다.

  • &DATACLAS(JCL에 지정된 경우)

  • &EXPDT

  • &PGM

  • &RETPD

IAT5210 마운트 메시지 처리 중에는 다음과 같은 읽기 전용 변수가 SMC에 제공되지 않습니다.

  • &DATACLAS(JCL에 지정된 경우)

  • &EXPDT

  • &PGM

  • &RETPD

  • &UNIT(원본 esoteric을 포함하지 않지만 0A10과 같은 선택한 장치 번호를 포함함)

동적 할당에 대해 마운트 메시지 IEF233A를 처리할 때는 SVC99 텍스트 단위 DADACL로 지정된 &DATACLAS 값을 사용할 수 없습니다.

마운트 메시지 IEC501A를 처리할 때 SMC가 &UNIT 읽기 전용 변수를 일반 단위 유형(예: 3490)으로 설정합니다.

주:

DFSMS에 대한 각 SMC 상호 작용은 모든 레벨의 ACS 루틴을 호출합니다. 위에 나열된 변수의 가용성은 모든 ACS 루틴에 적용됩니다.

DFSMS ACS 루틴 실행 검증

DFSMS는 올바른 ACS 루틴 실행을 검증하기 위해 다음과 같은 방법을 제공합니다.

  • ACS 루틴의 DFSMS WRITE

  • DFSMS ISMF 테스트 기능

SMC가 DFSMS ACS 루틴을 호출하면 SMC 추적이 활성 상태인 경우 DFSMS WRITE 문으로 실행되는 모든 메시지가 GTF 추적 파일로 경로 지정됩니다.

주:

  • DFSMS WRITE 문은 SSI55 IDAX(Interpreter/Dynamic Allocation Exit) esoteric 대체 단계에 대한 SYSMSG 데이터 세트에만 전송됩니다.

  • DFSMS WRITE 문은 SSI55 IDAX(Interpreter/Dynamic Allocation Exit) esoteric 대체 단계에 대한 SYSMSG 데이터 세트에만 전송됩니다.