エラーコードと対応方法
本付録では、OpenFrame ASMの実行中に発生するエラーコードと対応方法について説明します。
1. ランタイム・エラー
1.1. VMシステム関連のエラー
CANNOT FIND LOADABLE PROGRAM. [PROGRAM NAME] (3000)
説明 |
プログラムが見つからないか、ロードされたプログラムが存在しません。 |
対応方法 |
プログラムの場所を確認します。 |
EXTERNAL SYMBOL NOT FOUND. [SYMBOL NAME] (3001)
説明 |
外部シンボルが見つからないか、対象シンボルをロードできない場合です。 |
対応方法 |
プログラム内で参照するシンボルが他のプログラムに存在していないか確認します。 |
OPCODE NOT SUPPORTED. [HEX] (3004)
説明 |
サポートしていないOPCODEです。 |
対応方法 |
このエラーの原因はさまざまですが、一般的に間違ったアドレスでBRANCHした場合に発生することが多いです。 |
ODD REGISTER FOUND. MUST USE EVEN REGISTER. (3007)
説明 |
EVEN-ODDレジスタを使用する機械語命令の形式が正しくありません。 |
対応方法 |
この機械語命令には偶数レジスタのみを使用できます。 |
DIVIDE WITH ZERO ERROR. (3008)
説明 |
0(ゼロ)で除算できません。 |
対応方法 |
0で除算することはできません。除数(divisor)の値を確認してください。 |
INVAILD STOW OPTION. (3009)
説明 |
無効なSTOWオプションです。 |
対応方法 |
STOW(SVC21)は、レジスタ1番と0番の値が正、負、0の5つの組み合わせのみを許しています。各レジスタにロードされた値を確認してください。 |
DATA EXCEPTION: INVALID PACKED DATA. [MESSAGE] (3010)
説明 |
パック・データの形式が正しくありません。 |
対応方法 |
パック10進数の演算中に入力値の形式が正しくない場合です。入力値の形式を確認してください。 |
ENTRY NOT FOUND IN THE PROGRAM. [ENTRY NAME] (3013)
説明 |
プログラムのエントリが見つかりません。 |
対応方法 |
プログラム・パス、エントリ、コンパイルの状態を確認してください。 |
OFASM VM LAUNCH FAILED. AT LEAST [VM MEMORY SIZE]MB OF MEMORY SHOULD BE AVAILABLE TO LANUNCH OFASM VM. (3014)
説明 |
VMの起動に失敗しました。 |
対応方法 |
configファイルに定義されているVM_MEMORY_SIZEと同じメモリ容量が必要です。利用可能なメモリを確保してからVMを再実行します。 |
FIXED-POINT-DIVIDE EXCEPTION. (3015)
説明 |
パック10進数の演算中に固定小数点除算例外が発生しました。 |
対応方法 |
機械語命令の入力値を確認してください。 |
SVC40: FIELDS NOT SUPPORTED. [SVC40 FIELDS FLAG] (3016)
説明 |
SVC40[EXTRACT]がサポートしていないフィールドが要求されました。 |
対応方法 |
EXTRACTの要求フィールドを確認します。詳細については、TmaxSoftのテクニカルサポートにお問い合わせください。 |
SPECIFICATION EXCEPTION. (3017)
説明 |
SRST仕様エラーです。最初のレジスタ(32ビット)の0〜23ビットの位置が0以外の場合に発生します。 |
対応方法 |
SRST機械語命令の入力値を確認してください。 |
TESTCB: FIELDS NOT SUPPORTED. [TESTCB FIELDS FLAG] (3018)
説明 |
TESTCB ACBがサポートしていない仕様が見つかった場合です。 |
対応方法 |
TEST ACBでサポートされる仕様を確認します。詳細については、TmaxSoftのテクニカルサポートにお問い合わせください。 |
SHOWCB: VSAM DATASET IS NOT OPENED. (3019)
説明 |
SHOWCB ACBの対象データセットがオープンされていない場合です。 |
対応方法 |
ACBの状態を確認してください。 |
SVC27: TDCB_ERROR, [MESSAGE]. ERROR_CODE: [OPENFRAME ERROR CODE] (3020)
説明 |
SVC27の実行中にDCB関連のエラーが発生した場合です。 |
対応方法 |
CAMLST(SVC27)の実行中に発生したDCB関連のエラーです。[MESSAGE]を参照してください。ERRCODEとして出力される値は、OpenFrameのエラーコードです。 |
PARAMETER HAVE NULL VALUE. (3021)
説明 |
パラメータにNULL値が含まれています。 |
対応方法 |
OFASMインターフェースに渡されたパラメータのうち、NULL値が含まれているパラメータが存在する場合です。インターフェースが正しく作成されているか確認し、パラメータに問題がないか確認してください。 |
INVALID PCB MASK ADDRESS. (3028)
説明 |
PCBマスク・アドレスが正しくない場合に発生します。 |
対応方法 |
対象パラメータがPCBでないか、またはインターフェースが誤って作成された場合です。 |
NULL PTR DETECTED: [MESSAGE] (3029)
説明 |
OPEN(SVC19)の対象がDCB/ACBでない場合に発生します。 |
対応方法 |
オープンの対象がDCB/ACBでない場合です。コードが正しく作成されているかどうかを確認します。 |
NOT SUPPORT AMODE 64: [INSTRUCTION NAME] (3030)
説明 |
機械語命令が64ビットAMODEをサポートしていない場合です。 |
対応方法 |
OFASMでは、64ビットAMODEへの変換はサポートしていません。 |
HFP exponent underflow: (3031)
説明 |
小数点演算中にアンダーフロー例外が発生しました。 |
対応方法 |
入力値が正しくない場合です。小数点演算のオペランド値を確認してください。 |
HFP exponent overflow: (3032)
説明 |
小数点演算中にオーバーフロー例外が発生しました。 |
対応方法 |
入力値が正しくない場合です。小数点演算のオペランド値を確認してください。 |
HFP significance. (3033)
説明 |
小数点演算中に有効数字例外が発生しました。 |
対応方法 |
入力値が正しくない場合です。小数点演算のオペランド値を確認してください。 |
Invalid access occured. [MESSAGE] (3036)
説明 |
機械語命令に正しくない値が渡された場合に発生します。 |
対応方法 |
[MESSAGE]として表示される機械語命令のオペランド値を確認してください。 |
Target [MESSAGE] addr is over 16MB: [HEX] (3038)
説明 |
[MESSAGE]の対象アドレスが16MB領域を超える場合に発生します。 |
対応方法 |
この機能は、31ビット領域に位置するデータに対しては動作しません。対象データが位置する領域を24ビット領域に変更してください。 |
REQUESTED GETMAIN SIZE IS TOO BIG: [HEX] (3039)
説明 |
GETMAINのサイズが大きすぎる場合に発生します。 |
対応方法 |
要求メモリのサイズを小さくします。 |
STACK CORRUPTED. 24 BIT HEAP AREA OVERFLOWED STACK AREA (3040)
説明 |
24ビットのメモリ領域が不足しています。 |
対応方法 |
要求メモリのサイズを小さくするか、割り当てられているメモリを解放します。 |
MEMORY CORRUPTED. 31 BIT HEAP AREA OVERFLOWED VM AREA (3041)
説明 |
31ビットのメモリ領域が不足しています。 |
対応方法 |
要求メモリのサイズを小さくするか、割り当てられているメモリを解放します。 |
TRYING TO ACCESS PROTECTED ADDRESS = [Addr: [HEX], Size: [NUMBER]] (3042)
説明 |
VMメモリ外の領域にアクセスしようとしています。 |
対応方法 |
OFASMVMでは、VMメモリ外の領域にはアクセスできません。参照するメモリ・アドレスを確認してください。 |
1.2. データセットI/O関連のエラー
DDNAME SHOULDN’T HAVE NULL CHARACTER (4000)
説明 |
DDNAMEにNULL文字が含まれています。 |
対応方法 |
DDNAMEまたは対象のDCBを確認してください。 |
DSORG NOT FOUND (4001)
説明 |
DCB内のDSORG値が見つかりません。 |
対応方法 |
DCB内のDSORG値が省略されているか、サポートされない仕様の場合です。TmaxSoftのテクニカルサポートにお問い合わせください。 |
RECFM NOT FOUND (4002)
説明 |
DCB内のRECFM値が見つかりません。 |
対応方法 |
DCB内のRECFM値が省略されているか、サポートされない仕様の場合です。TmaxSoftのテクニカルサポートにお問い合わせください。 |
RECFM_STRING IS NOT IMPLEMENTED (4003)
説明 |
オープン中にOFASMでサポートされていないRECFM値が見つかりました。 |
対応方法 |
OFASMでサポートされていない仕様である可能性があります。TmaxSoftのテクニカルサポートにお問い合わせください。 |
DD NOT FOUND IN SVC [NUMBER]. DDNAME([STRING]) (4005)
説明 |
SVCの実行中に指定されたDDNAMEが指すDDが見つかりません。 |
対応方法 |
DDNAMEがJCLに正しく記述されているか確認してください。 |
DSIO ERROR IN SVC [NUMBER]. DSIO([NUMBER]), DDNAME([STRING]), DSNAME([STRING]), ERRCODE([NUMBER]) (4006)
説明 |
SVC[NUMBER]を実行中にエラーが発生しました。 |
対応方法 |
[DDNAME]または[DSNAME]が指すデータセットに対してOpenFrameエラーが発生した場合です。エラーの詳細については、OpenFrameのエラーコードを参照してください。 |
DATASET IS CLOSED WITH LOCK ERROR IN SVC 19. DDNAME([STRING]), DSNAME([STRING]) (4007)
説明 |
DDNAME/DSNAMEが指すデータセットがLOCK状態でクローズされました。 |
対応方法 |
DDNAME/DSNAMEが指すデータセットの状態を確認し、LOCK状態の場合はLOCKを解除してからオープンしてください。 |
NOT SUPPORT VSAM TYPE IN INIT ([NUMBER]) (4008)
説明 |
サポートするVSAMデータセットではありません。 |
対応方法 |
VSAMデータセットのタイプを確認してください。 |
dsio_batch_write() ERROR. DDNAME([STRING]), HANDLE([NUMBER]), ERRCODE([NUMBER]) (4009)
説明 |
PUTマクロでエラーが発生しました。 |
対応方法 |
ERRCODEは、OpenFrameのエラーコードを参照してください。 |
dsio_batch_read2() ERROR. DDNAME([STRING]), HANDLE([NUMBER]), ERRCODE([NUMBER]) (4010)
説明 |
GETマクロでエラーが発生しました。 |
対応方法 |
ERRCODEは、OpenFrameのエラーコードを参照してください。 |
LRECL IS NOT SPECIFIED IN DCB OR IN CATALOG (4011)
説明 |
アセンブラコード、JCL、カタログ情報のどこにもレコード長が記述されていません。 |
対応方法 |
DCBが指すデータセットのレコード長が正しいか確認してください。 |
INVALID ACCESS MODE ERROR IN SVC 19. DDNAME([STRING]), DSNAME([STRING]) (4013)
説明 |
OPEN(SVC19)でサポートされていないアクセス・モードです。 |
対応方法 |
OPENモードを確認し、サポートされていない仕様については、TmaxSoftのテクニカルサポートにお問い合わせください。 |
I/O SIZE NOT SET WHILE WRITING PS DATASET (4014)
説明 |
PSデータセットの書き込み中に指定された長さが見つからない場合です。 |
対応方法 |
DSORG=PSの書き込み時に長さの値が正しく指定されているか確認します。 |
NOT SUPPORTED TYPE FOR WRITE: ([NUMBER]) (4016)
説明 |
サポートしていないWRITEマクロ・オプションです。 |
対応方法 |
WRITEマクロの使用中にサポートされていないオプションです。TmaxSoftのテクニカルサポートにお問い合わせください。 |
I/O REQUEST SIZE FOR DA DATASET IS NOT EQUAL TO BLKSIZE (4017)
説明 |
DSORG=DAの読み書き(READ/WRITE)時にLRECLのサイズとBLKSIZEが異なる場合です。 |
対応方法 |
DSORG=DAデータセットのLRECL値とBLKSIZEが同じかどうかを確認します。 |
dsio_batch_write() ERROR IN WRITE. DDNAME([STRING]), HANDLE([NUMBER]), ERRCODE([NUMBER]) (4018)
説明 |
WRITEマクロでエラーが発生しました。 |
対応方法 |
ERRCODEは、OpenFrameのエラーコードを参照してください。 |
WRITE: PO DATASET I/O REQUEST SIZE MUST BE MULTIPLES OF LRECL (I/O REQUEST SIZE = N*LRECL) (4019)
説明 |
POデータセットのLRECLがBLKSIZEの整数倍ではありません。 |
対応方法 |
POデータセットの書き込み時にBLKSIZEをLRECLの整数倍に調整します。 |
dsio_batch_read2() ERROR IN READ. DDNAME([STRING]), HANDLE([NUMBER]), ERRCODE([NUMBER]) (4020)
説明 |
READマクロでエラーが発生しました。 |
対応方法 |
ERRCODEは、OpenFrameのエラーコードを参照してください。 |
DATASET READ EOF. DDNAME([STRING]) (4021)
説明 |
READマクロからEOFを読み取りましたが、EODADルーチンが定義されていません。 |
対応方法 |
EODADルーチンを指定するか、CHECKマクロを使用して検知または無視することもできます。 |
NOT SUPPORT I/O OPERATION (4025)
説明 |
サポートされていないI/O操作です。 |
対応方法 |
データセットがそのマクロをサポートしていない場合です。 |
KEY IS NOT SPECIFIED IN DELETE OPERATION. (4026)
説明 |
ERASEマクロを使用してVSAM KSDSデータセット・レコードの削除を要求した際、KEY値が省略された場合です。 |
対応方法 |
ERASEマクロに使用されるKEY値を確認してください。 |
THE LAST I/O STATEMENT WAS NOT A READ STATEMENT. (4027)
説明 |
ERASEマクロを使用してデータセット・レコードの削除を要求した際、最後のI/OステートメントがGETでない場合に発生します。 |
対応方法 |
ERASEマクロを使用する場合は、GETを使用してからERASEマクロを使用する必要があります。ロジックを確認してください。 |
DELETE OPERATION IS NOT ALLOWED. (4028)
説明 |
ERASEマクロのターゲットVSAMがOUTPUTモードでオープンされました。 |
対応方法 |
ERASEマクロのターゲットVSAMは、INモードでオープンされる必要があります。ターゲットACBのオープン・モードを確認してください。 |
INVALID TARGET DSORG. DDNAME([STRING]), [STRING] (4029)
説明 |
SETLマクロのターゲット・データセットのDSORGがISとして定義されていません。 |
対応方法 |
SETLマクロのターゲット・データセットのDSORGをISに設定します。 |
SETL OPTION IS NOT SUPPORTED: [HEX] (4030)
説明 |
サポートされていないSETLオプションです。 |
対応方法 |
TmaxSoftのテクニカルサポートにお問い合わせください。 |
NOT SUPPORT MACRF FLAG ([HEX]). DDNAME([STRING]) (4031)
説明 |
DDに対してサポートされていないMACRFオプションです。 |
対応方法 |
TmaxSoftのテクニカルサポートにお問い合わせください。 |
INVALID KEY. DDNAME([STRING]), ERRCODE([NUMBER]). (4032)
説明 |
ISAMを読み取る際、入力されたKEY値に対応するレコードが見つかりません。 |
対応方法 |
要求されたKEY値がデータセット内に存在するかどうかを確認します。 |
NOT SUPPORTED FEATURE RECOGNIZED IN DATASET I/O. [MESSAGE] (4033)
説明 |
[MESSAGE]に該当する内容はサポートされていません。 |
対応方法 |
サポートされていないデータセットI/Oオプションです。詳細については、TmaxSoftのテクニカルサポートにお問い合わせください。 |
BLKSIZE MUST BE EQUAL TO MULTIPLES OF LRECL. DDNAME([STRING]) (4034)
説明 |
[DDNAME]に対応するデータセットのBLKSIZEがLRECLのN倍ではありません。 |
対応方法 |
ISAMデータセットの読み書き(READ/WRITE)時に発生する可能性があります。BLKSIZEがLRECLの倍数になるように調整します。 |
TRYING TO OPEN DATASET AGAIN. DDNAME([STRING]) IS ALREADY OPENED. (4035)
説明 |
すでにオープンされているデータセットを再びオープンしようとする場合、2回目のオープンは無視されます。 |
対応方法 |
同じデータセットを複数回オープンすることはできません。操作を確認してください。 |
FAILED GETTING DCB INFO WITH ERRCODE([NUMBER]) (4036)
説明 |
NVSAMファイルのRECFMとDSORGの情報を取得できません。 |
対応方法 |
NVSAMファイルが正しく定義されているか確認します。 |
NOT SUPPORTED RECFM ([DSNAME]:[RECFM]) (4037)
説明 |
RDJCFBのうち、NVSAMファイルのRECFMカタログ情報を取得しましたが、OFASMではサポートされていません。 |
対応方法 |
OpenFrameではサポートしているRECFMですが、OFASMではサポートされていません。TmaxSoftのテクニカルサポートにお問い合わせください。 |
NOT SUPPORTED DSORG ([DSNAME]:[DSORG]) (4038)
説明 |
NVSAMファイルのDSORGカタログ情報を取得しましたが、OFASMではサポートされていません。 |
対応方法 |
OpenFrameではサポートしているDSORGですが、OFASMではサポートされていません。TmaxSoftのテクニカルサポートにお問い合わせください。 |
BAD REQUEST WHEN FETCHING DISP INFORMATION (4039)
説明 |
RDJCFBのうち、データセットのDISP情報を取得できませんでした。 |
対応方法 |
RDJFCBのターゲット・データセットが正しいかどうか確認します。 |
INPUT RECORD LENGTH FOR V RECFM MUST BE GREATER THAN 4. CURRENT: [LENGTH] (4040)
説明 |
可変長レコードをPUTするとき、RDWの値が4より小さい場合に発生します。 |
対応方法 |
可変長レコードにPUTマクロを使用する場合、RDWの値は4より大きくなければなりません。値を確認してください。 |
LERAD NOT DEFINED WITH ERRCODE([NUMBER]). (4500)
説明 |
VSAM I/O処理中に論理エラーが発生しましたが、LERADルーチンが定義されていないため、そのエラーは無視されます。 |
対応方法 |
EXLSTマクロを使用してLERADルーチンを定義します。 |
SYNAD NOT DEFINED WITH ERRCODE([NUMBER]). (4501)
説明 |
VSAM I/O処理中にシステム・エラーが発生しましたが、SYNADルーチンが定義されていないため、そのエラーは無視されます。 |
対応方法 |
EXLSTマクロを使用してSYNADルーチンを定義します。 |
VSAM I/O ERR OCCURED WITH ERRCODE([NUMBER]). (4502)
説明 |
VSAM I/O処理中に未分類のエラーが発生しました。 |
対応方法 |
OpenFrameのエラーコードを参照してください。 |