PROCESS ステートメントを使用したコンパイラー・オプションの指定

PROCESS ステートメントは、ILE COBOL ソース・プログラムのオプショナルの部分です。 PROCESS ステートメントを使用して、通常はコンパイル時に指定するオプションを指定することができます。

PROCESS ステートメントで指定されたオプションは、CRTCBLMOD または CRTBNDCBL CL コマンドで指定された対応するオプションを指定変更します。

次の規則が適用されます。
  • このステートメントは、IDENTIFICATION DIVISION ヘッダーの直前にある、 新しいコンパイル単位を開始する ILE COBOL ソース・プログラムの最初のソース・ステートメントの前に置く必要があります。
  • ステートメントは PROCESS の語で始まります。 オプションは複数行にわたって指定することができますが、PROCESS という語は 1 行目だけに入れることができます。
  • 語 PROCESS およびすべてのオプションは、8 から 72 までの位置に記入する必要があります。 位置 7 はブランクのままでなければなりません。 上記以外の位置は ILE COBOL ソース・ステートメントにおける場合と同じように使用できます。 すなわち、位置 1 から 6 まではシーケンス番号、位置 73 から 80 までは識別の目的のために使用できます。
  • オプションは、ブランクまたはコンマ、あるいはその両方で区切る必要があります。
  • オプションは任意の順序で指定できます。 対立するオプションが指定された場合 (たとえば、XREF と NOXREF)、最後に検出されたオプションが優先されます。
  • オプション・キーワードは正しいが、サブオプションにエラーがある場合、デフォルトのサブオプションを指定したものと見なされます。

指定できる PROCESS ステートメントのオプション、 およびそれに相当する CRTCBLMOD または CRTBNDCBL コマンド・パラメーターとそのオプションについては、次の表を参照してください。 デフォルトには下線が付けられています。 PROCESS ステートメント・オプションの説明は CRTCBLMOD コマンドのパラメーターにあるパラメーターとオプションの説明と同じです。

注: CRTCBLMOD および CRTBNDCBL コマンドのすべてのパラメーターに、 それに対応する PROCESS ステートメントがあるとは限りません。 さらに、いくつかのオプションは、PROCESS ステートメントでのみ使用可能です。 PROCESS ステートメントにのみ使用可能なオプションについては PROCESS ステートメントのオプションを参照してください。
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
OUTPUT パラメーターのオプション

OUTPUT
NOOUTPUT

*PRINT
*NONE

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
GENLVL パラメーターのオプション
GENLVL(nn) nn
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
OPTION パラメーターのオプション

SOURCE
SRC
NOSOURCE
NOSRC

*SOURCE
*SRC
*NOSOURCE
*NOSRC

NOXREF
XREF

*NOXREF
*XREF

GEN
NOGEN

*GEN
*NOGEN

NOSEQUENCE
SEQUENCE

*NOSEQUENCE
*SEQUENCE

NOVBSUM
VBSUM

*NOVBSUM
*VBSUM

NONUMBER
NUMBER
LINENUMBER

*NONUMBER
*NUMBER
*LINENUMBER

NOMAP
MAP

*NOMAP
*MAP

NOOPTIONS
OPTIONS

*NOOPTIONS
*OPTIONS

QUOTE
APOST

*QUOTE
*APOST

NOSECLVL
SECLVL

*NOSECLVL
*SECLVL

PRTCORR
NOPRTCORR

*PRTCORR
*NOPRTCORR

MONOPRC
NOMONOPRC

*MONOPRC
*NOMONOPRC

RANGE
NORANGE

*RANGE
*NORANGE

NOUNREF
UNREF

*NOUNREF
*UNREF

NOSYNC
SYNC

*NOSYNC
*SYNC

NOCRTF
CRTF

*NOCRTF
*CRTF

NODUPKEYCHK
DUPKEYCHK

*NODUPKEYCHK
*DUPKEYCHK

NOINZDLT
INZDLT

*NOINZDLT
*INZDLT

NOBLK
BLK

*NOBLK
*BLK

STDINZ
NOSTDINZ
STDINZHEX00

*STDINZ
*NOSTDINZ
*STDINZHEX00

NODDSFILLER
DDSFILLER

*NODDSFILLER
*DDSFILLER

該当せず

*NOIMBEDERR
*IMBEDERR

STDTRUNC
NOSTDTRUNC

*STDTRUNC
*NOSTDTRUNC

CHGPOSSGN
NOCHGPOSSGN

*CHGPOSSGN
*NOCHGPOSSGN

該当せず

*NOEVENTF
*EVENTF

MONOPIC
NOMONOPIC

*MONOPIC
*NOMONOPIC

NOCRTARKIDX
CRTARKIDX

*NOCRTARKIDX
*CRTARKIDX

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
CVTOPT パラメーターのオプション

