%REPRO 拡張

%REPRO 拡張は、IDCAMS を呼び出す EXEC 文の PARM キーワードおよび PARM コマンドで指定できます。構文は次のとおりです。

%REPRO(VSAM | VSAMLAX | OSCOPY | OSCOPYLAX)
属性 一致する必要があるコマンド オプション
RECFM OSCOPY および OSCOPYLAX
DSORG OSCOPY および OSCOPYLAX
VSAM-KEY-OFFSET OSCOPY および OSCOPYLAX
VSAM-KEY-LENGTH OSCOPY および OSCOPYLAX
[LRECL] OSCOPY および OSCOPYLAX
LRECL-MAX (システム管理) OSCOPY および OSCOPYLAX
LRECL-MIN (システム管理) OSCOPY および OSCOPYLAX
CHARSET (EBCDIC または ASCII) OSCOPY
EXTENDED-TYPE (システム管理。基本のクラスター、AIX などを示す) OSCOPY
REUSE/NOREUSE OSCOPY
UNIQUEKEY/NONUNIQUEKEY (AIX および PATH 用) OSCOPY

次に例を示します。

//STEPAMS  EXEC PGM=IDCAMS,PARM=';MFE:%REPRO(OSCOPY)'
//SYSPRINT  DD SYSOUT=*
//VSAMDATA  DD *
AA
BBB
//SYSIN  DD *
  PARM ;MFE: %REPRO(VSAM)
  /* Next REPRO will use normal REPRO */ 
  REPRO  IFILE (VSAMDATA)                          -
         ODS   (MFIDSA.REPROOS.KSDS1)
  PARM ;MFE: %REPRO(OSCOPY)
  /* All REPRO(s), until another PARM command specifies –
     otherwise, will use OS copy if possible */
  REPRO  IDS   (MFIDSA.REPROOS.KSDS1)              -
         ODS   (MFIDSA.REPROOS.KSDS2)

拡張はセミコロンの後に続くため、メインフレームではコメントとして表示されます。ただし、拡張が PARM コマンドの唯一のオプションである場合、メインフレームではエラーが報告されます。この問題を回避するには、拡張以外にオプションを 1 つ以上コーディングする必要があります。たとえば、上記の例のように厳密にコーディングするのではなく、次のようにします。

PARM='MAR(2,72);MFE: %REPRO(OSCOPY)'

あるいは、次のようなコーディングも可能です。

PARM   MAR(2,72);MFE: %REPRO(OSCOPY)