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

次のコードを実行することにより、任意のコマンド ライン インターフェイスのオプションを 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

結果が返される際、Drag and Drop によって COBOL の RESULT 変数が設定されます。次の戻りコードが生成されます。

00 呼び出しが成功しました。
01 MFLSC からエラーが返されました。
14 プログラム MFLSC が見つかりません。
15 DFCONV の呼び出しに失敗しました。
48 メインフレームのメンバーが別のユーザーによってロックされています。
49 メインフレームの ABEND が発生しました。
50 データ セットへのアクセス時に動的割り当てエラーが発生しました。
51 メインフレームでオープン エラーが発生しました。
52 有効な関数に対する無効な要求が検出されました。
53 メインフレームのデータ セットで I/O エラーが発生しました。
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 無効な関数が要求されました。