NOVARCHAR
VARCHAR

*NOVARCHAR
*VARCHAR

NODATETIME
DATETIME

*NODATETIME
*DATETIME

NOCVTPICXGRAPHIC
CVTPICXGRAPHIC
CVTPICGGRAPHIC
NOCVTPICGGRAPHIC

*NOPICXGRAPHIC
*PICXGRAPHIC
*PICGGRAPHIC
*NOPICGGRAPHIC

NOCVTPICNGRAPHIC
CVTPICNGRAPHIC

*NOPICNGRAPHIC
*PICNGRAPHIC

NOFLOAT
FLOAT

*NOFLOAT
*FLOAT

NODATE
DATE

*NODATE
*DATE

NOTIME
TIME

*NOTIME
*TIME

NOTIMESTAMP
TIMESTAMP

*NOTIMESTAMP
*TIMESTAMP

NOCVTTODATE
CVTTODATE

*NOCVTTODATE
*CVTTODATE

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
OPTIMIZE パラメーターのオプション

NOOPTIMIZE
BASICOPT
FULLOPT
NEVEROPTIMIZE

*NONE
*BASIC
*FULL
*NEVER

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
FLAGSTD パラメーターのオプション

NOFIPS
MINIMUM
INTERMEDIATE
HIGH

*NOFIPS
*MINIMUM
*INTERMEDIATE
*HIGH

NOOBSOLETE
OBSOLETE

*NOOBSOLETE
*OBSOLETE

PROCESS ステートメントのオプション EXTDSPOPT(a b c) CRTCBLMOD/CRTBNDCBL
EXTDSPOPT パラメーターのオプション

DFRWRT
NODFRWRT

*DFRWRT
*NODFRWRT

UNDSPCHR
NOUNDSPCHR

*UNDSPCHR
*NOUNDSPCHR

ACCUPDALL
ACCUPDNE

*ACCUPDALL
*ACCUPDNE

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
FLAG パラメーターのオプション
FLAG(nn) nn
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
LINKLIT パラメーターのオプション

LINKPGM
LINKPRC

*PGM
*PRC

PROCESS ステートメントのオプション SRTSEQ(a) CRTCBLMOD/CRTBNDCBL
SRTSEQ パラメーターのオプション

HEX
JOB
JOBRUN
LANGIDUNQ
LANGIDSHR
"LIBL/ソート順序テーブル名"
"CURLIB/ソート順序テーブル名"
"ライブラリー名/ソート順序テーブル名"
"ソート順序テーブル名"

*HEX
*JOB
*JOBRUN
*LANGIDUNQ
*LANGIDSHR
*LIBL/ソート順序テーブル名
*CURLIB/ソート順序テーブル名
ライブラリー名/ソート順序テーブル名
ソート順序テーブル名

PROCESS ステートメントのオプション LANGID(a) CRTCBLMOD/CRTBNDCBL
LANGID パラメーターのオプション

JOBRUN
JOB
"言語 ID 名"

*JOBRUN
*JOB
言語 ID 名

PROCESS ステートメントのオプション ENBPFRCOL(a) CRTCBLMOD/CRTBNDCBL
ENBPFRCOL パラメーターのオプション

PEP
ENTRYEXIT
FULL

*PEP
*ENTRYEXIT
*FULL

PROCESS ステートメントのオプション PRFDTA(a) CRTCBLMOD/CRTBNDCBL
PRFDTA パラメーターのオプション

NOCOL
COL

*NOCOL
*COL

PROCESS ステートメントのオプション CCSID(a b c d) CRTCBLMOD/CRTBNDCBL
CCSID パラメーターのオプション
a = ロケールの 1 バイト・データ CCSID

JOBRUN
JOB
HEX
コード化文字セット ID

*JOBRUN
*JOB
*HEX
コード化文字セット ID

b = 非ロケールの 1 バイト・データ CCSID

CCSID
(上の “a” に指定されている CCSID を使用する)
JOBRUN
JOB
HEX
コード化文字セット ID

該当せず
c = 非ロケール 2 バイト・データ CCSID

CCSID
(上の “a” に指定されている CCSID を使用する)
JOBRUN
JOB
HEX
コード化文字セット ID

該当せず
d = XML GENERATE 1 バイトまたはユニコードのデータ出力 CCSID  

JOBRUN
CCSID
(上の “a” に指定されている CCSID を使用する)
JOB
HEX
コード化文字セット ID

該当せず
PROCESS ステートメントのオプション NTLCCSID(a) CRTCBLMOD/CRTBNDCBL
NTLCCSID パラメーターのオプション

13488
コード化文字セット ID

13488
コード化文字セット ID

PROCESS ステートメントのオプション DATTIM(a b) CRTCBLMOD/CRTBNDCBL

