コマンド ラインのアプリケーション プログラム インターフェイスの使用

次のコードを実行することにより、任意のコマンド ライン インターフェイスのオプションを COBOL プログラム内から呼び出すことができます。コマンド ラインの呼び出しに、C などの別のプログラミング言語を使用することもできます。

IDENTIFICATION DIVISION. 
PROGRAM-ID. TESTCLIX. 
ENVIRONMENT DIVISION. 
CONFIGURATION SECTION. 
SOURCE-COMPUTER.   IBM-PC. 
OBJECT-COMPUTER.   IBM-PC. 
DATA DIVISION. 
WORKING-STORAGE SECTION. 
01 RESULT          PIC X      COMP-X. 
01 FUNC            PIC X      COMP-X VALUE 35. 
01 COMMAND. 
   05 LEN          PIC X      COMP-X VALUE 10. 
   05 PGM          PIC X(10) VALUE 'MFDAS.EXE'. 
PROCEDURE DIVISION. 
   DISPLAY "DIR PDS CSI01.JPD.CNTL" UPON COMMAND-LINE 
   CALL X'91' USING RESULT FUNC COMMAND 
   IF RESULT = 0 
*>    EXECUTE SUCCESSFUL CODE HERE 
   END-IF

結果が返されるときには、MFDAS コマンド ラインによって COBOL の RESULT 変数が設定されます。次の戻りコードが生成されます。

00
呼び出しが成功しました。
01
MFLSC からエラーが返されました。
14
プログラム MFLSC が見つかりません。
15
DFCONV の呼び出しに失敗しました。
48
メインフレームのメンバーが別のユーザーによってロックされています。
49
メインフレームの ABEND が発生しました。
50
データ セットへのアクセス時に動的割り当てエラーが発生しました。
51
メインフレームでオープン エラーが発生しました。
52
有効な関数に対する無効な要求が検出されました。
53
メインフレームのデータ セットで入出力エラーが発生しました。
54
メインフレームに無効なサブコードが渡されました。
55
メインフレームのプログラムでロード エラーが検出されました。
56
レコード レベルの長さエラーが検出されました。
57
一般セキュリティ エラーが検出されました。
58
ハッシュ コードの不一致が検出されました。
59
リモート実行が失敗しました。
60
JES スプール ファイルは出力ファイルではありません。
61
JES スプール ファイルは保留された出力ファイルではありません。
100
呼び出しの構文エラーです。
125
アクティブな同時ユーザーが多すぎます。
139
レコード長が大きすぎます。
218
DCB はサポートされていません。通常は、RECFM=U を使用しようとすると発生します。
219
メインフレームのロード ライブラリが APF 許可ライブラリではありません。
220 から 241
SAF セキュリティの各種の戻りコードです。
242
使用しているコンポーネントはメインフレームでアクティブになっていません。
243
指定されたファイルをワークステーションに書き込めません。
244
指定されたファイルをワークステーションから読み取れません。
245
カタログ検索でエラーが検出されました。
246
カタログ検索の結果がありませんでした。
247
FHREDIR.CFG 内に /F MFENDDRV* 文がありませんでした。
248
FHREDIR.CFG 内に /F MFLSCDRV* 文がありませんでした。
249
ファイル FHREDIR.CFG が見つかりませんでした。
250
通信障害が発生しました。
251
ファイルが正の長さになっていません。
252
無効なマスクが指定されました。
253
ローカル アクセス マスクが指定されていません。
254
ローカル アクセス モードが設定されていません。
255
無効な関数が要求されました。