4 桁の基本年 (デフォルトは 1900)
2 桁の基本年 (デフォルトは 40)

該当せず
PROCESS ステートメントのオプション THREAD(a) CRTCBLMOD/CRTBNDCBL

NOTHREAD
SERIALIZE

該当せず
PROCESS ステートメントのオプション    ARITHMETIC(a) CRTCBLMOD/CRTBNDCBL
ARITHMETIC パラメーターのオプション

NOEXTEND
EXTEND31
EXTEND31FULL
EXTEND63

*NOEXTEND
*EXTEND31
*EXTEND31FULL
*EXTEND63

PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL

NOGRAPHIC
GRAPHIC

該当せず
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL

NONATIONAL
NATIONAL
NATIONALPICNLIT

該当せず
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL

NOLSPTRALIGN
LSPTRALIGN

該当せず
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL

NOCOMPASBIN
COMPASBIN

該当せず
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL
DBGVIEW パラメーターのオプション

NOCOMPRESSDBG
COMPRESSDBG

*NOCOMPRESSDBG
*COMPRESSDBG

PROCESS ステートメントのオプション OPTVALUE(a) CRTCBLMOD/CRTBNDCBL

NOOPT
OPT

該当せず
PROCESS ステートメントのオプション CRTCBLMOD/CRTBNDCBL

NOADJFILLER
ADJFILLER

該当せず

NOCHGFLTRND
ALWCHGFLTRND

該当せず
PROCESS ステートメントのオプション NTLPADCHAR(a b c) CRTCBLMOD/CRTBNDCBL
NTLPADCHAR パラメーターのオプション
a = 1 バイト文字から国別文字へ移動する場合の埋め込み文字

NX"0020"
1 つの国別文字を示す
国別 16 進リテラル

NX"0020"
国別文字

b = 2 バイト文字から国別文字へ移動する場合の埋め込み文字

NX"3000"
1 つの国別文字を示す
国別 16 進リテラル

NX"3000"
国別文字

c = 国別文字から国別文字へ移動する場合の埋め込み文字

NX"3000"
1 つの国別文字を示す
国別 16 進リテラル

NX"3000"
国別文字

PROCESS ステートメントのオプション LICOPT(a) CRTCBLMOD/CRTBNDCBL
LICOPT パラメーターのオプション
ライセンス内部コード・オプション・ストリング ライセンス内部コード・オプション・ストリング
PROCESS ステートメントのオプション PGMINFO(a b) CRTCBLMOD/CRTBNDCBL
PGMINFO パラメーターのオプション
a = 生成されるプログラム・インターフェース情報

NOPGMINFO
PCML

*NO
*PCML

b = 生成されたプログラム情報のロケーション

MODULE

*STMF
*MODULE
*ALL

PROCESS ステートメントのオプション STGMDL(a) CRTCBLMOD
STGMDL パラメーターのオプション

INHERIT
SNGLVL
TERASPACE

*INHERIT
*SNGLVL
*TERASPACE

PROCESS ステートメントのオプション STGMDL(a) CRTBNDCBL
STGMDL パラメーターのオプション

SNGLVL
INHERIT
TERASPACE

*SNGLVL
*INHERIT
*TERASPACE

PROCESS ステートメントのオプション ACTGRP(a) CRTBNDCBL
ACTGRP パラメーターのオプション

STGMDL
NEW
CALLER
'活動化グループ名'

*STGMDL
*NEW
*CALLER
活動化グループ名

PROCESS ステートメントの EXTDSPOPT、SRTSEQ、LANGID、ENBPFRCOL、 PRFDTA、CCSID、DATTIM、ARITHMETIC、THREAD、NTLCCSID、STGMDL、ACTGRP、 および PGMINFO オプションは、FLAG(nn) 構文と同様に、 関連オプションを括弧に入れてコーディングする必要があります。

EXTDSPOPT オプションの括弧内には複数のオプションを指定できます。 たとえば、DFRWRT と UNDSPCHR を指定するには、次のように入力します。
EXTDSPOPT(DFRWRT UNDSPCHR)

EXTDSPOPT または EXTDSPOPT( ) という指定も有効です。

PROCESS ステートメントで EXTDSPOPT だけが指定される場合、追加オプションのすべてのデフォルト値が有効になります。

EXTDSPOPT( ) を指定しても、プログラムに影響はありません。

DATTIM、CCSID、および PGMINFO 処理ステートメントのオプションでは、それぞれの括弧内に複数の値を入れることができます。 これらのオプションでは、括弧内の値の順序は意味を持ちます。 たとえば、DATTIM オプションには値が 2 つあります。 最初の値は基本世紀で、2 つ目は基本年です。 これは、基本年を指定するためには基本世紀を指定する必要があるということを意味しています。