uCosminexus Batch Job Execution Server 使用の手引

解説・手引・文法・操作書

3000-3-E02-E0

前書き

対象製品

P-1M12-A191 uCosminexus Batch Job Execution Server 09-02（適用OS：AIX）

P-8112-A191 uCosminexus Batch Job Execution Server 09-02（適用OS：Red Hat Enterprise Linux Server 6（32-bit x86），Red Hat Enterprise Linux Server 6（64-bit x86_64），Red Hat Enterprise Linux Server 7（64-bit x86_64））

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，Cosminexus，EUR，JP1，uCosminexusは，株式会社 日立製作所の商標または登録商標です。

AMDは，Advanced Micro Devices, Inc.の商標です。

IBM，AIXは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

IBM，AIX 5Lは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。

Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標もしくは商標です。

UNIXは，The Open Groupの米国ならびに他の国における登録商標です。

Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2016年 10月　3000-3-E02-E0

著作権

All Rights Reserved. Copyright (C) 2007, 2016, Hitachi, Ltd.

変更内容

変更内容（3000-3-E02-E0）　uCosminexus Batch Job Execution Server 09-02

追加・変更内容

変更個所

JOBLOGの出力形式にAJSJOBNAMEを追加した。

3.1.3(2)(b)

一時ファイルを作成するディレクトリをジョブ定義XMLファイルで指定できるようにした。

3.4.4(2)，3.4.4(3)，3.4.5(2)，3.4.5(4)，4.11，表8-1，TEMP_FILE_DIR_XML_USE

ディレクトリに対する排他/共用制御で，ディレクトリ配下のファイルおよびディレクトリを再帰的に排他/共用制御するか指定できるようにした。

3.13.2，表8-1，LOCK_DIR_RECURSIVE

スプールジョブ保管時のディレクトリ名を変更できるようにした。

3.16，表8-1，SPOOL_STORE_DIRNAME

bjexu_ismutおよびbjexu_ismut64でのファイルの複写と変換を高速化できるようにした。

3.18.8(1)(f)，3.21.3

bjexcollectコマンドでJP1独自のhosts情報を指定できるようにした。

付録C.5

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，バッチジョブ実行システムの機能，および操作方法について説明したものです。

対象読者

UNIXおよびJP1/AJSの知識がある方を前提とし，バッチジョブの運用をオープンシステムで実現するシステムを構築したい方を対象としています。

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

なお，このマニュアルは，AIX，Linuxの各OSに共通のマニュアルです。OSごとに差異がある場合は，本文中でそのつど内容を書き分けています。

第1章　概要

バッチジョブ実行システムの導入の目的，特長，前提条件，および全体構成について説明しています。

第2章　インストール

バッチジョブ実行システムのインストールの準備と手順，および見積もりについて説明しています。

第3章　機能

バッチジョブ実行システムの機能について説明しています。

第4章　運用

バッチジョブ実行システムの運用について説明しています。

第5章　操作

バッチジョブ実行システムとJP1プログラムやPrinfina MANAGER SPおよびPDE（PRINT DATA EXCHANGE）を連携して使用するための，設定および操作方法について説明しています。

第6章　障害対策

バッチジョブ実行システムに必要な障害対策について説明しています。

第7章　コマンド

バッチジョブ実行システムのコマンドについて説明しています。

第8章　設定ファイル

バッチジョブ実行システムの設定ファイルについて説明しています。

第9章　ジョブ定義XMLファイル

バッチジョブ実行システムのジョブ定義XMLファイルについて説明しています。

第10章　メッセージと終了コード

バッチジョブ実行システムが出力するメッセージおよび終了コードについて説明しています。

付録A　ジョブ定義XMLファイル仕様

ジョブ定義XMLファイルのXML仕様について説明しています。

付録B　プロセス一覧

バッチジョブ実行システムのプロセス一覧について説明しています。

付録C　bjexcollectコマンド（障害調査のための資料の一括収集）

bjexcollectコマンドについて説明しています。

付録D　メッセージ制御機能のエラー情報

メッセージ制御機能のエラー情報について説明しています。

付録E　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報について説明しています。

付録F　用語解説

このマニュアルで使用する用語について説明しています。

読書手順

このマニュアルは，利用目的に合わせて章を選択して読むことができます。利用目的別にお読みいただくことをお勧めします。

マニュアルを読む目的

記述個所

バッチジョブ実行システムの概要について知りたい。

1章

バッチジョブ実行システムのインストールについて知りたい。

2章

バッチジョブ実行システムの機能について知りたい。

3章

バッチジョブ実行システムの運用について知りたい。

4章

バッチジョブ実行システムの操作について知りたい。

5章

バッチジョブ実行システムの障害対策について知りたい。

6章

バッチジョブ実行システムのコマンドについて知りたい。

7章

バッチジョブ実行システムの設定ファイルについて知りたい。

8章

バッチジョブ実行システムのジョブ定義XMLファイルについて知りたい。

9章

バッチジョブ実行システムのメッセージについて知りたい。

10章

ジョブ定義XMLファイル仕様，プロセス一覧，bjexcollectコマンド，メッセージ制御機能のエラー情報，このマニュアルの参考情報，または用語解説について知りたい。

付録

図中で使用する記号

このマニュアルの図中で使用する記号を，次のように定義します。

このマニュアルで使用している記号

このマニュアルの文法説明で使用する記号を次に示します。

記号

意味

［　］

［　］で囲まれている項目は，任意に指定できる（省略してもよい）。

複数の項目が記述されている場合，すべてを省略するか，どれか1つを選択する。

例

［A］

「何も指定しない」か「Aを指定する」ことを示す。

［B｜C］

「何も指定しない」か「BまたはCを指定する」ことを示す。

＜ ＞

各項目を記述するときに従わなくてはならないシンタクス記号を示す。

｛　｝

この記号で囲まれている複数の項目の中から，一組の項目を必ず選択する。項目と項目の区切りは「｜」で示す。

例

｛A｜B｜C｝

　「A，B，またはCのどれかを必ず指定する」ことを示す。

｜

(ストローク）

複数の項目に対し，項目間の区切りを示し，「または」の意味を示す。

例

「A｜B｜C」

　「A，BまたはC」を示す。

＋

この記号の直前に示された項目を繰り返して複数指定ができる。

例

｛A｜B｝＋

　「AまたはBを任意の順序で1つ以上指定する」ことを示す。

＊

この記号の直前に示された項目を指定しないか，繰り返して複数指定ができる。

例

「｛A｜B｝＊」は，「AまたはBを指定しないか，任意の順序で1つ以上指定する」ことを示す。

〜

この記号の直前に示されている項目を，この記号に続く＜　＞，《　》，((　))などの文法規則に従って記述する必要があることを示す。

《　》

項目を省略したときにシステムがとる仮定値を示す。

((　))

指定できる値の範囲を示す。

((n文字))と記述している場合，特に説明がない限り，1バイトコードの文字で定義できる文字数を意味する（n：整数）。

＿（下線）

選択記号で囲まれている項目を省略したときにシステムが取る仮定値であることを示す。

…

(点線)

この記号の直前に示された項目を繰り返して複数個指定できることを示す。

例

A，B，…

「AのあとにBを必要個数指定する」ことを示す。

このマニュアルのシンタクス記号を次に示します。

シンタクス記号

指定できる文字の内容

＜数字＞

0｜1｜2｜3｜4｜5｜6｜7｜8｜9

＜英大文字＞

A｜B｜C｜…｜Z

＜英小文字＞

a｜b｜c｜…｜z

＜英字＞

＜英大文字＞｜＜英小文字＞

＜特殊文字＞※

，｜.｜/｜'｜(｜)｜*｜&｜+｜-｜=｜△(空白)｜¥

＜8進数＞

＜0｜1｜2｜3｜4｜5｜6｜7＞ +

＜10進数＞

＜数字＞ +

＜16進数字＞

0｜1｜2｜3｜4｜5｜6｜7｜8｜9｜A｜B｜C｜D｜E｜F

＜整数＞

符号が付いてもよい数字または符号のない数字の集まり。

＜符号なし整数＞

＜数字＞＋

＜記号名称＞，＜クラス名＞

{ ＜英字＞｜＜数字＞｜@｜#｜_ （アンダースコア） } +

対象：ジョブ名，ステップ名，およびクラス名など

＜特殊文字列＞※

英数字，特殊文字，または特殊文字の集まり。

＜引用文字列＞※

記号名称または特殊文字列をアポストロフィ（'）で囲んだもの。

文字列中に空白などの区切り文字を含めるときにアポストロフィで囲んで指定する。ただし，特殊文字列中のアポストロフィは，¥（エスケープ文字）を使い，¥'で指定する。また，特殊文字列中の¥'は，¥¥'で指定する。¥を文字として指定するとき，¥と¥¥の指定は，どちらも1文字の¥として扱う。

引用文字列の文字数は，アポストロフィやエスケープ文字を含まない数を表す。

＜環境変数名＞

{ ＜英字＞｜_ （アンダースコア） } { ＜英字＞｜_ （アンダースコア）｜＜数字＞ } *

対象：DD名，パス名置換識別子BJEX_DIR_任意名など

＜パス名＞

UNIXまたはWindowsのファイルパス名規則に従った文字列

＜任意文字列＞

任意の文字による文字列

バッチジョブ実行システムは文字種別をチェックしない。

指定個所に応じた適切な意味のある文字列とする必要がある。

記号名称の範囲での利用を推奨する。

対象：パス名，DSN属性の値，EXEC要素，およびDD要素の内容の文字列など

＜ASCII文字列＞

ASCII文字コード範囲中の，制御文字を除いた範囲（0x20〜0x7e）の文字によって構成される文字列。

＜名前トークン＞

｛ ＜英字＞｜＜数字＞｜.｜-｜_｜: ｝+

＜グループ名＞

｛＜英字＞｜＜数字＞｜_ （アンダースコア） ｝+

注※　＜特殊文字＞，＜特殊文字列＞，および＜引用文字列＞の定義は，従来のシンタクス記号に追加となる。

1　概要

この章では，バッチジョブ実行システムの導入の目的，特長，前提条件，および全体構成について説明する。

1.1　バッチジョブ実行システムとは

バッチジョブ実行システムは，一定期間のデータを集めて，一括処理をするバッチ処理を対象としたシステムである。今までメインフレームなどでバッチジョブの実行をしていた場合でも，ジョブ制御言語によるバッチジョブイメージを継承したジョブ制御を実現できる。

従来，オープンシステムでのバッチジョブの運用は，OSなどが提供する多彩なコマンド群とシェルプログラミング技術を使って一括処理の手順を作成していたため，プログラム作成と同等の作業量が必要であった。バッチジョブ実行システムを導入することで，バッチジョブの手続きをXML（eXtensible Markup Language）形式でジョブ定義XMLファイル（定型ドキュメント）として，プログラムとファイルを定義することができ，バッチジョブの定義を簡素化できる。

ジョブ定義XMLファイルでは，ファイルの管理方法が付加できる。ファイルの管理方法には，世代管理や，異常終了時の削除などがある。これによって，シェルプログラムによるファイルの事前準備や後処理が不要となる。また，プログラム間の関連を持たせることで，従来のジョブ制御では実現が難しかったプログラム間のジョブステップ制御を実現でき，バッチジョブの運用が容易になる。

定義されたジョブ定義XMLファイルは，ジョブコントローラで解析される。ジョブコントローラは，入出力装置や各種システム資源の割り当て，および解放処理をして，ジョブの実行・終了を制御する。

さらに，バッチジョブ実行システムは，この定型ドキュメントを実行し，実行結果をスプールに集めて，一元管理できる。また，JP1/AJSおよびPDEと連携することによって，次に示す運用が実現できる。

JP1/AJSと連携することによって，ジョブを実行するスケジュールを登録できる。

PDEと連携することによって，スプールに集めたジョブの実行結果を帳票印刷できる。

バッチジョブ実行システムの処理の流れを次の図に示す（図中の番号は，次に示す説明の項番と対応している）。バッチジョブ実行システムが処理する内容は1，3，および4が該当する。

図1‒1　バッチジョブ実行システムの処理の流れ

バッチジョブ実行システムにジョブの実行を依頼するために，ジョブ定義XMLファイルを定義する。

JP1/AJSで登録されているスケジュールに従い，ジョブコントローラ（実行制御）が起動される。

1で定義したジョブ定義XMLファイルの内容に従い，次に示す順序でジョブコントローラがジョブを実行する。

ジョブ定義XMLファイルの解析→システム資源の確保→ジョブステップの実行→ジョブステップの終了

ジョブの実行結果をスプールに集めて，一元管理する。

スプールに管理されているジョブの実行結果をPDEと連携し，帳票出力する。

1.2　バッチジョブ実行システムの特長

バッチジョブ実行システムの特長を次に示す。

多様なバッチジョブ業務を定型化して幅広く対応できる。

バッチジョブ業務として実行結果を管理できる。

バッチジョブ業務の結果を帳票印刷運用と連携できる。

1.2.1　バッチジョブ定義の定型化

バッチジョブ業務は次の図に示すように，「プログラム」と「ファイル」の組み合わせによって一括処理を実現する。それぞれのプログラムとファイルには順序処理だけではなく，前処理，後処理があり，このことをプログラムやファイルなどのバッチジョブでの個々の要素ごとに属性として定義すれば，バッチジョブ業務をプログラミングすることなく容易に実現できる。このバッチジョブ業務を標準的なドキュメントの表現方式であるXML形式（ジョブ定義XMLファイル）でジョブの定義を行うことで，定型化を図ることができる。

図1‒2　プログラムとファイルの組み合わせによるバッチジョブの一括処理

ファイルの要素への属性定義

ファイルの要素に対して，世代ファイルおよび一時ファイルなどの属性を持たせることができる。実行終了後のファイルの削除なども要素の定義だけで実行できるため，シェルスクリプトの記述も必要なく，運用の変更やメンテナンスが容易となる。

複数のプログラム要素への属性定義

プログラムの要素に対して，実行したプログラムの結果を判断して実行可否属性の定義ができる。これによって，1つのバッチジョブ内で複数（ジョブステップ）の処理が制御できる。

複数のプログラム要素への属性定義を次の図に示す。

図1‒3　複数のプログラム要素への属性定義

1.2.2　バッチジョブの実行結果の一元管理

従来，オープンシステムでのバッチジョブの実行結果は，格納先が一元化されていなかったため管理が煩雑であった。バッチジョブ実行システムでは，バッチジョブの実行結果をスプールに集めることができる。これによってバッチジョブの実行結果を一元管理できる。また，JP1/AJS - Viewを使用することで，バッチジョブの実行結果も参照できる。

バッチジョブの実行結果の一元管理を次の図に示す。

図1‒4　バッチジョブの実行結果の一元管理

1.2.3　PDEとの連携による帳票出力

メインフレームの帳票印刷業務をオープン環境上で実現するPDEと，バッチジョブ実行システムが連携することで，書式，FCB（Forms Control Buffer）を使用した帳票出力ができる。

PRINT DATA EXCHANGE - Form Designerで書式やFCBを定義する書式定義ファイルを作成※し，PRINT DATA EXCHANGE for OpenがPRINT DATA EXCHANGE - Form Designerで作成した書式定義ファイルとバッチジョブ実行システムの実行結果である印刷データを結合する。結合されたデータをPDL（Page Description Language）データに変換することで，プリンタ管理ソフトウェアであるPrinfina MANAGER SPを通して帳票出力できる。

注※　PC上での書式定義の変更もできる。

なお，PRINT DATA EXCHANGE - Form Designerの詳細については，マニュアル「PRINT DATA EXCHANGE - Form Designer」，PRINT DATA EXCHANGE for Openの詳細については，マニュアル「PRINT DATA EXCHANGE for Open」を参照のこと。

PDEとの連携による帳票出力を次の図に示す。

図1‒5　PDEとの連携による帳票出力

1.3　前提条件

1.3.1　前提プログラムおよび関連プログラム

バッチジョブ実行システムの前提プログラムおよび関連プログラムを次の表に示す。

表1‒1　バッチジョブ実行システムの前提プログラム【AIXの場合】

プログラム

組み込むシステム

AIX V6.1，またはAIX V7.1

バッチジョブ実行システムと同じサーバ

JP1/Base

JP1/Automatic Job Management System 3 - Agent※

JP1/Automatic Job Management System 3 - Manager※

運用管理サーバ

注※　JP1/AJS - Managerには，JP1/AJS - Agentの機能が含まれているため，バッチジョブ実行システムと同一サーバ上にJP1/AJS - Managerがあれば，JP1/AJS - Agentは不要である。

表1‒2　バッチジョブ実行システムの前提プログラム【Linuxの場合】

プログラム

組み込むシステム

Red Hat Enterprise Linux Server 6またはRed Hat Enterprise Linux Server 7

バッチジョブ実行システムと同じサーバ

JP1/Base

JP1/Automatic Job Management System 3 - Agent※

JP1/Automatic Job Management System 3 - Manager※

運用管理サーバ

注※　JP1/AJS - Managerには，JP1/AJS - Agentの機能が含まれているため，バッチジョブ実行システムと同一サーバ上にJP1/AJS - Managerがあれば，JP1/AJS - Agentは不要である。

表1‒3　バッチジョブ実行システムの関連プログラム【AIXの場合】

プログラム

組み込むシステム

COBOL2002 Net Server Suite※

バッチジョブ実行システムと同じサーバ

COBOL2002 Net Server Runtime※

ISAM Version 7またはISAM Version 7(64)

SORT Version8またはSORT Version8(64)

SORT Version8 - Extended EditionまたはSORT Version8 - Extended Edition(64)

JP1/File Transmission Server/FTP

JP1/Script

uCosminexus Application Server Enterprise

日立コード変換 - Runtime

EUR Print Service

プリントサーバ（バッチジョブ実行システムと同じサーバでも別のサーバでも良い）

EUR Print Manager

JP1/Integrated Management - Manager

JP1イベント管理サーバ

JP1/Automatic Job Management System 3 - View

ジョブネットおよびスケジュール情報管理サーバ

JP1/Integrated Management - View

JP1イベント監視サーバ

PRINT DATA EXCHANGE - Electronic Document Option

プリントサーバ

PRINT DATA EXCHANGE - Enterprise Printer Option

PRINT DATA EXCHANGE - Form Designer

PRINT DATA EXCHANGE for Open

Prinfina MANAGER SP

JP1/File Transmission Server/FTP

注※　別サーバのCOBOL2002でコンパイル済みであれば，Runtimeの導入で実行できる。

表1‒4　バッチジョブ実行システムの関連プログラム【Linuxの場合】

プログラム

組み込むシステム

COBOL2002 Net Server Suite※または

COBOL2002 Net Server Suite(64)

バッチジョブ実行システムと同じサーバ

COBOL2002 Net Server Runtime※または

COBOL2002 Net Server Runtime(64)

ISAM Version 7またはISAM Version 7(64)

SORT Version8 08-00またはSORT Version8(64)

SORT Version8 - Extended Editionまたは

SORT Version8 - Extended Edition(64)

JP1/File Transmission Server/FTP

JP1/Script

uCosminexus Application Server Enterprise

日立コード変換 - Runtime

EUR Print Service

プリントサーバ（バッチジョブ実行システムと同じサーバでも別のサーバでも良い）

EUR Print Manager

JP1/Integrated Management - Manager

JP1イベント管理サーバ

JP1/Automatic Job Management System 3 - View

ジョブネットおよびスケジュール情報管理サーバ

JP1/Integrated Management - View

JP1イベント監視サーバ

PRINT DATA EXCHANGE - Electronic Document Option

プリントサーバ

PRINT DATA EXCHANGE - Enterprise Printer Option

PRINT DATA EXCHANGE - Form Designer

PRINT DATA EXCHANGE for Open

Prinfina MANAGER SP

JP1/File Transmission Server/FTP

注※　別サーバのCOBOL2002でコンパイル済みであれば，Runtimeの導入で実行できる。

各プログラムの役割を次に示す。

AIX V6.1，AIX V7.1，Red Hat Enterprise Linux Server 6，Red Hat Enterprise Linux 7

バッチジョブなどを実行するプラットフォームのOS である。

JP1/Base

ユーザの管理，バッチジョブなどのイベントの収集・管理ができる。

JP1/Automatic Job Management System 3 - Agent

JP1/AJS - Managerから実行依頼を受けたバッチジョブなどの処理を実行できる。

JP1/Automatic Job Management System 3 - Manager

ジョブネットの定義情報やスケジュール情報を管理し，バッチジョブなどの処理の実行をエージェント（JP1/AJS - AgentまたはJP1/AJS - Manager）に依頼できる。また，JP1/AJS - Manager自身で処理の実行もできる。

COBOL2002

COBOLは，事務処理用に最も使用されているプログラミング言語である。

ISAM

索引順編成ファイルを作成できる。

SORT EE

選択，ソート，マージ，および集約などの一連の処理を一度に実行できる。

JP1/File Transmission Server/FTP

運用管理機能を備えたファイル伝送プログラムである。

JP1/Script

JP1/Scriptを使用する場合に必要なプログラムである。

uCosminexus Application Server Enterprise

Javaのバッチアプリケーションを使用する場合に必要なプログラムである。

日立コード変換

ジョブログを出力する際，実行環境に合わせた文字コードに変換できる。

EUR Print Service

EUR Print Serviceと連携して使用する場合に必要なプログラムである。

EUR Print Manager

EUR Print Managerと連携して使用する場合に必要なプログラムである。

JP1/Automatic Job Management System 3 - View

JP1/AJS - ManagerをGUIで操作できる。

JP1/Integrated Management - Manager

統合コンソールおよび統合スコープのマネージャ機能を備えていて，バッチジョブなどで発生したイベントを管理できる。

JP1/Integrated Management - View

統合コンソールの操作および統合スコープの操作画面を使用して，システムの監視・操作ができる。

PRINT DATA EXCHANGE - Electronic Document Option

印刷データのPDF変換および電子帳票を生成できる。

PRINT DATA EXCHANGE - Enterprise Printer Option

Prinfina MANAGER SPとの連携ができる。

PRINT DATA EXCHANGE - Form Designer

書式オーバレイの設計，FCB定義による用紙サイズ，両面指定，行データの定義，および行データの印刷で適用する文字サイズや書体などの初期値を定義できる。

PRINT DATA EXCHANGE for Open

バッチジョブの帳票出力に対し，書式，FCBなどのプリンタ制御イメージを付加したオープン環境の印刷データを作成できる。

1.3.2　ファイルシステム

バッチジョブを実行する場合に，ファイルは信頼性の高いファイルシステムを使用する必要がある。

また，バッチジョブ実行システムは，HSFSやNFS上に配置できるファイルが限られている。HSFSやNFS上に配置できるファイルおよび指定できる設定ファイル中のパラメータを次に示す。また，別サーバから同じファイルまたはディレクトリを共用できるかを示す。

表1‒5　HSFS，NFSのサポート内容

項目

NFS

設置

可否

HSFS

設置

可否

共用

可否

不可，非推奨の理由

ジョブ定義XMLファイル

○

○

○

設定ファイル

×

×

×

インストールディレクトリ固定のため設置できない。

バッチジョブ実行システムごとに別々の設定ファイルとなるため共用できない。

ジョブ定義XMLファイルのEXEC要素に指定する実行プログラム，および実行プログラムがアクセスするユーザファイル

○

○

○

LOG_DIRパラメータ，および実行ログファイル

×

×

×

障害調査でバッチジョブ実行システム環境ごとの実行ログファイルが必要なため共用できない。

PERMANENT_FILE_DIRパラメータ，およびDD要素で割り当てられるファイル

○

○

○※

PROCEDURE_DIRパラメータ，およびプロシジャXMLファイル

○

○

○

SPOOL_DIRパラメータ，およびSYSOUTデータファイル

×

×

×

複数のバッチジョブ実行システムで同じディレクトリを指定した場合スプールジョブ転送サービスの起動時にエラーにする。

SPOOL_STORE_DIRパラメータ

○

○

○

TEMP_FILE_DIRパラメータ

△

△

×

共用するファイルではないため指定を推奨しない。

一時ファイルが重複する可能性があるため共用できない。

TRACE_DIRパラメータ，およびトレースファイル

×

×

×

障害調査でバッチジョブ実行システム環境ごとのトレースファイルが必要なため共用できない。

凡例

設置可否

○：設置または指定できる

△：設置または指定できるが推奨しない

×：設置または指定できない

共用可否

○：複数のバッチジョブ実行システムで共用できる

×：複数のバッチジョブ実行システムで共用できない

注※　恒久ファイル，世代ファイルをHSFS，NFSに設置する場合，次の注意事項がある。

バッチジョブ実行システムの排他制御機能は別サーバ間では有効にならないため別サーバで同じファイルをアクセスする場合，注意が必要である

上記以外のファイル，ディレクトリについては動作を保証しない。

1.3.3　2GB超えのファイル（ラージファイル）の扱い

バッチジョブ実行システムでは，ラージファイルを扱うことができる。

バッチジョブ実行システムで使用できるファイルのうち，ラージファイルに対応するファイルを次に示す。

DD要素で割り当てるファイル※（TYPE=TEMPISAM,DATA以外）

SYSOUTデータファイル※

注※　UAPがラージファイルを扱えることが前提である。

ラージファイルの使用可否はファイルシステムの種類やOSの設定（例: ulimitの設定）によって異なるため，ラージファイルが使用できる環境であることを運用設計前に確認すること。

1.4　バッチジョブ実行システムの全体構成

バッチジョブ実行システムは，JP1/AJSから起動されジョブを実行するジョブコントローラおよび，スプールの管理とジョブの出力する帳票をプリントサーバに転送するスプールジョブ転送サービスから成る。スプールジョブ転送サービスは，スプールジョブ転送デーモンとスプールジョブ管理コマンドから成る。

バッチジョブ実行システムの全体構成を次の図に示す。

図1‒6　バッチジョブ実行システムの全体構成

2　インストール

この章では，インストールの準備と手順，および見積もりについて説明する。

2.1　バッチジョブ実行システムのセットアップ手順の概要

ここでは，バッチジョブを実行して帳票出力する基本的なシステム構成とセットアップ手順の概要について説明する。

2.1.1　基本システム構成の概要とセットアップ手順

JP1/AJSからバッチジョブを実行して，帳票出力する基本的なシステム構成例を次に示す。

図2‒1　バッチジョブを実行して帳票出力する基本的なシステム構成例

JP1/AJSからバッチジョブを実行して，帳票出力するためのセットアップを次に示す。

(1)　運用管理サーバでのセットアップ作業

運用管理サーバにJP1/Base，JP1/AJS - Manager，およびJP1/IM - Managerのインストールとセットアップをする

JP1/Base，JP1/AJS - Manager，およびJP1/IM - Managerのインストールとセットアップについては，JP1のマニュアルを参照のこと。

(2)　バッチジョブ実行サーバでのセットアップ作業

バッチジョブ実行サーバにJP1/Base，JP1/AJS - Agentのインストールとセットアップをする

JP1/Base，およびJP1/AJS - Agentのインストールとセットアップについては，JP1のマニュアルを参照のこと。

バッチジョブ実行サーバにJP1/FTPのインストールとセットアップをする

JP1/FTPのインストールとセットアップについては，JP1のマニュアルを参照のこと。

バッチジョブ実行サーバにバッチジョブ実行システムのインストールとセットアップをする

バッチジョブ実行システムのインストールとセットアップについては，「2.2　インストール」，および「2.3　セットアップ」を参照のこと。

(3)　プリントサーバでのセットアップ作業

(a)　高性能プリンタへのPrinfina MANAGER SP連携出力の場合

プリントサーバにPrinfina MANAGER SPおよびPDEのインストールとセットアップをする

プリントサーバにJP1/FTPのインストールとセットアップをする

JP1イベントを使用した統合管理実施時には，JP1/Baseのインストール・セットアップも必要である。JP1/FTPのインストールとセットアップについては，JP1のマニュアルを参照のこと。

バッチジョブ実行サーバから印刷データを転送するための受信フォルダを仮想ディレクトリとして設定する

JP1/FTPを起動する

JP1イベントを使用した統合管理実施時には，JP1/Baseの起動も必要である。

Prinfina MANAGER SPサービスを起動する

(b)　PDFファイル出力およびWindows接続プリンタへのGDI（Graphic Device Interface）出力の場合

プリントサーバにPDEのインストールとセットアップをする

プリントサーバにJP1/FTPのインストールとセットアップをする

JP1イベントを使用した統合管理実施時には，JP1/Baseのインストールとセットアップも必要である。JP1/FTPのインストールとセットアップについては，JP1のマニュアルを参照のこと。

バッチジョブ実行サーバから印刷データを転送するための受信フォルダを仮想ディレクトリとして設定する

JP1/FTPを起動する

JP1イベントを使用した統合管理実施時には，JP1/Baseの起動も必要である。

PDEサービスを起動する

(4)　管理ビューアの設定

管理ビューアにJP1/AJS - ViewおよびJP1/IM - Viewのインストールとセットアップをする

JP1/AJS - ViewとJP1/IM - Viewのインストールについては，JP1のマニュアルを参照のこと。

2.2　インストール

ここでは，バッチジョブ実行システムのインストール方法について説明する。

2.2.1　バッチジョブ実行システムのインストール

(1)　AIXの場合

AIXへのインストール手順を次に示す。

なお，CD-ROMのディレクトリ名やファイル名は，ハードウェア環境などによって記述した内容と見え方が異なる。lsコマンドで確認し，表示されたファイル名をそのまま入力すること。

ユーザ権限を設定する

バッチジョブ実行システムをインストールするホストに，スーパーユーザでログインする。または，suコマンドでユーザ権限をスーパーユーザに変更する。

すべてのプログラムを終了する

既存のJP1シリーズのプログラム，およびバッチジョブ実行システムのプログラムが動作している場合，必ず停止する。

バッチジョブ実行システムの媒体をセットする

次のコマンドを実行して，CD-ROM装置をマウントする

/usr/sbin/mount -r -v cdrfs /dev/cd0 /cdrom

/cdromはCD-ROMデバイススペシャルファイルのマウントポイントである。マウントポイントディレクトリがない場合は，作成すること。なお，デバイススペシャルファイル名，およびマウントポイントは，使用する環境によって異なる場合がある。

次のコマンドを実行して，Hitachi PP Installerを起動する

/cdrom/AIX/SETUP /cdrom※

注※　ここでは，マウントポイントに/cdromを仮定する。

Hitachi PP Installerが起動し，初期画面が表示される。

Hitachi PP Installerの初期画面の例を次に示す。

  Hitachi PP Installer  05-14

    L) List Installed Software.
    I) Install Software.
    D) Delete  Software.
    Q) Quit.

    Select Procedure ===>

Hitachi PP Installerの初期画面で「I」を入力する

インストールできるプログラムの一覧が表示される。

バッチジョブ実行システムを選択して「I」を入力する

バッチジョブ実行システムがインストールされる。なお，プログラムを選択するには，カーソルを移動させてスペースバーで選択する。

インストール画面の例を次に示す。

       PP-No.               VR     PP-NAME
<@>001 P-1M12-A111          0810   uCosminexus Batch Job Execution Server
:
:
F) Forward B) Backward J) Down K) Up Space) Select/Unselect I) Install Q) Quit

選択したPPの左側に，"<@>"が表示される。続いて［I］を入力すると，最下行に次に示すメッセージが表示される。

Install PP? (y: install,  n: cancel)==>

ここで，［y］または［Y］を選択するとインストールが開始される。［n］または［N］を選択すると，インストールが中止され，PPインストール画面に戻る。

インストールが正常終了したら，「Q」を入力する

Hitachi PP Installerの初期画面に戻る。

なお，インストール時にインストーラーのログとして次のファイルが作成される。

/opt/hitachi/bjex/instlog/BJEX_INST_LOG , /opt/hitachi/bjex/instlog/BJEX_INST_USERLOG

インストーラーのログファイルが作成されていない場合，次に示す問題が考えられる。

インストーラーのログファイルが通常のファイルでない。

インストーラーのログファイルを作成するディレクトリに書き込み権限がない。

インストーラーのログファイルのパス名を構成する各ファイルパスに，同一のファイルが存在する。同一のファイルが存在する状態を次に示す。

"/opt"がディレクトリでない。

"/opt/hitachi"がディレクトリでない。

"/opt/hitachi/bjex"がディレクトリでない。

"/opt/hitachi/bjex/instlog"がディレクトリでない。

インストールが完了すると，デフォルトの環境が設定されている。デフォルトから設定を変更する場合については，「2.3　セットアップ」を参照のこと。

(2)　Linuxの場合

Linuxへのインストール手順を次に示す。

なお，CD-ROMのディレクトリ名やファイル名は，ハードウェア環境などによって記述した内容と見え方が異なる。lsコマンドで確認し，表示されたファイル名をそのまま入力すること。

ユーザ権限を設定する

バッチジョブ実行システムをインストールするホストに，スーパーユーザでログインする。または，suコマンドでユーザ権限をスーパーユーザに変更する。

すべてのプログラムを終了する

既存のJP1シリーズのプログラム，およびバッチジョブ実行システムのプログラムが動作している場合，必ず停止する。

バッチジョブ実行システムの媒体をセットする

次のコマンドを実行して，CD-ROM装置をマウントする

/bin/mount -r -o mode=0544 /dev/cdrom /mnt/cdrom

/mnt/cdromはCD-ROMデバイススペシャルファイルのマウントポイントである。マウントポイントディレクトリがない場合は，作成すること。なお，デバイススペシャルファイル名，およびマウントポイントは，使用する環境によって異なる場合がある。

次のコマンドを実行して，Hitachi PP Installerを起動する

/cdrom/LINUX/SETUP /cdrom※

注※　ここでは，マウントポイントに/cdromを仮定する。

Hitachi PP Installerが起動し，初期画面が表示される。

Hitachi PP Installerの初期画面の例を次に示す。

  Hitachi PP Installer 05-14

    L) List Installed Software.
    I) Install Software.
    D) Delete  Software.
    Q) Quit.

    Select Procedure ===>

Hitachi PP Installerの初期画面で「I」を入力する

インストールできるプログラムの一覧が表示される。

バッチジョブ実行システムを選択して「I」を入力する

バッチジョブ実行システムがインストールされる。なお，プログラムを選択するには，カーソルを移動させてスペースバーで選択する。

インストール画面の例を次に示す。

       PP-No.               VR     PP-NAME
<@>001 P-9S12-A111          0810   uCosminexus Batch Job Execution Server
:
:
F) Forward B) Backward J) Down K) Up Space) Select/Unselect I) Install Q) Quit

選択したPPの左側に，"<@>"が表示される。続いて［I］を入力すると，最下行に次に示すメッセージが表示される。

Install PP? (y: install,  n: cancel)==>

ここで，［y］または［Y］を選択するとインストールが開始される。［n］または［N］を選択すると，インストールが中止され，PPインストール画面に戻る。

インストールが正常終了したら，「Q」を入力する

Hitachi PP Installerの初期画面に戻る。

なお，インストール時にインストーラーのログとして次のファイルが作成される。

/opt/hitachi/bjex/instlog/BJEX_INST_LOG , /opt/hitachi/bjex/instlog/BJEX_INST_USERLOG

インストーラーのログファイルが作成されていない場合，次に示す問題が考えられる。

インストーラーのログファイルが通常のファイルでない。

インストーラーのログファイルを作成するディレクトリに書き込み権限がない。

インストーラーのログファイルのパス名を構成する各ファイルパスに，同一のファイルが存在する。同一のファイルが存在する状態を次に示す。

"/opt"がディレクトリでない。

"/opt/hitachi"がディレクトリでない。

"/opt/hitachi/bjex"がディレクトリでない。

"/opt/hitachi/bjex/instlog"がディレクトリでない。

インストールが完了すると，デフォルトの環境が設定されている。デフォルトから設定を変更する場合については，「2.3　セットアップ」を参照のこと。

2.2.2　バッチジョブ実行システムのアンインストール

(1)　AIXの場合

アンインストール手順を次に示す。Hitachi PP Installerの指示に従ってバッチジョブ実行システムをアンインストールする。

バッチジョブ実行システムをアンインストールする場合は，ジョブコントローラを利用するプログラムとスプールジョブ転送サービスをすべて終了すること。アンインストールでは，ユーザが変更を行うファイル，および新規に作成したファイルは削除されない。したがって，完全に環境を削除するには，ユーザが自分で削除する必要がある。

次のコマンドを実行して，Hitachi PP Installerを起動する

/etc/hitachi_setup

Hitachi PP Installerが起動し，初期画面が表示される。

Hitachi PP Installerの初期画面の例を次に示す。

  Hitachi PP Installer  05-14

    L) List Installed Software.
    I) Install Software.
    D) Delete  Software.
    Q) Quit.

    Select Procedure ===>

Hitachi PP Installerの初期画面で「D」を入力する

アンインストールできるソフトウェアの一覧が表示される。

バッチジョブ実行システムを選択して「D」を入力する

バッチジョブ実行システムがアンインストールされる。なお，プログラムを選択するには，カーソルを移動させてスペースバーで選択する。

アンインストール画面の例を次に示す。

       PP-No.               VR     PP-NAME
   001 P-1M12-27A1          1010   JP1/AJS3 - Manager
   002 P-1M12-A191          0900   uCosminexus Batch Job Execution Server
:
:
F) Forward B) Backward J) Down K) Up Space) Select/Unselect D) Delete Q) Quit

続いて［D］を入力すると，最下行に次に示すメッセージが表示される。

Delete PP? (y: delete, n: cancel) ==>

ここで，［y］または［Y］を選択するとアンインストールが開始される。［n］または［N］を選択すると，アンインストールが中止され，PPアンインストール画面に戻る。

アンインストールが正常終了したら，「Q」を入力する

Hitachi PP Installerの初期画面に戻る。

なお，アンインストール時にインストーラーのログとして次のファイルが作成される。

/opt/hitachi/bjex/instlog/BJEX_INST_LOG , /opt/hitachi/bjex/instlog/BJEX_INST_USERLOG

インストーラーのログファイルが作成されていない場合，次に示す問題が考えられる。

インストーラーのログファイルが通常のファイルでない。

インストーラーのログファイルを作成するディレクトリに書き込み権限がない。

インストーラーのログファイルのパス名を構成する各ファイルパスに，同一のファイルが存在する。同一のファイルが存在する状態を次に示す。

"/opt"がディレクトリでない。

"/opt/hitachi"がディレクトリでない。

"/opt/hitachi/bjex"がディレクトリでない。

"/opt/hitachi/bjex/instlog"がディレクトリでない。

アンインストールが完了したあと，スプールジョブ転送デーモンの自動起動および自動終了の設定を解除する。

次のコマンドを実行して，スプールジョブ転送デーモンの自動起動の設定を解除する

rmitab bjexpd

論理ホスト用のスプールジョブ転送デーモンの自動起動を設定している場合は，論理ホスト用スプールジョブ転送デーモンのレコードを指定してrmitab コマンドを実行する

システム終了時の自動終了機能を解除するには，/etc/rc.shutdownの次に示す記述を削除する

test -x /opt/hitachi/bjex/sbin/bjexpdctl && /opt/hitachi/bjex/sbin/bjexpdctl stop

論理ホスト用のスプールジョブ転送デーモンの自動起動を設定している場合は，論理ホスト用スプールジョブ転送デーモンの自動停止の記述を/etc/rc.shutdown から削除する

(2)　Linuxの場合

アンインストール手順を次に示す。Hitachi PP Installerの指示に従ってバッチジョブ実行システムをアンインストールする。

バッチジョブ実行システムをアンインストールする場合は，ジョブコントローラを利用するプログラムとスプールジョブ転送サービスをすべて終了すること。アンインストールでは，ユーザが変更を行うファイル，および新規に作成したファイルは削除されない。したがって，完全に環境を削除するには，ユーザが自分で削除する必要がある。

次のコマンドを実行して，Hitachi PP Installerを起動する

/etc/hitachi_setup

Hitachi PP Installerが起動し，初期画面が表示される。

Hitachi PP Installerの初期画面の例を次に示す。

  Hitachi PP Installer 05-14

    L) List Installed Software.
    I) Install Software.
    D) Delete  Software.
    Q) Quit.

    Select Procedure ===>

Hitachi PP Installerの初期画面で「D」を入力する

アンインストールできるソフトウェアの一覧が表示される。

バッチジョブ実行システムを選択して「D」を入力する

バッチジョブ実行システムがアンインストールされる。なお，プログラムを選択するには，カーソルを移動させてスペースバーで選択する。

アンインストール画面の例を次に示す。

       PP-No.               VR     PP-NAME
   001 P-8112-27A1          1010   JP1/AJS3 - Manager
   002 P-8112-A191          0900   uCosminexus Batch Job Execution Server
:
:
F) Forward B) Backward J) Down K) Up Space) Select/Unselect D) Delete Q) Quit

続いて［D］を入力すると，最下行に次に示すメッセージが表示される。

Delete PP? (y: delete, n: cancel) ==>

ここで，［y］または［Y］を選択するとアンインストールが開始される。［n］または［N］を選択すると，アンインストールが中止され，PPアンインストール画面に戻る。

アンインストールが正常終了したら，「Q」を入力する

Hitachi PP Installerの初期画面に戻る。

なお，アンインストール時にインストーラーのログとして次のファイルが作成される。

/opt/hitachi/bjex/instlog/BJEX_INST_LOG , /opt/hitachi/bjex/instlog/BJEX_INST_USERLOG

インストーラーのログファイルが作成されていない場合，次に示す問題が考えられる。

インストーラーのログファイルが通常のファイルでない。

インストーラーのログファイルを作成するディレクトリに書き込み権限がない。

インストーラーのログファイルのパス名を構成する各ファイルパスに，同一のファイルが存在する。同一のファイルが存在する状態を次に示す。

"/opt"がディレクトリでない。

"/opt/hitachi"がディレクトリでない。

"/opt/hitachi/bjex"がディレクトリでない。

"/opt/hitachi/bjex/instlog"がディレクトリでない。

アンインストールが完了したあと，スプールジョブ転送デーモンの自動起動および自動終了の設定を解除する。

Linux6以前

/opt/hitachi/bjex/sampleディレクトリからコピーしたスクリプトファイルbjex_pdをコピー先のディレクトリから削除する

論理ホスト用の自動起動および自動停止スクリプトファイルを作成している場合は，スクリプトファイル作成先のディレクトリから削除する

bjex_pdスクリプトファイルへのリンクとして作成したシンボリックリンクを削除する

論理ホスト用の自動起動および自動停止スクリプトファイルのシンボリックリンクを作成している場合は削除する

Linux7以降

次のコマンドを実行して，スプールジョブ転送デーモンの自動起動の設定を解除する

systemctl disable bjex.service

論理ホスト用のスプールジョブ転送デーモンの自動起動を設定している場合は，論理ホスト用スプールジョブ転送デーモンのUnit名を指定してsystemctl コマンドを実行する

/opt/hitachi/bjex/sample ディレクトリからコピーしたUnitファイルbjex.service をコピー先のディレクトリから削除する

論理ホスト用のスプールジョブ転送デーモンの自動起動を設定している場合は，論理ホスト用スプールジョブ転送デーモンのUnitファイルを削除する

自動起動・停止するためのスクリプトファイルのコピー先ディレクトリについては，「2.2.4(3)　スプールジョブ転送デーモンの自動起動」を参照のこと。

2.2.3　バッチジョブ実行システムのバージョン情報の表示

バッチジョブ実行システムのバージョン情報の表示手順を説明する。

次のコマンドを実行して，Hitachi PP Installerを起動する

/etc/hitachi_setup

初期画面で「L」を入力する

インストール済みの日立製品の一覧が表示される。

2.2.4　インストール後の設定

インストール後の設定について説明する。なお，論理ホスト環境でバッチジョブ実行システムを運用する場合は，「4.10.3　クラスタ運用の環境設定」を参照のこと。

(1)　設定ファイルの確認

ジョブを実行する前に/opt/hitachi/bjex/conf/bjex.confをシステムの環境に合わせて変更する。

bjex.confに指定する各種ディレクトリをデフォルトから変更した場合，あらかじめディレクトリを作成しておくこと。

その後，次に示す手順で設定ファイルの確認を必ず実施すること。

bjex.confのチェックを実施する

設定ファイル変更後，必ずbjexpdctlコマンドのconftestオプションを実行してエラーのないことを確認する。設定ファイルで指定する各種ディレクトリには，存在するディレクトリを指定すること。

スプールジョブ転送デーモンの起動確認を実施する

bjexpdctlコマンドのstartオプションで起動する。

必要に応じてbjexecコマンドによるバッチジョブの実行確認を実施する

設定ファイルは，スプールジョブ転送サービスと各バッチジョブで共用する。バッチジョブ実行時にスプールジョブに設定した属性を記録している。そのため設定ファイルは，すべてのスプールジョブを出力および削除したあとに変更する必要がある。また，新たにスプールジョブが生成されないように，すべてのプロセスを停止してから設定ファイルを変更すること。変更後は，上記の手順で設定ファイルの変更後の確認を必ず実施すること。

(2)　JP1/IMの設定

バッチジョブ実行システムが通知するJP1イベントの詳細情報をJP1/IMで表示させるためには，バッチジョブ実行システムが提供する拡張属性定義ファイルをJP1/IMのディレクトリにコピーし，設定ファイルにJP1IM_MANAGER_HOSTパラメータを指定する必要がある。

(a)　拡張属性定義ファイルのコピー

拡張属性定義ファイルはバッチジョブ実行システムのインストール先ディレクトリのsystemディレクトリに格納されている。

＜拡張属性定義ファイルの名称＞

hitachi_bjex_attr_ja.conf

拡張属性定義ファイルのコピーは次に示す手順で実行する。

＜手順＞

拡張属性定義ファイルをJP1/IMのディレクトリにコピーする※

JP1/IM - Managerを再起動する

注※　JP1/IM - Managerがインストールされたマシンの定義ファイル格納ディレクトリを次に示す。

UNIXの場合

/etc/opt/jp1cons/conf/console/attribute/

または

共有ディレクトリ/jp1cons/conf/console/attribute/

Windowsの場合

Consoleパス¥conf¥console¥attribute¥

または

共有フォルダ¥jp1cons¥conf¥console¥attribute¥

また，拡張属性定義ファイルはシフトJIS形式であるため，OSの種類に応じて次の表に示すとおり拡張属性定義ファイルをコード変換してから，JP1/IMのディレクトリにコピーすること。

表2‒1　バッチジョブ実行システムとコピー先のOS間で実施するコード変換

バッチジョブ実行システムの種類

コピー先のOSの種類

AIX※

Linux

HP-UX※

Windows

AIX版

−

UTF-8

−

−

Linux版

−

UTF-8

−

−

（凡例）

−：コード変換不要。シフトJIS形式のまま使用できる。

UTF-8：シフトJIS形式からUTF-8形式にコード変換する必要がある。

注※　コピー先のOSで使用している文字コード種別がEUCの場合は，EUCへのコード変換が必要。

(b)　JP1IM_MANAGER_HOSTパラメータの設定

JP1イベントの送信先であるJP1/IM-Managerが稼働しているホストを，設定ファイルのJP1IM_MANAGER_HOSTパラメータで設定する必要がある。このパラメータを設定しない場合，バッチジョブ実行システムでは，バッチジョブ実行システムが稼働しているサーバ上でhostnameコマンドを実行したときに表示されるホスト名が，JP1イベントの送信先として仮定される。

JP1IM_MANAGER_HOSTパラメータの詳細については，「8.　設定ファイル」の「JP1IM_MANAGER_HOST（JP1/IM - Managerが稼働するホスト名定義）」を参照のこと。

(3)　スプールジョブ転送デーモンの自動起動

スプールジョブ転送デーモンを，システムの起動時および終了時に自動的に実行させる設定方法を次に示す。

(a)　AIXの場合

システム起動時の自動起動機能

システム起動時の自動起動機能を設定するには，mkitabコマンドを使用して，自動起動の設定をする。設定後，次のシステム開始時から有効になる。

mkitab "bjexpd:2:wait:/opt/hitachi/bjex/sbin/bjexpdctl start"

スプールジョブ転送デーモンは，連携するJP1シリーズのあとに起動するよう設定すること。JP1/Base，JP1/IM，JP1/AJS，JP1/FTPの順に自動起動を設定する場合，次に示す指定をしてコマンドを実行する。

mkitab -i hntr2mon "jp1base:2:wait:/etc/opt/jp1base/jbs_start"
mkitab -i jp1base "jp1cons:2:wait:/etc/opt/jp1cons/jco_start"
mkitab -i jp1cons "jp1ajs2:2:wait:/etc/opt/jp1ajs2/jajs_start"
mkitab -i jp1ajs2 "jp1_fts:2:wait:/etc/opt/jp1_fts/startup"
mkitab -i jp1_fts "bjexpd:2:wait:/opt/hitachi/bjex/sbin/bjexpdctl start"

設定後，lsitabコマンドを使用して，設定内容を確認すること。lsitabコマンドは，次に示す指定をして実行する。

lsitab -a

次に出力例を示す。

init:2:initdefault:
brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
            :
hntr2mon:2:once:/opt/hitachi/HNTRLib2/etc/D002start
jp1base:2:wait:/etc/opt/jp1base/jbs_start
jp1cons:2:wait:/etc/opt/jp1cons/jco_start
jp1ajs2:2:wait:/etc/opt/jp1ajs2/jajs_start
jp1_fts:2:wait:/etc/opt/jp1_fts/startup
bjexpd:2:wait:/opt/hitachi/bjex/sbin/bjexpdctl start

システム終了時の自動終了機能

システム終了時の自動終了機能を設定するには，/etc/rc.shutdownを編集して，連携するJP1シリーズより先に停止させるように次に示す記述を追加のこと。

test -x /opt/hitachi/bjex/sbin/bjexpdctl && /opt/hitachi/bjex/sbin/bjexpdctl stop
            :
連携するJP1シリーズの停止処理
            :

(b)　Linuxの場合

Linux6以前とLinux7以降で，自動起動・停止の定義方法が異なるため，それぞれ次に示す手順で設定する必要がある。

Linux6以前

自動起動・停止するためのスクリプトファイルbjex_pdを/opt/hitachi/bjex/sampleディレクトリに格納している。このスクリプトファイルを利用して次の手順で設定する。

/etc/rc.d/init.dディレクトリへの追加

/opt/hitachi/bjex/sampleディレクトリに格納されているbjex_pdを/etc/rc.d/init.dに追加する。bjex_pdを追加するには次のように指定する。

  cp /opt/hitachi/bjex/sample/bjex_pd /etc/rc.d/init.d
  chmod u=rwx,go=rx /etc/rc.d/init.d/bjex_pd
  chown root:root /etc/rc.d/init.d/bjex_pd

自動起動のためのシンボリックリンク作成

/etc/rc.d/rcN.dディレクトリ（Nは起動時の実行レベル）に/etc/rc.d/init.d/bjex_pdへのシンボリックリンクを作成する。このとき，連携するJP1シリーズが起動したあとに起動されるように，シンボリックリンクの名称を付ける必要がある。

例えば，/etc/rc.d/rc3.dディレクトリ，/etc/rc.d/rc5.dディレクトリに提供されているJP1/Baseの自動起動スクリプトのシンボリックリンクの名称が「S99_JP1_10_BASE」，JP1/AJSの自動起動スクリプトのシンボリックリンクの名称が「S99_JP1_80_AJS2」の場合，文字列の大小関係で「S99_JP1_80_AJS2」よりも大きくなるようにシンボリックリンクの名称を「S99_UBJEX」とし，次のように指定することでJP1/Base，JP1/AJSよりあとに起動される。

  ln -s /etc/rc.d/init.d/bjex_pd /etc/rc.d/rc3.d/S99_UBJEX
  ln -s /etc/rc.d/init.d/bjex_pd /etc/rc.d/rc5.d/S99_UBJEX
  chown -h root:root /etc/rc.d/rc3.d/S99_UBJEX
  chown -h root:root /etc/rc.d/rc5.d/S99_UBJEX

自動停止のためのシンボリックリンク作成

/etc/rc.d/rcN.dディレクトリ（Nは停止時の実行レベル）に/etc/rc.d/init.d/bjex_pdへのシンボリックリンクを作成する。このとき，連携するJP1シリーズの停止よりも前に停止されるようにシンボリックリンクの名称を付ける必要がある。

例えば，/etc/rc.d/rc0.dディレクトリ，/etc/rc.d/rc6.dディレクトリに提供されているJP1/Baseの自動停止スクリプトのシンボリックリンクの名称が「K01_JP1_90_BASE」，JP1/AJSの自動起動スクリプトのシンボリックリンクの名称が「K01_JP1_20_AJS2」の場合，文字列の大小関係で「K01_JP1_20_AJS2」よりも小さくなるようにシンボリックリンクの名称を「K01_BJEX」とし，次のように指定することでJP1/Base，JP1/AJSより先に停止される。

  ln -s /etc/rc.d/init.d/bjex_pd /etc/rc.d/rc0.d/K01_BJEX
  ln -s /etc/rc.d/init.d/bjex_pd /etc/rc.d/rc6.d/K01_BJEX
  chown -h root:root /etc/rc.d/rc0.d/K01_BJEX
  chown -h root:root /etc/rc.d/rc6.d/K01_BJEX

なお，シンボリックリンクの名称の「K01_BJEX」の「_BJEX」部分をほかの名称にする場合は，スクリプトファイルbjex_pdの次の記述の「_BJEX」を変更する必要がある。

  touch /var/lock/subsys/_BJEX
  rm -f /var/lock/subsys/_BJEX

Linux7以降

自動起動・停止するためのUnitファイルbjex.serviceを/opt/hitachi/bjex/sample ディレクトリに格納している。これを利用して次の手順で設定する。

/usr/lib/systemd/system ディレクトリへの追加

/opt/hitachi/bjex/sample ディレクトリに格納されているbjex.serviceを/usr/lib/systemd/system に追加する。bjex.serviceを追加するには次のように指定する。

  cp /opt/hitachi/bjex/sample/bjex.service /usr/lib/systemd/system
  chmod u=rw,go=r /usr/lib/systemd/system/bjex.service
  chown root:root /usr/lib/systemd/system/bjex.service

bjex.serviceファイルの編集

Unitファイルbjex.serviceは，次に示す条件を満たす最低限必要な設定だけが記述されている。

システムの起動時に，JP1/BASEの後にスプールジョブ転送デーモンが起動される。

システムの終了時に，JP1/BASEの前にスプールジョブ転送デーモンが停止される。

必要に応じてbjex.serviceファイルの各項目を編集すること。

自動起動の有効化

bjex.serviceに対して自動起動を有効化する。自動起動を有効化するには次のように指定する。

  systemctl --system enable bjex.service

2.2.5　旧バージョンから移行時の注意事項

旧バージョンからの移行時に次の項目について注意が必要である。

(1)　スプールデータについて

現在使用しているバッチジョブ実行システムのバージョンによって，バージョンアップ後のスプールデータの扱いが異なる。スプールデータの扱いを次の表に示す。

表2‒2　バージョンアップ後のスプールデータの扱い

バッチジョブ実行システムのバージョン

バージョンアップ後のスプールデータの扱い

07-50以前

07-50以前のスプールデータは，07-60以降のバージョンに引き継ぐことはできない。

07-50以前のバージョンで作成したスプールデータは，バージョンアップ前にスプールディレクトリを削除または再作成する必要がある。

07-60以降

07-60以降のスプールデータは，07-61，08-00以降のバージョンに引き継いで使用できる。※

注※

スプールディレクトリにあるデータだけ保証する。転送ディレクトリにあるデータは削除すること。

ジョブ識別子はそのまま引き継ぐことができる。

設定ファイルのホスト名，SysoutClass，およびSPOOL_DIRを変更しないこと。また，バッチジョブ実行システムが稼働するホスト名を変更しないこと。変更した場合，動作を保証できない。

スプールデータは下位バージョンのスプールデータと互換性がない。そのため，一度新バージョンに移行したあと，旧バージョンに戻してスプールデータをそのまま使用することはできない。

(2)　バッチジョブ実行システムのインストールについて

すでにバッチジョブ実行システムがインストールされている場合，アンインストールしてから，新たにバッチジョブ実行システムをインストールをすること。

2.3　セットアップ

ここでは，バッチジョブ実行システムのセットアップ方法について説明する。

2.3.1　セットアップ前の作業

バッチジョブ実行システムのセットアップ前の作業について説明する。

(1)　環境変数の設定

バッチジョブ実行システムでは，言語種別およびローカルタイム情報を環境変数から参照して情報を入出力するため，それらを環境変数で事前に設定しておく必要がある。

(a)　言語種別の設定

言語種別を環境変数LANGで設定する。

AIXの場合

文字コード種別：シフトJIS

環境変数LANGの値：Ja_JP

文字コード種別：EUCコード

環境変数LANGの値：ja_JP

Linuxの場合

文字コード種別：UTF-8コード

環境変数の値：ja_JP.UTF-8

文字コード種別：ASCIIコード

環境変数LANGの値：C

(b)　ローカルタイムの設定

バッチジョブ実行システムが提供するコマンドは，環境変数TZに従って情報を出力する。環境変数TZは，次に示すどれかの方法で指定すること。

JP1/AJSのジョブ定義，環境変数の定義で指定

システムプロファイル（/etc/profile）に指定

ユーザプロファイル（/$HOME/.profile）に指定

(2)　JP1環境を確認する

JP1の環境は，/etc/opt/jp1base/conf/jp1bs_param.confで決定する。

AIXの場合

文字コード種別：シフトJIS

エディタで"LANG=SJIS"の設定か確認すること。

文字コード種別：EUCコード

エディタで"LANG=EUCJIS"の設定か確認すること。

Linuxの場合

文字コード種別：UTF-8コード

エディタで"LANG=UTF-8"の設定か確認すること。

文字コード種別：ASCIIコード

エディタで"LANG=C"の設定か確認すること。

(3)　シェルの設定

AIXの場合

JP1/AJSからジョブを起動する場合に使用するログインシェル，ジョブ定義XMLファイルで指定するシェルはkshだけ使用できる。/etc/passwd，ログインスクリプトファイルなど，kshが使用できるように設定すること。

Linuxの場合

JP1/AJSからジョブを起動する場合に使用するログインシェル，ジョブ定義XMLファイルで指定するシェルはbashだけ使用できる。/etc/passwd，ログインスクリプトファイルなど，bashが使用できるように設定すること。

2.3.2　セットアップ

バッチジョブ実行システムのインストールが完了後，バッチジョブ実行システムをセットアップする。

バッチジョブ実行システムの実行に必要なディレクトリを作成し，設定ファイルに指定する。設定ファイルに指定するディレクトリを次に示す。なお，バッチジョブ実行システムを実行するユーザは，これらのディレクトリに対して，書き込みおよび読み込み権限を付与すること。

カタログドプロシジャ

定形のジョブ定義XMLファイルを登録するディレクトリを指定する。

一時ファイル

ジョブ内だけで利用するファイルを一時的に作成するディレクトリを指定する。

スプール

ジョブログやSYSOUTデータを格納するディレクトリを指定する。

恒久ファイル

恒久ファイルとは，ジョブが終了後にジョブの結果として残すファイルのことである。恒久ファイルの指定で，相対パスを指定した場合に利用するカレントディレクトリを指定する。

実行ログ

システム管理者がジョブの実行を監視するために，ジョブの履歴を実行ログとして保存するディレクトリを指定する。

トレース

システム障害時に，トラブルシュートとして状況を保存するためのディレクトリを指定する。

なお，ここではバッチジョブ実行システムを動作させるための基本となるセットアップ方法を説明する。業務に合わせて設定を変更したい場合は，必要に応じて次に示す設定ファイルのパラメータを参照すること。

表2‒3　設定が必要なファイルディレクトリ

ディレクトリ

設定ファイルのパラメータ名

デフォルト

デフォルトのパーミッション（8進数）

カタログドプロシジャ用

PROCEDURE_DIR

/var/opt/bjex/proc

1777

一時ファイル用

TEMP_FILE_DIR

/tmp

なし※

スプール用

SPOOL_DIR

/var/opt/bjex/spool

1777

恒久ファイル用

PERMANENT_FILE_DIR

/var/opt/bjex/perm

1777

実行ログ用

LOG_DIR

/opt/hitachi/bjex/log

0777

トレース用

TRACE_DIR

/opt/hitachi/bjex/trace

1777

注※　バッチジョブ実行システムのインストールでは設定しない。

バッチジョブを実行するOSユーザに対して，各ディレクトリには次に示すファイルパーミッションが必要である。

表2‒4　ディレクトリのファイルパーミッション

ディレクトリ

読み込み許可（r）

書き込み許可（w）

実行許可（x）

stickyビット（t）

カタログドプロシジャ用

○

△

○

△

一時ファイル用

○

○

○

△

スプール用

○

○

○

△

恒久ファイル用

○

○

○

△

実行ログ用

○

○

○

×

トレース用

○

○

○

△

（凡例）

○：設定が必須である。

△：システムの運用方針に従い，設定する。

×：設定しないこと。

ディレクトリのstickyビットは，システムの運用方針に従い，設定する。

ディレクトリにstickyビットの設定がない場合，ディレクトリに書き込み許可があれば，ディレクトリ直下の任意のファイルを削除できる（unlinkできる）。

ディレクトリにstickyビットを設定した場合，ディレクトリに書き込み許可があっても，ディレクトリの所有者，またはファイルの所有者の場合だけ，ディレクトリ直下のファイルを削除できる。

スプール，恒久ファイルなどは，業務によって大容量となる場合があるため，専用のファイルシステムを作成して使用するのが望ましい。

2.3.3　bjexcollectコマンドの設定

bjexcollectコマンドは，バッチジョブ実行システムが異常終了および無応答となった場合などに，障害調査を実施するための資料を一括して収集するツールである。迅速な障害対応を行うため，bjexcollectの定義ファイル/opt/hitachi/bjex/maintenance/bjexcollect.confにある次の表に示すパラメータの指定値を，「2.3.2　セットアップ」でセットアップした内容に従って書き換える。bjexcollectコマンドの詳細については，「付録C　bjexcollectコマンド（障害調査のための資料の一括収集）」を参照のこと。

表2‒5　bjexcollectの定義ファイルに設定する指定値

パラメータ

指定値の内容

SPOOL_DIR

スプールディレクトリを指定する。

LOG_DIR

ログディレクトリを指定する。

TRACE_DIR

トレースディレクトリを指定する。

LOGICAL_HOST

バッチジョブ実行システムが論理ホストで稼働している場合，論理ホスト名を指定する。

2.3.4　JP1/AJS環境設定

JP1/AJSからバッチジョブ実行システムを実行するために，事前に実行環境を設定する必要がある。ここでは，JP1/AJSの環境設定の留意点について説明する。

(1)　JP1/AJSのログ容量の見積もり

バッチジョブ実行システムを使用した場合，バッチジョブ実行システムを使用しない場合に比べて，次のログに出力するログ出力量が1ジョブ当たり約350バイト増加する。

ジョブ実行内部ログ

/var/opt/jp1ajs2/log/jpqagent/jpqagt_{00|01|02|03|04|05|06|07}.log

そのため，ログサイズを見積もる場合には，JP1のマニュアルに記載されている計算式に上記の値を追加すること。

2.3.5　JP1/FTP環境設定

バッチジョブ実行システムでは，スプール出力をWindows上のプリントサーバへ転送して印刷できる。プリントサーバとの印刷ファイルの転送は，JP1/FTPを利用する。バッチジョブ実行システムから印刷する場合，事前に実行環境を設定する必要がある。ここでは，JP1/FTPを使用するための留意点について説明する。

(1)　JP1/FTPログインユーザの登録

ファイル伝送時にJP1/FTPにログインするログインユーザ※を，プリントサーバが動作するWindows上のJP1/FTPに登録する。これによって，登録したユーザ以外から着信の要求が来た場合，JP1/FTPは着信を拒否できる。

注※　ここで登録するログインユーザは，Windowsのログインユーザとは関係ない。

(2)　転送先ディレクトリの作成

出力クラスごとに，Windows上のプリントサーバへ，スプールジョブ管理ファイルとSYSOUTデータファイルの転送先ディレクトリをそれぞれ作成する。

出力クラスについては，「3.11.1　出力クラス」，および「4.3.3　出力クラスの設定」を参照のこと。転送先ディレクトリについては，「5.3.2　JP1/FTPを使った印刷データ転送」を参照のこと。

2.3.6　メッセージ制御機能を使用する場合の環境設定

メッセージ制御機能を使用してJP1/IM - Viewから応答を入力するためには，事前に実行環境を設定する必要がある。

メッセージ制御機能を使用する場合は，「4.3.7　メッセージ制御機能の設定」に示す設定を行ってから，次の作業を実施すること。

(1)　bjex_msg_setupコマンドの実行

bjex_msg_setupコマンドを実行して，JP1/IM - Managerとの連携を有効にする。bjex_msg_setupコマンドの詳細については，「7.　コマンド」の「bjex_msg_setup（メッセージ制御機能の初期設定（バッチジョブ実行システムの設定用））」を参照のこと。

bjex_msg_setupコマンドは次に示す手順で実行する。

JP1/Baseがインストール済みであることを確認する。

root権限でbjex_msg_setupコマンドを実行する。

KAKC5100-Iメッセージが出力されることを確認する。

bjex_msg_setupコマンド実行後にJP1/Baseを再インストールした場合は，bjex_msg_setupコマンドを再実行すること。

(2)　JP1/IM - Managerの設定方法

JP1/IM - ManagerおよびJP1/IM - Viewで，応答待ちイベントに関する機能を有効にする。有効にしていない場合，JP1/IM - Viewによる応答の入力ができない。

JP1/IM - ManagerおよびJP1/IM - Viewの設定方法ならびにバッチジョブ実行システムとJP1/IM - Managerとの通信の設定については，JP1のマニュアルを参照のこと。

(3)　メッセージ出力用カタログドプロシジャを使用するための設定

メッセージ出力用カタログドプロシジャはuCosminexus Batch Job Execution Serverのインストールディレクトリのsampleディレクトリにある。これらのカタログドプロシジャを，設定ファイルで定義したプロシジャライブラリのディレクトリに複写して使用する。メッセージ出力用カタログドプロシジャを次の表に示す。

表2‒6　メッセージ出力用カタログドプロシジャ

ファイル名

説明

bjex_PAUSE.xml

ジョブの実行を応答待ちにすることで，一時停止状態にする。

bjex_WRITE.xml

メッセージを出力する。

bjex_WRITER.xml

応答要求メッセージを出力する。応答されたメッセージが未定義の場合，エラーのリターンコードを設定して終了する。

bjex_WRITERX.xml

応答要求メッセージを出力する。応答されたメッセージが未定義の場合，再度応答入力メッセージを出力する。

2.3.7　排他/共用制御機能および実行中のジョブ情報表示機能を使用する場合

排他/共用制御機能および実行中のジョブ情報表示機能を使用する場合は，「4.3.6　排他/共用制御機能の設定」の設定をすること。

排他/共用制御機能および実行中のジョブ情報表示機能では，共用メモリおよびセマフォを使用する。OSによっては使用できる共用メモリおよびセマフォ値が低く設定されている場合がある。このため，排他/共用制御機能および実行中のジョブ情報表示機能を使用する場合は，カーネルパラメータの見直しをすること。

2.4　ストレージ設計

バッチジョブ実行システムのストレージ設計については，リリースノートを参照のこと。

3　機能

この章では，バッチジョブ実行システムの機能について説明する。

3.1　バッチジョブ実行システムの機能

3.1.1　バッチジョブ実行システムの機能の特長と処理手順

(1)　機能の特長

バッチジョブ実行システムの機能は，メインフレームと類似のジョブ管理システムを提供することを目的とし，システム資源を効果的に活用するために，次に示す特長を備えている。

バッチジョブは，システム資源の定義をジョブ定義XMLファイルで行う。

JP1/AJSとバッチジョブ実行システムが連携してバッチジョブを一括管理し，システムへのジョブの入力および結果の出力を効率良く処理する。

バッチジョブの実行結果はスプールに保存され，あとから印刷ができる。

システム動作情報のジョブログ機能および実行ログ機能を提供する。

(2)　ジョブ実行の処理手順

ジョブ実行の処理手順を次に示す。

ジョブ定義XMLファイルの解析

ジョブ定義XMLファイルを読み込み後，ジョブ実行前にシンタクスチェックをする。シンタクス上のエラーがある場合は，ジョブを実行することなく終了する。

システム資源の確保

ジョブステップ実行に必要なシステム資源を，それぞれジョブコントローラが確保する。このとき，ジョブステップ実行に必要なシステム資源が使用できない場合，異常と判断してジョブを終了する。

ジョブステップの実行

ジョブステップはジョブステッププロセスとして実行される。ジョブコントローラはシステム資源が割り当てられると，ジョブステッププロセスの生成を行い，処理プログラムの実行を開始する。

ジョブステップの終了

処理プログラムが終了すると，ジョブステッププロセスは消滅し，ジョブコントローラで不要となったファイルを削除する。このとき，ファイルの削除に失敗しても次のステップを実行する。

3.1.2　ジョブ定義XMLファイル

バッチジョブの制御を行うために，ジョブ定義XMLファイルにXML言語でその要求を記述する。

ジョブ定義XMLファイルの主な制御要素を次に示す。

JOB要素

ジョブの始まりを示し，ジョブの名称とそのジョブの属性などを定義する。

STEP要素

ジョブステップの始まりを示し，ジョブステップ名称を定義する。

EXEC要素

実行するプログラム名を定義する。

DD要素

ジョブまたはジョブステップで利用するファイルを定義する。

CALL要素

実行するプロシジャ名を定義する。

PROC要素

CALL要素で呼び出すプロシジャを定義する。

(1)　ジョブの構成

ジョブは，その処理内容に応じて（処理を行うプログラム対応に）幾つかの段階に分かれるのが一般的である。この各段階を"ジョブステップ"と呼ぶ。ジョブステップは，処理を行うプログラムの定義と，そのプログラムが使用するファイルなどの資源の定義から成る。

ジョブ内での複数個のジョブステップの間には前後関係が存在していて，並べられた順序に従って処理していくことを原則とするが，先行するジョブステップの終了状態によって後続するジョブステップの実行をやめることもできる。

(a)　ジョブを構成するためのジョブ定義XMLファイル

ジョブの実行をバッチジョブ実行システムに依頼するためには，ジョブ定義XMLファイルを準備する必要がある。

ジョブを構成するためのジョブ定義XMLファイル例を次の図に示す。これはジョブ制御，プログラム検索パスの定義などを使用する場合を含めてジョブ定義XMLファイルの規則を示したものである。

図3‒1　ジョブを構成するためのジョブ定義XMLファイル例

ジョブ実行の手順はジョブ定義XMLファイルによって記述され，定義に従いファイルの準備と環境変数を設定し，EXEC要素で指定されたプログラムのプロセスを作成することによって実行される。

3.1.3　ジョブコントローラ

バッチジョブ実行システムでのジョブの実行を制御する。

ジョブの入力はJP1/AJSで行う。JP1/AJSから起動されたジョブコントローラは，ジョブに対して入出力装置や各種システム資源の割り当ておよび解放処理，すなわちジョブの実行準備および終了処理をする。また，ジョブの実行結果を管理し，ジョブ実行に付随するジョブログを出力する。

機能の特長を次に示す。

ジョブの実行準備および終了処理，ファイルの割り当ておよび解放処理をする。

ジョブを実行する前にジョブのシンタクスチェックができる。

処理プログラムの実行結果をスプールで管理できる。

ジョブログはJP1/AJS - Viewから参照できる。JP1/AJS - Viewから参照できるデータ量については，注意事項がある。注意事項については，「3.1.3(2)　ジョブログ出力機能」を参照のこと。

(1)　ジョブのシンタクスチェック機能

シンタクスチェック機能は，bjexecコマンドで-cオプションを指定することによって実行できる。この機能は，ジョブ定義XMLファイルのシンタクスチェックだけを行い，ジョブの実行はしない。

シンタクスチェック機能の特長を次に示す。

ジョブを実行することなく，ジョブ定義XMLファイルのエラーを検出できる。

ジョブ定義XMLファイルが正しい場合もジョブは実行されないので，ジョブの実行に必要なファイルなどの準備をする必要がない。

(2)　ジョブログ出力機能

ジョブコントローラは，ジョブ実行の出力情報として，処理プログラムの実行結果のほかに，ジョブ実行に付随したログ情報を出力する。このログ情報をジョブログという。

(a)　ジョブログに出力する内容

ジョブログには，JOBLOG，XMLおよびSYSMSGを出力する。ジョブログの内容は，ジョブ終了時にジョブコントローラの標準エラー出力に出力するので，JP1/AJS - Viewから参照できる。

注意事項

JP1/AJSではジョブネットのUNIXジョブとしてジョブを実行した場合，デフォルト設定ではジョブの標準エラー出力データを取得する。

このため，ジョブログはJP1/AJS - Viewから参照できる。

ただし，ジョブが出力する標準エラー出力データ量が大きい場合，次に示す事象が発生する要因となることがある。

JP1/AJS - Viewでの参照時のメモリ不足の発生

JP1/AJSシステムの負荷の増加

高負荷によるジョブの実行遅延

ジョブ異常終了

このため，ジョブログの出力データは，多くても数MB以内になるように設計する必要がある。

また，エラーケースなど意図しないでジョブログ，XML，およびSYSMSGの出力データが多くなる場合も考えられるため，JP1/AJSのUNIXジョブとして定義する前に，ジョブコントローラ単体で十分テストを実施する必要がある。

並列実行するジョブステップの場合，ジョブログとSYSMSGは時系列に出力されるため，並列実行するジョブステップの情報はジョブ定義XMLファイルに指定した順とはならない。

(b)　JOBLOGの出力形式

JOBLOGには主に次の表に示す内容をメッセージ出力する。

表3‒1　ジョブログに出力する内容

出力契機

出力内容

ジョブログヘッダ

ジョブ識別子

スプールジョブディレクトリ

実行ホスト名

JP1情報

ジョブ開始時

ジョブの開始時刻

ジョブ識別子

ジョブ名

ジョブステップ開始時

ジョブステップの開始時刻

ジョブ識別子

ジョブ名

ジョブステップ名

ジョブステップ終了時

ジョブステップの終了時刻

ジョブ識別子

ジョブ名

ジョブステップ名

ジョブステッププロセスの終了コード

C-TIME

E-TIME

ジョブ終了時

ジョブの終了時刻

ジョブ識別子

ジョブ名

ジョブの終了コード

ジョブステップのC-TIMEの合計

ジョブステップのE-TIMEの合計

ジョブが利用した最大実メモリサイズ

ジョブログヘッダはJOBLOGファイルの先頭に出力する。

JOBLOGの出力形式を次に示す（項番は項目の説明の番号と対応している）。

(1)バッチジョブ実行システムに関する情報

(2)ジョブ識別子

バッチジョブ実行システムが割り当てたジョブ通し番号。

(3)スプールジョブディレクトリ

ジョブの出力情報が格納されるスプールジョブディレクトリ名。

(4)日付

ヘッダ出力時の日付。yyyy/mm/dd形式で出力する。

(5)設定ファイルのパス

使用したバッチジョブ実行システムの設定ファイルのパス。

(6)ホスト名

設定ファイルのJP1_HOSTNAMEパラメータで指定したホスト名。

ただし，bjexecコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

(7)JP1の環境変数の始まり

(8)JP1ジョブ名

JP1で定義した実行ファイル名，またはジョブ名。

(9)JP1ジョブ番号

JP1のジョブ番号。

(10)JP1ユーザ名

JP1のユーザ名。

(11)JP1エージェントホスト名

JP1の実行ホスト名。

(12)マネージャーホスト名とキュー名

ジョブの登録先であるJP1/AJSのマネージャーホスト名（255バイト以内の文字列）とキュー名（63バイト以内の文字列）が「¥¥マネージャーホスト名¥キュー名」の形式で設定される。

(13)JP1実行優先順位

JP1のジョブ実行優先順位。

(14)JP1実行ID

JP1のジョブ実行ID。

(15)AJSJOBNAME

JP1のジョブ名。

(c)　XMLの出力形式

ジョブ定義XMLファイルを解析したXMLのイメージを出力する。

>>>>> ファイル名

カタログドプロシジャとしてファイル名で示すファイル解析の開始を示す。

<<<<<< ファイル名

カタログドプロシジャとしてファイル名で示すファイル解析の終了を示す。

要素番号 記号 ＜要素 〜＞

ファイル内に含む要素を表示する。

要素番号 ((000001〜999999))

ファイル内の要素を6けたの10進数で表示する。

999999を超える要素数のXMLを入力した場合，7けた以上の要素番号表示となる。

記号

++：入力ストリームプロシジャ

　　EXEC要素，DD要素，SETENV要素，IF要素，ELSE要素，ENDIF要素およびSETENVFILE要素を表示する。

+/：修正された可能性のある入力ストリームプロシジャ

　　REPLACE要素またはREPLACESTEP要素で修正された可能性のある要素を表示する。

XX：カタログドプロシジャ

　　EXEC要素，DD要素，SETENV要素，IF要素，ELSE要素，ENDIF要素およびSETENVFILE要素を表示する。

X/：修正された可能性のあるカタログドプロシジャ

　　REPLACE要素またはREPLACESTEP要素で修正された可能性のある要素を表示する。

**：読み込んだカタログドプロシジャ

空白：入力したジョブ定義XMLファイルの内容

要素

解析後の要素を示す。内容を含む場合，改行後の要素番号がない状態で表示する。

XMLの表示例を次に示す。

(d)　SYSMSGの出力形式

ファイルの前処理，後処理の結果を出力する。

SYSMSGに出力する内容を次の表に示す。

表3‒2　SYSMSGに出力する内容

出力契機

出力内容

ジョブ定義XMLファイル変換時

ジョブ定義XMLファイルの誤り

ジョブのメッセージクラス

ファイル割り当て時

割り当てたファイルのDD名

パス名

ファイル割り当て解除時

割り当て解除したファイルのDD名

パス名

SYSMSGの表示例を次に示す。

(e)　ジョブステップの標準エラー出力

各ジョブステップが出力した標準エラー出力をKAKC0719-Iメッセージの下部に表示する。出力例を次に示す。

(f)　ジョブログの出力例

JP1/AJS - Viewから参照した場合のジョブログの出力例を次の図に示す。

図3‒2　ジョブログの出力例

3.1.4　スプール

バッチジョブ実行システムでのジョブの実行結果を管理する。

バッチジョブ実行システムでは，ジョブの実行結果やジョブログをスプールに残すことができる。

機能の特長を次に示す。

ジョブの実行結果ファイルをプリンタに出力するための書式属性を外部から与えることができる。

ジョブの実行ごとにジョブ識別子が付けられ，ジョブごとの操作が可能となる。

(1)　スプールの制御

(a)　スプールの構造

バッチジョブ実行システムでは，設定ファイルに指定したスプールディレクトリにジョブごとにディレクトリを作成し，ジョブ実行結果などのジョブごとの情報を出力する。

スプールのディレクトリの構造を次の図に示す。

図3‒3　スプールのディレクトリの構造

（1）スプールディレクトリ

スプールのルートディレクトリ（ディレクトリ名は，設定ファイルのスプールディレクトリ指定パラメータSPOOL_DIRで指定）である。

（2）スプールジョブディレクトリ

ジョブ単位のディレクトリ（ディレクトリ名は，ジョブ識別子を使用する）である。

ジョブ実行結果およびDD要素のTYPE属性でSYSOUTを指定した出力情報は，いったんスプール内にSYSOUTデータファイルとして格納され，印刷指示に従い処理される。スプールジョブディレクトリは，SYSOUTデータファイルとスプールジョブ管理ファイルから構成される。詳細については，「3.1.4(1)(b)　スプールジョブの構造」を参照のこと。

（3）スプールジョブ管理ファイル

スプールジョブの構成や属性を管理するファイルである。

ファイル名：.sysout

（4）転送ディレクトリ

スプールジョブ転送サービスによって，SYSOUTデータファイルをプリントサーバに転送する場合に使用する作業用ディレクトリである。

ディレクトリ名：transfer

（5）スプール管理ファイル

スプールジョブ全体を管理するファイルであり，バッチジョブ実行システムが使用する。

このファイルが存在しない場合は，スプールジョブ転送デーモン起動時に自動生成する。

このファイルが破壊された場合は運用を停止し，このファイルを削除してスプールジョブ転送デーモンを起動後にbjexchjobコマンドの-Sオプションで必要なスプールジョブごとに回復する。

ファイル名：.hold

（6）ジョブ識別子管理ファイル

このスプールのジョブ識別子を管理するファイルである。

バッチジョブ実行システムが使用するため，参照や操作をしないこと。

ファイル名：.jobid

(b)　スプールジョブの構造

スプールジョブのディレクトリの構造を次の図に示す。

図3‒4　スプールジョブのディレクトリの構造

（1）JOBLOG

ジョブ実行メッセージ。ジョブの動作状況を示すメッセージを格納する。

（2）XML

実行時のジョブ定義XML。入力となるジョブ定義XMLファイルを解析した結果である。

（3）SYSMSG

システムメッセージ。ジョブ定義XMLファイルの解析結果やファイルの割り当てに関する情報をメッセージとして格納する。

（4）ステップ番号_ステップ名_STDOUT

このステップで実行したプログラムの標準出力。

（5）ステップ番号_ステップ名_STDERR

このステップで実行したプログラムの標準エラー出力。

（6）ステップ番号_ステップ名_SYSOUT DD通し番号_DD名

DD要素のTYPE属性にSYSOUTを指定したファイル。

スプールジョブディレクトリの項目の形式を次の表に示す。

表3‒3　スプールジョブディレクトリの項目の形式

項目

形式

ステップ番号

ジョブステップの通し番号。

プロシジャで展開したジョブステップも含めた通し番号。

001〜255の値とする。ステップ番号は3けたの10進数とする。

ステップ名

ジョブステップ名。

STEP要素のNAME属性に指定した文字列が8文字以上の場合は，最初の8文字をSYSOUTデータファイル名のステップ名として使用する。

SYSOUT DD通し番号

ジョブステップ内に指定されたSYSOUT DDの連番。

ジョブステップごとに001〜255の値とする。DD通し番号は3けたの10進数とする。

DD名

ジョブ定義XMLファイルで指定したSYSOUTデータファイルのDD名。

（7）スプールジョブ管理ファイル（.sysout）

このスプールジョブの，ジョブに関する情報，スプールジョブに含まれるファイルの情報，および印刷のための属性を管理するためにジョブコントローラが作成するファイルである。印刷する場合は，スプールジョブ管理ファイルの転送が完了したときに，Prinfina MANAGER SPおよびPDEが印刷ジョブの受信を完了したと判断し，印刷処理を開始する。

(c)　スプールジョブのデータの流れ

ジョブ実行終了によってスプールジョブディレクトリに生成されたスプールジョブのデータは，bjexchjobコマンドなどの入力によって転送ディレクトリを経由してプリントサーバに転送される。転送ディレクトリのデータを印刷ジョブのデータ，プリントサーバへ転送されたデータを転送済みジョブのデータという。

スプールジョブのデータの流れを次の図と表に示す。

図3‒5　スプールジョブのデータの流れ

表3‒4　スプールジョブのデータの流れ

データ種別名称

生成契機

削除契機

格納場所

意味

スプールジョブ

ジョブ実行終了

bjexrmjobコマンドによるスプールジョブ削除指示または転送処理後に保存が不要な場合

スプールジョブディレクトリ

実行が終了したジョブの結果をジョブごとにまとめたデータ。

印刷ジョブ

印刷指示

印刷指示（転送完了後削除）

転送ディレクトリ

転送ディレクトリに格納された，転送待ちのジョブのデータ。

転送済みジョブ

プリントサーバ設定依存

プリントサーバ

プリントサーバに転送された，印刷待ちのジョブのデータ。

3.2　カタログドプロシジャと入力ストリームプロシジャ

3.2.1　プロシジャの概要

システムにジョブを入力する場合，ジョブ定義XMLファイルを準備する必要がある。しかし，そのジョブがシステム資源をより多岐に利用する場合は，ジョブ定義XMLファイルもより多く準備する必要がある。そこで，定型的ジョブについては，カタログドプロシジャまたは入力ストリームプロシジャの機能を利用することによって，ジョブ定義XMLファイルの準備作業を簡素化できる。

(1)　カタログドプロシジャ

あらかじめジョブ定義XMLの集まりをプロシジャライブラリ（ディレクトリ）に登録しておき，必要時にその集まりをCALL要素で取り出すことができる。

(2)　入力ストリームプロシジャ

ジョブ定義XMLの集まりをファイル中に置き，そのジョブ内で必要時にジョブ定義XMLの集まりを取り出すことができる。

カタログドプロシジャと入力ストリームプロシジャを総称してプロシジャという。また，プロシジャ内には次に示すものを含むことはできない。

ほかのプロシジャ名を指定したCALL要素（プロシジャのネスト）

JOB要素，JOBPARM要素，PERMISSION要素，SETSYMBOL要素，REPLACE要素，およびREPLACESTEP要素

NAME属性に"JOBLIB"を指定したDD要素

一度作成したプロシジャを変更して使用する場合，プロシジャそのものの変更をしないで一時的な修正ができる。これによって，プロシジャ使用時の変更，追加が容易となる。

プロシジャの修正については「3.2.5　プロシジャの修正方法」を参照のこと。

3.2.2　入力ストリームプロシジャの作成方法

入力ストリームプロシジャを使用する場合，事前に同一ジョブ内でプロシジャの定義をしておく必要がある。入力ストリームプロシジャの作成は，ジョブ定義XMLファイルのPROC要素およびSYMBOL要素で行う。

(1)　PROC要素

入力ストリームプロシジャの先頭に置き，プロシジャ名を定義する。

(2)　SYMBOL要素

プロシジャ内の記号パラメータに標準値を定義する。

3.2.3　カタログドプロシジャの使用方法

カタログドプロシジャを使用する場合，事前にプロシジャライブラリに登録しておく必要がある。プロシジャライブラリは，設定ファイルのPROCEDURE_DIRパラメータを定義して登録する。

カタログドプロシジャを作成する場合，カタログドプロシジャのファイル名はプロシジャ名の後部に".xml"の拡張子を付加したファイルとして作成する。

カタログドプロシジャを呼び出す場合，CALL要素のNAME属性に，呼び出したいカタログドプロシジャのファイル名から.xmlを除いた文字列を指定する。

カタログドプロシジャの使用例を次に示す。

カタログドプロシジャの例（TEST.xml）

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <PROC NAME="TEST">
    <SYMBOL NAME="PAR1" VALUE="456" />
    <STEP>
      <EXEC PGM="PGMNAME" PARM="123#{PAR1}" />
      <DD NAME="DD1" DSN="#{PAR1}ABC" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

カタログドプロシジャTESTを呼び出すジョブ定義XML

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="CALLTEST" >
    <STEP NAME="STEP">
      <CALL NAME="TEST" >
        <SETSYMBOL NAME="PAR1" VALUE="789" />
      </CALL>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

この例では，カタログドプロシジャ内の指定は次に示すとおりである。

EXEC要素のPARM属性は"123456"

DD要素のDSN属性は"456ABC"

しかし，プロシジャを呼び出す場合にSETSYMBOL要素でPAR1を利用して置き換えをしているため，次に示す値で実行される。詳細については「3.2.5　プロシジャの修正方法」を参照のこと。

EXEC要素のPARM属性は"123789"

DD要素のDSN属性は"789ABC"

3.2.4　入力ストリームプロシジャの使用方法

入力ストリームプロシジャを使用する場合，事前に同一ジョブ定義XMLファイル内で，PROC要素を定義しておく必要がある。

入力ストリームプロシジャの使用例を次に示す（項番は項目の説明の番号と対応している）。

入力ストリームプロシジャの使用例

(1)XML宣言を示す。

(2)ジョブ定義XMLファイルのルート要素の開始を示す。

(3)ジョブSAMPLE3のJOB要素の開始を示す。

(4)PROC要素の開始を示す。

(5)PROC要素で定義された記号パラメータをSYMBOL要素として定義する。

(6)STEP要素の開始を示す。

(7)実行するプログラムをEXEC要素として示す。

(8)STEP要素の終了を示す。

(9)PROC要素の終了を示す。

(10)STEP要素の開始を示す。

(11)カタログドプロシジャPROC3の呼び出しのためのCALL要素の開始を示す。

(12)カタログドプロシジャPROC3の記号パラメータへの値の設定を示す。

(13)CALL要素の終了を示す。

(14)STEP要素の終了を示す。

(15)JOB要素の終了を示す。

(16)ルート要素の終了を示す。

3.2.5　プロシジャの修正方法

プロシジャの修正方法を次に示す。この修正はプロシジャの使用時に一時的に修正するだけで，プロシジャそのものは変更しない。

記号パラメータを使用しない修正

プロシジャ内のEXEC要素の修正

プロシジャ内のDD要素の修正

プロシジャへのDD要素の追加

記号パラメータによる修正

SETSYMBOL要素によるプロシジャ内のDD，EXEC，SETENV要素の修正

3.2.6　プロシジャ内のEXEC要素の修正方法

プロシジャ内のEXEC要素の属性を修正したい場合，プロシジャを呼び出すためのCALL要素内にREPLACE要素，REPLACESTEP要素と修正するEXEC要素の属性および値を記述する。REPLACESTEP要素のNAME属性には，修正したいプロシジャ内のジョブステップ名を記述する。属性の追加の場合も同じように記述する。ただし，PGM属性は修正・追加できない。

この修正は，プロシジャ内の複数のEXEC要素および各EXEC要素に対して複数の属性の修正を指定できる。

EXEC要素の属性の置き換えまたは削除の指定方法を次に示す。

プロシジャ内のEXEC要素の属性をある値に置き換える場合

<REPLACE >
   [<REPLACESTEP NAME="修正するプロシジャステップ名">]
      <EXEC 置き換えたい属性="値" />
   [</REPLACESTEP>]
</REPLACE>

プロシジャ内のEXEC要素の属性を無効にしたい場合

<REPLACE >
  [<REPLACESTEP NAME="修正するプロシジャステップ名">]
     <EXEC 無効にしたい属性="" />
  [</REPLACESTEP>]
</REPLACE>

EXEC要素内のパラメータをREPLACE要素で修正する場合，プロシジャ内のジョブステップ名を指定するREPLACESTEP要素を省略すると，プロシジャ内の先頭のジョブステップを修正する。

プロシジャをREPLACE要素で修正する方法を次に示す。

(1)　先頭ステップだけを修正する方法

カタログドプロシジャの例（TEST2.xml）

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <PROC NAME="TEST2">
    <STEP>
      <EXEC PGM="PGMNAME" PARM="123" COND="0,NE" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

カタログドプロシジャTEST2を呼び出すジョブ定義XML

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="CALLTEST2" >
    <STEP>
      <CALL NAME="TEST2" >
        <REPLACE>
           <EXEC PARM="456"/>
        </REPLACE>
      </CALL>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

この例では，カタログドプロシジャ内の指定は次に示すとおりである。

EXEC要素のPGM属性は"PGMNAME"

EXEC要素のPARM属性は"123"

EXEC要素のCOND属性は"0,NE"

しかし，プロシジャを呼び出すときにREPLACE要素でPARM属性だけを置き換える。プロシジャ中の先頭ステップに対する修正であるため，REPLACESTEP要素を記述する必要はない。COND属性は指定をしていないため，最初に指定した"0,NE"が有効となり，次に示す値で実行する。

EXEC要素のPGM属性は"PGMNAME"

EXEC要素のPARM属性は"456"

EXEC要素のCOND属性は"0,NE"

(2)　先頭ステップ以外のステップを修正する方法

カタログドプロシジャの例（TEST3.xml）

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <PROC NAME="TEST3">
    <STEP NAME="STEP1">
      <EXEC PGM="PGMNAME" PARM="123" COND="0,NE" />
    </STEP>
    <STEP NAME="STEP2">
      <EXEC PGM="PGMNAME" PARM="456" COND="8,LE" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

カタログドプロシジャTEST3を呼び出すジョブ定義XML

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="CALLTEST3" >
    <STEP>
      <CALL NAME="TEST3" >
        <REPLACE>
          <REPLACESTEP NAME="STEP2">
            <EXEC PARM="789"/>
          </REPLACESTEP>
        </REPLACE>
      </CALL>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

この例では，カタログドプロシジャ内の指定は次に示すとおりである。

STEP1のEXEC要素のPGM属性は"PGMNAME"，PARM属性は"123"，COND属性は"0,NE"

STEP2のEXEC要素のPGM属性は"PGMNAME"，PARM属性は"456"，COND属性は"8,LE"

しかし，プロシジャを呼び出すときにREPLACE要素とREPLACESTEP要素でSTEP2のPARM属性だけを置き換える。COND属性は指定をしていないため，最初に指定した"8,LE"が有効となり，次に示す値で実行する。

STEP1のEXEC要素のPGM属性は"PGMNAME"，PARM属性は"123"，COND属性は"0,NE"

STEP2のEXEC要素のPGM属性は"PGMNAME"，PARM属性は"789"，COND属性は"8,LE"

3.2.7　プロシジャ内のDD要素の修正方法

プロシジャ内のDD要素の修正では次に示すことができる。

属性値の変更

属性の追加

属性の削除

DD要素の無効化

プロシジャ内のDD要素の属性を修正する場合は，プロシジャを呼び出すためのCALL要素に続けて，修正情報を持つREPLACE要素内にDD要素を定義する。このREPLACE要素には，修正したいプロシジャ内のジョブステップ名（プロシジャステップ名）をREPLACESTEPとして定義し，実際に修正の対象となるDD要素の名前（NAME属性），修正する属性，および属性値を記述する。また，属性値を無効にする修正の場合は，値を""で指定する。この修正は，EXEC要素の修正と同じく，プロシジャ内の複数のDD要素および各DD要素に対して複数の属性の修正が指定できる。

プロシジャ中のDD要素は，そのプロシジャが呼び出されたとき，DD要素の修正がすべて完了した時点で排他的関係のチェックをする。

なお，NAME属性に対して属性値の変更を行うことはできない。

(1)　DD要素を修正するための指定方法

(a)　属性値の変更

DD要素の属性値を変更するための指定方法を次に示す。

プロシジャを呼び出したCALL要素に続いて，修正情報を持つREPLACE要素内にDD要素を指定する。

<REPLACE >
  [<REPLACESTEP NAME="修正するプロシジャステップ名">]
    <DD NAME="修正したいDD要素のDD名" 修正する属性="修正する属性値" />
  [</REPLACESTEP>]
</REPLACE>

プロシジャステップを省略した場合，先頭のプロシジャステップが仮定される。

(b)　属性の追加

DD要素の属性を追加するための指定方法を次に示す。

指定方法は「属性値の変更」と同じだが，プロシジャ内のDD要素に指定していない属性を，修正するDD要素に定義することによって追加となる。

<REPLACE >
  [<REPLACESTEP NAME="修正するプロシジャステップ名">]
    <DD NAME="修正したいDD要素のDD名" 追加する属性="追加する属性値" />
  [</REPLACESTEP>]
</REPLACE>

この場合，追加した属性と排他的な関係の属性をプロシジャ内のDD要素に指定していると，追加処理後に背反のチェックをする。

(c)　属性の削除

DD要素の属性を削除するための指定方法を次に示す。

修正する属性の値を空文字列（=""）にすることによって，プロシジャ内のDD要素に指定している属性を削除できる。

<REPLACE >
  [<REPLACESTEP NAME="削除するプロシジャステップ名">]
        <DD NAME="削除したいDD要素のDD名" 削除する属性="" />
  [</REPLACESTEP>]
</REPLACE>

(2)　プロシジャ内のDD要素を無効化にする場合

DD要素を無効化する場合は，TYPE属性にDUMMYを指定する。ダミーファイルに変更することで，該当するDD要素を無効化できる。なお，無効化されるDD要素にTYPE=DUMMYと背反する属性値が指定されている場合も，TYPE属性値以外の属性値はすべて無視される。

(3)　連結したDD要素の修正

プロシジャ内で連結したDD要素が定義されている場合，その連結を1つのDD要素で置き換えようとすると最初のDD要素だけ置き換わる。連結している残りのDD要素を置き換える場合には，各DD要素に対して，それぞれ置き換え用のDD要素が必要である。置き換えを指定するDD要素はプロシジャ中の連結DD要素と同じ順序とすること。

また，連結DD要素のどれかを変更したくない場合は，置き換えを指定する対応DD要素は，NAME属性だけを指定する。

カタログドプロシジャの例（TEST4.xml）

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <PROC NAME="TEST4">
    <STEP NAME="STEP00">
      <EXEC PGM="PGMNAME" PARM="123" />
      <DD NAME="DD00" DSN="A" />
      <DD NAME="DD00" DSN="B" />
      <DD NAME="DD00" DSN="C" />
      <DD NAME="DD00" DSN="D" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

カタログドプロシジャTEST4を呼び出すジョブ定義XML

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="CALLTEST4" >
    <STEP NAME="PROCCALL">
      <CALL NAME="TEST4" >
        <REPLACE>
          <DD NAME="DD00" />
          <DD NAME="DD00" DSN="X" />
          <DD NAME="DD00" />
          <DD NAME="DD00" DSN="Y" />
        </REPLACE>
      </CALL>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

修正後のDD要素

<DD NAME="DD00" DSN="A" />
<DD NAME="DD00" DSN="X" />　；修正された
<DD NAME="DD00" DSN="C" />
<DD NAME="DD00" DSN="Y" />　；修正された

プロシジャ内に定義されている連結されたDD要素のうち，2番目と4番目のDSN属性をそれぞれ"X"，"Y"に修正して実行することを示している。1番目と3番目のDSN属性は元の"A"，"C"である。

3.2.8　プロシジャ内へのDD要素の追加方法

プロシジャ内に存在するDD要素の属性の修正だけでなく，新たにプロシジャにDD要素を追加できる。

DD要素を追加するための指定方法を次に示す。

追加するDD要素は，プロシジャを呼び出すためのCALL要素内のREPLACE要素，REPLACESTEP要素内に指定する。REPLACESTEP要素のNAME属性には，追加したいプロシジャ内のジョブステップ名を記述する。この追加DD要素には，そのジョブステップ内で指定していないNAME要素を指定する。

<REPLACE >
  [<REPLACESTEP NAME="追加するプロシジャステップ名">]
    <DD NAME="追加したいDD要素のDD名" 〜 />
  [</REPLACESTEP>]
</REPLACE>

プロシジャ内のジョブステップ名を指定するREPLACESTEP要素を省略した場合，プロシジャ内の先頭ジョブステップにDD要素を追加する。

3.2.9　プロシジャの記号パラメータによる修正方法

プロシジャを使用するたびに，プロシジャ内の属性値を修正する場合の簡易方法として記号パラメータによる方法がある。

(1)　記号パラメータの定義

記号パラメータは，プロシジャ内の属性値内に"＃{"文字と"}"文字で囲むことによって定義する。

記号パラメータは，"＃{"と"}"を前置して，それに1〜31文字の英数字＜（#，@，＿，も含む）＞から成る文字列であること。

プロシジャ内で，同じ記号パラメータを与えることができる。すなわち，プロシジャ内の同一要素は，1種類の記号パラメータによって定義できる。

(2)　記号パラメータに対する値の割り当て

記号パラメータを含むプロシジャを使用する場合，それぞれの記号パラメータに値を割り当てるかまたは無効にするための手続きを次に示すようにして行う。

プロシジャを呼び出すためのCALL要素で，記号パラメータの値を割り当てるかまたは無効にする。

プロシジャ内の記号パラメータを定義する場合に，SYMBOL要素によって標準値を割り当てる。なお，SYMBOL要素は，記号パラメータに標準値を割り当てるときにだけプロシジャの先頭に置く。

記号パラメータを使用して，1つのパラメータ中の一部を修正できる。

記号パラメータでの値の割り当ての記述順序は，プロシジャ内の記号パラメータの順序と一致している必要はない。

記号パラメータを無効にするための指定方法を次に示す。

<SETSYMBOL NAME="記号パラメータ" VALUE=""/>

記号パラメータ値を割り当てるための指定方法を次に示す。

<SETSYMBOL NAME="記号パラメータ" VALUE="値"/>

割り当て時の注意事項を次に示す。

SYMBOL要素を複数記述して，同一記号パラメータに複数の標準値を割り当てた場合は，最初に指定された値を割り当てる。この機能を利用して，同じ記号パラメータに対する値を複数指定しておき，使用するとき必要な値を先頭に持って来るようにするとよい。

SETSYMBOL要素を複数記述して，同一記号パラメータに複数の値を割り当てた場合は，最後に指定された値を割り当てる。

置き換えができるのは，EXEC要素，DD要素およびSETENV要素の中の属性値（""で囲まれている中）である。ただし，EXEC要素のPGM属性とDD要素およびSETENV要素のNAME属性値は置き換えできない。

ジョブ定義XMLファイル中に記号パラメータの記述目的以外で「#{…}」または「#{}｝」は記述できない。

3.2.10　プロシジャライブラリの定義方法

プロシジャライブラリは，カタログドプロシジャファイルを格納したディレクトリパスを設定ファイルで定義する。プロシジャライブラリは，複数のディレクトリを定義して連結されたライブラリとして処理できる。また，プロシジャライブラリにグループ名を付加してプロシジャグループとして定義できる。連結定義した場合，定義した順番にカタログドプロシジャファイルを検索する。

同一パスを複数のグループに定義することができ，グループで共通のライブラリを定義できる。また，同一グループの定義は連続している必要はない。

グループ名なしのプロシジャグループを定義しなくても，設定ファイルはエラーにならない。しかし，デフォルトグループのプロシジャライブラリを使用するジョブは，ジョブ実行時にカタログドプロシジャが見つからないためエラーとなる。

複数のプロシジャライブラリの定義例を次に示す。

グループ名なしのライブラリ

/bjex/procdirはグループ名なしのプロシジャライブラリとして登録しており，プロシジャグループの指定がないジョブでは，グループ名なしのライブラリのカタログドプロシジャを使用する。

GROUPAのライブラリ

/bjex/procdirA001，/bjex/procdirA002，/bjex/procdirA003，/bjex/procdirCommが連結されており，ジョブでプロシジャグループとしてGROUPAを指定した場合，GROUPAのライブラリのカタログドプロシジャを使用する。検索順は定義順である。

GROUPBのライブラリ

/bjex/procdir，/bjex/procdirB001，/bjex/procdirB002，/bjex/procdirCommが連結されており，ジョブでプロシジャグループとしてGROUPBを指定した場合，GROUPBのライブラリのカタログドプロシジャを使用する。検索順は定義順である。

共通ライブラリ

/bjex/procdirはグループなしとGROUPBで共通に使用されている。また，/bjex/procdirCommはGROUPAとGROUPBで共通に使用される。

ジョブ定義XMLファイルでプロシジャグループ名を指定することで使用するプロシジャライブラリを切り替えて使用できる。

ジョブ定義XMLファイルでプロシジャグループ名を指定した場合の定義例を次に示す。

また，ジョブを業務種類ごとにJP1/AJSのキューで分けている場合，そのキュー名をプロシジャグループ名として使用し，プロシジャライブラリを業務種類ごとに切り替えることができる。JP1/AJSのキュー名をプロシジャグループ名として利用する場合は，PROCGROUP_QUEUENAMEパラメータでYESを指定する必要がある。

3.3　プログラムのシステムへの登録と使用

プログラムを実行するためには，プログラムを格納したファイルのパスを特定する必要がある。

PATH環境変数にプログラムを格納したディレクトリをあらかじめ登録すれば，プログラムのファイル名だけを指定して，プログラムを実行できる。

バッチジョブ実行システムでは，JOBLIB DD要素，STEPLIB DD要素でPATH環境変数に登録するディレクトリを追加できる。

3.3.1　システムのプログラム使用方法

システムのプログラムを使用するために，通常，DD要素を用意する必要はない。システムのプログラムが格納されたディレクトリは，通常，ログインプロファイルでPATH環境変数に登録される。

PATH環境変数に登録されていないディレクトリに存在するシステムのプログラムを実行する場合は，「(2)　ユーザプログラムの使用方法」で，システムのプログラムが存在するディレクトリをPATH環境変数に登録する。

システムのプログラムは，EXEC要素のPGM属性に指定して実行する。

3.3.2　ユーザプログラムの使用方法

特定のジョブまたはジョブステップで使用するユーザプログラムは，通常，システムのプログラムとは別のディレクトリに格納する。ユーザプログラムを格納したディレクトリのパスを，JOBLIB DD要素，またはSTEPLIB DD要素で指定すると，バッチジョブ実行システムは，ジョブステップの実行開始時に，PATH環境変数の先頭に登録し，ジョブステップの実行終了時にPATH環境変数への登録を削除する。

STEPLIB DD要素を指定した場合，STEPLIB DD要素で指定されたディレクトリを，PATH環境変数の先頭に登録する。

JOBLIB DD要素を指定した場合，JOBLIB DD要素で指定されたディレクトリを，PATH環境変数の先頭に登録する。

STEPLIB DD要素が指定された場合，PATH環境変数にJOBLIB DD要素で指定されたディレクトリは登録されない。

JOBLIB DD要素

1つのジョブの中で有効なプログラムのディレクトリであり，DD要素の名前はJOBLIBである。JOBLIB DD要素の指定位置は，JOB要素の中で最初のSTEP要素の前にする必要がある。

STEPLIB DD要素

1つのジョブステップの中で有効なプログラムのディレクトリであり，DD要素の名前はSTEPLIBである。STEP要素内でEXEC要素の後ろで定義する。

PATH環境変数にプログラムのディレクトリを複数登録する場合，DSN属性に登録するプログラムのディレクトリを記述したJOBLIB DD要素（またはSTEPLIB DD要素）を連続して記述する。バッチジョブ実行システムは，JOBLIB DD要素（またはSTEPLIB DD要素）を記述した順序で，プログラムのディレクトリをPATH環境変数の先頭に登録する。次に示す例の場合，PATH環境変数の値がDIR0であると，ジョブステップ実行時のPATH環境変数の値は，DIR1:DIR2:DIR0となる。

<DD NAME="JOBLIB" TYPE="LIB" DSN="DIR1" DISP="SHR"/>
<DD NAME="JOBLIB" TYPE="LIB" DSN="DIR2" DISP="SHR"/>

(1)　JOBLIB，STEPLIB，およびPATH環境変数の使用方法

JOBLIB，STEPLIB，およびPATH環境変数の使用方法を次に示す。

使用するプログラムパスに対するDD要素を準備する。JOBLIBの場合はJOB要素の直後に，STEPLIBの場合はジョブステップ内のほかのDD要素群と一緒に置く。ジョブ内の複数のジョブステップが同一ディレクトリ内のプログラムを利用する場合は，JOBLIBを指定した方が簡単である。

JOBLIBおよびSTEPLIBの使用例を次の図に示す。

図3‒6　JOBLIBおよびSTEPLIBの使用例

ジョブ内でJOBLIBおよびSTEPLIBの両方を指定した場合，そのジョブステップではSTEPLIBを優先して，JOBLIBの指定を無視する。

DD要素の後処理（DISP属性）は省略するか，またはSHRパラメータを指定する。

3.4　ファイルの割り当て

3.4.1　ファイルの準備

バッチジョブ実行システムでは，ファイル使用時のファイルのファイル名，パス名，および使用後のファイルの処置などをあらかじめジョブ定義XMLファイルに記述する必要がある。

なお，この章以降の一時ファイルの記述は，特に断りのないかぎり一時ISAMファイルにも該当する。

ジョブコントローラは，次の表に示すようにこれらの情報を基にして，ジョブステッププロセスの実行に先立ちファイルを割り当てる。ジョブステッププロセス終了後は，不要となった資源を解放し，ほかのジョブで使用できるようにするための後処理をする。

表3‒5　DD要素のDISP属性値の指定とファイルの前処理との関係

DISP属性値

ファイルの確認

ファイルの前処理

ファイルの準備

NEWパラメータ

確認する。

既存ファイルまたはディレクトリがあれば割り当てエラーとなる。

0バイトファイルまたは新規ディレクトリを作成する。

RNWパラメータ※1

既存ファイルまたはディレクトリがあれば削除する。

SHRパラメータ

「表3-6　DISP属性がSHRまたはOLDの場合の，ファイルの確認と前処理」を参照のこと。※2

なし。

OLDパラメータ

MODパラメータ※3※4

確認する。※5

既存ファイルがなく，かつ，DISPMOD_NOFILEパラメータにNEWを指定していればファイルを準備する。

既存ファイルがなければ0バイトファイルを作成する。

既存ファイルがなく，かつ，DISPMOD_NOFILEパラメータにERRORを指定していればエラーとなる。

なし。

注※1　ディレクトリに対してこの属性値を指定した場合は，ジョブの実行時にエラーとなり，ジョブが終了する。

注※2　世代ファイルの場合，登録先世代群名が存在していない場合や，世代管理ファイルに未登録の相対世代番号を指定した場合は，割り当てエラーとなる。

注※3　プログラム検索ディレクトリ，PRESTファイルに対してこの属性値を指定した場合は，SHR指定として動作する。ディレクトリに対してこの属性値を指定した場合は，ジョブ定義XMLファイル解析エラーとなる。

注※4　MOD属性値の指定は，既存の世代ファイル（既存の相対世代番号）指定の場合，世代管理ファイルに登録されていないと割り当てエラーとなる。

注※5　一時ファイルに対してこの属性値を指定した場合は，先行ステップでPASS指定された一時ファイルの確認をする。

表3‒6　DISP属性がSHRまたはOLDの場合の，ファイルの確認と前処理

存在確認対象ファイル

ファイルの確認

ファイルの前処理

一時ファイル

先行ジョブステップでPASS指定された一時ファイルについて存在確認を行う。

先行ジョブステップでPASS指定された一時ファイルが存在しない場合，KAKC1614-Eメッセージを出力して割り当てエラーとなる。

恒久ファイル，

世代ファイル

次の2点のどちらかの条件を満たす場合に確認する。

EXEC要素のLANG属性に"COBOL"を指定したジョブステップで次の条件をすべて満たす場合

・DD要素でファイル連結として指定している。

・DD_EXISTCHECK_COBOLパラメータにCONCATを指定している。

EXEC要素のLANG属性に"COBOL"を指定していないジョブステップで次の条件をすべて満たす場合

・DD要素でファイル連結として指定している。

・DD_EXISTCHECKパラメータにCONCATを指定している。

左記の条件を満たしてファイルの確認をした場合，ファイルが存在しなければKAKC1660-Eメッセージを出力して割り当てエラーとなる。

ディレクトリ

なし。

なし。

3.4.2　ファイルの状態と後処理

ジョブステップで必要とするファイルは，DD要素のDISP属性の指定に基づいて準備する。実際に処理されたファイルは，ジョブステップの終了時にDD要素のDISP属性の指定に基づいて後処理をする。

ジョブステップで必要とするファイルの準備および終了時のファイルの後処理をするために指定するDD要素のDISP属性の内容を次に示す。

ファイルの状態

NEW，RNW，OLD，SHR，またはMODパラメータ

ジョブステップ終了時のファイルの後処理

DELETE，KEEP，またはPASSパラメータ

(1)　ファイルの状態の指定

準備するファイルの状態を指定する。

排他/共用制御の詳細については，「3.13　ジョブ単位のファイルおよびディレクトリに対する排他/共用制御機能」を参照のこと。

(a)　NEWパラメータ

該当するジョブステップで新しく作成するファイルの場合に指定する。ファイルがすでにある場合はエラーとなる。一時ファイルの場合は，同一ファイル名を指定するとユニークな名称を付けて別のファイルを作成する。

(b)　RNWパラメータ

同一ファイルがある場合，該当するファイルを再使用する（すでにあるファイルをいったん削除し，再度ファイルを割り当てる）。同一DD要素から成るジョブの再実行をDD要素の変更なしで可能とする。一時ファイルでRNWパラメータを指定した場合，NEWパラメータが仮定される。

また，指定したファイルシステム上に同一ファイル名を持つファイルがない場合は，NEWパラメータを指定した場合と同様に新規に領域を確保する。

RNWパラメータを指定する場合の注意事項を次に示す。

PASSによる情報をRNW指定して参照する（受け取る）ことはできない。

RNWパラメータで指定した同一ファイルがすでにある場合，該当するファイルを削除する。このため，ファイルを保護する目的としてRNWパラメータの指定は同一ジョブの再実行を前提とする必要がある。

ディレクトリに対して，RNWパラメータを指定すると，ジョブ実行時にエラーとなり，ジョブが終了する。

(c)　OLDパラメータ

該当するジョブステップの開始以前にすでにあるファイルを指定する。このパラメータは，ファイルに対しての書き込み，またはファイル自身を削除する場合に指定する。

ジョブステップ開始前にファイルパスの存在の有無を確認するかどうかは，DD_EXISTCHECK_COBOLパラメータ，またはDD_EXISTCHECKパラメータの指定に従う。詳細については，「8.　設定ファイル」の「DD_EXISTCHECK_COBOL（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」，または「DD_EXISTCHECK（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」を参照のこと。

(d)　SHRパラメータ

該当するジョブステップの開始以前にすでにあるファイルを指定する。このパラメータは，ファイルに対して参照だけする場合に指定する。

ジョブステップ開始前にファイルパスの存在の有無を確認するかどうかは，DD_EXISTCHECK_COBOLパラメータ，またはDD_EXISTCHECKパラメータの指定に従う。詳細については，「8.　設定ファイル」の「DD_EXISTCHECK_COBOL（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」，または「DD_EXISTCHECK（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」を参照のこと。

(e)　MODパラメータ

同一ファイルがある場合，該当するファイルに対して追加書きをするときに指定する。実行するプログラムがファイル操作ユティリティ※，またはEXEC要素のLANG属性の値がCOBOLの場合に追加書きをする。それ以外の場合の書き込み動作は，ユーザプログラムに依存する。

また，指定したファイルシステム上に同一ファイル名を持つファイルがない場合に，新規ファイルを割り当てるかエラーにするかをDISPMOD_NOFILEパラメータで指定することができる。詳細については，「8.　設定ファイル」の「DISPMOD_NOFILE（DD要素のDISP属性にMODを指定したファイルが存在しない場合の処理の定義）」を参照のこと。

DD要素のTYPE属性の値がFILE，TEMP，またはGDGの場合だけ追加書きが有効である。

DD要素のTYPE属性の値がTEMPISAMである場合は，書き込み動作はユーザプログラムに依存する。

DD要素のTYPE属性の値がLIB，PREST，またはTEMPPRESTの場合は，SHRパラメータが指定されたものとして動作する。

DD要素のTYPE属性の値がDIRの場合は，ジョブ定義XMLファイル解析エラーとなる。

注※　ファイル操作ユティリティでは，bjexu_scopy，bjexu_ismut，およびbjexu_ismut64の場合に追加書きできる。このうちbjexu_scopyでは，DD要素にDISP="MOD"を指定したとき，MODとして処理するか，またはOLDとして処理するかを選択できる。詳細については，「3.18.7(1)(a)ファイルの複写」を参照のこと。

(2)　ファイルの後処理の指定

ジョブステップ終了時のファイルの後処理を指定する。エラーが発生した場合は，原則ジョブ終了になるが，ファイル削除エラーの場合は，警告メッセージを出力してジョブを続行する。

なお，ファイル削除エラーが発生しても，ジョブステップのリターンコードの内容は変更されない。

(a)　DELETEパラメータ

ファイルの存在を示す情報をファイルシステムから削除し，そのファイルが占有していたスペースを，ほかのファイルへ割り当て可能とする。

(b)　KEEPパラメータ

後続のジョブステップまたはジョブで，そのファイルの削除を要求（DELETEパラメータ指定）するまで，そのままの状態で保存する。

(c)　PASSパラメータ

PASSパラメータは一時ファイルでだけ指定できる。

ジョブ内のジョブステップ間で同一の一時ファイル名を使用する場合，PASSパラメータを指定することによって順次，後続ジョブステップへそのファイルを受け渡すことができる。ただし，ジョブステップが異常終了した場合，ファイルの後処理でPASSパラメータは指定できない。後続ジョブステップへパスしたファイルは，ジョブ終了時に削除する。

一時ファイルに対してDISP="SHR"またはDISP="OLD"で割り当てをする場合，先行ジョブステップで一時ファイルの作成を行い，PASSパラメータを指定したDDのパス情報を受け取れた場合だけ割り当てが可能となる。

一時ファイルに対してDISP="MOD"で割り当てをする場合，先行ジョブステップで一時ファイルを作成し，PASSパラメータを指定したDDのパス情報を受け取れたときは受け取ったパスの一時ファイルを割り当て，パス情報を受け取れなかったときは新規の一時ファイルを作成する。

一時ファイルの受け渡しをするには，DSN属性値を同一にする必要がある。ファイル名にはDSN属性の最後の"/"より後ろの文字列だけ使用するが，一時ファイルの受け渡しに使用する識別名には最後の"/"より前も考慮されるので，パス名全体が同一になるようにすること。一時ファイルの受け渡しをする場合，誤りの原因となるためDSN属性値にはファイル名だけを指定すること。

例1

ステップSTEP01のDD名DD1で作成した一時ファイルは，ステップSTEP02のDD名DD2で使用できる。

ステップSTEP01のDD名DD1とステップSTEP02のDD名DD2で，TYPE=TEMP，DSN属性に同一のファイル名を指定する必要がある。

先行ステップであるステップSTEP01のDD名DD1では，一時ファイルを作成する必要がある。作成した一時ファイルを後続ステップで使用できるようにするためには，DISP属性の第2パラメータでPASSを指定する必要がある。PASSを指定しなかった場合，後続ステップで一時ファイルを使用できない。

後続ステップであるステップSTEP02のDD名DD2では，DISPの第1パラメータで，OLD，SHR，またはMODを指定する必要がある。NEW，RNWを指定した場合，先行ステップであるステップSTEP01のDD名DD1で作成した一時ファイルを使用できない。別の一時ファイルの新規作成となる。

例2

同一のDSN属性で，PASS指定した一時ファイルが複数ある場合

同一のDSN属性で，複数の一時ファイルを作成し，PASS指定することは，誤りの原因となるため，使用してはならない。

例では，ジョブステップSTEP01のDD名DD1とジョブステップSTEP02のDD名DD2で，同一のDSN属性"temp01"で一時ファイルが作成され，DISP属性の第2パラメータでPASSが指定されている。

同一のDSN属性"temp01"であっても，ジョブステップSTEP01のDD名DD1とジョブステップSTEP02のDD名DD2の一時ファイルは，異なる一時ファイルとなる。

ジョブステップSTEP03のDD名DD3は，ジョブステップSTEP01のDD名DD1で作成した一時ファイルを使用する。

ジョブステップSTEP04のDD名DD4は，ジョブステップSTEP03のDD名DD3のDISP属性でDELETEの指定が行われ削除されているため，ジョブステップSTEP02のDD名DD2で作成した一時ファイルを使用する。

例3

例2でジョブステップSTEP03のDD名DD3で，DISP属性でPASSを指定した場合

ジョブステップSTEP04のDD名DD4は，ジョブステップSTEP01のDD名DD1で作成した一時ファイルを使用する。

同一のDSN属性で，PASS指定された一時ファイルが複数ある場合，先に作成した一時ファイルから順に使用する。

例2，例3で示すように，同一のDSN属性で，PASS指定された一時ファイルが複数ある状況は，PASS指定の有無で，後続のジョブステップが使用する一時ファイルが異なる。誤りの原因となるので，同一のDSN属性である複数の一時ファイルを使用しないこと。

(d)　ファイル割り当て処理中にエラーが発生した場合の後処理の指定

バッチジョブ実行システムでは，ファイルをDD要素に指定して割り当て，または割り当てたファイルの割り当てを解除する場合，DISP属性値の指定に従って処理する。

ジョブステップの割り当て処理中にエラーが発生し，割り当てたファイルの後処理をする場合，デフォルト状態（または設定ファイルのパラメータDD_DEALLOC_ON_ALLOCERRにOPT1を指定した場合）は，表3-7に従って処理する。

ジョブステップ開始以前に存在するファイルをDISP属性値の指定に関係なくKEEPで保存する運用をする場合，DD_DEALLOC_ON_ALLOCERRにOPT2 を指定することで表3-8に示す動作にできる。

ファイル割り当て処理中にエラーが発生した場合の後処理方法を，デフォルト状態またはDD_DEALLOC_ON_ALLOCERRパラメータにOPT1を指定している場合の動作を表3-7に，OPT2を指定している場合の動作を表3-8に示す。なお，表3-7と表3-8で異なる部分については下線で示す。

表3‒7　ファイル割り当て処理中にエラーが発生した場合の後処理方法（デフォルト状態またはDD_DEALLOC_ON_ALLOCERRパラメータにOPT1を指定している場合の動作）

対象ファイル

エラーが発生した時点でそのジョブステップで割り当て済みのDD要素の場合

エラーが発生した時点ではそのジョブステップで未割り当てのDD要素の場合

一時ファイル

DISP属性の第2パラメータがPASSの場合はジョブ終了時に削除し，PASS以外の場合はジョブステップ終了時に削除する。

そのジョブステップ開始前の状態のままとする。

恒久ファイル

DISP属性の第1パラメータがNEWの場合

ジョブステップ終了時に削除する。

DISP属性の第1パラメータがNEW以外の場合

DISP属性の第2パラメータの指定に従って処理する。

ディレクトリ

恒久ファイルの処理と同様。※

世代ファイル

GDG_REGISTER_JOBRC_THRESHOLD非適用

恒久ファイルの処理と同様（世代管理情報を更新しない）。

GDG_REGISTER_JOBRC_THRESHOLD適用

(1)DISP属性の第2パラメータがKEEPの場合

　ジョブ終了処理のしきい値判定処理に従う。

(2)DISP属性の第2パラメータがDELETEの場合

　恒久ファイルの処理と同様（世代管理情報を更新しない）。

注※　DISP属性値に"DELETE"が指定されている場合，ディレクトリ内にファイルやディレクトリが存在していると削除されないことがある。

表3‒8　ファイル割り当て処理中にエラーが発生した場合の後処理方法（DD_DEALLOC_ON_ALLOCERRパラメータにOPT2を指定している場合の動作）

対象ファイル

エラーが発生した時点でそのジョブステップで割り当て済みのDD要素の場合

エラーが発生した時点ではそのジョブステップで未割り当てのDD要素の場合

一時ファイル

DISP属性の第2パラメータがPASSの場合はジョブ終了時に削除し，PASS以外の場合はジョブステップ終了時に削除する。

そのジョブステップ開始前の状態のままとする。

恒久ファイル

DISP属性の第1パラメータがNEWの場合

ジョブステップ終了時に削除する。

DISP属性の第1パラメータがNEW以外の場合

KEEPを仮定しファイルを保存する（DISP属性の第1パラメータがRNWの場合は，0バイトのファイルを保存する）。

ディレクトリ

恒久ファイルの処理と同様。※

世代ファイル

GDG_REGISTER_JOBRC_THRESHOLD非適用

恒久ファイルの処理と同様（世代管理情報を更新しない）。

GDG_REGISTER_JOBRC_THRESHOLD適用

(1)DISP属性の第2パラメータがKEEPの場合

　ジョブ終了処理のしきい値判定処理に従う。

(2)DISP属性の第2パラメータがDELETEの場合

(a)DISP属性の第1パラメータがNEWの場合

　ジョブステップ終了時に削除する。

(b)DISP属性の第1パラメータがNEW以外の場合

ジョブ実行中に作成された世代ファイルである場合

ジョブステップ終了時に削除し，世代管理情報は更新しない。

上記以外の場合

最新世代のファイルをそのまま保存し，世代管理情報は更新しない。

注※　DISP属性値に"DELETE"が指定されている場合，ディレクトリ内にファイルやディレクトリが存在していると削除されないことがある。

(3)　ファイルの状態と後処理の指定省略

ファイルの状態と後処理を指定するDD要素のDISP属性またはDISP属性内のパラメータの一部を省略した場合，システムは次に示す処理をする。

(a)　ファイルの状態のパラメータを省略した場合

NEWパラメータを仮定した処理をする。

(b)　ファイルの後処理の第2パラメータを省略した場合

ファイルの状態によって，後処理を次に示すように仮定する。

SHR，OLD，MODパラメータ指定の場合

KEEPパラメータを仮定した後処理をする。

一時ファイルおよび一時ISAMファイルの場合は，PASSパラメータを仮定した後処理をする。

NEW，RNWパラメータ指定の場合

DELETEパラメータを仮定した後処理をする。

(c)　ファイルの後処理の第3パラメータを省略した場合

第2パラメータと同じ値を仮定する。

(d)　DISP属性を省略した場合

TYPE属性値がFILE，TEMP，TEMPISAM，GDGおよびDIRの場合，DISP="NEW,DELETE,DELETE"が仮定され，TYPE属性値がLIB，PREST，およびTEMPPRESTの場合，DISP="SHR,KEEP,KEEP"が仮定される。

3.4.3　ファイルの連結処理

COBOL2002で作成したユーザアプリケーションおよびSORT EEと連携して，複数のファイルを論理的に連結した1つのファイルとして扱うことができる。

NAME属性が同一であるDD要素を連続して記述することで，該当する一連のファイルを連結する指定になる。この場合，バッチジョブ実行システムは，連結対象である一連のDD要素のDSN属性に指定されたパス情報を環境変数として設定してから，ジョブステップのプログラムを実行する。環境変数に設定されたパス情報に該当するファイルは，COBOLアプリケーションまたはSORT EEによって，自動的に論理的な1つのファイルとして解釈されて処理される。連結されたファイル1つにつき，最大255のDD要素を連続して記述できる。

ファイルの連結処理のためにバッチジョブ実行システムが設定する環境変数の名称は，先頭のDD要素にRENAME属性が指定されていなければ，先頭に"DDN_"または"CBL_"を付加したDD要素名となる。先頭のDD要素にRENAME属性が指定されていれば，そのRENAME属性の値となる。また，この環境変数の値には，先頭のDD要素に指定された名称の環境変数に，DD要素を記述した順序で，割り当てた各ファイルのパス名を区切り文字コロン"："で連結した文字列が設定される。例を次に示す。

ジョブ定義XMLファイルの指定例（COBOLアプリケーションと連携する場合）

<STEP NAME="MYSTEP">
  <EXEC PGM="MYUAP" LANG="COBOL" />
  <DD NAME="MYDATA" TYPE="FILE" DSN="/bjexuser/BJEX/IN/input1" DISP="SHR" />
  <DD NAME="MYDATA" TYPE="FILE" DSN="/bjexuser/BJEX/IN/input2" DISP="SHR" />
</STEP>

上記の指定に対してバッチジョブ実行システムが設定する環境変数の内容

CBL_MYDATA=/bjexuser/BJEX/IN/input1:/bjexuser/BJEX/IN/input2

この例の場合，COBOLアプリケーションは，input1およびinput2ファイルをまとめて，論理的な1つのファイル「MYDATA」と解釈する。

ジョブ定義XMLファイルの指定例（SORT EEと連携する場合）

<STEP NAME="STEP01">
  <EXEC PGM="*">
<![CDATA[!
exec 1>&2
/opt/HIEXSORT/bin/exsort -p ${DDN_SYSIN}
!]]>
  </EXEC>
  <DD NAME="SYSIN" TYPE="DATA">
<![CDATA[!
-function sort
    :
-inpfile
 file=%DDN_INFILE%
      :
!]]>
  </DD>
  <DD NAME="INFILE"  TYPE="FILE" DSN="/bjexuser/BJEX/IN/inpsamf1" DISP="SHR" />
  <DD NAME="INFILE"  TYPE="FILE" DSN="/bjexuser/BJEX/IN/inpsamf2" DISP="SHR" />
  <DD NAME="OUTFILE" TYPE="FILE" DSN="/bjexuser/BJEX/OUT/outsamf" DISP="RNW,KEEP" />
</STEP>

上記の指定に対してバッチジョブ実行システムが設定する環境変数の内容

DDN_INFILE="/bjexuser/BJEX/IN/inpsamf1:/bjexuser/BJEX/IN/inpsamf2"

この例の場合，SORT EEの-inpfileパラメータのfileオペランドで指定した%DDN_INFILE%には，例で示した，2つのファイルパスをコロンで区切って連結した文字列が設定される。SORT EEは，それらファイルを論理的に連結された1つのファイルと解釈して入力データとする。

NAME属性が同じDD要素がSTEP要素内で連続していない場合は，エラーとなる。

ファイルの連結は，COBOLアプリケーションおよびSORT EEから利用できる。また，JOBLIB，STEPLIB DD要素に対して使用した場合，複数のパス情報をコロンで連結してPATH環境変数に設定できる。

連結したファイルをCOBOLアプリケーションから使用する方法の詳細については，COBOL2002のドキュメントもあわせて参照のこと。

また，JOBLIB，STEPLIB DD要素の詳細については，「3.3　プログラムのシステムへの登録と使用」を参照のこと。

DD要素のTYPE属性によって，ファイル連結可能であるかどうかが決められている。TYPE属性の値によるファイル連結可否の一覧を次の表に示す。ファイル連結できないTYPE属性を指定したDD要素を連結した場合は，警告メッセージを出力してジョブを続行する。

表3‒9　TYPE属性の値によるファイル連結可否の一覧

TYPE属性

ファイル種別

ファイル連結可否

DATA

SYSINデータ

○

DUMMY

ダミーファイル

○

FILE

恒久ファイル

○

TEMP

一時ファイル

○

TEMPISAM

一時ISAMファイル

×

GDG

世代ファイル

○

LIB

プログラム検索ディレクトリ

○

SYSOUT

SYSOUTデータファイル

×

DIR

ディレクトリ

×

PREST

ジョブ間PRESTファイル

×

TEMPPREST

ジョブステップ間PRESTファイル

×

（凡例）

○：ファイル連結できる。

×：ファイル連結できない。

また，連結できるファイルの形式はCOBOL2002やSORT EEによって決まっているため，各プログラムのドキュメントを参照して，連結できるファイルの形式を確認する必要がある。

注意事項

ダミーファイルをファイルの連結処理の途中に指定した場合，VOS3ではその指定をファイルの連結指定の終了と見なし，後続のファイルを連結しない。しかし，バッチジョブ実行システムでは，その指定をファイルの連結指定の終了と見なさないで，後続のファイルを連結する。VOS3から移行したジョブ定義XMLファイルに上記の指定があり，VOS3と同じ動作としたい場合は，ダミーファイルより後ろのDD要素を削除すること。

ファイルの連結処理によって連結したファイルは，COBOLプログラムまたはSORT EEの出力先として指定できない。指定した場合，連結したファイルであっても先頭のファイルにだけ出力される。

指定例

（例1）正しい指定方法の例

<STEP NAME="MYSTEP">
  <EXEC PGM="MYPGM" LANG="COBOL" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input1" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input2" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input3" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input4" DISP="SHR" />
</STEP>

この指定例では，input1，input2，input3，およびinput4の4ファイルが，論理的に結合された単一のファイルとして，ファイル名「MYDATA」でCOBOLプログラムからアクセスできる。

（例2）誤った指定方法の例

<STEP NAME="MYSTEP">
  <EXEC PGM="MYPGM" LANG="COBOL" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input1" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input2" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input3" DISP="SHR" />
  <DD NAME="NEWDATA" TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/inputx" DISP="SHR" />
  <DD NAME="MYDATA"  TYPE="FILE" DSN="/bjexuser/BJEX/INPUT/input4" DISP="SHR" />
</STEP>

この指定例では，NAME属性値「MYDATA」を持つDD要素のうち，input3とinput4との間に，別のNAME属性値を持つDD要素が記述されている。そのため，NAME属性値「MYDATA」を持つDD要素の二重定義として扱われ，ジョブ定義XMLファイルの構文解析エラーとなる。

3.4.4　一時ファイル

一時ファイルとはジョブ内で作成され，削除される暫定的なファイルである。ほかのジョブとの間で共用されることはない。このため，システム内で唯一になるように，システムによってユニークな名称が付けられる。なお，この項で説明する一時ファイルは，DD要素のTYPE属性でTEMPを指定した場合のファイルである。

(1)　一時ファイルの指定方法

一時ファイルを作成する場合，DD要素のTYPE属性でTEMPを指定する。DSN属性の指定は任意である。また，一時ファイルはDISP属性値に関係なくジョブ終了時に削除される。

DD名がSYSUT2のファイルを，一時ファイルとして使用する例

<DD NAME="SYSUT2" TYPE="TEMP" DISP="NEW,DELETE" />

(2)　一時ファイルを作成するディレクトリ

一時ファイルを作成するディレクトリは，設定ファイルのTEMP_FILE_DIR_XML_USEパラメータの指定によって，次のとおりとなる。

(a)　TEMP_FILE_DIR_XML_USEパラメータにYESを指定した場合

ジョブ定義XMLファイルのDD要素のDSN属性値に，絶対パス形式でディレクトリ名を指定していた場合，指定値の最後の"/"までを一時ファイル作成ディレクトリとする。また，DSN属性値の最後の"/"より後ろを一時ファイル識別名とする。

ジョブ定義XMLファイルのDD要素の指定例

<DD NAME="DD1" TYPE="TEMP" DSN="/home/user/tmp/worktmp" DISP="NEW" />

作成する一時ファイル作成ディレクトリと一時ファイル名

/home/user/tmp/TEMP_ジョブ識別子_ジョブ名_worktmp_ユニークな名称

なお，DSN属性に相対パスを指定した場合およびDSN属性の指定がない場合は，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。

(b)　TEMP_FILE_DIR_XML_USEパラメータを省略またはNOを指定した場合

ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名は無視され，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。

(3)　一時ファイルを利用する場合の注意事項

ファイル名は，システム内で唯一になるようにユニークな名称が付けられる。DD要素でのDSN属性の指定の有無によって，次に示すファイル名が作成される。

DSN属性で一時ファイル識別名を指定した場合

TEMP_ジョブ識別子_ジョブ名_一時ファイル識別名_ユニークな名称

DSN属性を指定しない場合

TEMP_ジョブ識別子_ジョブ名_ユニークな名称

設定ファイルのTEMP_FILE_DIR_XML_USEパラメータでYESを指定した場合，DSN属性値はディレクトリ名として扱うため，ディレクトリ名として指定できない文字や，存在しないディレクトリ名を指定しないこと。指定したときは，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。

DSN属性値には，"/"以外のファイル名として指定できない文字は含めないこと。"/"は記述できるが，最後の"/"より後ろの文字列を一時ファイル識別名と見なす。最後の"/"より後ろの文字列にファイル名として使用できない文字が含まれている場合，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。

生成されるファイル名の長さが，プラットフォームで決められた最大長を超えないこと。超えた場合，ジョブ定義XMLファイルの解析時にはエラーとならないで，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，DSN属性値の長さと，JOB要素のNAME属性値の長さによって変わる。

DD要素のDISP属性値を指定しない場合，一時ファイルを定義したジョブステップで新たにファイルを作成し，削除する（DISP属性の第1パラメータはNEW，第2・第3パラメータはDELETE）と見なされる。

同じ一時ファイルを複数のジョブステップで使用する場合は，DISP属性の第2パラメータにPASSを指定する。

DD要素のDISP属性の第1パラメータでRNWを指定した場合，NEWが仮定される。

DD要素のDISP属性の第1パラメータでNEWまたはRNWを指定した場合，同一ファイル名を指定したときは，ユニークな名称を付けて別ファイルを作成する。

DD要素のDISP属性の第1パラメータでOLDまたはSHRを指定して割り当てできる一時ファイルは，先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ファイルだけである。

DD要素のDISP属性の第1パラメータでMODを指定した場合，先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ファイルがあればその一時ファイルを割り当てるが，一時ファイルがない場合は設定ファイルのDISPMOD_NOFILEパラメータの指定に従う。

DD要素のDISP属性の第2パラメータでKEEPを指定した場合，PASSが仮定される。

DISP属性の第2パラメータにPASSを指定した場合のジョブステップ間での一時ファイルの受け渡しについては，「3.4.2(2)(c) PASSパラメータ」の説明および例も参照すること。

3.4.5　一時ISAMファイル

一時ISAMファイルとは，索引順編成ファイル管理 ISAMによる索引順編成の一時ファイルである。キーを持つデータを処理する場合に，データの中間結果を一時的に格納するために利用する。

一時ISAMファイルはジョブ内で作成され，削除される暫定的なファイルである。ほかのジョブとの間で共用されることはない。このため，システム内で唯一になるように，システムによってユニークな名称が付けられる。

ジョブコントローラで作成する一時ISAMファイルは，主キーによるアクセスだけができる。

DD要素のTYPE属性にTEMPを指定した場合に作成される一時ファイルと同様に，ジョブ内のジョブステップ間で同一の一時ISAMファイル名を使用する場合，DISP属性にPASSパラメータを指定することによって，後続ジョブステップへその一時ISAMファイルを受け渡すことができる。

一時ISAMファイルを使用する場合，設定ファイルのISAMLIB_MODEパラメータに使用するISAMライブラリを指定する。

(1)　一時ISAMファイルの指定方法

一時ISAMファイルを使用する場合，DD要素のTYPE属性でTEMPISAMを指定する。DSN属性の指定は任意である。

一時ISAMファイルの作成時には一時ISAMファイルの属性を定義するために，次に示す属性を指定する必要がある。

ISKEY

キー長，キー位置，およびキー属性

ISRECFM

レコード種別（順編成固定長または可変長）

ISRECL

レコード長（レコード種別が可変長の場合は，最大レコード長および最小レコード長）

なお，ISKEY，ISRECFM，およびISRECL属性の指定はDISP属性の値にNEWパラメータを指定した場合に有効である。DISP属性の値がSHRまたはOLDパラメータの場合に指定したときは，ISKEY，ISRECFM，およびISRECL属性の指定は無効となる。ただし，属性値のチェックは行われる。

DISP属性の値にMODパラメータを指定した場合は，先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ISAMファイルがあれば，ISKEY，ISRECFM，およびISRECL属性の指定が有効となる。一時ISAMファイルがなければ，ISKEY，ISRECFM，およびISRECL属性の指定は無効となる。ただし，属性値のチェックは行われる。

DD名がSYSUT2のファイルを，一時ISAMファイルとして使用する例

<DD NAME="SYSUT2" TYPE="TEMPISAM" DSN="WKDS" DISP="NEW,DELETE" ISRECFM="F" ISKEY="4,0,C" ISRECL="80" />

(2)　一時ISAMファイルを作成するディレクトリ

一時ISAMファイルを作成するディレクトリは，設定ファイルのTEMP_FILE_DIR_XML_USEパラメータの指定によって，次のとおりとなる。

(a)　TEMP_FILE_DIR_XML_USEパラメータにYESを指定した場合

ジョブ定義XMLファイルのDD要素のDSN属性値に，絶対パス形式でディレクトリ名を指定していた場合，指定値の最後の"/"までを一時ISAMファイル作成ディレクトリとする。またDSN属性値の最後の"/"より後ろを一時ISAMファイル識別名とする。

ジョブ定義XMLファイルのDD要素の指定例

<DD NAME="DD1" TYPE="TEMPISAM" DSN="/home/user/tmp/workisam" DISP="NEW" ISRECFM="F" ISKEY="4,0,C" ISRECL="80" />

作成する一時ISAMファイル作成ディレクトリと一時ISAMファイル名

/home/user/tmp/ISAM_ジョブ識別子_ジョブ名_workisam_ユニークな名称

なお，DSN属性に相対パスを指定した場合およびDSN属性の指定がない場合は，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。

(b)　TEMP_FILE_DIR_XML_USEパラメータを省略またはNOを指定した場合

ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名は無視され，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリに作成する。

(3)　一時ISAMファイルを構成するファイル

ジョブコントローラで作成する一時ISAMファイルは，次に示すファイルから構成される。

キー定義ファイル（拡張子".DEF"）

主キーファイル（拡張子".K01"）

データファイル（拡張子".DAT"）

(4)　一時ISAMファイルのファイル名

一時ISAMファイルのファイル名称は，システム内で唯一になるようにユニークな名称が付けられる。DD要素でのDSN属性の指定の有無によって，次に示すファイル名称が生成される。

DSN属性で一時ISAMファイル識別子の指定があった場合

ISAM_ジョブ識別子_ジョブ名_一時ISAMファイル識別子_ユニークな名称

DSN属性の指定がなかった場合

ISAM_ジョブ識別子_ジョブ名_ユニークな名称

一時ISAMファイルを構成するファイル名は，上記の生成したファイル名称に拡張子が付加される。一時ISAMファイルを構成するファイル名を次の表に示す。

表3‒10　一時ISAMファイルを構成するファイル名

構成ファイルの種類

構成ファイル名

キー定義ファイル

生成したファイル名称.DEF

主キーファイル

生成したファイル名称.K01

データファイル

生成したファイル名称.DAT

なお，ジョブコントローラが設定する環境変数「"CBL_"+DD要素名」，「"DDN_"+DD要素名」に格納されるパス名には，キー定義ファイル，主キーファイル，およびデータファイルの名称は設定されないで，拡張子を除いたファイル名が1つだけ設定される。

また，DSN属性を指定する場合は次に示す注意が必要である。

設定ファイルのTEMP_FILE_DIR_XML_USEパラメータでYESを指定した場合，DSN属性値はディレクトリ名として扱うため，ディレクトリ名として指定できない文字や，存在しないディレクトリ名を指定しないこと。指定したときは，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。

DSN属性値には，"/"以外のファイル名として指定できない文字は含めないこと。"/"は記述できるが，最後の"/"より後ろの文字列を一時ISAMファイル識別子と見なす。最後の"/"より後ろの文字列にファイル名として使用できない文字が含まれている場合，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。

生成されるファイル名の長さが，プラットフォームで決められた最大長を超えないこと。超えた場合，ジョブ定義XMLファイルの解析時にはエラーとならないで，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，DSN属性値の長さと，JOB要素のNAME属性値の長さによって変わる。なお，生成されるファイル名の長さには拡張子の文字列（".DEF",".K01",".DAT"）の長さ4文字分も考慮すること。

(5)　作成する一時ISAMファイルの定義内容

ジョブコントローラで作成する一時ISAMファイルでは，ISKEY，ISRECFM，およびISRECL属性で定義する情報以外は，次に示す表の内容で定義される。

表3‒11　一時ISAMファイルの定義内容

一時ISAMファイルの定義情報

内容

障害発生時のデータファイル内容保証

保証しない。

主キーのキー順序

昇順となる。

主キーの重複キー許可

許可しない。

主キーの重複キー順序保証

保証する。

主キーの圧縮レベル

圧縮なし。

主キーのスペース文字許可

許可しない。

(6)　一時ISAMファイルを利用する場合の注意事項

DD要素のDISP属性値を指定しない場合，一時ISAMファイルを定義したジョブステップで新たにファイルを作成し，削除する（DISP属性の第1パラメータはNEW，第2，第3パラメータはDELETE）と見なされる。複数のジョブステップで使用する場合は，DISP属性の第2パラメータにPASSを指定する。

DD要素のDISP属性の第2パラメータでKEEPを指定した場合，PASSが仮定される。

DD要素のDISP属性の第1パラメータでRNWを指定した場合，NEWが仮定される。

DD要素のDISP属性の第1パラメータでNEWまたはRNWを指定した場合，同一ファイル名を指定したときは，ユニークな名称を付けて別ファイルを作成する。

DD要素のDISP属性の第1パラメータでOLDまたはSHRを指定して割り当てできる一時ISAMファイルは，先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ISAMファイルだけである。

DD要素のDISP属性の第1パラメータでMODを指定した場合，先行ジョブステップでDD要素のDISP属性の第2パラメータにPASSを指定した一時ISAMファイルがあればその一時ISAMファイルを割り当てるが，一時ISAMファイルがない場合は設定ファイルのDISPMOD_NOFILEパラメータの指定に従う。

一時ISAMファイルに対してファイルの連結指定（NAME属性が同一であるDD要素を連続して記述）をしないこと。

一時ISAMファイルに対するCOBOLプログラムの「OPEN OUTPUT」文の動作は，DD要素のDISP属性の指定内容に関係なく，追加書きとなる。レコードが格納されている一時ISAMファイルを再使用（レコードがない状態）したい場合は，次に示すどれかの対処をする必要がある。

COBOLプログラムで全レコードを削除する処理を追加する。

COBOLプログラムの実行時に次に示す環境変数のどちらかを指定する。

(i)環境変数CBLD_ファイル名にISAMDLを設定する。環境変数「CBLD_ファイル名」の「ファイル名」は，COBOLプログラムのSELECT句に指定したファイル名である。

(ii)環境変数CBLISAMDLにYESを指定する。

なお，上記のどちらかの環境変数を指定した場合，「OPEN OUTPUT」文の動作時に一時ISAMファイルが再作成（一時ISAMファイルを削除してから作成）される。

バッチジョブ実行システムでは，ノーマルファイル形式のISAMファイルを扱い，ラージファイル形式のISAMファイルは作成できない。COBOL2002のユーザアプリケーションに対して渡せる一時ISAMファイルもノーマルファイル形式となる。

3.4.6　ダミーファイル

ダミーファイルとは，不要なデータの出力先とするファイルである。出力したデータは破棄される。また，ダミーファイルは，入力データがないファイルである。入力すると，実際のファイルの終わり（EOF）が報告される。

(1)　ダミーファイルの主な用途

ダミーファイルは，次に示す用途で利用する。

プログラムが出力するデータが，不要である場合，DD要素にダミーファイルを指定する。

プロシジャ中のDD要素を毎回呼び出すごとに変更するようなプロシジャで，デフォルト値としてそのDD要素にダミーファイルを指定する。

プロシジャ中のDD要素を無効にしたい場合，プロシジャ内のDD要素の修正機能でダミーファイルに修正する。

(2)　ダミーファイルの指定方法

ダミーファイルを作成する場合，DD要素のTYPE属性値にDUMMYを指定する。

(3)　ダミーファイル入出力要求

ダミーファイルのオープン，クローズは一般のファイルと同様に行われるが，入出力要求は次に示すようになる。

(a)　設定ファイルでDUMMY_FILE_TYPEパラメータにDEVNULLを指定している場合

ダミーファイルとして，/dev/nullを割り当てる。

入力要求

ダミーファイルへの入力要求があると，システムは直ちにファイルの終わりを報告する。

出力要求

ファイルへの出力要求を受け付けるが，出力データを破棄する。

(b)　設定ファイルでDUMMY_FILE_TYPEパラメータにTEMPを指定している場合

ダミーファイルとして，一時ファイルを割り当てる。

入力要求

入力要求の前にデータを出力していなければ，ダミーファイルへの入力要求に，システムは直ちにファイルの終わりを報告する。

入力要求の前にデータを出力していれば，ダミーファイルへの入力要求に，システムは入力要求の前に出力したデータを渡すことがある。

出力要求

ファイルへの出力要求を受け付け，実際に出力する。

(4)　注意事項

ダミーファイルをCOBOLプログラムまたはSORT EEに入力する場合，索引順ファイルおよび可変長順ファイルは指定できない。指定した場合はCOBOLプログラムおよびSORT EEでエラーとなる。

ダミーファイルに対してCOBOLプログラムまたはSORT EEからデータを出力する場合，索引順ファイルは指定できない。指定した場合はCOBOLプログラムおよびSORT EEでエラーとなる。

3.4.7　プログラムへのファイル割り当て機能

(1)　DD要素の書き方

ジョブステップで実行するプログラムが利用するファイルを，あとから自由に変更できるように，ファイル名をジョブ定義XMLファイルで指定できる。

ジョブ定義XMLファイルでは通常のファイルの場合は，次に示すように指定する。

<DD NAME="DD名" TYPE="FILE" DSN="ファイルのパス名"/>

DD要素には，TYPE属性値に通常ファイルであることを示す"FILE"を指定し，DSN属性値にファイルのパス名を指定する。

同じSTEP要素内で実行するCOBOL2002で作成したプログラムからは，NAME属性に対応した名称を指定することで，このファイルのパス名をアクセスできる。これによって，プログラムを修正することなく，ジョブ定義XMLファイルを変更するだけで，プログラムからアクセスするファイルを変更して割り当てることができる。

(a)　DSN属性の指定方法

DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱いを次の表に示す。

表3‒12　DSN属性の指定値および設定ファイルのパラメータの指定によってアクセスするパス名の扱い

DSN属性の値

パス名

/[パス名/]ファイル名

絶対パスとして指定した絶対パスのファイルをアクセスする。

./[パス名/]ファイル名

プログラムが実行しているカレントディレクトリ（ワーキングディレクトリ）からの相対パスのファイルをアクセスする。

[パス名/]ファイル名

設定ファイルのPERMANENT_FILE_DIRで指定された特定のディレクトリからの相対パスのファイルをアクセスする。

${BJEX_DIR_任意名} [パス名/]ファイル名

設定ファイルのBJEX_DIR_任意名で指定されたパス名置換識別子を相対パスとしたファイルをアクセスする。

(b)　PERMANENT_FILE_DIRの指定方法

DSN属性に指定された相対パスは，設定ファイルのPERMANENT_FILE_DIRに指定されたパスからの相対パスとなる。

設定ファイルの指定

PERMANENT_FILE_DIR /home/test/

DD要素の指定

<DD NAME="DD1" TYPE="FILE" DSN="dir1/file1" />

設定される環境変数

DDN_DD1=/home/test/dir1/file1

(c)　BJEX_DIR_任意名の指定方法

設定ファイルに識別子とディレクトリを定義しておき，DSN属性に${と}で囲まれた識別子BJEX_DIR_xxxxを指定した場合，識別子BJEX_DIR_xxxxに指定されたパスからの相対パスとなる。

設定ファイルの指定

BJEX_DIR_xxxx /tmp/

DD要素の指定

<DD NAME="DD1" TYPE="FILE" DSN="${BJEX_DIR_xxxx}dir1/file1" />

設定される環境変数

DDN_DD1=/tmp/dir1/file1

(2)　DD要素をプログラムから使用する方法

ジョブ実行時にプログラムが入出力を行うファイルは，ジョブ定義XMLファイルのDD要素と対応づけができる。定義されたファイルのパス名は環境変数に設定されるため，プログラムから環境変数を参照してファイルを使用できる。

ジョブコントローラが設定する環境変数名は，DD要素のNAME属性に指定されたNAME値に文字列を付加した名称とする。付加する文字列は，EXEC要素に指定するプログラム言語によって異なる。環境変数の値を次の表に示す。

表3‒13　EXEC要素に指定するプログラム言語による環境変数

項目

プログラム言語

COBOL

指定なし

EXEC要素の指定

<EXEC PGM="UAP1" LANG="COBOL" />

<EXEC PGM="UAP1" />

環境変数名

先頭に"CBL_"を付加したDD要素名（"CBL_" + DD要素名）

例

<DD NAME="ABC" />

環境変数名：CBL_ABC

先頭に"DDN_"を付加したDD要素名（"DDN_" + DD要素名）

例

<DD NAME="ABC" />

環境変数名：DDN_ABC

環境変数の値

DSN属性値

DSN属性値

DD要素の記述例を次に示す（恒久ファイル用ディレクトリなしの場合）。

<EXEC PGM="UAP1" />
<DD NAME="DD1" DSN="/home/file1" />

上記例の場合に設定される環境変数を次に示す。この場合，環境変数DDN_DD1を参照して，/home/file1のファイルを使用できる。

DDN_DD1=/home/file1

(3)　環境変数に設定される内容

環境変数に設定される内容を次の表に示す。

表3‒14　環境変数に設定される内容

TYPE属性値

ファイル種別

環境変数に設定される内容

FILE

通常のファイル

DSN属性で指定されたファイルのファイル名

DIR

ディレクトリ

DSN属性で指定されたディレクトリのディレクトリ名

GDG

世代ファイル

相対世代番号に対応するファイルのファイル名

TEMP

一時ファイル

ジョブコントローラプロセスが作成した一時ファイルのファイル名

TEMPISAM

一時ISAMファイル

ジョブコントローラプロセスが作成した一時ファイルのファイル名

DATA

SYSINデータ

ジョブコントローラプロセスが作成した一時ファイルのファイル名

DUMMY

ダミーファイル

DUMMY_FILE_TYPEパラメータにTEMPを指定

ジョブコントローラプロセスが作成した一時ファイルのファイル名

DUMMY_FILE_TYPEパラメータにDEVNULLを指定

/dev/null

SYSOUT

SYSOUTデータファイル

作成したスプールファイルのファイル名

LIB

プログラム検索ディレクトリ

NAME属性で指定された環境変数

DSN属性で指定されたディレクトリのディレクトリ名を，DD要素の出現順に":"(コロン)で区切った文字列である。

PATH環境変数

NAME属性で指定された環境変数の文字列を，PATH環境変数でのプログラム検索パスの並びの先頭に付加する。

PREST

ジョブ間PRESTファイル

ジョブコントローラプロセスが作成したジョブ間PRESTファイル名

TEMPPREST

ジョブステップ間PRESTファイル

ジョブコントローラプロセスが作成したジョブステップ間PRESTファイル名

(4)　環境変数名を任意の名称に設定する方法

ジョブコントローラが設定する環境変数名を，先頭に"DDN_"または"CBL_"を付加しない任意の名称とする場合，DD要素にRENAME属性を指定する。

COBOL2002の特殊な環境変数など，"DDN_"または"CBL_"で始まらない環境変数名を使用する場合は，RENAME属性を指定する。

RENAME属性を用いて，任意の環境変数名を指定する場合の記述例を次に示す。

<EXEC PGM="UAP1" />
<DD NAME="DD1" DSN="/home/file1" RENAME="ANYNAME" />

上記例の場合に設定される環境変数を次に示す。この場合，/home/file1のファイルを使用するための環境変数名は，"DDN_DD1"ではなく"ANYNAME"になる。

ANYNAME=/home/file1

RENAME属性を使用する場合の注意事項を次に示す。

同一のSTEP要素内では，RENAME属性の値が同じDD要素を複数指定しないこと。指定した場合，環境変数には後ろに指定したDD要素のファイルパスが設定される。

ファイル連結の場合，2番目以降のDD要素に指定したRENAME属性は無効になる。RENAME属性で環境変数名を変更する場合は，先頭のDD要素にRENAME属性を指定すること。

RENAME属性で指定した値を名称とする環境変数は，ジョブステップ終了時にジョブコントローラが削除する。したがって，RENAME属性に次に示す値を指定しないこと。

「3.21　環境変数」で示したバッチジョブ実行システムが使用する環境変数

ログインスクリプトで定義した環境変数など，ジョブコントローラ起動時にすでに設定されている環境変数

ジョブ定義XMLファイルのSETENV要素で指定した環境変数

ジョブステップで実行するユーザプログラムやシェルスクリプトの内部で使用する環境変数

JOBLIB DD要素およびSTEPLIB DD要素には，RENAME属性を指定しないこと。指定した場合，ジョブ定義XMLファイルの解析時にエラーとなる。

RENAME属性を使用した場合，そのDD要素で指定したFTYPE属性，RECFM属性，およびTRUNC属性は無効になる。また，DISP属性の第1パラメータに"MOD"（追加書き）を指定していても，ユーザプログラムからそのDD要素のファイルに対する書き込み方法はユーザプログラムの処理に依存する。

(5)　ファイルの割り当て時に付与されるアクセス権限

バッチジョブ実行システムによって実行されるジョブの中でファイルが割り当てられる場合，次の原則でファイルへのアクセス権限が設定される。

(a)　DD要素で割り当てるファイルとディレクトリ

ファイルのアクセス権限は，次のどれかに指定された権限値を持つファイルが割り当てられる。

ジョブ定義XMLファイル内のDD要素のFPERM属性またはPERMISSION要素

設定ファイルのPERMISSION_DIRパラメータおよびPERMISSION_FILEパラメータ

これらの情報を設定していない場合，バッチジョブ実行システムはファイルに対して権限0600を，ディレクトリに対して権限0700を仮定してファイルまたはディレクトリを割り当てる。

DD要素によってファイルまたはディレクトリが新規に割り当てられる場合，ユーザ環境のumask設定は無効であり，ジョブ定義XMLファイルまたは設定ファイルで指定された権限値がそのままアクセス権限として適用される。

(b)　EXEC要素のPGM属性で指定したユーザアプリケーションが作成したファイルとディレクトリ

ユーザ環境のumaskに基づいてファイルが作成される。

(c)　CDATA内に記述したシェルスクリプト内で作成したファイルとディレクトリ

ユーザ環境のumaskに基づいてファイルが作成される。

3.4.8　逆方向参照

ジョブ定義XMLには逆方向参照機能が備わっている。これを利用すると，ジョブ内の先行DD要素にある情報を取得するようシステムに指示できる。

逆方向参照は先行DD要素のTYPE属性が，FILE，DATA，またはTEMPであることが必要である。なお，JSPEC機能適用ジョブステップの場合，先行DD要素のTYPE属性がFILEだけ参照できる。

逆方向参照する場合，参照先のTYPE属性を参照元に引き継ぐ。このため，参照する側のTYPE属性の指定は不要であり，指定しても無視される。ただし，参照する側のTYPE属性のシンタクスチェックは行われる。

なお，参照元のTYPE属性でPRESTを指定した場合，逆方向参照は行われないで，指定されたファイル名を基にPRESTファイルとして使用される。

TYPE属性と逆方向参照可否についての関係を次の表に示す。

表3‒15　TYPE属性と逆方向参照可否についての関係

参照される側のTYPE属性

FILE

DIR

GDG

TEMP

DATA

DUMMY

SYSOUT

LIB

TEMP

ISAM

PREST

TEMP

PREST

逆方向参照可否

○

×

×

○※

○※

×

×

×

×

×

×

（凡例）

○：参照先のファイル名を参照できる。

×：参照先のファイル名を参照できない。エラーとなる。

注※　JSPEC時は参照できない。

一時ファイルを逆方向参照する場合，参照元のDISPS属性値によって，正しく参照できないときがある。

参照元のDISP属性の第1パラメータで"NEW"，または"RNW"を指定した場合には，逆方向参照とならないで新たにファイルを割り当てる。

参照元のDISP属性指定値と実際に参照されるファイルの関係を次の表に示す。

表3‒16　参照元のDISP属性の第1パラメータ指定値と参照されるファイルの関係

DISP属性指定値

NEW

RNW

OLD

SHR

MOD

参照されるファイル

新規に作成したファイル

参照先のファイル

逆方向参照はDD要素のDSN属性に指定する方法が次に示す3とおりある。

<DD NAME="DD名" DSN="*.参照するDD名" />

同一ジョブステップ中で定義されているDD要素を参照する場合，この形式を使用する。

<DD NAME="DD名" DSN="*. ステップ名.参照するDD名" />

ステップ名で指定された先行ジョブステップ中で定義されているDD要素を参照する場合，この形式を使用する。

プロシジャ内でこの形式を指定した場合，ジョブコントローラは次の順序でDD要素を検索する。

AIXの場合

・設定ファイルのEXEC_COND_STEPSEARCHパラメータの値にCOMPATIV3を指定した場合

　該当するプロシジャ内でDD要素を参照するジョブステップ名を検索する。見つからない場合は，ジョブ定義XMLファイルの先頭からDD要素を参照するプロシジャ外のジョブステップ名を検索する。

・設定ファイルのEXEC_COND_STEPSEARCHパラメータの値にBJEXを指定した場合

　ジョブ定義XMLファイルの先頭からDD要素を参照するプロシジャ外のジョブステップ名を検索する。

Linuxの場合

該当するプロシジャ内でDD要素を参照するジョブステップ名を検索し，見つからない場合はジョブ定義XMLファイルの先頭から，DD要素を参照するプロシジャ外のジョブステップ名を検索する。

<DD NAME="DD名" DSN="*.ステップ名.プロシジャステップ名.参照するDD名" />

ステップ名で指定された先行ジョブステップで呼び出されるカタログドプロシジャ，または入力ストリームプロシジャのプロシジャステップ中で定義されたDD要素を参照する場合，この形式を使用する。

使用例

同一ジョブステップおよび先行するジョブステップで指定されたDSN属性値を，逆方向参照で複写する例を次に示す。

注意事項

「DSN="*.参照するDD名"」によって同一ジョブステップ内のDD要素を検索する場合は，必ず逆方向参照を行うDD要素より前に定義されているDD要素を指定すること。

参照先のDD要素を持つジョブステップが，COND属性やIF要素により実行されなかった場合，参照したファイルが作成されていないことが考えられる。このようなとき，参照元のジョブステップ時実行時にエラーとなることがある。例を次に示す。

一時ファイルを後続ステップから逆方向参照する場合，ステップ終了時に一時ファイルが削除されないよう，参照先のDD要素では，DISP=(,PASS)を指定する必要がある。

TYPE=DATA指定のファイルは，一時ファイルのためジョブステップ終了時に削除しているが，後続DD要素で逆方向参照されている場合には，ジョブ終了時に削除される。逆方向参照されていないものについては，従来どおりジョブステップ終了時に削除される。

3.5　ジョブステップ

ジョブステップを実行する場合，EXEC要素に記述したプログラムが実行される。プログラムの実行には，プログラムコマンドを実行する方法と，シェルスクリプト内でコマンドを実行する方法がある。

3.5.1　プログラムコマンドを実行

EXEC要素内のPGM属性値にコマンド名を記述し，渡される引数をPARM属性値に指定することで，シェルを経由しないで実行する。

指定方法

<EXEC PGM="program名" PARM="引数1△引数2" />

実行するコマンド

program名△引数1△引数2

（凡例）

△：空白を示す。PARM属性値の空白の扱いを説明するために必要な空白だけを「△」と明示的に表現する。

3.5.2　シェルスクリプトを実行

EXEC要素内のPGM属性値に"*"の指定とEXEC要素の内容にシェルの指定をした場合，シェルスクリプトとして実行する。内容の形式は「3.10.2　SYSINデータとなる文字列」と同じ指定方法を利用して先頭の"!"から終端の"!"にシェルを記述する。

シェルスクリプトとして実行するため，SHELL環境変数には，ksh（AIXの場合）またはbash（Linuxの場合）を設定しておく必要がある。

指定方法

<EXEC PGM="*" >
<![CDATA[
!
program名△引数1△引数2
!
]]>
</EXEC>

実行するコマンド

program名△引数1△引数2

（凡例）

△：空白を示す。PARM属性値の空白の扱いを説明するために必要な空白だけを「△」と明示的に表現する。

3.5.3　PARM属性値が空白を含む場合

PARM属性の値が空白を含む場合，そのEXEC要素のPARMSPLIT属性の指定によって，次に示すように引数が決定する。

(1)　EXEC要素にPARMSPLIT＝"YES"の指定がある場合

UNIXでの一般的な引数インタフェースであるC言語インタフェースに従った形式で，空白で分割した複数の引数としてプログラムに渡される。

指定方法

<EXEC PGM="program" PARM="AAA△BBB△△△CCC△△" PARMSPLIT="YES" />

（凡例）

△：空白を示す。PARM属性値の空白の扱いを説明するために必要な空白だけを「△」と明示的に表現する。

実行するコマンド

実行プログラム：program
　　　　引数１：AAA
　　　　引数２：BBB
　　　　引数３：CCC

(2)　EXEC要素にPARMSPLIT="NO"の指定がある場合

VOS3から移行したCOBOLプログラムなどのVOS3インタフェースに従った形式で，空白を含めて全体を1つの引数としてプログラムに渡される。

指定方法

<EXEC PGM="program" PARM="AAA△BBB△△△CCC△△" PARMSPLIT="NO" />

実行するコマンド

実行プログラム：program
　　　　引数１：AAA△BBB△△△CCC△△

（凡例）

△：空白を示す。PARM属性値の空白の扱いを説明するために必要な空白だけを「△」と明示的に表現する。

(3)　PARMSPLIT属性を省略した場合

設定ファイルのEXEC_PARMSPLITパラメータの指定に従う。EXEC_PARMSPLITパラメータを省略した場合は，C言語インタフェースに従った形式で，空白で分割した複数の引数としてプログラムに渡される。

指定方法

<EXEC PGM="program" PARM="AAA△BBB△△△CCC△△" />

実行するコマンド

EXEC_PARMSPLITパラメータのPARM属性値の空白分割指定＝"YES"の場合
実行プログラム：program
　　　　引数１：AAA
　　　　引数２：BBB
　　　　引数３：CCC

EXEC_PARMSPLITパラメータのPARM属性値の空白分割指定＝"NO"の場合
実行プログラム：program
　　　　引数１：AAA△BBB△△△CCC△△

EXEC_PARMSPLITパラメータを省略した場合
実行プログラム：program
　　　　引数１：AAA
　　　　引数２：BBB
　　　　引数３：CCC

（凡例）

△：空白を示す。PARM属性値の空白の扱いを説明するために必要な空白だけを「△」と明示的に表現する。

3.5.4　ジョブステップの正常終了／異常終了

ジョブステップの実行結果と，設定ファイルのPGM_RCABENDパラメータの指定によって，ジョブステップが正常終了するか，異常終了するかが決定する。

ジョブステップが正常終了する場合，ジョブステップ完了メッセージとしてKAKC0097-Iが出力される。ジョブステップが異常終了する場合，ジョブステップ完了メッセージとしてKAKC0096-Eが出力される。

ジョブステップが正常終了するか，異常終了するかの条件を次の表に示す。

表3‒17　ジョブステップの正常終了／異常終了の条件

ジョブステップの実行結果

PGM_RCABENDの指定値

正常終了／異常終了

ユーザプログラムがシグナルを受信しないで終了

ユーザプログラムの終了コードと一致しない

ジョブステップ正常終了

（RC=ユーザプログラムの終了コード）

ユーザプログラムの終了コードと一致する

ジョブステップ異常終了

（RC=ユーザプログラムの終了コード）

ユーザプログラムがシグナルを受信して異常終了

（RC=128+シグナル番号）

−

ジョブステップ異常終了

（RC=128+シグナル番号）

ジョブステップ実行時にジョブコントローラでエラーが発生

−

ジョブステップ異常終了

（RC=バッチジョブ実行システムのエラー終了コード）

（凡例）

−：なし。

ジョブステップ実行時に，ジョブコントローラでエラーが発生した場合を除くジョブステップ異常終了の場合，ファイルの後処理はDISP属性の第3パラメータに従う。また，後続ジョブステップは，COND属性にEVENまたはONLYが指定されているステップだけ実行する。

JSPEC機能を使用している場合，ジョブステップが異常終了であればJSPECAN機能によるジョブステップ打ち切りが行われる。詳細については，「3.12.1(3)(b)　JOBPARM_JSPECANパラメータを指定する方法（JSPECAN機能）」を参照のこと。

3.5.5　注意事項

PARM属性値に${変数名}と指定しても環境変数を参照できない。環境変数を引数とする場合は，シェルスクリプトとして実行すること。

ジョブステッププロセスのumaskは，ジョブコントローラ起動ユーザのumaskが設定される。

3.6　ジョブステップの条件付き実行（COND属性）

ジョブは，幾つかのジョブステップから構成されている。ジョブ内のジョブステップは順次実行されていくが，先行するジョブステップの実行結果によって，後続するジョブステップを実行しないで，そのジョブを終了させたり，または特定のジョブステップの実行へ移したりすることが，JOB要素またはEXEC要素のCOND属性を指定することで実現できる。これをジョブステップの条件付き実行という。条件付き実行のための条件は，各ジョブステップの実行結果としてコマンドが返す終了コードを基本とする。

3.6.1　条件付き実行の指定方法

(1)　JOB要素

JOB要素のCOND属性の指定方法を次に示す。

[COND="[(]条件コード,演算符号[)] [,(条件コード,演算符号)]+”]

ジョブステップの実行結果によって，後続のジョブステップの実行をしないで，そのジョブを終了させたい場合は，JOB要素にCOND属性で終了コードの判定条件を指定する。判定条件は1〜8個指定できるが，それ以上指定した場合，シンタクスエラーとなりジョブは異常終了する。

終了コードの判定は，終了コード値とCOND属性で指定した0〜255のしきい値と演算符号を用いる。

演算符号を次の表に示す。

表3‒18　演算符号

演算符号

意味

EQ（EQual to）

しきい値は終了コードと等しい。

NE（Not Equal to）

しきい値は終了コードと等しくない。

GT（Greater Than）

しきい値は終了コードより大きい。

GE（Greater than or Equal to）

しきい値は終了コードより大きいか等しい。

LT（Less Than）

しきい値は終了コードより小さい。

LE（Less than or Equal to）

しきい値は終了コードより小さいか等しい。

(2)　EXEC要素

EXEC要素のCOND属性の指定方法を次に示す。

[COND="
   [(]しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]] [)]
   [,(しきい値, 演算符号 [,ステップ名[,プロシジャステップ名]])]+
   [,{EVEN|ONLY}] "]

先行するジョブステップの実行結果によって，後続するジョブステップの1個をスキップさせたい場合は，EXEC要素のCOND属性で終了コードの判定条件を指定する。判定条件は1〜8個指定できるが，それ以上指定した場合，シンタクスエラーとなりジョブは異常終了する。

終了コードの判定は，終了コード値とCOND属性で指定した0〜255のしきい値と演算符号を用いる。

指定する演算符号の内容は，JOB要素のCOND属性の演算符号と同じある。演算符号については，「表3-18　演算符号」を参照のこと。

通常，先行するジョブステップが異常終了すると，後続するジョブステップはスキップされるが，該当するジョブステップを実行させたい場合，EXEC要素のCOND属性でEVENまたはONLYを指定する。

(3)　注意事項

実行するコマンドによっては終了コードが設定されないコマンドがある。

COND属性の指定方法を次に示す。

条件が1つの場合は，括弧で囲まないで，間に空白を開けないで指定する。

指定例を次に示す。

COND="10,EQ"

条件が複数の場合は，それぞれを一対の括弧で囲み，コンマで区切る。間に空白を開けないで指定する。

指定例を次に示す。

COND="(10,EQ),(20,EQ)"

3.6.2　条件付き実行

(1)　JOB要素でCOND属性を指定した場合

ジョブ内の各ジョブステップの終了時点で，各ジョブステップが生成する終了コードとJOB要素のCOND属性で指定した演算符号を基に論理演算をする。

論理演算結果が真の場合

後続のジョブステップを実行しないで，そのジョブは終了する。

論理演算結果が偽の場合

そのまま後続のジョブステップを実行する。

JOB要素のCOND属性で終了コードの判定条件を指定した場合の流れの例を次の図に示す。

図3‒7　JOB要素のCOND属性で終了コードの判定条件を指定した場合の流れの例

図3-7は，「ジョブ中のどれかのステップの終了コードが0以外である」という条件（下線部の「0,NE」指定）を満たした時点で，後続のジョブステップをすべて実行しないでジョブを終了する例である。

(2)　EXEC要素のCOND属性で終了コードの判定条件を指定した場合

EXEC要素のCOND属性で指定したジョブステップの実行開始時点で，次に示す処理をする。

(a)　先行するジョブステップ名を指定しない場合

設定ファイルのEXEC_COND_NOSTEPNAMEパラメータにSTEPALLを指定するか，またはEXEC_COND_NOSTEPNAMEパラメータを指定していない場合，先行するジョブステップが生成するすべての終了コードとEXEC要素のCOND属性で指定した演算符号を基に論理演算をする。また，設定ファイルのEXEC_COND_NOSTEPNAMEパラメータにSTEPLASTを指定した場合，最後に実行されたジョブステップが生成する終了コードだけと論理演算をする。

論理演算結果が真の場合

そのジョブステップの実行をスキップして，後続するジョブステップの処理へ移る。

論理演算結果が偽の場合

そのジョブステップを実行する。

(b)　先行するジョブステップ名を指定した場合

指定した先行するジョブステップが生成する終了コードとEXEC要素のCOND属性で指定した演算符号を基に論理演算をする。論理演算結果の後処理は，(a)と同じである。

また，指定した先行するジョブステップが条件付き実行によって実行がスキップされている場合は，EXEC要素のCOND属性は無視される（COND属性が指定されなかったものとして処理される）。ジョブ内で重複しているジョブステップ名を指定した場合，最初に一致したジョブステップに対して論理演算をする。

EXEC要素のCOND属性で終了コードの判定条件を指定した場合の流れの例を次の図に示す。

図3‒8　EXEC要素のCOND属性で終了コードの判定条件を指定した場合の流れの例

図3-8は，STEP2を実行する前に「STEP1の終了コードが0以外」という条件（下線部の「0,NE,STEP1」指定）をチェックし，条件を満たした場合にはSTEP2を実行しないで，その次のステップSTEP3を実行する例である。

(3)　EXEC要素のCOND属性でEVENまたはONLYを指定した場合

EXEC要素のCOND属性を指定したジョブステップの実行開始時点で，次に示す処理をする。

EVENを指定した場合，無条件に該当するジョブステップを実行する。

ONLYを指定した場合，1つ以上の先行するジョブステップのどれかが異常終了している場合に，該当するジョブステップを実行する。

EVENまたはONLYがジョブステップの終了コードの判定条件とともに指定している場合，終了コードの判定条件を満たすと，EVENまたはONLYを無視し，そのジョブステップを実行しない。

先行するジョブステップが異常終了した場合，後続のジョブステップにEVENまたはONLYの指定がないかぎり，該当するジョブステップをスキップする。

EXEC要素のCOND属性でEVENを指定した場合の流れの例を次の図に示す。

図3‒9　EXEC要素のCOND属性でEVENを指定した場合の流れの例

図3-9は，仮にSTEP1のプログラム MYPROG1 が異常終了した場合でも，COND="EVEN"指定（下線部）によってSTEP2は必ず実行される例である。

EXEC要素のCOND属性でONLYを指定した場合の流れの例を次の図に示す。

図3‒10　EXEC要素のCOND属性でONLYを指定した場合の流れの例

図3-10は，STEP1のプログラム MYPROG1が異常終了した場合にだけ，COND="ONLY"指定（下線部）によってSTEP2が実行される例である。

ジョブステップの条件付きの実行を次の図に示す。

図3‒11　スキップされたジョブステップの判定例

ジョブステップ2がジョブステップ1の終了コード判定でスキップされるケースがある。この場合，ジョブステップ3でジョブステップ2の終了コードの条件判定をしているが，ジョブステップ2をスキップしているとき，EXEC要素のCOND属性の指定は無視して，ジョブステップ3を実行する。

図3‒12　先行するすべてのジョブステップの終了コードとの判定例

条件1（COND属性の（6,LT,STEP4））を判定したが，この条件を満たさないため条件2（COND属性の（5,LT））の判定をする。条件2の場合，ジョブステップ名がないためすべての先行するジョブステップの終了コードとの判定をするが，この場合も条件を満たさないためジョブステップ5を実行する。

3.6.3　ジョブステップを条件付きで実行するときのステップ名の検索範囲

ジョブステップを条件付きで実行する場合は，COND属性の指定内容によってステップ名の検索範囲が異なる。COND属性の指定形式ごとに，ステップ名が検索される順序を次に示す。

(1)　COND属性がプロシジャ外に指定されている場合

(a)　ステップ名だけ指定されている場合

バッチジョブ実行システムは，ジョブ定義XMLファイルの先頭からCOND属性が指定されているジョブステップの直前のジョブステップまで，プロシジャを呼び出すジョブステップおよびプロシジャ内を除いた範囲でステップ名を検索する。検索例を次の図に示す。

図3‒13　ステップ名だけで検索する例（COND属性がプロシジャ外に指定されている場合）

(b)　ステップ名とプロシジャステップ名が指定されている場合

バッチジョブ実行システムは，指定されたステップ名が一致するプロシジャ内のプロシジャステップ名を先頭から末尾まで検索する。検索例を次の図に示す。

図3‒14　ステップ名とプロシジャステップ名で検索する例（COND属性がプロシジャ外に指定されている場合）

(2)　COND属性がプロシジャ内に指定されている場合

(a)　ステップ名だけ指定されている場合

バッチジョブ実行システムは，該当するプロシジャの先頭から，COND属性が指定されているプロシジャステップの直前のプロシジャステップまでの範囲でプロシジャステップ名を検索する。この時点で一致するステップ名が見つかれば，その戻り値をCOND判定の対象とする。もしこの時点でステップ名が見つからない場合は，プロシジャ外のジョブ定義XMLファイルの先頭から，該当するプロシジャを呼び出したステップの直前まで検索する。なお，このとき検索途中に別のプロシジャを呼び出す処理があっても，それらプロシジャ内は検索範囲には含まない。検索例を次の図に示す。

図3‒15　ステップ名だけで検索する例（COND属性がプロシジャ内に指定されている場合）

【AIX限定】

「図3-15　ステップ名だけで検索する例（COND属性がプロシジャ内に指定されている場合）」は，設定ファイルのEXEC_COND_STEPSEARCHパラメータの値にCOMPATIV3を指定した場合の動作である。値にBJEXを指定した場合，またはパラメータを省略した場合は，「(1)(a)　ステップ名だけ指定されている場合」で示した検索範囲となる。

(b)　ステップ名とプロシジャステップ名が指定されている場合

バッチジョブ実行システムは，COND属性で指定したステップから呼び出されているプロシジャに限定して，その先頭からプロシジャステップ名を検索する。検索例を次の図に示す。

図3‒16　ステップ名とプロシジャステップ名で検索する例（COND属性がプロシジャ内に指定されている場合）

3.7　ジョブステップの実行制御（IF要素）

ジョブ定義XMLファイルのEXEC要素のCOND属性を使用することで，ジョブステップを条件付きで実行できる。しかし，この機能はそのジョブステップの実行条件を記述するだけであるため，複数ステップの実行をスキップしたい場合は，それらのすべてのジョブステップにCOND属性を記述する必要があった。

IF要素，ELSE要素およびENDIF要素を使用することでジョブステップのリターンコードを判定して実行するジョブステップの範囲を制御できる。ただし，COND属性によるジョブステップの条件付き実行ではジョブに対して制御できるが，IF要素によるジョブステップの実行制御では，ジョブに対しては制御できない。

なお，IF要素，ELSE要素またはENDIF要素とCOND属性の機能は背反ではなく，併用できる。

ジョブステップの実行制御（IF要素）とジョブステップの条件付き実行（COND属性）はジョブ実行時に次の順序で処理される。

IF要素の条件判定によるジョブステップの実行抑止

EXEC要素のCOND条件判定

ジョブステップ実行

JOB要素のCOND条件判定

3.7.1　ジョブステップの実行制御の各要素の使用規則

IF要素はELSE要素とENDIF要素を組み合わせて使用する。

IF要素からELSE要素までをTHEN節と呼ぶ。また，ELSE要素からENDIF要素までをELSE節と呼ぶ。

ELSE要素は省略できる。ELSE要素を省略した場合，ELSE節はなく，IF要素からENDIF要素までがTHEN節となる。

IF要素のOP属性で指定した条件が真の場合THEN節のステップ群が実行され，偽の場合ELSE節のステップ群が実行される。

IF要素，ELSE要素またはENDIF要素は階層構造で指定できる。また，STEP要素を含まないTHEN節やELSE節があってもよい。IF要素，ELSE要素またはENDIF要素の階層構造を次の図に示す。

図3‒17　IF要素，ELSE要素またはENDIF要素の階層構造

JSPEC機能を使用する場合，並列実行するジョブステップ内で使用できない。

IF要素，ELSE要素またはENDIF要素で実行しないと判定されたジョブステップのEXEC要素またはCOND属性にEVENやONLYがあっても処理の対象にならない。また，実行しないジョブステップの直後に指定したSETMAXRC属性も処理されない。

3.7.2　ジョブステップの実行制御の使用例

ジョブステップの実行制御を使用した例を，次のジョブ定義XMLに示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
<JOB NAME="TT02_MNBM22" MSGCLASS="A"  >
  <STEP NAME="MNBM2280" >
    <EXEC PGM="UAP001" COND="1,NE" />
    <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
  </STEP>
  <SETMAXRC VALUE="0" />
  <IF OP="(MNBM2280,LE,8)"/>
      ==>ジョブステップMNBM2280のRCが9以上ならMNBM229Bから実行する。
         RCが8以下なら次を処理する。
    <IF OP="(MNBM2280,LE,4)"/>
        =>ジョブステップMNBM2280のRCが4以下ならジョブステップMNBM2285を実行する。
          ジョブステップMNBM2280のRCが5から8ならジョブステップMNBM2290から実行する。
      <STEP NAME="MNBM2285">
        <EXEC PGM="UAP2"  COND="1,NE" />
        <DD NAME="SORTIN" TYPE="FILE" DSN="/home/user01/t01" DISP="OLD" />
        <DD NAME="SORTOUT" TYPE="FILE" DSN="/home/user01/t01a" DISP="RNW,KEEP" />
      </STEP>
      <SETMAXRC VALUE="2"/>
    <ELSE/>
      <STEP NAME="MNBM2290" >
        <EXEC PGM="UAP3" COND="1,NE" />
        <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
      </STEP>
      <SETMAXRC VALUE="3"/>
    <ENDIF/>
  <ENDIF/>
  <STEP NAME="MNBM229B" >
    <EXEC PGM="UAP3" COND="1,NE" />
    <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
  </STEP>
  <SETMAXRC VALUE="3"/>
  <IF OP="( (MNBM2280,LE,4)OR(NOT (MNBM2290,EQ,5) ) )AND(MNBM229B,AB,)"/>
    ==>ジョブステップMNBM2280のRCが4以下またはジョブステップMNBM2290のRCが5でない
      かつジョブステップMNBM229Bが異常終了ならジョブステップMNBM229Cを実行する。
    <STEP NAME="MNBM229C" >
      <EXEC PGM="UAP3"/>
      <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
    </STEP>
  <ENDIF/>
</JOB>
</HitachiBatchJobExec>

3.8　ステップリスタート

ジョブが異常終了した場合，障害要因を取り除いてからジョブを再実行する場合，正常に終了したジョブステップを再度実行しないで，途中のジョブステップから実行を再開したいときがある。このとき，bjexecコマンドで再実行するジョブステップ名を指定することで，途中のジョブステップから実行を開始できる。この機能を，ステップリスタートと呼ぶ。

3.8.1　ステップリスタートを実行するための条件

ステップリスタートを実行するためには，次の条件を満たす必要がある。

bjexecコマンドの-rオプションでリスタートを開始するジョブステップのステップ名を指定する。

DD要素の変更が必要な場合，DD要素を変更する。

リスタートするステップがJSPEC機能で並列実行するステップでない。

リスタートするステップがIF要素のTHEN節やELSE節のステップでない。

ユーザはステップリスタート機能を適用したい場合，ジョブが途中で中断した場合に任意のステップから再実行しても問題がないようにジョブを作成しておく必要がある。

3.8.2　JP1/AJS - Viewでのステップリスタートの実行

ジョブが異常終了した場合にJP1/AJS - Viewで特定のジョブステップ（STEP02）から実行するときの例を次に示す。

(1)　ジョブ定義XMLファイルの例

次の例でジョブステップ（STEP01）は正常終了したが，STEP02が異常終了し，実行できなかった。

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
  <JOB NAME="TESTPROC">
    <STEP NAME="STEP01" >
      <EXEC PGM="*" >
        <![CDATA[
!
exit 0
!
        ]]>
      </EXEC>
    </STEP>
    <STEP NAME="STEP02" >
      <EXEC PGM="*" >
        <![CDATA[
!
exit 1
!
        ]]>
      </EXEC>
    </STEP>
    <STEP NAME="STEP03" >
      <EXEC PGM="*" >
        <![CDATA[
!
exit 0
!
        ]]>
      </EXEC>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

(2)　JP1/AJS - Viewによるジョブの再実行

STEP02からジョブを再開する。まず，JP1/AJS - Viewの詳細定義でジョブステップ（STEP02）を追加する。

図3‒18　JP1/AJS - Viewの詳細定義でのジョブステップの追加

次にSTEP02以降のジョブステップを実行する。

図3‒19　JP1/AJS - Viewでのジョブの再実行

(3)　実行結果

STEP01を実行しないで，STEP02から実行した実行結果を次に示す。

********  BJEX MESSAGE  ********
10:14:16 000047 KAKC0091-I TESTPROC Job started.
10:14:16 000047 KAKC0112-I Job is restarted from specified step. stepname=STEP02
10:14:16 000047 KAKC0092-I TESTPROC.STEP02 Step started.
10:14:16 000047 KAKC0097-I TESTPROC.STEP02 Step ended. rc=1 E-Time=0.246s C-Time=0.000s
10:14:16 000047 KAKC0092-I TESTPROC.STEP03 Step started.
10:14:17 000047 KAKC0097-I TESTPROC.STEP03 Step ended. rc=0 E-Time=0.255s C-Time=0.010s
10:14:17 000047 KAKC0098-I TESTPROC Job ended. rc=1 E-Time=0.501s C-Time=0.010s MaxRSS=2856KB

********   XML IMAGE    ********
000001    <?xml version="1.0" encoding="Shift-JIS" ?>
000002    <HitachiBatchJobExec version="1.4" os="unix" >
　：
(中略)
　：
000014    </EXEC>
000015    </STEP>
000016    </JOB>
000017    </HitachiBatchJobExec>

******** SYSTEM MESSAGE ********
10:14:16 000047 KAKC0900-I Parsing of xml file "/home/user01/PROC_JCL_PRSX.xml" started.
10:14:16 000047 KAKC0909-I Parsing of xml file "/home/user01/PROC_JCL_PRSX.xml" ended. code=0
10:14:16 000047 KAKC0707-I MSGCLASS is "A".
10:14:16 000047 KAKC1600-I TESTPROC Job allocated.
10:14:16 000047 KAKC1601-I TESTPROC.STEP02 Step allocated.
10:14:16 000047 KAKC1601-I TESTPROC.STEP03 Step allocated.

******** JOBSTEP OUTPUT ********
KAKC0719-I STEP 002,STEP02,STDERR

KAKC0719-I STEP 003,STEP03,STDERR

KAKC0099-I HitachiBatchJobExec ended. rc=1

3.8.3　bjexecコマンドでのステップリスタートの実行

ステップリスタートを実行するためには，bjexecコマンドでリスタートを開始するジョブステップのステップ名を指定する。

bjexec -r リスタートステップ名 ジョブ定義XMLファイル名

-r リスタートステップ名

リスタートするジョブステップ名を指定する。指定したジョブステップから実行を開始する。

リスタートステップ名は次の形式で指定する。

ステップ名[.プロシジャステップ名]

ステップ名：リスタートするジョブステップ名を記述する。

プロシジャステップ名：リスタートするジョブステップがカタログドプロシジャの場合，ピリオド（.）に続けてプロシジャ内のステップ名を記述する。

指定したジョブステップが存在しないときは，ジョブを実行しないで終了する。

「-ｒ ""」などで空白だけの文字列や¥0だけの空文字列を指定すると通常ジョブとして先頭から実行する。

同一ステップ名のジョブステップが複数存在する場合，先頭から探して最初に見つかったジョブステップから実行する。ただし，JSPEC機能で並列実行するジョブステップ，またはIF要素のTHEN節やELSE節内のジョブステップは検索の対象にならない。

3.8.4　ステップリスタートを実行する上でのファイルの扱い

ステップリスタートを実行するジョブでファイルを扱う場合，次の点に注意する必要がある。

ステップリスタートを実行する可能性がある場合，ジョブで使用するファイルおよびディレクトリは，次のように指定する必要がある。

リスタートするジョブステップで新たに作成されるファイルおよびディレクトリでは，DISP="{NEW/RNW/MOD},x,DELETE"を指定して，使用後は削除しておく。

リスタートの前のジョブステップで作成したファイルを参照する場合は，DISP="{OLD/SHR},x,KEEP"を指定して，リスタート時に参照できるようにしておく。

前のステップで作成した一時ファイルを参照できないため，恒久ファイルに変更する必要がある。

次の理由でPRESTファイルの利用は適さない。

サブジョブのリスタートができない。

相手ジョブも起動している必要がある。

相対世代番号で世代ファイルを参照している場合，リスタート時に別のファイルを参照しないようにするため，リスタート時には相対世代番号をリスタート前に戻す必要がある。このため，世代ファイルの使用は推奨されない。

リスタートするジョブステップより前のジョブステップからパスされたファイルを，リスタートするジョブステップ以降で受け取る場合，未実行のジョブステップからファイルを受け取ることはできないので，ジョブ定義XMLファイルの変更が必要となる。

リスタートするジョブステップより前のDD要素を参照している場合，ジョブ定義XMLファイルを修正して逆方向に参照しないように変更する必要がある。

ファイルはリスタートするステップの開始前の状態には戻ることはない。このため，リスタート時に扱うファイルが問題なく使用できるようにジョブを作成しておく必要がある。

3.8.5　ステップリスタートでの注意事項

ステップリスタートを実行する上でのほかの注意事項を次に示す。

JSPEC機能を使用して並列実行するジョブステップからリスタートできない。並列実行するジョブステップを指定しても検索対象にならないため，ほかに同一名のジョブステップがある場合は，そのジョブステップがリスタートの対象になる。ほかに同一名のジョブステップが存在しない場合は，KAKC0110-Eメッセージを出力してリスタートに失敗する。

ファイル，ディレクトリの排他/共用制御やジョブ定義XMLファイルはリスタートで指定したジョブステップより前のジョブステップも処理の対象になる。このため，リスタートステップより前のジョブステップだけで使用するファイルがほかのジョブと排他して使用する定義の場合，実際にはそのファイルを使用しなくても，後から投入されたジョブが同一ファイルを使用していると待ち状態になる。また，リスタート時にほかのジョブで排他要求しているとリスタートしたジョブの実行が待ち状態になることがある。

指定したリスタートステップより前のジョブ定義XMLのSTEP要素，SETMAXRC要素は処理されない。ただし，ファイルの排他/共用制御の対象になる。

リスタートステップ以降でリスタートステップより前のジョブステップの終了コードを判定している場合，正しく判定できないためジョブ定義XMLファイルの修正が必要となる。

IF要素のTHEN節やELSE節内のジョブステップからはリスタートできない。そのジョブステップを指定しても検索対象にならないため，ほかに同一名のジョブステップがある場合は，そのジョブステップがリスタートの対象になる。ほかに同一名のジョブステップが存在しない場合は，KAKC0110-Eメッセージを出力してリスタートに失敗する。

JP1/AJSのジョブ定義のパラメータで指定したリスタートステップ名の指定は，ジョブ終了後に，次回の実行に備えて削除しておく必要がある。

3.9　世代ファイル

3.9.1　世代ファイルの概要

給与ファイルや在庫ファイルなどの月ごとに更新されるファイルの旧ファイルと新ファイルや，旧バージョンと新バージョンでのプログラムの関係のように，互いに時間的または歴史的な関連を持った一連のファイルグループがある。これらのファイルグループは，1つのグループ名とその中の番号で参照ができ，このグループを世代データ群といい，その中の各ファイルを世代ファイルという。

世代データ群は，そのグループを識別する世代データ群名の基に登録され管理される。各世代ファイルは世代データ群名と世代番号によって識別される。

世代ファイル機能は，次の2種類がある。

相対世代番号指定機能

日付世代番号指定機能

(1)　相対世代番号指定機能

相対世代番号指定機能の世代番号は，絶対世代番号と相対世代番号で表す。

世代番号の指定は，相対世代番号で指定する。

(a)　絶対世代番号

各世代ファイルに対して，そのグループ内で一意的な絶対世代番号が与えられる。

絶対世代番号の形式は"Gnnnn"である。nnnnは世代番号を表し0000〜9999の数値の範囲となる。

各世代ファイルは，世代データ群名のあとに絶対世代番号を"."（ピリオド）で付加したファイル名で識別される。絶対世代番号でDD要素に記述はできない。

＜例＞

世代データ群名が"ACCOUNT.X"，世代番号0003のファイル名は，次に示すようになる。

ACCOUNT.X.G0003

(b)　相対世代番号

相対世代番号とは最新の世代ファイルの世代番号を0とし，これよりも古い世代ファイルの世代番号を負の整数，新しく登録する世代ファイルの世代番号を正の整数で表した相対的な世代番号である。

各世代ファイルは，世代データ群名のあとに相対世代番号を括弧でくくって付加したファイル名で識別される。

＜例＞

ACCOUNT.Xを世代データ群名として次に示す順番で3つの世代ファイルを登録する。

ACCOUNT.X.G0001

ACCOUNT.X.G0002

ACCOUNT.X.G0003

次のジョブで各世代ファイルを相対世代番号を用いて参照する場合，ファイル名は次に示すようになる。

ACCOUNT.X(-2)
ACCOUNT.X(-1)
ACCOUNT.X(0)

また，正の相対世代番号は，現在登録している最新の世代ファイルの世代番号にこの数値を加えた世代番号を持つ新しい世代ファイルを登録したい場合，または該当するジョブ内の以前のステップで世代データ群に登録した世代ファイルを参照する場合に用いる。

例えば，上記の例でACCOUNT.X(+2)を指定して新しい世代ファイルを登録する場合，システムが自動的にACCOUNT.X.G0005の絶対世代番号を作成して登録する。

(2)　日付世代番号指定機能

世代番号の指定は，日付世代番号で指定する。

(a)　日付世代番号

日付世代番号指定機能を使用して世代ファイルを日付で管理するための世代番号である。日付世代番号の形式は，”EXD”※1または”Dyyyymmdd”※2である。各世代ファイルは世代データ群.Dyyyymmddの形式で登録される。

＜例＞

ACCOUNT.Xを世代データ群名とする世代ファイル

ACCOUNT.X.D20130611

ACCOUNT.X.D20130613

ACCOUNT.X.D20130615

各世代ファイルを，日付世代番号を用いて参照する場合，ファイル名は次に示すようになる。

EXDを指定する場合

次のようにルートジョブネットの実行開始予定日（EXD）を基準とし，これより古い世代ファイルをEXDに負の整数を付けて指定する。

ACCOUNT.X(EXD-2)

ACCOUNT.X(EXD-1)

ACCOUNT.X(EXD)

ただし，EXDに付けた-1や-2は，EXDに格納された日付の1日前，2日前という意味ではなく，1世代前，2世代前という意味である。例えば，上記の例で実行開始予定日が2013年6月15日の場合，ACCOUNT.X(EXD-1)を指定すると，ACCOUNT.X.D20130613を指定することとなる。

注※1　世代ファイルを日付で指定するために使用する環境変数「AJSEXDATE」に設定される日付に対応した世代ファイルを指定する際に使用する。AJSEXDATEは，JP1/AJSから実行されるルートジョブネット実行時に設定される環境変数であり，JP1/AJSからバッチジョブを起動するとジョブネットの実行開始日が設定される。ジョブネットの実行が遅延したり，翌日に再実行したりした場合でも，当初の実行予定日が設定される。この環境変数が設定されていない場合，EXDによって世代ファイルを指定することはできない。詳細については，JP1のマニュアルを参照のこと。

注※2　yyyy：西暦，mm：月，dd：日

本機能は，通常はEXDを指定することによって使用する機能だが，障害時など例外的に特定の日付を指定したい場合，Dyyyymmddを指定することで直接日付を指定することができる。

Dyyyymmddを指定する場合

ACCOUNT.X(D20130611)

ACCOUNT.X(D20130613)

ACCOUNT.X(D20130615)

(3)　世代データ群を構成するファイル

世代データ群を使用する場合，世代ファイルの割り当てに先立ち，世代管理ファイルを用意する必要がある。

世代管理ファイルの作成

世代管理ファイルはbjexgdgコマンドによって生成し，次に示すファイルによって構成される。

"世代データ群名.gdg"

".世代データ群名.gdg"

世代で管理する世代ファイルは，相対世代番号指定機能と日付世代番号指定機能で次のようになる。

相対世代番号指定機能

世代データ群名に".Gnnnn"を付けたファイル名（nnnnは0000〜9999の数値）

日付世代番号指定機能

世代データ群名に".Dyyyymmdd"を付けたファイル名（yyyy：西暦，mm：月，dd：日）

また，各世代ファイルは世代管理ファイルと同一ディレクトリに作成される。世代管理ファイルと世代ファイルが別々のディレクトリに点在している場合，これらのファイルでは世代管理ができなくなるため，必ず同一ディレクトリに配置する。

世代管理ファイルの削除

不要となった世代管理ファイルは，bjexgdgコマンドで削除できる。

3.9.2　世代データ群の作成

世代ファイルを作成する前に，世代ファイルを管理する世代データ群名を登録する必要がある。

(1)　世代データ群の作成

世代データ群の作成は，bjexgdgコマンドで行う。

bjexgdgコマンドの書き方を次に示す。

(a)　相対世代番号指定機能

bjexgdg -m -l エントリ数 世代ディレクトリ名/世代データ群名

エントリ数

この世代データ群に属する世代ファイルの最大数（1から255の数字）を指定する。

世代ディレクトリ名

世代データ群を作成するディレクトリ名を指定する。指定しない場合はカレントディレクトリとなる。

世代データ群名

世代データ群の名称を指定する。

bjexgdgコマンドの詳細については，「7.　コマンド」の「bjexgdg（世代データ群の生成および更新（一般ユーザ用））」を参照のこと。

＜例＞

世代データ群名ACCOUNT.Xを/home/gdgディレクトリに登録する。また，この世代データ群の最大世代ファイル数は20とし，世代ファイル数がこの最大数を超えた場合，最も古い世代ファイルから順に削除する場合（自動消去機能）の指定例を次に示す。

bjexgdg -m -l 20 /home/gdg/ACCOUNT.X

(b)　日付世代番号指定機能

[bjexgdg -m -d -l エントリ数 世代ディレクトリ名/世代データ群名]

エントリ数

この世代データ群に属する世代ファイルの最大数（1から511の数字）を指定する。

世代ディレクトリ名

世代データ群を作成するディレクトリ名を指定する。指定しない場合はカレントディレクトリとなる。

世代データ群名

世代データ群の名称を指定する。

＜例＞

世代データ群名ACCOUNT.Xを/home/gdgディレクトリに登録する。また，この世代データ群の最大世代ファイル数は20とし，自動消去機能を指定する場合の指定例を次に示す。

[bjexgdg -m -d -l 20 /home/gdg/ACCOUNT.X]

(2)　世代データ群の配置

世代データ群は，1つの世代ディレクトリ下に1つを配置することが望ましい。

3.9.3　世代ファイルの作成と参照

(1)　世代ファイルの作成

(a)　相対世代番号指定機能

世代ファイルを作成する場合，世代データ群名のあとに相対世代番号を括弧で囲って世代ファイルを指定する。

作成例を次に示す。

上記の作成例を実行した場合，次に示す世代ファイルが作成される。

ACCOUNT.X.G0001

ACCOUNT.X.G0002

ACCOUNT.X.G0003

(b)　日付世代番号指定機能

世代ファイルを作成する場合，世代データ群名のあとにEXDを括弧で囲って世代ファイルを指定する。

作成例を次に示す。このとき，＋，−を指定することはできない。

上記の作成例を実行した場合，次に示す世代ファイルが作成される。次の例は実行開始予定日が2013年6月15日の場合である。

ACCOUNT.X.D20130615

障害時など例外的に特定の日付を指定したい場合，例外的にDyyyymmdd※と指定することによって，直接日付を指定することもできる。作成例を次に示す。

注※　yyyy：西暦，mm：月，dd：日

ただし，yyyy に指定できる西暦は，DISP属性の第1パラメータがNEWの場合，バッチジョブ実行日の西暦の±2 年以内となる。例えば，バッチジョブ実行日が2013年6月15日の場合，2011年1月1日〜2015年12月31日まで指定可能となる。また，バッチジョブ実行日が2014年4月10日の場合，2012年1月1日〜2016年12月31日まで指定可能となる。

(2)　世代ファイルの参照

(a)　相対世代番号指定機能

作成した世代ファイルを参照する場合，世代データ群名のあとに相対世代番号を括弧で囲って世代ファイルを指定する。「(1)　世代ファイルの作成」で作成した世代ファイルの参照例を次に示す。

(b)　日付世代番号指定機能

作成した世代ファイルを削除する場合，世代データ群名のあとにEXD，EXD-n，またはDyyyymmddを括弧で囲って世代ファイルを指定する。参照例を次に示す。

障害時など例外的に特定の日付を指定したい場合，Dyyyymmddと指定することによって，直接日付を指定することもできる。参照例を次に示す。

(3)　世代ファイルの参照（世代データ群名指定）

世代データ群名だけを指定して世代ファイルの参照をする場合，指定した世代データ群に登録されているすべての世代ファイルを参照する。

(a)　相対世代番号指定機能

上記指定で世代データ群ACCOUNT.Xに世代ファイルが3世代登録されている場合，次に示すDD要素で指定した内容と同じ世代ファイルを参照する。

(b)　日付世代番号指定機能

上記の指定で世代データ群ACCOUNT.Xに世代ファイルが3世代登録されている場合，次に示すDD 要素で指定した内容と同じ世代ファイルを参照する。

3.9.4　世代ファイルおよび世代データ群の削除

世代データ群を削除する場合，次に示す順序で行う。

世代ファイルの削除をする。

世代データ群の削除をする。

(1)　世代ファイルの削除

相対世代番号指定機能

作成した世代ファイルを削除する場合，世代データ群名のあとに相対世代番号を括弧で囲って世代ファイルを指定する。

作成した世代ファイルの削除例を次に示す。

日付世代番号指定機能

作成した世代ファイルを削除する場合，世代データ群名のあとにEXDまたはEXD-nを括弧で囲って世代ファイルを指定する。削除例を次に示す。

障害時など例外的に特定の日付を指定したい場合，Dyyyymmddと指定することによって，直接日付を指定することもできる。削除例を次に示す。

(2)　世代データ群の削除

世代データ群の削除は，bjexgdgコマンドで行う。

bjexgdgコマンドの書き方を次に示す。

bjexgdg -q [世代ディレクトリ名/]世代データ群名

世代ディレクトリ名

世代データ群を作成するディレクトリ名を指定する。指定しない場合は，カレントディレクトリとなる。

世代データ群名

世代データ群の名称を指定する。

bjexgdgコマンドの詳細については，「7.　コマンド」の「bjexgdg（世代データ群の生成および更新（一般ユーザ用））」を参照のこと。

例

世代データ群名ACCOUNT.Xを削除する。

世代ディレクトリ /home/gdg

bjexgdg -q /home/gdg/ACCOUNT.X

3.9.5　世代ファイルの保存日数超過による一括削除機能

相対世代番号指定機能

世代データ群は，世代管理ファイルの定義によって管理する世代ファイル数を制限（1〜255）できる。

世代データ群の定義で，最も古い世代ファイル情報が世代管理対象から外れた場合，SCRATCH（自動消去機能）とNOSCRATCH（データ保存機能）のどちらかを選択し，世代ファイルの後処理の方法を定義できる。この場合，最も古い世代ファイル情報が最新の世代ファイル登録時に世代管理対象から外される。また，世代管理する世代ファイル数の制限いっぱいに登録されている場合に，新たな世代ファイルの登録要求が行われたときに動作する。

この機能では，世代管理ファイルの登録状態に関係なく，ユーザが指定する保存日数の範囲で，保存日数を超過した世代ファイルの削除と世代管理ファイルに登録されている情報を削除する。なお，この機能を使用する場合は，あらかじめ世代ファイルをバックアップすることを推奨する。世代ファイルをバックアップすることで，誤って世代ファイルを一括削除してしまった場合にリストアできる。

日付世代番号指定機能

世代データ群は，世代管理ファイルの定義によって管理する世代ファイル数を制限（1〜511）できる。

日付世代番号指定機能では，世代データ群の定義で，SCRATCHしか指定することができない。世代管理する世代ファイル数の制限いっぱいに登録されている場合に，新たな世代ファイルの登録要求が行われると，最も古い世代ファイル情報が最新の世代ファイル登録時に世代管理対象から外される。ただし，「最も古い」の意味は，実行開始日（EXDに格納された日付またはDyyyymmdd）が最も古いという意味であり，世代ファイルを作成した日付が古いというわけではない。例えば，次の3つの世代ファイルが登録されており，登録世代数が上限に達している状態で，2013/04/20の世代ファイルを作成した場合，ACCOUNT.X.20130417の世代ファイルおよび世代情報が削除される。

2013/04/20の世代ファイル作成前

ACCOUNT.X. 20120419
ACCOUNT.X. 20120418
ACCOUNT.X. 20120417

また，同じく次の3つの世代ファイルが登録されており，登録世代数が上限に達している状態で，2013/04/16のジョブを実行した場合，生成される世代ファイルは，最も古い世代（EXDに格納された日付またはDyyyymmddが最も古い）となる。このような場合，世代管理ファイルは更新せず，世代ファイルは一時的に作成し，すぐに削除する。

2013/04/16の世代ファイル作成前

ACCOUNT.X. 20120419
ACCOUNT.X. 20120418
ACCOUNT.X. 20120417

2013/04/16の世代ファイル作成後

ACCOUNT.X. 20120416が作成されたが，すぐに削除される。

ACCOUNT.X. 20120419
ACCOUNT.X. 20120418
ACCOUNT.X. 20120417

(1)　世代ファイルの保存日数指定による一括削除の方法

世代ファイルの保存日数指定による一括削除機能は，相対世代番号指定機能だけでサポートしている機能であり，日付世代番号指定機能ではサポートしていない。

世代ファイルの保存日数指定による一括削除の例を次に示す。

世代群"bjgdg"は次のような登録状態となっている。

bjexgdg -e bjgdgコマンドの表示結果（8月7日の15:40時点）

lsコマンドの表示結果

世代ファイルの状態をlsコマンドで表示（表示されている日付は最終更新日付）。

8月7日の15：40時点で保存日数が20日を超えている（21日以上経過しているもの）世代ファイルと世代管理ファイルの情報を一括して削除したい場合，次のコマンドを入力する。

コマンド実行によって，最終更新日付がコマンド実行時点から21日以上経過したものは削除され，世代管理情報からも削除される。

bjexgdg -e bjgdg コマンドの表示結果

lsコマンドの表示結果

(2)　bjexhkgdgコマンド実行に関する注意事項

このコマンドで指定する保存日数を間違った場合，指定した保存日数を超過した世代ファイルを無条件に削除する。そのため，指定する保存日数は間違わないようにすること。なお，このコマンドを実行する前に該当する世代管理ファイルおよび世代データセットのバックアップを取得しておくこと。

世代管理ファイルおよび世代ファイルの更新は，bjexhkgdgコマンドの実行ユーザに対して更新権限が必要である。

世代管理ファイルの属性（自動消去機能またはデータ保存機能）に関係なく，bjexhkgdgコマンドを実行した場合，保存日数超過した世代ファイルと世代管理情報は削除される。

bjexhkgdgコマンド実行時，日付世代番号指定機能の世代データ群を指定するとエラーとなる。

3.9.6　世代ファイルの世代管理ファイルへの登録タイミング変更機能

世代ファイルを割り当てるジョブで，世代ファイルを作成するジョブステップは正常に実行できたが，後続のジョブステップで異常終了した場合でも，世代ファイルを新規に生成した世代データ群の世代管理情報は更新される（ユーザ指定に従った処理動作を行う）。この機能では，世代管理情報の更新タイミングを世代ファイルを生成したジョブステップ単位ではなくジョブ終了時に変更し，ジョブの終了状態（ジョブ終了時に設定されている戻り値）によって，世代管理情報の更新を行うかどうかを判定し，登録の要否を決定する機能である。

(1)　設定方法

この機能を使用する場合は，バッチジョブ実行システムの設定ファイルにGDG_REGISTER_JOBRC_THRESHOLDパラメータを設定すること。

(2)　世代ファイルの世代管理ファイルへの登録タイミング

世代ファイルの世代管理ファイルへの登録タイミングについて説明する。

(a)　通常の世代更新タイミングの場合

世代ファイルを生成するジョブステップが正常に実行された場合，生成した世代ファイルの登録はDD要素のDISP属性の指定値に従い行われる。そのため，後続のジョブステップでの異常有無に関係なく，更新された世代管理ファイルの状態はジョブ実行前の状態には戻らない。

世代ファイルの世代管理ファイルへの登録タイミング変更機能を使用しない場合の世代ファイルの世代管理ファイルへの登録タイミング（通常の世代更新タイミング）を次の図に示す。

図3‒20　世代ファイルの世代管理ファイルへの登録タイミング（通常の世代更新タイミング）

(b)　ジョブ終了コードが異常終了と認識された場合

世代ファイルを生成するジョブステップでは，ジョブステップ終了時に世代管理ファイルの更新は行わない。ジョブ終了時に更新の要否を判定し，更新不可（ジョブは異常終了と認識された場合，世代管理ファイルの状態はジョブ開始時点の状態を保持する）と判定した場合，世代管理ファイルの更新は行わないで，生成した世代ファイルを削除（DELETE）する。

世代ファイルの世代管理ファイルへの登録タイミング（ジョブ終了コードが異常終了と認識された場合）を次の図に示す。

図3‒21　世代ファイルの世代管理ファイルへの登録タイミング（ジョブ終了コードが異常終了と認識された場合）

(c)　ジョブ終了コードが正常終了と認識された場合

世代ファイルを生成するジョブステップでは，ジョブステップ終了時に世代管理ファイルの更新は行わない。ジョブ終了時に更新の要否を判定し，更新可能（ジョブは正常終了と認識された場合，世代管理ファイルの状態は最新世代ファイルの情報を更新した状態となる）と判定した場合，世代管理ファイルの更新を行い，生成した世代ファイルは保持（KEEP）される。

世代ファイルの世代管理ファイルへの登録タイミング（ジョブ終了コードが正常終了と認識された場合）を次の図に示す。

図3‒22　世代ファイルの世代管理ファイルへの登録タイミング（ジョブ終了コードが正常終了と認識された場合）

(3)　注意事項

新規に生成する世代ファイルをDISP="NEW,KEEP"で保持する指定の場合，世代管理ファイルの更新をジョブ終了時に延期する機能であるため，DISP="NEW,DELETE"のように削除指定を行っているときは，この機能の適用の有無に関係なく，ジョブステップ終了時に世代ファイルは削除される。

ジョブの正常/異常終了はGDG_REGISTER_JOBRC_THRESHOLDパラメータに指定したしきい値によって判定する。そのため，ジョブの終了コードが0以外であっても正常終了と見なされる場合がある。

この機能を使用した場合，ジョブの実行が完了するまでは，世代管理情報が確定しない。そのため，後続のジョブステップでは，先行ジョブステップで新規に作成した世代ファイルを含めた世代データ群名指定による世代ファイルの参照はしないこと。世代データ群名指定については，「3.9.3(3)　世代ファイルの参照（世代データ群名指定）」を参照のこと。

この機能を使用した場合，ジョブの実行が完了して世代管理情報が確定するまでは，世代ファイルは一時ファイルと同じ扱いとなる。そのため，ジョブステップのUAPの異常終了などによってジョブが終了した場合，該当するジョブでそれまでに作成された世代ファイルはすべて削除される。

3.9.7　世代ファイルの注意事項

(1)　世代登録可能数以上の世代ファイル番号の登録が発生した場合の注意事項

世代データ群に登録できる世代ファイルの上限は，次のようになっている。

世代番号指定機能：1〜255

日付世代番号指定機能：1〜511

登録可能数は，bjexgdgコマンドの-lオプションに指定する値によって変更可能となっている。

なお，世代データ群の属性によって，登録可能数分の世代ファイルが登録済みの状態で，新たに世代ファイルの登録が行われると，世代ファイルが次に示す扱いとなる。

(a)　自動消去機能（SCRATCH）が設定された世代データ群の場合

相対世代番号指定機能

新たな世代ファイルの登録によって，世代登録可能数を超えた場合，最古の世代ファイルを世代データ群の管理から削除する。世代データ群の管理から削除された世代ファイルは，自動的に消去される。

日付世代番号指定機能

新たな世代ファイルの登録によって，世代登録可能数を超えた場合，実行開始日（EXDに格納された日付またはDyyyymmdd）が最も古い世代ファイルを世代データ群の管理から削除する。世代データ群の管理から削除された世代ファイルは，自動的に消去される。

(b)　データ保存機能（NOSCRATCH）が設定された世代データ群の場合

相対世代番号指定機能

新たな世代ファイルの登録によって，世代データ群の管理数を超えた場合，最も古い世代ファイルは世代データ群の管理から削除する。ただし，世代ファイルの消去は行わないため，世代ファイルが増加し続ける。世代ファイルに与える4けたの通し番号（0000〜9999）を使い切った時点で世代ファイル機能自体が利用できなくなるため，世代データ群を作る場合は必ずエントリ数を指定して作成すること。

なお，世代データ群の管理数を超えた世代ファイルは，必要に応じてrmコマンドで削除すること。

日付世代番号指定機能

日付世代番号指定機能の世代データ群に対してNOSCRATCHを指定することはできない。

(2)　世代ファイルを作成する場合のDD要素の注意事項

TYPE属性はGDGを指定する。

同一ジョブ内で作成した世代ファイルを後方のジョブステップで参照する場合，作成時と同じ相対世代番号を指定する。

DISP属性の第1パラメータはNEW，第2パラメータはKEEPを指定する。

(3)　世代ファイルを参照する場合のDD要素の注意事項

DSN属性とDISP属性は必ず指定すること。

＜例＞

<DD NAME="DD1" DSN="ACCOUNT.X(0)" TYPE="GDG" DISP="SHR" />

同一ジョブ内で作成した世代ファイルを後方のジョブステップで参照する場合，作成時と同じ相対世代番号を指定する。

DISP属性の第1パラメータにMODを指定して世代ファイルを参照する場合，指定した世代ファイルが存在しないと割り当てエラーになる。

(4)　自動消去機能（SCRATCH）が設定された世代データ群の注意事項

相対世代番号指定機能では，世代データ群で管理される世代ファイルは，次に示す3つの絶対世代番号群に分類される。

I群：G0000〜G0999の範囲に含まれる番号

II群：G1000〜G8999の範囲に含まれる番号

III群：G9000〜G9999の範囲に含まれる番号

通常の大小関係では，"I群<II群"または"II群<III群"となる。

また，世代データ群に絶対世代番号群がIII群登録されている場合，I群の絶対世代番号群の世代ファイルを登録すると絶対世代番号がラップアラウンドする。

ラップアラウンド後，III群の絶対世代番号群が存在する場合，I群の世代ファイルを登録すると，G10000〜G10999と解釈するため，大小関係は，"III群<I群"となる。

絶対世代番号G0000〜G9999の世代ファイル登録時の扱いを次の表に示す。

表3‒19　絶対世代番号G0000〜G9999の世代ファイル登録時の扱い

絶対世代番号

同一世代データ群中にG9000〜G9999のファイルを含まない場合

同一世代データ群中にG9000〜G9999のファイルを含む場合

GnnnnがG0000〜G0999のファイル

G0000〜G0999と見なす。

G10000〜G10999と見なす。

GnnnnがG1000〜G9999のファイル

G1000〜G9999と見なす。

しかし，世代データ群にすべての絶対世代番号群が登録されると，大小関係が"II群<III群<I群"となるため，常に最新に登録した世代ファイルが，世代データ群の管理上，最新の世代ファイルとならなくなるため，KAKC4064-Eメッセージを出力し，世代ファイルの登録防止をする。

世代ファイルが登録防止となる条件を次の表に示す。

表3‒20　世代ファイルが登録防止となる条件

登録する世代ファイルの絶対世代番号群

世代データ群の管理上，存在する絶対世代番号群

システムでの処置

I群：G0000〜G0999の範囲

II群およびIII群

KAKC4064-Eメッセージを出力し，世代ファイルの登録防止をする。

II群：G1000〜G8999の範囲

III群およびI群

III群：G9000〜G9999の範囲

I群およびII群

KAKC4064-Eメッセージを出力し，世代ファイルの登録防止となる例

世代データ群作成時，エントリ数255を指定し，常に世代ファイルを相対(+255)で登録する。

世代ファイルが登録防止となる例を次の表に示す。

表3‒21　世代ファイルが登録防止となる例

登録される世代ファイルの絶対世代番号群

登録される世代ファイル

システムでの処置

I群：G0000〜G0999の範囲

G0255，G0510，G0765

世代ファイルは登録される。

II群：G1000〜G8999の範囲

G1020，G1275〜G8925

III群：G9000〜G9999の範囲

G9180（登録防止となる）

KAKC4064-Eメッセージを出力し，世代ファイルの登録防止をする。

(5)　最新世代として登録した世代ファイル番号が登録されない場合

世代ファイル登録時にKAKC4064-Eメッセージを出力し，登録不可となった場合は，メッセージの処置に従い，最古の絶対世代番号群に含まれるすべての世代ファイルを，削除し，再度ジョブを実行する必要がある。

(6)　世代ファイルを削除する場合の注意事項

世代ファイルはDISP属性でDELETEパラメータを指定することで削除できる。

ただし，世代データ群名指定の場合，DISP属性でDELETEパラメータを指定しても削除はできない。世代データ群名指定でDISP属性にDELETEパラメータを指定した場合，バッチジョブ実行システムはDELETEパラメータを指定してもKEEPパラメータを仮定する。

すべての世代ファイルを削除する場合は，世代ファイルの削除を行い世代データ群に登録されている世代ファイルが1つもなくなった時点で，bjexgdgコマンドの-qオプション指定によって世代データ群を削除する。上記の指定で削除ができない場合は，rmコマンドによって次に示すファイルをすべて削除する。

"世代データ群名.Gnnnn"（nnnnは0000〜9999の数字）または，"世代データ群名.Dyyyymmdd"（yyyy：西暦，mm：月，dd：日）

"世代データ群名.gdg"

".世代データ群名.gdg"

(7)　世代ファイルのバックアップとリストア

世代ファイルのバックアップおよびリストアは，バッチジョブ実行システムが停止している状態で行う必要がある。

バックアップおよびリストアを行う対象ファイルを次に示す。

"世代データ群名.Gnnnn"（nnnnは0000〜9999の数字）または，"世代データ群名.Dyyyymmdd"（yyyy：西暦，mm：月，dd：日）

"世代データ群名.gdg"

".世代データ群名.gdg"

上記のファイルをバックアップおよびリストアしない場合，世代管理の整合性を保つことができなくなる。

(8)　世代管理ファイル作成時の注意事項

世代管理ファイルはbjexgdgコマンドで作成する。このとき，bjexgdgコマンドの起動時のumaskの指定に従い，ファイルパーミッションが設定される。世代管理ファイルには，世代ファイルを使用するすべてのユーザに対して書き込み権限・読み込み権限を設定する必要がある。世代ファイルを参照するだけでも世代管理ファイルには書き込み権限が必要である。

(9)　日付世代番号指定機能の注意事項

(a)　排他制御機能について

日付世代番号指定機能では，LOCK_OPTIONパラメータでENABLEを指定し，排他制御機能を有効にしなければ使用することはできない。

(b)　バッチジョブの強制終了によって生じる世代管理ファイルの矛盾について

世代ファイルを作成し，世代管理ファイル更新前にバッチジョブが強制終了すると，作成された世代ファイルは世代管理されていない状態になることがある。この場合この世代ファイルは，世代ファイルとしての機能を使用することができないため，rmコマンドなどによって削除してから，再度作成する必要がある。

3.10　SYSINデータの読み込み

ジョブ定義XMLファイル中に置かれた，ジョブ実行時に使用するデータをSYSINデータという。

3.10.1　SYSINデータの書き方

DD要素のTYPE属性値がDATAである場合をSYSINデータとする。SYSINデータの内容は，DD要素の内容として指定する。

指定例を次に示す。

<DD NAME="DD名" TYPE="DATA">
   <![CDATA[
!
SYSINデータの内容
!
   ]]>
</DD>

CDATAセクションの終了を示す"]]>"以降に"!"を記述しないこと。

SYSINデータの内容に文字列"]>"を含めないこと。含めた場合，CDATAセクションの終了と解釈することがある。

3.10.2　SYSINデータとなる文字列

SYSINデータは複数行にわたり記述できる。

SYSINデータは，"!"（感嘆符）で囲む。"!"（感嘆符）でSYSINデータの範囲を示す。

XMLでは，特定の文字は直接文字として記述できないため，SYSINデータはCDATAセクションとして記述し，ジョブ定義XMLと解釈されないようにする。CDATAセクションは，<![CDATA[ と ]]>に囲まれた文字列であり，]>以外の文字列を指定できる。

SYSINデータの開始は，場合によって異なる。

SYSINデータの先頭を1カラム目から記述できるように，先頭の"!"のある行が空白（存在しなくてもよい）と改行だけであれば，その次の行からSYSINデータとして扱う。SYSINデータの終了は，最後の"!"の直前の文字である。

例1

<![CDATA[
!
△△ABC△△
EFG
!
]]>

例2

<![CDATA[
!△△
△△ABC△△
EFG
!
]]>

先頭の"!"のある行に空白以外の文字がある場合，先頭の"!"の次の文字からSYSINデータとして扱う。

例2の書き方は誤りの原因となりやすい。通常は，例1のように記述すること。

例3

<![CDATA[
!△△ABC△△
EFG
!
]]>

先頭の"!"と最後の"!"が同一行に存在する場合（先頭の"!"と最後の"!"の間に改行がない場合），その間の文字列をすべて，SYSINデータとして扱う。

例3の書き方は誤りの原因となりやすい。通常は，例1のように記述すること。

例4

<![CDATA[　 !△△ABC△△!　 ]]>

例5

<![CDATA[
!△△ABC△△!
]]>

例6

<![CDATA[  !!　 ]]>

0バイトのSYSINデータは，次に示すように記述する。先頭と最後の"!"を連続させる。

例7

<![CDATA[
!
△△ABC△△
EFG!
]]>

最終行を改行しない場合，次に示すようにデータの直後で改行しないで，"!"を記述する。

（凡例）

△：空白を示す。

ゴシック：SYSINデータを示す。

3.10.3　SYSINデータを順編成固定長ファイルとしてプログラムに渡す方法

SYSINデータは，改行で区切られたテキスト編成ファイルとしてプログラムに渡される。しかし，VOS3から移行したCOBOLプログラムなど，プログラムがSYSINデータを順編成固定長ファイルとして扱っている場合，プログラムが正しく動作しない。

SYSINデータを順編成固定長ファイルとしてプログラムに渡すには，ジョブ定義XMLファイルのSYSINデータを指定するDD要素に，SAMF="YES"を指定する。この場合，バッチジョブ実行システムはSYSINデータをレコード長80バイトの順編成ファイルに変換し，プログラムに渡す。DD要素にSAMF="YES"を指定した場合，レコード中に改行を含めることはできない。

SYSINデータの変換規則を次に示す。

「1行のバイト数が80バイト＋改行コード」の場合，改行を削除する。

「1行のバイト数が80バイト未満＋改行コード」の場合，改行を削除し，1行が80バイトになるよう末尾に半角空白を挿入する。

「1行のバイト数が80バイトより大きい＋改行コード」の場合，81バイト目以降に空白以外の文字があれば，ジョブ定義XMLファイルの解析時にエラーとなり，ジョブを実行しないで終了する。「81バイト目以降が1つ以上の空白＋改行」の場合，それらを削除する。

最後の行が改行で終わっていない場合，半角空白だけを挿入する。

指定例を次に示す。

プログラムがSYSINデータをテキスト編成ファイルとして扱う場合

ジョブ定義XMLファイル

<DD TYPE="DATA" SAMF="NO">
<![CDATA[
!
AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAA¥n　←80バイト＋改行
BBBBBBBBBB…BBBBBBBBBB¥n　←70バイト＋改行
!
]]>
</DD>

（凡例）

　¥n：改行を示す。

レコード

レコード１　AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAA¥n　←80バイト＋改行
レコード２　BBBBBBBBBB…BBBBBBBBBB¥n　←70バイト＋改行

（凡例）

　¥n：改行を示す。

COBOLプログラムに渡されるSYSINデータの内容

AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAA¥n
BBBBBBBBBB…BBBBBBBBBB¥n
[EOF]

（凡例）

　¥n：改行を示す。

　[EOF]：ファイルの終わりを示す。

プログラムがSYSINデータを順編成固定長ファイルとして扱う場合

ジョブ定義XMLファイル

<DD TYPE="DATA" SAMF="YES">
<![CDATA[
!
AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAA¥n　←80バイト＋改行
BBBBBBBBBB…BBBBBBBBBB¥n　←70バイト＋改行
!
]]>
</DD>

（凡例）

　¥n：改行を示す。

レコード

レコード１　AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAA　←80バイト※1
レコード２　BBBBBBBBBB…BBBBBBBBBB^^^^^^^^^^　←80バイト※2

（凡例）

　^：半角空白を示す。

　注※1　改行を削除。

　注※2　半角空白10バイト挿入，改行を削除。

COBOLプログラムに渡されるSYSINデータの内容

AAAAAAAAAA…AAAAAAAAAAAAAAAAAAAABBBBBBBBBB…BBBBBBBBBB^^^^^^^^^^[EOF]

（凡例）

　^：半角空白を示す。

　[EOF]：ファイルの終わりを示す。

この機能を使用する場合の注意事項を次に示す。

DD要素にSAMF属性を指定する場合は，TYPE属性値に"DATA"が指定されていて，かつ同一ジョブステップのEXEC要素のLANG属性値に"COBOL"が指定されている必要がある。それ以外の場合は，ジョブ定義XMLファイルの解析時にエラーとなり，ジョブを実行しないで終了する。

DD要素のSAMF属性に"YES"を指定した場合は，改行を含むSYSINデータをCOBOLプログラムに渡すことはできない。

3.11　SYSOUTの機能

SYSOUTデータファイルの定義は，DD要素のTYPE属性でSYSOUTを指定して行う。システムはこの指定に従って，いったんスプール内に置かれた出力情報を，出力装置に出力する。このSYSOUTデータファイルを定義するDD要素の属性では，次に示す指定ができる。

(a)文字セットイメージ（文字配列テーブル名または文字セットイメージ名の指定）

(b)注釈（任意の文字列の指定）

(c)出力情報の複写（複写回数の指定）

(d)グループ複写回数（グループ複写回数の指定）

(e)出力先（出力先識別子の指定）

(f)出力の形式（fcb識別子の指定）

(g)デフォルト機能キャラクタイメージ（デフォルト機能キャラクタイメージ名の指定）

(h)出力の書式（書式番号の指定）

(i)出力保留属性（HOLD属性でのYESの指定）

(j)印字モード（プリンタの印字モードの指定）

(k)行単位での文字列配列テーブルの切り替え（行単位に使用する文字列配列テーブルの変更有無の指定）

(l)書式オーバレイ適用枚数（書式オーバレイ適用枚数の指定）

(m)書式オーバレイモジュール（書式オーバレイモジュール名の指定）

(n)印刷制御文字の種別（印刷制御文字種別の指定）

(o)出力クラス（クラス名の指定）

(p)出力後保存，出力後非保存（KEEP属性の指定）

(q)レベル1外字名の指定（GAIJI1属性の指定）

(r)PDEファイル形式2の指定（FTYPE属性の指定）

(s)SYSOUTデータファイルのエンコード形式の指定（ENCODE属性の指定）

JOBPARM要素では，特別な指定のない（(f)，(h)の指定がない）SYSOUT全体の書式番号，FCB，およびROOM（仕分け番号）の指定ができる。

3.11.1　出力クラス

出力クラスの定義はDD要素のSYSOUT属性を指定して行う。この出力クラスの目的は，出力情報をグループ分けすることである。

出力クラスは，1〜31文字の記号名称で指定する。ただし，＊を指定した場合，JOB要素のMSGCLASS属性で指定したものと同一の出力クラスを指定したものと見なす。

出力クラスのグループ分けは，設定ファイルで定義する。SYSOUT属性では，設定ファイルで定義した出力クラスを指定する。

SYSOUT情報をジョブログと同じ出力装置に出力したい場合には，SYSOUT属性で指定する出力クラスを，JOB要素のMSGCLASS属性で指定したものと同じにする。特殊な指定をした場合，同じ出力装置への出力が保証されない。

出力クラスと出力装置の対応づけは，設定ファイルで転送先のクラスを定義する。

出力待ちの出力ジョブの出力クラスは変更できない。

3.11.2　出力情報の複写

ジョブ実行の結果として出力される出力情報は，DD要素のCOPIES属性を指定することで複写できる。

3.11.3　出力形式

プリンタを使用してジョブを印刷する場合，DD要素のFCB属性またはJOBPARM要素のFCB属性でFCB識別子を指定することによって，lpiを決めることができる。PDE側に定義されている属性を指定する。

3.11.4　出力保留

SYSOUTデータファイルはいったんスプール内に格納されたあと，スプールジョブ転送サービスよって取り出されプリントサーバに転送されるが，DD要素のHOLD属性でYESを指定することによって出力を保留できる。これを出力保留という。

また，出力保留の要求は設定ファイルの出力クラスの定義に，センタで出力保留属性が指定されているクラス名を指定することによってもできる。

3.11.5　出力後保存

スプールジョブ転送サービスによって出力装置にいったん出力されたSYSOUTデータファイル（ジョブログを含む）は，出力後保存属性の指定がある場合，出力が完了するとスプール内に保存される。

出力後に保存されたSYSOUTデータファイルは，必要となった時点でbjexchjobコマンドの指定で属性を変更することで，スプールジョブ転送サービスの取り出し対象となる。このSYSOUTデータファイルは，出力後は再び保存の対象となる。このため，bjexrmjobコマンドで定期的に削除すること。

出力後保存属性がないSYSOUTデータファイルは，転送サービスの取り出しの対象となった時点でスプールから削除する。このため，転送処理で失敗した場合に再度転送したいときは，転送ディレクトリからbjextrjobコマンドで再転送する。

出力後保存属性は，SysoutClassパラメータのKEEPオペランドでYESを指定する。またはDD要素のKEEP属性でYESを指定する。

3.11.6　プリンタへの出力要求

SYSOUTデータファイルをプリンタに出力する場合，次に示す機能がある。

(1)　文字配列テーブル名または文字セットイメージ名

SYSOUTデータファイル出力時，標準以外の文字を印刷する場合，SYSOUTデータファイルを定義するDD要素のCHARS属性で文字配列テーブル名または文字セットイメージ名を指定する。詳細については，マニュアル「PRINT DATA EXCHANGE for Open」またはPDEのドキュメントを参照のこと。

(2)　一定書式，枠組の印刷

一定の書式，枠組をSYSOUTデータファイルのレコードにかぶせて印刷（オーバレイ印刷）するには，PDEと連携して書式オーバレイを使用する。書式オーバレイを使用する場合，SYSOUTデータファイルを定義するDD要素のOVERLAY属性で書式オーバレイモジュール名を指定する。

(3)　その他の情報

SYSOUTデータファイル出力時に，漢字モード・ノンインパクトモードの切り替えや，文字セットイメージの変更の有無を指定できる。

漢字モードとして出力

MODE=K

ノンインパクトモードとして出力

MODE=AN

行単位での文字セットイメージ（CHARS指定）の変更の有無

OPTCDJ={YES｜NO}

印刷データに指定されている印刷制御文字の種別

RECFM={A｜M｜N}

(4)　注意事項

各設定が実際の帳票に有効となるかどうかについては，PDE側の設定内容に依存する。詳細については，マニュアル「PRINT DATA EXCHANGE for Open」またはPDEのドキュメントを参照のこと。

(5)　SYSOUT出力の書式属性指定機能

スプールに出力するファイルに対する書式属性は設定ファイル（SysoutClassパラメータ）およびジョブ定義XMLファイル（DD要素およびJOBPARM要素）で指定できる。

スプールに出力するファイルに対する書式属性の指定を次の表に示す。

表3‒22　スプールに出力するファイルに対する書式属性

オペランドまたは属性

書式属性

SysoutClassパラメータ

DD要素※1

JOBPARM要素※2

CHARS

文字セットイメージ名

○

○

−

CMT

注釈

−

○

−

COPIES

複写回数

○

○

−

COPYG

グループ複写回数

○

○

−

DEST

出力先識別子

○

○

−

FCB

イメージ名

○

○

○

FCDFLT

デフォルト機能キャラクタイメージ名

○

○

−

FORMS

書式番号

○

○

○

HOLD

出力保留

○

○

−

MODE

プリンタモード

○

○

−

OPTCDJ

行単位で文字配列テーブルを切り替える指定

−

○

−

OVERC

適用枚数

○

○

−

OVERLAY

イメージ名

○

○

−

RECFM

制御文字の指定

−

○

−

ROOM

仕分け番号

−

−

○

SYSOUT

クラス名

○

○

−

（凡例）

○：指定できる。

−：指定できない。

注※1　ファイル別に書式属性を指定する場合に指定する。

注※2　DD要素に指定がない場合の仮定値を指定する。

印刷属性の優先順位を次に示す。

DD要素

JOBPARM要素

SysoutClassパラメータ

SysoutClassパラメータにも指定がない場合，PDEの仮定値に従う。

3.11.7　レベル1外字名指定

PDEでのSYSOUTデータファイル出力時に外字のフォントを選択したい場合，SYSOUTデータファイルを定義するDD要素のGAIJI1属性でレベル1外字名を指定する。詳細については，マニュアル「PRINT DATA EXCHANGE for Open」を参照のこと。

レベル1外字名は，設定ファイルの出力クラス，またはジョブ定義XMLファイルのDD要素のGAIJI1属性で指定する。

設定ファイルの指定はジョブ定義XMLファイルで指定がないときのデフォルト値の定義であり，ジョブ定義XMLファイルでの指定が設定ファイルの指定よりも優先する。

3.11.8　0バイトのSYSOUTファイル転送機能

転送するSYSOUTファイルの件数を管理し，必ず全件のファイルを転送する運用では，件数に合うようにファイルを送る必要がある。実際に転送するファイルがない場合は，0バイトのファイルを送って件数を調整する。この運用に対応して，バッチジョブ実行システムでも0バイトのSYSOUTファイルを転送できるように設定ファイルで指定できる。

SYSOUTファイル転送機能の設定ファイルの詳細については，「8.　設定ファイル」の「SysoutClass（出力クラスの属性値定義）」のTRANSFER_EMPTY_FILEオペランドを参照のこと。

3.12　ジョブステップを並列実行する機能

3.12.1　JSPEC機能

ジョブステップを並列実行する機能をJSPEC機能と呼ぶ。

通常ジョブステップは，ジョブ定義XMLファイルで定義した順に逐次実行される。

JSPEC機能を使用することで，逐次実行する必要のない独立したジョブステップを並列に実行できる。これによって，ジョブの実行時間を短縮できる。

また，PREST機能を使用して並列に実行するジョブステップ間で，データを受け渡すことができる。これによって，ジョブの実行時間を短縮できる。

PREST機能については，「3.12.2　PREST機能」を参照のこと。

(1)　並列実行するジョブステップの指定

ジョブ定義XMLファイルのEXEC要素にJSPEC＝"YES"を指定することで，ジョブステップを並列実行できる。バッチジョブ実行システムは，EXEC要素にJSPEC＝"YES"を指定したジョブステップを起動したあとに，そのジョブステップの終了を待つことなく，後続のジョブステップを起動する。後続のジョブステップにも並列実行の指定がある場合には，さらに後続のジョブステップを起動する。並列実行の指定がないジョブステップを起動したあとに，並列実行しているすべてのジョブステップが終了するのを待つ。

JSPEC機能を適用したジョブで，EXEC要素にJSPEC＝"YES"の指定があるジョブステップをサブステップと呼び，指定がないジョブステップをメインステップと呼ぶ。メインステップまたはサブステップを区別する必要がない場合には，単にジョブステップと呼ぶ。

メインステップおよびサブステップは，それぞれ別のプロセスとして起動する。

JSPEC機能の適用の有無によるジョブステップの実行を次の図に示す。

図3‒23　JSPEC機能の適用の有無によるジョブステップの実行

(2)　並列実行するジョブステップの制限事項

並列実行できるジョブステップは，PRESTファイル以外には関連がないようにする必要がある。このため，次に示す制限がある。

PRESTファイルについては，「3.12.2　PREST機能」を参照のこと。

並列実行するジョブステップの制限事項を次の表に示す。

表3‒23　並列実行するジョブステップの制限事項

項目

内容

DISP=",DELETE"

DISP="NEW"

DISP="RNW"

DISP="OLD"

DISP="MOD"

PRESTファイルを除いて並列実行するジョブステップ間で使用するDSNの値が同一のファイル，ライブラリ，一時ファイル，一時ISAMファイル，および一致するパスを含むディレクトリに対しては，左記内容を指定しないこと。明示指定で左記内容が指定された場合，ジョブ定義XMLファイルの解析時にエラーとなる。また，省略時に左記内容が仮定された場合は，ジョブ実行時にエラーとなる。

DSNを省略した一時ファイルまたは一時ISAMファイルは，並列実行するステップ間ではDISP属性にPASSを指定してもファイルの受け渡しをしない。そのため，並列実行ステップ間で同じファイルにアクセスすることはない。したがって，並列実行ステップ間にDSNを省略した一時ファイルまたは一時ISAMファイルを2つ以上指定しても，エラーにならない。

DSNの指定に同一ファイルの相対パス/絶対パスによる指定が混在していたり，シンボリックリンクを指定した場合，それらは同一ファイルと見なさないため，ジョブ定義XMLファイルの作成時に注意する必要がある。

世代ファイル

サブステップには指定できない。指定した場合は，ジョブ定義XMLファイルの解析時にエラーとなる。

一時ファイル

PRESTファイルを除いて並列実行するジョブステップ間で，一時ファイル識別名が同一の一時ファイルまたは一時ISAMファイルを指定できない。指定した場合は，ジョブ定義XMLファイルの解析時にエラーとなる。

EXEC要素のCOND属性

並列実行するジョブステップの終了コードを参照しても無効となる。

プログラムおよびスクリプト内で独自に使用するファイル

同一ファイルに対して入力以外の操作，または排他をするプログラムおよびシェルは並列実行できない。

(3)　ジョブステップ異常終了時の処理

PRESTファイルを使用するジョブステップが異常終了した場合，相手のジョブステップがPRESTファイルのオープン待ち状態となり，終了しないことがある。この場合，JP1/AJSから手作業で待ち状態のジョブを強制終了する必要がある。

長時間待ち状態になることを回避するには，JP1/AJSの打ち切り時間を設定する方法と，設定ファイルのJOBPARM_JSPECANパラメータを指定する方法とがある。

(a)　JP1/AJSの打ち切り時間を設定する方法

JP1/AJSのジョブ定義で，PRESTファイルを使用するジョブに対して適切な打ち切り時間を設定する。

(b)　JOBPARM_JSPECANパラメータを指定する方法（JSPECAN機能）

設定ファイルのJOBPARM_JSPECANパラメータにYESを指定する。並列実行しているジョブステップの1つのジョブステップが，次の表に示す原因で異常終了した場合，バッチジョブ実行システムがそのジョブステップの実行が終了していないジョブステップにSIGKILLを送り強制終了させる。

表3‒24　JSPECAN機能がジョブステップを打ち切る条件とジョブステップの終了コード

JSPECAN機能がジョブステップを打ち切る条件

ジョブステップの終了コード※1

アロケートエラーやプロセス生成エラーなど，UAPプロセス生成前のエラー

rc=バッチジョブ実行システムのエラー終了コード

シグナルによる異常終了

rc=128+N※2

JOB要素のCOND属性による打ち切り

rc=UAPの終了コード

注※1　ジョブ間PRESTファイルはこの方法を使用しても長時間待ち状態になることを回避できないため，JP1/AJSの打ち切り時間を設定すること。

注※2　シグナルで打ち切られた場合のシグナルコード。

(4)　並列実行するジョブステップのジョブログ

並列実行するジョブステップのジョブログとSYSMSGは時系列に出力されるため，並列実行するジョブステップの情報はジョブ定義XMLファイルに指定した順とはならない。

出力例（STEP2からSTEP5を並列実行）を次に示す。

(5)　bjexlsjobコマンドでの表示

並列実行するジョブステップのSYSOUTデータファイルをbjexlsjobコマンドで表示する場合，ジョブ定義XMLファイルの指定順ではなく，ジョブステップの終了順に表示する。また，ステップ番号も実行が完了した順番に付与する。

(6)　SETMAXRC要素に関する注意事項

JSPEC機能を用いてジョブステップを並列実行する場合，SETMAXRC要素はメインステップの直後に指定すること。複数のサブステップの直後にSETMAXRC要素を指定した場合，最終的にどのSETMAXRC要素の指定が有効になるかはサブステップの終了順序に依存し，最後に完了したサブステップの直後に指定したSETMAXRC要素が有効になる。

リターンコードの最大値がどのように更新されたのかを確認する場合，JOBLOGに出力されるKAKC1909-Iメッセージを調べること。

(7)　DISP属性にPASSを指定する場合の注意事項

サブステップのDD要素のDISP属性にPASSを指定した場合，そのファイルを後続ステップへ引き継ぐことはできない。サブステップで指定したファイルを受け取ろうとした場合，ほかのメインステップから引き継がれる。引き継ぐことのできるメインステップが存在しなければ，ジョブ実行時にエラーとなる。

DSNを省略した一時ファイル，一時ISAMファイルのDISP属性にPASSを指定して，並列実行するステップ間で受け渡すことはできない。

3.12.2　PREST機能

ジョブおよびジョブステップ間で使用するファイルに，名前付きパイプ（FIFO）が指定できる。この機能をPREST機能と呼び，名前付きパイプをPRESTファイルと呼ぶ。

PRESTファイルを使用することで，逐次実行していたジョブおよびジョブステップを並列に実行することが可能となり，処理時間を短縮できる。

PRESTファイルはジョブ定義XMLファイルのDD要素で指定することで，ジョブ実行時にジョブコントローラによって一時ファイルディレクトリに自動生成され，プログラムで利用可能となる。PRESTファイルの名称は，一般のファイルと同様に環境変数に設定する。ジョブコントローラが生成したPRESTファイルは，ジョブ終了時にPRESTファイルを利用するジョブがなくなった時点で，ジョブコントローラが自動的に消去する。

PRESTファイルには，ジョブ間PRESTファイルおよびジョブステップ間PRESTファイルの2種類がある。ジョブ間PRESTファイルを使用する場合は，設定ファイルのLOCK_OPTIONパラメータでENABLEを指定し，バッチジョブ実行システムの排他制御機能を有効にする必要がある。

(1)　ジョブ間PRESTファイル

ジョブ間PRESTファイルは，ジョブ間でPRESTファイルを使用する場合に使用する。

ジョブ間PRESTファイルは，同一ジョブ内で並列実行するジョブステップ間での使用もできるが，ジョブ間での使用を推奨する。

ジョブ間PRESTファイルは，ジョブ定義XMLファイルのDD要素でTYPE＝"PREST"を指定した場合に作成される。この場合，DSN属性にジョブ間PRESTファイルを識別するためのPREST識別名を指定する。また，DISP属性は省略する。DISP属性を指定した場合，DISP＝"SHR,KEEP,KEEP"を仮定する。

設定ファイルのLOCK_OPTIONパラメータにDISABLEを指定している場合，TYPE="PREST"を指定すると，ジョブ定義XMLファイルの解析時にエラーとなる。

ジョブ定義XMLファイルのDD要素での指定例を次に示す。

<DD NAME="A" DSN="X" TYPE="PREST"/>

ジョブ間PRESTファイルの名称

ジョブ間PRESTファイルは，ジョブコントローラによってバッチジョブ実行システムの一時ファイルディレクトリに，次に示す名称で生成される。

PREST_PREST識別名

この名称がプラットフォームの上限値を超えない範囲で運用する必要がある。上限を超えた場合，ジョブ定義XMLファイルの解析時にはエラーとならないで，実行時のPRESTファイル割り当て時にエラーとなる。また，新規割り当て時に同一名のファイルがある場合，ファイルにアクセス権がなければプログラムはエラーで終了する（この場合，名前付きパイプを削除するコマンドなどで削除するまでは，このPRESTファイルを使用するジョブは実行できない）。

ジョブ間PRESTファイルのパーミッション

ジョブ間PRESTファイルのパーミッションは，読み込みを行うジョブを実行するユーザに対して読み込み権限，書き込みを行うジョブを実行するユーザに対して書き込み権限がそれぞれ必要である。パーミッションは，次に示す優先順位に従って決定する（優先順位は1が最も高い）。

ジョブ定義XMLファイルのDD要素のFPERM属性

ジョブ定義XMLファイルのPERMISSION要素のFILE属性

設定ファイルのPERMISSION_FILEパラメータ（省略時は0600）

ただし，上記の要素・属性に0600を指定し，同一ユーザのジョブで使用することを推奨する。

(2)　ジョブステップ間PRESTファイル

ジョブステップ間PRESTファイルは，並列実行するジョブステップ間でPRESTファイルを使用する場合に使用する。

ジョブステップ間PRESTファイルは，ジョブ定義XMLファイルのDD要素でTYPE="TEMPPREST"を指定した場合に生成される。この場合，DSN属性として一時ファイル識別名を指定する。また，DISP属性は省略する。DISP属性を指定した場合，DISP="SHR,KEEP,KEEP"を仮定する。

ジョブ定義XMLファイルのDD要素での指定例を次に示す。

<DD NAME="A" DSN="X" TYPE="TEMPPREST"/>

ジョブステップ間PRESTファイルの名称

ジョブステップ間PRESTファイルは，ジョブコントローラによってバッチジョブ実行システムの一時ファイルディレクトリに，次に示す名称で生成される。

TEMPPREST_ジョブ識別子_ジョブ名_一時ファイル識別名

この名称がプラットフォームの上限値を超えない範囲で運用する必要がある。上限を超えた場合，ジョブ定義XMLファイルの解析時にはエラーとならないで，実行時のPRESTファイル割り当て時にエラーとなる。また，新規割り当て時に同一名のファイルがある場合，そのファイルをそのまま使用するが，ファイルにアクセス権がなければプログラムはエラーで終了する（この場合，名前付きパイプを削除するコマンドなどで削除するまでは，このPRESTファイルを使用するジョブは実行ができない）。

ジョブステップ間PRESTファイルのパーミッション

ジョブステップ間PRESTファイルのパーミッションは0600で作成する。

ジョブステップ間PRESTファイルのパーミッションは変更できない。

(3)　ジョブ間PRESTファイルの使用状況の表示

ジョブ間PRESTファイルの使用状況は，bjexlslockコマンドで表示できる。

ジョブ間PRESTファイルを使用するジョブは，PRESTファイルを利用してデータを受け渡しする相手のジョブがいない場合に待ち状態になる。このような状態のジョブを発見するためにbjexlslockコマンドを使用する。

次に示す内容でbjexlslockコマンドを実行すると，待ち状態になっているジョブ間PRESTファイルの表示ができる。

bjexlslock -l -t PREST

表示されたジョブ間PRESTファイルの名称とジョブ識別子を基に，ジョブやジョブスケジュールの定義を見直し，待ち状態の原因を調査する。

(4)　PRESTファイルを使用できるプログラムとファイル

PRESTファイルは順次入力または順次出力だけを実行するプログラム間に適用できる。入力側のプログラムは，出力側のプログラムがPRESTファイルに出力したデータを，すべて入力する必要がある。また，複数のPRESTファイルを使用する場合，ファイルのオープン順序などがプログラム間でデッドロックまたは長時間の待ち状態とならないようにする必要がある。PRESTファイルはすべてのプログラムで適用できるわけではないため，PRESTファイルを使用する場合には，プログラムの処理が名前付きパイプに対応している必要がある。

バッチジョブ実行システムでは，PREST機能に対応したSORT EE，COBOLまたはファイル操作ユティリティ以外でPRESTファイルを使用した場合の動作は保証しない。ファイルのオープン順序が特定できないプログラムでは，PRESTファイルの使用は1個にとどめることを推奨する。

また，SORT EE，COBOLまたはファイル操作ユティリティで使用できるPRESTファイルの形式は，順編成だけである。

(a)　プログラムが長時間待ち状態となる例

プログラムが長時間待ち状態となる例を次に示す。

例1

例2

例3

(b)　プログラムがデッドロックになる例

プログラムがデッドロックになる例を次に示す。

例1

例2

(5)　PREST機能に関する注意事項

ジョブ間PRESTファイルを使用する場合，ジョブ間PRESTファイルを使用するジョブが同一システム内で同時に実行する運用となるように配慮する必要がある。片方だけしか実行しない場合には，ジョブは待ち状態になる。待ち状態になった場合には，JP1/AJSから手作業でジョブを強制終了する必要がある。また，JP1/AJSでジョブ実行時間の打ち切り時間を設定して，長時間待ち状態になることを回避する必要がある。

PRESTファイルを使用する場合，入力側のプログラムは，出力側が出力したデータをすべて読み込む必要がある。データの入力が途中で中止されると，PRESTファイルのバッファが出力データで満杯となった時点で，出力側のプログラムは待ち状態になる。また，入力側がPRESTファイルをクローズしてから出力側のプログラムがデータを出力すると，出力側のプログラムが異常終了する。

PRESTファイルは入力側と出力側の関係が1対1となっている必要があり，1対多または多対1での使用はできない。

1対1でない場合，ジョブ定義XMLファイルの解析時またはPRESTファイル割り当て時にエラーとなる。

ジョブステップ間PRESTファイルは，並列実行するジョブステップ間でだけ使用できる。並列実行しないジョブステップ間で，ジョブステップ間PRESTファイルの指定が1対1でない場合，ジョブ定義XMLファイルの解析時にエラーとなる。また，並列実行しないジョブステップにジョブステップ間PRESTファイルを指定した場合，ジョブ定義XMLファイルの解析時にエラーとなる。

バッチジョブ実行システムに障害があった場合，使用されないPRESTファイルが残る可能性がある。この場合，一時ファイルディレクトリを調査して使用されていないPRESTファイル（名前付きパイプ）を手作業で削除する必要がある。AIXではOSのunlinkコマンドで削除する。

PREST機能を使用するジョブステップがJOB要素またはEXEC要素のCOND属性で実行されない場合，相手のジョブまたはジョブステップは，待ち状態になる。このため，PREST機能を使用するジョブのJOB要素またはEXEC要素にCOND属性を指定する場合は，注意が必要である。

PRESTファイルはファイル連結しないこと。

3.13　ジョブ単位のファイルおよびディレクトリに対する排他/共用制御機能

排他/共用制御機能は，設定ファイルのLOCK_OPTIONパラメータでENABLEを指定することで使用可能となる。LOCK_OPTIONパラメータで指定を省略，またはDISABLEを指定した場合は，排他/共用制御機能は使用できない。

ジョブで指定したDD要素のDISP属性値に従った排他/共用制御を，ジョブ実行単位に行う。

排他/共用制御は，ジョブ開始時にジョブで指定したすべてのDD要素の指定を確認し，一括して確保する。

排他/共用制御の解除は，設定ファイルのLOCK_RELEASEパラメータの指定によって次の契機で行われる。

LOCK_RELEASEパラメータを省略またはJOBを指定した場合

ジョブ終了時に一括して解除する。

LOCK_RELEASEパラメータでSTEPを指定した場合

ジョブステップ終了時に以降のジョブステップで指定されていないファイルおよびディレクトリの排他/共用制御を解除する。

ジョブ中のDD要素で指定したファイルおよびディレクトリに，1つでも排他/共用制御によるリソースに対するロック確保待ちが発生した場合，すべてのリソースに対するロック確保を行わないで，すべてのリソースに対するロック確保が可能となった時点でロック確保をする。

共用制御

ファイルの内容が参照されるだけで変更されることがない場合，バッチジョブ実行システムはこのファイルを複数のジョブ間で共用できる状態とする。

排他制御

ファイル中のデータを変更，追加，または削除する場合，ジョブが該当ファイルを使い終わるまで，ほかのジョブの実行を待たせる。また，ほかのジョブが先に該当ファイルを使用している場合には，ほかのジョブが該当ファイルを使い終わるまで，ジョブの実行を待たせる。

ジョブ単位のファイルおよびディレクトリに対する排他/共用制御を次の図に示す。

図3‒24　ジョブ単位のファイルおよびディレクトリに対する排他/共用制御（LOCK_RELEASE JOBの場合）

ジョブステップ終了時にファイルおよびディレクトリに対する排他/共用制御を解除する場合を次の図に示す。

図3‒25　ジョブステップ終了時に排他/共用制御を解除する場合（LOCK_RELEASE STEPの場合）

同一ファイルおよび同一ディレクトリに対して排他/共用要求をジョブ間で行った場合，次に示す表の状態となる。

表3‒25　排他/共用要求によるジョブの状態

先行ジョブの要求

後続ジョブの要求

共用要求（SHR）

排他要求（EXC）

共用要求（SHR）

後続ジョブは共用要求のため資源確保ができ，実行できる。

後続ジョブはロック確保待ち。

排他要求（EXC）

後続ジョブはロック確保待ち。

後続ジョブはロック確保待ち。

3.13.1　排他/共用制御の指定方法と適用範囲

ジョブで割り当てるファイルおよびディレクトリに対して排他/共用制御を指定する場合，DD要素のDISP属性で次の表に示す指定をすることで排他/共用要求指示となる。

表3‒26　DISP属性値ごとの排他/共用要求

DISP属性値

排他/共用※1，※2

MOD

排他要求

NEW

排他要求

OLD

排他要求

RNW

排他要求

SHR

共用要求

注※1　DISP属性値の指定で，第2または第3パラメータにDELETEを指定している場合（DISP="SHR,DELETE"，DISP="SHR,,DELETE"など）は，排他要求と見なす。

注※2　TYPE="PREST"を指定した場合，DISP属性値に"SHR"以外を指定しても"SHR"を指定（共用要求）したと見なす。

指定例を次に示す。

DISP属性値に"OLD"を指定

<DD NAME="DD0001" TYPE="FILE" DSN="FILE1" DISP="OLD"/>

DISP属性値に"OLD"を指定したファイル割り当て要求のため，排他要求となる。

DISP属性値に"SHR"を指定

<DD NAME="DD0002" TYPE="FILE" DSN="FILE2" DISP="SHR"/>

DISP属性値に"SHR"を指定したファイル割り当て要求のため，共用要求となる。

DISP属性値に"MOD"を指定

<DD NAME="DD0003" TYPE="FILE" DSN="FILE3" DISP="MOD"/>

DISP属性値に"MOD"を指定したファイル割り当て要求のため，排他要求となる。

DISP属性値を省略

<DD NAME="DD0004" TYPE="FILE" DSN="FILE3" />

DISP属性値を省略したファイル割り当て要求のため，DISP属性値のデフォルト値"NEW"を仮定し排他要求となる。

TYPE属性値に"PREST"を指定

<DD NAME="DD0005" TYPE="PREST" DSN="FILE4" DISP="OLD"/>

TYPE属性値に"PREST"を指定した場合，DISP属性値の指定に関係なく，すべて"SHR"を指定したと見なし，共用要求となる。

DISP属性値に"SHR"を指定し，第2パラメータに"DELETE"を指定

<DD NAME="DD0006" TYPE="FILE" DSN="FILE5" DISP="SHR,DELETE"/>

DISP属性値で"SHR"を指定しているが，第2パラメータに"DELETE"を指定しているため，排他要求となる。

同一ジョブ内に，同一ファイルおよび同一ディレクトリを指定し，それぞれのDISP属性値で排他または共用要求をしている場合，排他要求を優先する。

指定例を次に示す。

(1)と(2)では同一ファイル名を指定しているが，DISP属性値の指定が"OLD"と"SHR"で異なる指定となっている。この場合の排他/共用制御は，"排他要求"を優先するためファイル"FILE1"は排他要求となる。

排他/共用制御は，同一サーバ内で実行されるバッチジョブ実行システムから起動したジョブごとに行われる。ただし，DD要素に指定したもの以外は，バッチジョブ実行システムの排他/共用制御の対象とはならない。

排他/共用制御ではDD要素のTYPE属性に指定したファイルおよびディレクトリが対象となるが，ジョブ実行単位にジョブ間での排他/共用制御が必要ないものについては対象としない。

TYPE属性値ごとの排他/共用制御の適用可否を次の表に示す。

表3‒27　TYPE属性値ごとの排他/共用制御の適用可否

TYPE属性値

排他/共用制御の適用可否

理由

DIR

○

ジョブ間で使用されるため。

DUMMY

×

実体がないため。

FILE

○

ジョブ間で使用されるため。

GDG

○※1

LIB

○

PREST

○※2

DATA

×

ジョブ内で生成・削除するもので，ジョブ間で使用することはないため。

SYSOUT

×

TEMP

×

TEMPISAM

×

TEMPPREST

×

（凡例）

○：排他/共用制御に適用できることを示す。

×：排他/共用制御に適用できないことを示す。

注※1　世代ファイルは，世代データ群単位の排他/共用制御となる。

注※2　ジョブ間で同時に実行する必要がある指定のため，排他要求を行っても共用要求となる。

3.13.2　ディレクトリ割り当て時の排他/共用要求の範囲

ディレクトリ割り当て時，ディレクトリ配下の全ファイルおよびディレクトリに対し，再帰的に排他/共用処理を行うかどうかを設定ファイルのLOCK_DIR_RECURSIVEパラメータで指定できる。

LOCK_DIR_RECURSIVEパラメータの指定内容による排他/共用処理の違いを次に示す。

(1)　LOCK_DIR_RECURSIVEパラメータを省略またはYESを指定した場合

DD要素で指定したディレクトリを割り当て時，配下のファイルおよびディレクトリに対して再帰的に排他/共用制御を行う。

(a)　先行ジョブで割り当てているファイルの上位階層のディレクトリを後続ジョブで割り当てる場合

【先行ジョブ】

<DD NAME="DD0010" TYPE="FILE" DSN="/home/user/data/output/outputData1" DISP="OLD"/>

【後続ジョブ】

<DD NAME="DD0011" TYPE="DIR" DSN="/home/user/data" DISP="SHR"/>

先行ジョブでファイル"/home/user/data/output/outputData1"を排他要求で割り当てており，後続ジョブでは上位階層のディレクトリ"/home/user/data"を共用要求で割り当てる場合，ファイル"/home/user/data/output/outputData1"に対する共用要求のロック待ちとなる。

図3‒26　排他/共用制御の範囲（LOCK_DIR_RECURSIVE パラメータを省略またはYESを指定した場合で先行ジョブで割り当てているファイルの上位階層のディレクトリを後続ジョブで割り当てるとき）

(b)　先行ジョブで割り当てているファイルと同一階層のディレクトリを後続ジョブで割り当てる場合

【先行ジョブ】

<DD NAME="DD0010" TYPE="FILE" DSN="/home/user/data/output/outputData1" DISP="OLD"/>

【後続ジョブ】

<DD NAME="DD0011" TYPE="DIR" DSN="/home/user/data/output" DISP="SHR"/>

先行ジョブでファイル"/home/user/data/output/outputData1"を排他要求で割り当てており，後続ジョブでは同一階層のディレクトリ"/home/user/data/output"を共用要求で割り当てる場合，ファイル"/home/user/data/output/outputData1"に対する共用要求のロック待ちとなる。

図3‒27　排他/共用制御の範囲（LOCK_DIR_RECURSIVE パラメータを省略またはYESを指定した場合で先行ジョブで割り当てているファイルと同一階層のディレクトリを後続ジョブで割り当てるとき）

(2)　LOCK_DIR_RECURSIVEパラメータでNOを指定した場合

DD要素で指定したディレクトリを割り当て時，ディレクトリおよびディレクトリ直下のファイルに対してだけ，排他/共用制御を行う。

(a)　先行ジョブで割り当てているファイルの上位階層のディレクトリを後続ジョブで割り当てる場合

【先行ジョブ】

<DD NAME="DD0010" TYPE="FILE" DSN="/home/user/data/output/outputData1" DISP="OLD"/>

【後続ジョブ】

<DD NAME="DD0011" TYPE="DIR" DSN="/home/user/data" DISP="SHR"/>

先行ジョブでファイル"/home/user/data/output/outputData1"を排他要求で割り当てており，後続ジョブでは上位階層のディレクトリ"/home/user/data"を共用要求で割り当てる場合，ディレクトリおよびディレクトリ直下のファイルに対してだけ排他/共用制御を行うため，先行ジョブで割り当てているファイルとのロック待ちは発生しない。

図3‒28　排他/共用制御の範囲（LOCK_DIR_RECURSIVE パラメータでNOを指定した場合で先行ジョブで割り当てているファイルの上位階層のディレクトリを後続ジョブで割り当てるとき）

(b)　先行ジョブで割り当てているファイルと同一階層のディレクトリを後続ジョブで割り当てる場合

【先行ジョブ】

<DD NAME="DD0010" TYPE="FILE" DSN="/home/user/data/output/outputData1" DISP="OLD"/>

【後続ジョブ】

<DD NAME="DD0011" TYPE="DIR" DSN="/home/user/data/output" DISP="SHR"/>

先行ジョブでファイル"/home/user/data/output/outputData1"を排他要求で割り当てており，後続ジョブでは同一階層のディレクトリ"/home/user/data/output "を共用要求で割り当てる場合，同一階層のファイル"/home/user/data/output/outputData1"に対する共用要求のロック待ちとなる。

図3‒29　排他/共用制御の範囲（LOCK_DIR_RECURSIVE パラメータでNOを指定した場合で先行ジョブで先行ジョブで割り当てているファイルと同一階層のディレクトリを後続ジョブで割り当てるとき）

3.13.3　排他/共用制御による実行待ち状態の確認方法

(1)　ファイルまたはディレクトリがロック確保待ちとなり，ジョブが実行待ち状態の場合

同一サーバ内で実行されるバッチジョブ実行システムから起動した複数のジョブが，DD要素で指定したファイルおよびディレクトリの割り当て要求を行い，「表3-25　排他/共用要求によるジョブの状態」で示す「後続ジョブはロック確保待ち」の状態となった場合，次に示すKAKC1650-Wメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1650-W Waiting for locking a file.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1650-W ロック確保待ちが発生しました

また，ロック確保待ちが発生し，ロック確保待ちが解除された場合，次に示すKAKC1651-Iメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1651-I Quit waiting for locking a file.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1651-I ロック確保待ちは解除されました

ロック確保待ちが長時間解除されない，またはロック確保待ちが多発する場合，ロックの競合を起こしているジョブおよびロックの情報を表示させることができる。

ロック確保状態ジョブとロック確保待ちジョブを表示するコマンドの指定例，および表示例を次に示す。

$ bjexlslock
JOBID  STATUS ELAPSED  PID        JP1JobID   JOBNAME
------ ------ -------- ---------- ---------- -------------------------------
000001 LOCK   00:10:16      21614       1001 JOB0001
000002 WAIT   00:05:09      42802       1002 JOB0002

上記で表示されたジョブ（JOB0001およびJOB0002）の資源確保状態を表示させる場合の表示コマンドの指定例，および表示例を次に示す。

$ bjexlslock -j 2
JOBID  STATUS ELAPSED  PID        JP1JobID   JOBNAME
------ ------ -------- ---------- ---------- -------------------------------
000002 WAIT   00:05:09      42802       1002 JOB0002
MODE STATUS LOCKJOB  TYPE  FILEPATH
---- ------ -------- ----- -------------------------------
EXC  WAIT   000001   FILE  /opt/hitachi/bjex/bin/public/A

表示例のジョブ（JOB0001）が長時間ロック確保状態となっている場合，後続ジョブのロック確保待ちを解除し実行させる必要がある。この場合，ロック確保状態のジョブが処理を続行しロック解放を待つか，またはロック確保状態のジョブをキャンセルする必要がある。

同一資源に対するロック確保待ちが多発する場合，センタ管理者は同一資源を割り当てるジョブの実行計画を見直す必要がある。ロック確保待ち時間は，実行待ちが発生したジョブが出力したKAKC1650-WとKAKC1651-Iメッセージの出力時間の差から求められる。

(2)　ジョブ多重度によるジョブ実行待ち状態の場合

同一サーバ内で実行されるバッチジョブ実行システムから起動した複数のジョブで，ジョブ多重度制御によって実行待ち状態となった場合，次に示すKAKC1652-Wメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1652-W Waiting for locking a semaphore.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1652-W ジョブ実行待ちが発生しました

実行待ちが発生し，実行待ちが解除された場合，次に示すKAKC1653-Iメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1653-I Quit waiting for locking a semaphore.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1653-I ジョブ実行待ちは解除されました

(3)　排他資源管理テーブルの空き待ちとなり，ジョブが実行待ち状態の場合

ロック獲得中またはロック待ち中のファイル合計数が，設定ファイルのLOCK_MAXFILEで指定したファイル数を超えたことによって，排他資源管理テーブルの空き待ちが発生した場合，次に示すKAKC1654-Wメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1654-W Waiting for lock resource control table.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1654-W 排他資源管理テーブルの空き待ちが発生しました

また，排他資源管理テーブルの空き待ちが発生した後，排他資源管理テーブルの空き待ちが解除された場合，次に示すKAKC1655-Iメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1655-I Quit waiting for lock resource control table.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1655-I 排他資源管理テーブルの空き待ちが解除されました

排他資源管理テーブルの空き待ちが発生した場合，排他資源管理テーブルの空き待ちを起こしているジョブの情報を表示させることができる。

排他資源管理テーブルの空き待ちジョブを表示するコマンドの指定例，および表示例を次に示す。

$ bjexlslock
JOBID  STATUS ELAPSED  PID        JP1JobID   JOBNAME
------ ------ -------- ---------- ---------- --------------------------
000084 LOCK   00:00:40      17575            JOB0003
000085 WAIT   00:00:32      17578            JOB0004

上記で表示されたジョブ（JOB0003およびJOB0004）の資源確保状態を表示させる場合の表示コマンドの指定例，および表示例を次に示す。

$ bjexlslock -j 000085
JOBID  STATUS ELAPSED  PID        JP1JobID   JOBNAME
------ ------ -------- ---------- ---------- --------------------------
000085 WAIT   00:00:43      17578            JOB0004
MODE STATUS LOCKJOB  TYPE  FILEPATH
---- ------ -------- ----- -------------------------------
EXC  UNLK   NONE     FILE  /opt/hitachi/bjex/bin/public/B
EXC  UNLK   NONE     FILE  /opt/hitachi/bjex/bin/public/C

表示例のジョブ（JOB0004）が長時間排他資源管理テーブルの空き待ち状態となっている場合，当該ジョブの実行を待つか，当該ジョブを強制終了する必要がある。

排他資源管理テーブルに対する空き待ちが多発する場合，センタ管理者は設定ファイルLOCK_MAXFILEで指定した排他資源管理テーブルのエントリ数を見直す必要がある。

3.13.4　排他/共用制御に関する注意事項

世代データ群に対する排他/共用制御は，世代データ群名にだけ行われ，世代ファイルに対しては行わない。

排他/共用制御では共用メモリおよびセマフォを使用する。バッチジョブ実行システムが使用する共用メモリおよびセマフォは，bjexpdの起動時に生成され，bjexpdの停止時に解放する。そのため，設定ファイルの設定値を変更した場合，変更後の値を有効にするためにはbjexpdを停止し，その後bjexpdを再起動する必要がある。

排他/共用制御では，DD要素のDSN属性値を絶対パスに変換し，排他/共用制御の対象を判別する。絶対パスに変換する場合，少なくとも指定されたファイルまたはディレクトリの上位階層のディレクトリが存在している必要がある。

DD要素のDSN属性値の指定で，ディレクトリ名またはファイル名にハードリンクが含まれている場合，排他/共用制御が正しく動作できない場合があるため指定しないこと。

DD要素で指定したファイルだけが排他/共用制御の対象となる。コマンドラインなどでDD要素で与えられる環境変数を使用しないで指定したファイルは，該当する制御の対象とならないため，注意が必要である。

論理ホストを複数構築し，バッチジョブ実行システムを複数稼働している場合，排他/共用制御はバッチジョブ実行システムごとに行う。あるバッチジョブ実行システムから別のバッチジョブ実行システムの排他/共用制御の情報を参照することはできない。

3.14　実行中のジョブ情報表示機能

実行中のジョブ情報を表示するbjexlsexjobコマンドによって，コマンド投入時点で実行しているジョブの一覧や詳細を表示できる。

3.14.1　表示されるジョブ情報

表示されるジョブ情報は，全ジョブ一覧の簡易表示と特定ジョブの詳細表示に分けられ，表示コマンドのオプションで指定する。

簡易表示

実行中のジョブに対する一覧表示とCPU使用時間表示があり，システム内で実行中のジョブ全体を表示・確認できる。

詳細表示

特定のジョブの実行中のプログラム名などの詳細情報を表示できる。

表示されるジョブ情報一覧を次の表に示す。

表3‒28　表示されるジョブ情報一覧

ジョブ情報

簡易表示

詳細表示

実行中のジョブ一覧表示

実行中のジョブのCPU使用時間表示

JP1のジョブ番号

○

○

○

JP1の実行優先順位

−

−

○

ジョブ識別子

○

○

○

ジョブ名

○

○

○

ステップ名

○

○

○

プロシジャステップ名

○

−

○

ジョブ実行開始時刻

○

○

○

ステップ実行開始時刻

○

○

○

ジョブコントローラプロセスのプロセス番号

○

−

○

ジョブステッププロセスのプロセス番号

○

−

○

ジョブで使用したCPU時間

−

○

○

ジョブステップで使用したCPU時間

−

−

○

ジョブステッププロセスの優先度

−

○

○

ジョブステッププロセスのnice値

−

○

○

ジョブステッププロセスの実行プログラム名

−

−

○

ジョブ定義XMLファイル名

−

−

○

（凡例）

○：表示される情報

−：表示されない情報

3.14.2　設定ファイルの指定

実行中のジョブ情報表示機能は，設定ファイルのJOB_STATUS_DISPLAYパラメータでENABLEを指定することで使用できるようになる。また，実行中のジョブ情報は共有メモリで管理しており，同時に実行するジョブの多重度をLOCK_JOBMPLXパラメータで設定する必要がある。

3.14.3　ジョブの多重度制御

実行中のジョブ情報表示機能使用時は，排他/共用制御と同様にジョブの多重度制御が行われる。

LOCK_JOBMPLXパラメータで指定したジョブの多重度を超えた場合，新たなジョブの実行は待たされ，KAKC1652-Wメッセージを出力する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1652-W　Waiting for locking a semaphore.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1652-W　ジョブ実行待ちが発生しました

その後，実行中のジョブが終了し実行待ちが解除された場合，KAKC1653-Iメッセージを出力し，ジョブ実行を開始する。

stderrおよびJOBLOGに出力されるメッセージ

KAKC1653-I　QUit waiting for locking semaphore.

JP1イベント発行によってJP1イベントコンソールに出力されるメッセージ

KAKC1653-I　ジョブ実行待ちは解除されました

3.15　メッセージ制御機能

メッセージ制御機能は，JP1/IM - Viewの画面を使ってメッセージを出力し，応答を入力する機能である。

3.15.1　メッセージ制御機能の種類

メッセージの出力と応答の入力の方法には，次の2種類がある。

COBOL2002で作成したCOBOLアプリケーションの使用

32ビットモード：AIXで使用できる。

64ビットモード：Linuxで使用できる。

bjexm_messageコマンドの使用

カタログドプロシジャの使用

(1)　COBOL2002で作成したCOBOLアプリケーションの使用

従来COBOL2002で作成したCOBOLアプリケーションからstdout/stdinを使用して入出力していたメッセージを，バッチジョブ実行システムでアプリケーションを実行した場合に，JP1/IM - Viewの画面を使って入出力できるように自動的に変更する方法である。

この方法を使用するためには，COBOL2002で次に示す機能を使ったプログラムを作成する必要がある。

DISPLAY UPON CONSOLE文

ACCEPT FROM CONSOLE文

STOP文（定数指定）

CBLTYPEサービスルーチン

これらのプログラムの作成方法については，マニュアル「COBOL2002　使用の手引　手引編」を参照のこと。

この方法を使用することで，COBOL2002で作成したCOBOLアプリケーションからのメッセージは，バッチジョブ実行システムの設定ファイルで指定したJP1/IM - Managerに接続したJP1/IM - Viewから参照が可能となる。さらに，ACCEPT文，STOP文およびCBLTYPEサービスルーチンについては，stdinから入力していた作業を，JP1/IM - Viewから入力できるようになり，従来のバッチ業務と同様の手順で運用ができるため，移行が容易になる。

(2)　メッセージ出力コマンド（bjexm_messageコマンド）の使用

メッセージ出力コマンド（bjexm_messageコマンド）を使用することでJP1/IM - Viewの画面を利用してメッセージの出力と応答の入力ができる。bjexm_messageコマンドは応答内容に従ってリターンコードを出力する。このリターンコードを判定することで応答に従った動作ができる。

(3)　カタログドプロシジャの使用

次のカタログドプロシジャを使用することでJP1/IM - Viewの画面を利用してメッセージの出力と応答の入力ができる。カタログドプロシジャのジョブステップのリターンコードで応答内容を識別して，応答内容に従って実行するジョブステップを制御できる。

表3‒29　カタログドプロシジャの機能

カタログドプロシジャ名

機能

bjex_PAUSE

応答要求メッセージを出力することでジョブの実行を一時停止する。実行を再開するにはメッセージに任意の文字を応答する。

bjex_WRITE

メッセージを出力する。

bjex_WRITER

応答要求メッセージを出力し，応答入力を待つ。応答メッセージに従ったリターンコードを出力してジョブステップは終了する。設定された応答以外を応答した場合はリターンコード127でジョブステップは終了する。

bjex_WRITERX

応答要求メッセージを出力し，応答入力を待つ。応答メッセージに従ったリターンコードを出力してジョブステップは終了する。設定された応答以外を応答した場合は再度応答要求メッセージを出力する。

(a)　bjex_PAUSEカタログドプロシジャ

注釈に指定したメッセージを出力して応答待ちになり，ジョブの実行を一時停止する。ジョブの実行を継続するには注釈のメッセージに応答する。

<CALL NAME="bjex_PAUSE" >
  <SETSYMBOL NAME="MSG" VALUE="注釈" />
</CALL>

注釈　〜<空白を除く任意文字列>((1〜255バイト))<<Job_is_paused.>>

出力するメッセージを指定する。

SETSYMBOL要素のVALUE属性で指定できる上限を超えるとジョブ定義XMLファイルの解析エラーとなる。

注釈を省略する場合は，SETSYMBOL要素全体を省略する。

空白を含む場合は，正しく動作しない。

ジョブステップのリターンコード

0：一時停止が解除された。

127：予期しない障害が発生した。

(b)　bjex_WRITEカタログドプロシジャ

メッセージを出力し，ジョブを継続する。

<CALL NAME="bjex_WRITE" >
<SETSYMBOL NAME="MSG" VALUE="メッセージ" />
</CALL>

メッセージ　〜<空白を除く任意文字列>((1〜255バイト))<<message>>

出力するメッセージを指定する。

SETSYMBOL要素のVALUE属性で指定できる上限を超えるとジョブ定義XMLファイルの解析エラーとなる。

メッセージを省略する場合は，SETSYMBOL要素全体を省略する。

空白を含む場合は，正しく動作しない。

ジョブステップのリターンコード

0：メッセージを出力した。

127：予期しないエラーが発生した。

(c)　bjex_WRITERカタログドプロシジャ

応答要求メッセージを出力して応答待ちになる。

ジョブの実行を継続するには応答0から応答nのどれかのメッセージを応答する。ジョブステップは応答に対応したリターンコードを出力して終了する。例えば，応答0を応答するとリターンコードは0になり，応答1を応答するとリターンコードは1になり，応答nを応答するとリターンコードはnとなる。

定義した応答以外の応答をするとリターンコード127でジョブステップは終了する。

<CALL NAME="bjex_WRITER" >
  <SETSYMBOL NAME="MSG" VALUE="応答要求メッセージ" />
  <SETSYMBOL NAME="ANS" VALUE="応答0 応答1 … 応答n" />
</CALL>

応答要求メッセージ　〜<空白を除く任意文字列>((1〜255バイト)) <<Key_in[yes,no,other-error]>>

出力するメッセージを指定する。

SETSYMBOL要素のVALUE属性で指定できる上限を超える場合，ジョブ定義XMLファイルの解析エラーとなる。

応答要求メッセージを省略する場合は，SETSYMBOL要素全体を省略する。

空白を含む場合は，空白以降は応答メッセージと解釈する。

応答n　〜<ASCII文字列>((全体で1〜255文字))<<yes no>>

入力する応答メッセージを指定する。応答はスペースで区切って最大32個指定できる。

応答を33個以上指定してもバッチジョブ実行システムはエラーにしないで33個以上の応答メッセージは無視する。

ASCII文字以外を指定してもバッチジョブ実行システムはチェックしないが，ASCII文字以外の応答を入力できない。すべての応答メッセージとそれを区切る空白文字の合計がSETSYMBOL要素のVALUE属性で指定できる上限（255バイト）を超えた場合，ジョブ定義XMLファイルの解析エラーとなる。

省略する場合は，SETSYMBOL要素全体を省略する。

応答要求メッセージと応答nは連結されてEXEC要素のPARM属性の値に置き換わる。ただし，全体の長さがPARM属性の上限値−4バイトを超えた場合，ジョブ定義XMLファイルの解析エラーとなる。

ジョブステップのリターンコード

0：応答0を応答した。

n：応答nを応答した。

127：予期しないエラーが発生した。または，定義された応答以外を応答した。

(d)　bjex_WRITERXカタログドプロシジャ

応答要求メッセージを出力して応答待ちになる。

ジョブの実行を継続するには応答0から応答nのどれかのメッセージを応答する。

ジョブステップは応答に対応したリターンコードを出力して終了する。例えば，応答0を応答するとリターンコードは0になり，応答1を応答するとリターンコードは1になり，応答nを応答するとリターンコードはnとなる。

定義した応答以外の応答をするとKAKC5208-Eメッセージを出力して，再び応答要求メッセージを出力して応答待ちとなる。

<CALL NAME="bjex_WRITERX" >
  <SETSYMBOL NAME="MSG" VALUE="応答要求メッセージ" />
  <SETSYMBOL NAME="ANS" VALUE="応答0 応答1 … 応答n" />
</CALL>

応答要求メッセージ　〜<空白を除く任意文字列>((1〜255バイト))<<Key_in[yes,no]>>

出力するメッセージを指定する。

SETSYMBOL要素のVALUE属性で指定できる上限を超えるとジョブ定義XMLファイルの解析エラーとなる。

応答要求メッセージを省略する場合は，SETSYMBOL要素全体を省略する。

空白を含む場合は，空白以降は応答メッセージと解釈する。

応答n　〜<ASCII文字列>((全体で1〜255文字))<<yes no>>

入力する応答メッセージを指定する。応答はスペースで区切って最大32個指定できる。

応答を33個以上指定してもバッチジョブ実行システムはエラーにしないで33個以上の応答メッセージは無視する。

ASCII文字以外を指定してもバッチジョブ実行システムはチェックしないが，ASCII文字以外は応答を入力できない。すべての応答メッセージとそれを区切る空白文字の合計がSETSYMBOL要素のVALUE属性で指定できる上限（255バイト）を超えるた場合，ジョブ定義XMLファイルの解析エラーとなる。

省略する場合は，SETSYMBOL要素全体を省略する。

応答要求メッセージと応答nは連結されてEXEC要素のPARM属性値に置き換わる。ただし，全体の長さがPARM属性の上限−4を超えた場合，ジョブ定義XMLファイルの解析エラーとなる。

ジョブステップのリターンコード

0：応答0を応答した。

n：応答nを応答した。

127：予期しないエラーが発生した。

(4)　カタログドプロシジャの使用例

カタログドプロシジャを使用したジョブ定義XMLファイルの例を次に示す。

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version = "1.4" os="unix" >
  <JOB NAME="TESTPROC">
    <STEP NAME="AASTEP01" >
      <CALL NAME="bjex_PAUSE" > <SETSYMBOL NAME="MSG" VALUE="This_step_paused._now!!" />
 </CALL>
    </STEP>
    <STEP NAME="AASTEP02" >
      <CALL NAME="bjex_WRITE" > <SETSYMBOL NAME="MSG" VALUE="Information_message" />
 </CALL>
    </STEP>
    <STEP NAME="AASTEP03" >
      <CALL NAME="bjex_WRITER" >
 <SETSYMBOL NAME="MSG" VALUE="ENTER:" />
 <SETSYMBOL NAME="ANS" VALUE="AA BB CC" />
 </CALL>
    </STEP>
    <STEP NAME="AASTEP04" >
      <CALL NAME="bjex_WRITERX" > <SETSYMBOL NAME="MSG" VALUE="XXENTER:" />
 <SETSYMBOL NAME="ANS" VALUE="AAX BBX CCX" /> </CALL>
    </STEP>
    <STEP NAME="AA" >
      <EXEC PGM="*" COND="(0,EQ,AASTEP03,STEP01)">
        <![CDATA[
!
echo "AASTEP03 rc not 0"
!
        ]]>
      </EXEC>
    </STEP>
    <STEP NAME="Ab" >
      <EXEC PGM="*" COND="(0,NE,AASTEP03,STEP01)">
        <![CDATA[
!
echo "AASTEP03 rc=0"
!
        ]]>
      </EXEC>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

(5)　カタログドプロシジャの実行結果

カタログドプロシジャの使用例を実行した結果を次に示す。

(6)　カタログドプロシジャの内容

提供されるカタログドプロシジャの内容を次に示す。

(a)　bjex_PAUSE.xml

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version = "1.4" os="unix" >
  <PROC NAME="bjex_PAUSE">
    <SYMBOL NAME="MSG" VALUE="Job_is_paused." />
    <STEP NAME="STEP01" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-p #{MSG}" PARMSPLIT="YES" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

(b)　bjex_WRITE.xml

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version = "1.4" os="unix" >
  <PROC NAME="bjex_WRITE">
    <SYMBOL NAME="MSG" VALUE="message" />
    <STEP NAME="STEP01" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-m #{MSG}" PARMSPLIT="YES" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

(c)　bjex_WRITER.xml

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version = "1.4" os="unix" >
  <PROC NAME="bjex_WRITER">
    <SYMBOL NAME="MSG" VALUE="Key_in[yes,no,other-error]" />
    <SYMBOL NAME="ANS" VALUE="yes no" />
    <STEP NAME="STEP01" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-r #{MSG} #{ANS}"
 PARMSPLIT="YES" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

(d)　bjex_WRITERX.xml

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version = "1.4" os="unix" >
  <PROC NAME="bjex_WRITERX">
    <SYMBOL NAME="MSG" VALUE="Key_in[yes,no]" />
    <SYMBOL NAME="ANS" VALUE="yes no" />
    <STEP NAME="STEP01" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-c #{MSG} #{ANS}"
 PARMSPLIT="YES" />
    </STEP>
  </PROC>
</HitachiBatchJobExec>

3.15.2　応答要求メッセージ

バッチジョブ実行システムでは，ユーザからの応答入力が必要なメッセージを応答要求メッセージと呼ぶ。

例えば，COBOL2002で作成したCOBOLアプリケーションがACCEPT文，STOP文またはCBLTYPEサービスルーチンでメッセージを出力した場合に，COBOLアプリケーションが処理を中断してオペレータの応答を待つときのメッセージである。

また，応答要求メッセージはbjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャ（bjex_PAUSE，bjex_WRITER，bjex_WRITERX）を使用して出力できる。

応答要求メッセージには，次に示す2つの状態がある。

応答待ちメッセージ

バッチジョブ実行システムが，COBOL2002で作成したCOBOLアプリケーション，コマンドまたはカタログドプロシジャから応答要求メッセージを受け付けて，オペレータからの応答を待っている状態である。

受信待ちメッセージ

バッチジョブ実行システムが，応答要求メッセージに対するオペレータからの応答を受け付けて，COBOL2002で作成したCOBOLアプリケーション，コマンドまたはカタログドプロシジャが応答を受け取るのを待っている状態である。

3.15.3　JP1/IM - Viewとの関係

バッチジョブ実行システムは，メッセージ制御機能のメッセージをJP1イベントとして出力する。JP1イベントとして出力したメッセージは，JP1/IM - Viewで参照できる。応答要求メッセージのJP1イベントの場合は，JP1/IM - Managerで応答待ちイベントとして扱われるので，応答要求メッセージはJP1/IM - Viewで滞留して表示され，JP1/IM - Viewから応答が入力できる。

JP1/IM - Viewから応答入力する場合に，［応答入力］画面に表示される状態と意味を次の表に示す。

表3‒30　JP1/IM - Viewの［応答入力］画面に表示される状態と意味

状態

意味

JP1/IM - Managerからの応答入力可否

READY TO RESPOND

バッチジョブ実行システムは，応答入力を待っている。

○

NO LONGER MANAGED BY BJEX

バッチジョブ実行システムは，応答待ちイベントの発行元を管理していない。

×

RESPONDED SUCCESSFULLY

バッチジョブ実行システムは，JP1/IM - Viewから応答を受け取った。

×

ALREADY RESPONDED

バッチジョブ実行システムは，すでに応答を受け取っていて，応答待ちイベントの発行元には応答が返されていない。

×

INTERNAL ERROR

バッチジョブ実行システムは，内部エラーのため処理を続行できない。

×

（凡例）

○：応答できる。

×：応答できない。

3.15.4　JP1/IM - Managerとの関係

メッセージ制御機能で出力するメッセージは，バッチジョブ実行システムによってJP1イベント（イベントID：00005C20または00005C21）として出力され，JP1/IM - Viewに表示される。JP1/IM - Viewに表示されるメッセージには，メッセージ制御機能が出力するメッセージのあとに情報が付与される。出力形式を次に示す。

メッセージ※　（ジョブ識別子，ステップ番号，ホスト名，メッセージ識別子，保守情報）

注※　メッセージ制御機能が出力するメッセージ情報の意味を次に示す。

ジョブ識別子：バッチジョブ実行システムが与えたジョブ識別子を示す。

ステップ番号：ジョブ定義XMLファイルの解析時に決定したステップ番号を示す。

ホスト名：ジョブを実行した場合にJP1/AJSが管理する論理ホスト名または物理ホスト名を示す。

メッセージ識別子：メッセージごとに割り当てる識別子を示す。

COBOL2002で作成したCOBOLアプリケーションによって，"処理を続行しますか?(Y/N)"というメッセージを出力する場合の表示例を次に示す。

処理を続行しますか?(Y/N)(000001, 001, host1, 1198043777, 0)

このメッセージの参照方法およびJP1/IM - Viewから応答する方法については，JP1のマニュアルを参照のこと。

3.15.5　JP1/IM - Viewからの応答入力

(1)　応答入力

応答要求メッセージへの応答入力は，JP1/IM - Viewから行う。応答手順については，JP1のマニュアルを参照のこと。

(2)　応答内容表示

JP1/IM - Viewから入力された応答は，KAKC5001-IメッセージでJOBLOGおよび実行ログに出力される。

また，設定ファイルのDISPLAY_REPLY_MESSAGEパラメータにYESを指定することによってJP1イベント（イベントID：00005C25）としてJP1/IM - Viewの画面に出力することができる。

(a)　JP1/IM - Viewへの出力方法

DISPLAY_REPLY_MESSAGEパラメータにYESを指定することによって応答要求メッセージに対する応答メッセージをJP1/IM - Viewの画面に出力する。

また，SETENV要素に環境変数BJEX_DISPLAY_REPLYを指定することで，特定のジョブやジョブステップごとに応答メッセージをJP1/IM-Viewの画面に出力するかどうかを設定することができる。環境変数BJEX_DISPLAY_REPLYの指定値ごとの動作を次に示す。

表3‒31　環境変数BJEX_DISPLAY_REPLYの設定ごとのJP1イベント出力

環境変数BJEX_DISPLAY_REPLYの設定

応答メッセージ出力

YES

JP1/IM - Viewの画面に出力する。

NO

JP1/IM - Viewの画面に出力しない。

YESまたはNO以外

JP1/IM - Viewの画面に出力しない。

設定していない

設定ファイルのDISPLAY_REPLY_MESSAGEパラメータの指定が有効になる。

(b)　環境変数設定例

環境変数BJEX_DISPLAY_REPLYは，SETENV要素で指定する。

SETENV要素を用いて環境変数BJEX_DISPLAY_REPLYを指定する例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="SAMPLE">
    <SETENV NAME="BJEX_DISPLAY_REPLY" VALUE="YES"/>・・・(1)ジョブ全体で有効な環境変数
    <STEP NAME="STEP1">                                  BJEX_DISPLAY_REPLYに
      <EXEC PGM="MYPROG1" LANG="COBOL"/>                YESを指定することを示す。
    </STEP>
    <STEP NAME="STEP2">
      <EXEC PGM="MYPROG2" LANG="COBOL"/>
    </STEP>
    <STEP NAME="STEP3">
      <EXEC PGM="MYPROG3" LANG="COBOL"/>
      <SETENV NAME="BJEX_DISPLAY_REPLY" VALUE="NO"/>・・(2)ジョブステップで有効な環境変数
    </STEP>                                             BJEX_DISPLAY_REPLYに
  </JOB>                                                NOを指定することを示す。
</HitachiBatchJobExec>

(1)JOB要素内で環境変数BJEX_DISPLAY_REPLYにYESを指定して，ジョブ全体で応答内容をJP1/IM - Viewの画面に出力する。

(2)STEP3のSTEP要素内で環境変数BJEX_DISPLAY_REPLYにNOを指定する。(1)の指定よりも優先度が高いため，STEP3は応答内容をJP1/IM - Viewの画面に出力しない。

3.15.6　メッセージ制御機能でのデータ置き換え機能

メッセージ制御機能で指定した出力メッセージ中に特定の1バイトコードが現れたときに特定の1バイトコードを半角空白に置き換える機能である。

この機能を使用するには，設定ファイルにMESSAGE_REPLACE_SPACEパラメータを定義すること。MESSAGE_REPLACE_SPACEパラメータのオペランドに，半角空白に置き換える1バイトコードを定義する。詳細については「MESSAGE_REPLACE_SPACE（半角空白に置き換える1バイトコードの定義）」を参照のこと。

COBOLのLOW-VALUEなど出力メッセージ中にNULL文字(X'00')文字が含まれているとメッセージ制御機能がエラーとなるが，「MESSAGE_REPLACE_SPACE 00」を定義することでエラーを防ぐことができる。

3.15.7　DISPLAY文によるJP1イベント出力の抑止機能

COBOL2002で作成したCOBOLアプリケーションがDISPLAY文を大量に発行すると，JP1/IM - Viewの画面に多くのメッセージが出力される。その結果，バッチジョブ実行時間が増加することがある。ここでは，DISPLAY文を発行することによってJP1/IM - Viewの画面にメッセージが出力されることを抑止する機能について説明する。

(1)　抑止方法

環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定することによってJP1/IM - Viewの画面へのメッセージの出力を抑止する。実行ログ，ジョブログ，SYSMSGへの出力は抑止しない。指定できる値は，YESまたはNOである。指定値ごとの動作を次に示す。

表3‒32　環境変数BJEX_SUPPRESS_CBLDISPLAYの設定ごとのJP1イベント出力

環境変数BJEX_SUPPRESS_CBLDISPLAYの設定

JP1イベント出力

YES

抑止する

NO

抑止しない

YESとNO以外，または設定されていない

抑止しない

(2)　環境変数設定例

環境変数BJEX_SUPPRESS_CBLDISPLAYは，SETENV要素によって指定する。

SETENV要素を用いて指定する例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="SAMPLE">
    <SETENV NAME="BJEX_SUPPRESS_CBLDISPLAY" VALUE="YES"/>・・・(1)ジョブ全体で有効な環境変数
    <STEP NAME="STEP1">                                        BJEX_SUPPRESS_CBLDISPLAYに
      <EXEC PGM="MYPROG1" LANG="COBOL"/>                      YESを指定することを示す。
    </STEP>
    <STEP NAME="STEP2">
      <EXEC PGM="MYPROG2" LANG="COBOL"/>
    </STEP>
    <STEP NAME="STEP3">
      <EXEC PGM="MYPROG3" LANG="COBOL"/>
      <SETENV NAME="BJEX_SUPPRESS_CBLDISPLAY" VALUE="NO"/>・・(2)ジョブステップで有効な環境変数
    </STEP>                                                   BJEX_SUPPRESS_CBLDISPLAYに
  </JOB>                                                      NOを指定することを示す。
</HitachiBatchJobExec>

(1)JOB要素内で環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定して，ジョブ全体でJP1/IM - Viewの画面へのメッセージの出力を抑止する。

(2)STEP3のSTEP要素内で環境変数BJEX_SUPPRESS_CBLDISPLAYにNOを指定する。(1)の指定よりも優先度が高いため，STEP3はJP1/IM - Viewの画面へのメッセージの出力を抑止しない。

(3)　注意事項

環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定した場合，COBOLアプリケーションで発行したDISPLAY文によるJP1イベント発行はすべて抑止される。

そのため，DISPLAY文によって要求内容を出力し，ACCEPT文によって応答要求を行う場合，DISPLAY文による要求内容がJP1/IM - Viewの画面に表示されなくなる。

要求内容を確認する方法の例を次に示す。

COBOLプログラムのACCEPT文をCBLTYPEサービスルーチンに変更する。

ジョブ定義XMLファイルのSETENV要素に環境変数BJEX_SUPPRESS_CBLDISPLAYをNOに指定することにより対象のジョブステップを抑止対象外にする。

3.15.8　メッセージ制御機能でのイベント到達確認

メッセージ制御機能でのJP1イベントの送信処理では，JP1IM_MANAGER_HOST パラメータで指定したホスト（JP1/IM - Managerが稼働しているマネージャホスト）のJP1/Baseに対してイベントがネットワークを通して正しく到達することを確認している。これをイベント到達確認と呼び，JP1IM_MANAGER_HOSTパラメータで指定したホストがバッチジョブ実行システムのホストと異なる場合に実行される。イベント到達確認には，イベント到達確認のタイミング変更機能とリトライ機能がある。

(1)　イベント到達確認のタイミング変更機能

ネットワークやJP1/IM - Managerが稼働しているホストの状態や設定によっては，イベントが到達するまで時間が掛かり，到達確認のリトライが発生する場合がある。この場合，この機能によってイベント発行から到着確認実施までのタイミングを変更でき，リトライの発生を防止できる。

この機能を使用するには，設定ファイルにJP1IM_MANAGER_CHKDELAYパラメータを指定することで，最初のイベント到達確認を行うまでの待ち時間を指定できる。常に時間が掛かることが見込まれる場合は，JP1IM_MANAGER_CHKDELAYパラメータを設定すること。

(2)　イベント到達確認のリトライ機能

相手ホストのJP1/Baseにイベントが到達しない場合，3秒ごとにイベント到達確認のリトライを行う。通常メッセージは，イベント到達確認を3回まで行う。3回目でも到達が確認できない場合は，リトライをやめてジョブを継続させる。応答要求メッセージはMESSAGE_RETRY_TIMEOUTパラメータを指定することで，イベント到達確認のリトライを中断するまでの時間を指定できる。

また，メッセージ制御機能が通常メッセージおよび応答要求メッセージのリトライを中断しても，JP1の設定内容によってはそのあとでイベント送信が成功する場合がある。詳細は，JP1のマニュアルを参照のこと。

3.15.9　メッセージ制御機能に関する注意事項

(1)　メッセージの出力条件

メッセージをJP1/IM - Managerへ送付するのにメッセージ制御機能を利用するには，バッチジョブ実行システムのジョブステップとして実行されている必要がある。ジョブステップとして実行されていない場合，COBOL2002で作成したアプリケーションのメッセージの入出力では，従来どおりstdin/stdoutを使用する。また，bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャでは，メッセージの出力に失敗する。

COBOL2002で作成したアプリケーションプログラムの場合

日本語メッセージを表示したい場合は，シフトJISで作成する必要がある。このため，EUC言語環境ではASCIIの範囲だけで利用する必要がある。ACCEPT文およびCBLTYPEサービスルーチンで受け取ることができる文字コードは，ASCII文字コード（制御文字を除く）の範囲だけである。

DISPLAY文およびCBLTYPEサービスルーチンを使用してメッセージを出力する場合には，JP1/IM - View側に出力されるメッセージにIDは付与されないため，JP1/IM - Managerの運用時にメッセージが識別できるように十分に検討して，プログラミングする必要がある。

bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャの場合

日本語メッセージを表示したい場合，LANG環境変数に対応するエンコードでメッセージを指定する。LANG環境変数に対応するエンコードでない場合，メッセージは正しく表示されない。応答として受け取れる文字コードはASCII文字列だけである。

また，出力するメッセージにはメッセージIDが付与されないため，JP1/IM - Managerの運用時にメッセージが識別できるように十分に配慮する必要がある。

メッセージを出力する条件を次に示す。

表3‒33　JP1/IM - Managerへ送付するメッセージの出力条件

プログラム，コマンドまたはカタログドプロシジャ

出力数

種別

DISPLAY UPON CONSOLE文

2件/秒より少ない。

通常メッセージ

bjexm_message -mコマンド

bjex_WRITEカタログドプロシジャ

ACCEPT FROM CONSOLE文

1件/分より少ない。

応答要求メッセージ

STOP文（定数指定）

CBLTYPEサービスルーチン

bjexm_message -pコマンド

bjexm_message -rコマンド

bjexm_message -cコマンド

bjex_PAUSEカタログドプロシジャ

bjex_WRITERカタログドプロシジャ

bjex_WRITERXカタログドプロシジャ

(2)　エラー情報

メッセージ制御機能でエラーが発生した場合，COBOL2002ではKCCC2060R-Sメッセージが出力される。また，bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャではKAKC5205-Eメッセージが出力される。KCCC2060R-SメッセージまたはKAKC5205-Eメッセージに表示される戻り値と意味を次の表に示す。戻り値とともに表示されるエラー番号の意味については，「付録D　メッセージ制御機能のエラー情報」を参照のこと。

表3‒34　KCCC2060R-SメッセージまたはKAKC5205-Eメッセージに出力される戻り値と意味

戻り値

意味

考えられる主な原因

対処

1

環境が不正である。

JP1/AJS，またはバッチジョブ実行システムを利用して呼び出していない可能性がある。

該当するプログラムをJP1/AJSからバッチジョブ実行システムを通して呼び出すように変更して再実行する。

2

共有メモリまたは実行ログの操作でエラーが発生した。

スプールジョブ転送デーモンが起動していない。

bjexchmsgコマンドで応答状態を強制的に解除した。

スプールジョブ転送デーモンが起動していることを確認する。

3

システムコールでエラーが発生した。

スプールディレクトリにアクセス権がないため，ジョブログに出力できない。

スプールディレクトリに，実行ユーザの書き込み権限を与える。

4

JP1イベント送信時に通信エラーが発生した。

JP1/IM - Managerが稼働するホストに接続できない。

ネットワークの問題を解決する。

5

JP1イベント送信時に通信以外のエラーが発生した。

JP1/Baseのライブラリが見つからない。

JP1/Baseをインストールする。

(3)　運用について

メッセージを作成する場合，メッセージテキストによって運用側で判断ができるように設計すること。

JP1IM_MANAGER_HOSTパラメータで指定したJP1/IM - Managerに接続したJP1/IM - View以外から応答はできない（バッチジョブ実行システムが提供するbjexlsmsgおよびbjexchmsgコマンドでの応答はできる）。

JP1/IM - Managerが滞留できる応答待ちイベント数には上限があるため，これを超えない運用を設計すること。

応答入力ができる文字コードは，ASCII文字コード（制御文字を除く）の範囲だけである。この範囲以外の文字コードを入力した場合は，エラーメッセージが表示されるので，範囲内の文字コードで再入力すること。

JP1イベントの送信処理で，一時的な通信エラーまたはリソース不足などの時間を空ければ回復の見込みのあるエラーが発生した場合は，3秒間隔でリトライを繰り返す。そのため，回復の見込みのあるエラーが発生し続ける場合は，エラーを回復しないかぎり，メッセージ制御機能が終了しなくなる。

また，リトライする場合は，JP1IM_MANAGER_HOSTパラメータで指定したホストに対して，JP1/BaseがTCP/IPのコネクションの切断と新たなポートでの接続を繰り返す。コネクションが使用していたポートは，OSのMSL（Maximum Segment Lifetime）×2（秒）の間使用できなくなるため，MSLの値が大きいまたはポート数が少ない場合には，リトライによってポートが枯渇する可能性がある。そのため，MSL×2（秒）の間にメッセージ制御機能によって出力するメッセージ数，MSL，およびポート数は，次に示す条件を満たすようにすること。

n×MSL×2/3＜ポート数

n：MSL×2（秒）の間にメッセージ制御機能によって出力するメッセージ数

メッセージ制御機能を使用してメッセージを出力するCOBOLアプリケーションは，SJISまたはASCII文字を前提としており，EUC環境では日本語メッセージが文字化けすることがある。

作成するメッセージ中に'¥0'など画面に表示できない文字が含まれていると，COBOLアプリケーションの実行時にエラーとなる場合があるため，表示不可能文字をメッセージに含めないこと。

bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャの場合も同様にエラーとなるため，表示不可能文字を含めてはならない。

3.16　スプールジョブ保管機能

スプールジョブ保管機能は，ジョブ終了時，スプールジョブを転送する前に任意のディレクトリにスプールジョブを保管できる。また，bjexchjobコマンドを使用して一括してスプールジョブを保管できる。

バッチジョブ実行システムのスプールディレクトリにあるスプールジョブはバッチジョブ実行システムで操作できるが，ユーザは直接参照してはならない。この機能を使うことで，保管先ディレクトリにあるスプールジョブをユーザが自由に参照できる。

3.16.1　スプールジョブ保管機能の概要

スプールジョブ保管機能の概要を次の図に示す。

図3‒30　スプールジョブ保管機能の概要

スプールジョブの保管時には「ジョブ名_ホスト名_ジョブ識別子_ユーザ名」のディレクトリに複写して保管する。元のスプールジョブは従来どおり残り，転送処理が行われる。保管されたスプールジョブはバッチジョブ実行システムの管理から外す。

スプールジョブ保管機能を使用して，次のことができる。

ジョブ終了時のジョブコントローラによる自動保管

ジョブ終了時にジョブコントローラが自動でスプールジョブを設定ファイルで指定した保管先に保管する。

bjexchjobコマンドによるスプールジョブの保管

bjexchjobコマンドで-Cオプションを指定し，スプールジョブを設定ファイルで指定した保管先に保管する。

保管するスプールジョブのパーミッションの変更

ジョブ終了時とbjexchjobコマンドでの保管では，保管先のSYSOUTデータファイルのパーミッションや所有者などは，元のSYSOUTデータファイルの情報を引き継ぐ。保管先のスプールジョブの権限を変更する場合には，設定ファイルのPERMISSION_SPOOL_STORE_JOBパラメータを指定する。

日付や時間ごとのサブディレクトリへの保管

保管先ディレクトリの下にジョブの実行開始日付ごとまたは実行開始日時ごとにサブディレクトリを作成し，スプールジョブをサブディレクトリの下に保管する。

保管先ディレクトリの名称変更

スプールジョブの保管時には，通常「ジョブ名_ホスト名_ジョブ識別子_ユーザ名」のディレクトリに保管するが，この名称を変更できる。

3.16.2　スプールジョブ保管機能の設定方法

スプールジョブ保管機能は，ジョブ終了時のジョブコントローラによる自動保管とbjexchjobコマンドによる保管の2種類に分けられる。それぞれの保管方法ごとに設定が必要なパラメータを次の表に示す。

表3‒35　スプールジョブ保管機能に関連する設定ファイルのパラメータ

設定ファイルのパラメータ

意味

保管の方法

ジョブ終了時のジョブコントローラによる自動保管

bjexchjobコマンドによるスプールジョブの保管

SPOOL_STORE_DIR

保管先ディレクトリのパスを定義して，スプールジョブ保管機能を有効にする。

◎

◎

SPOOL_STORE_SUBDIR

保管先ディレクトリのサブディレクトリを定義する場合に指定する。

○

○

SPOOL_JOB_STORE

ジョブ終了時にスプールジョブを保管する場合に指定する。

◎

−

PERMISSION_SPOOL_STORE_JOB

保管するスプールジョブに設定するパーミッションを指定する。

○

○

SPOOL_STORE_DIRNAME

スプールジョブを保管するときの保管先ディレクトリ名称を定義する場合に指定する。

○

○

（凡例）

◎：指定は必須。

○：指定は任意。

−：指定は不要。

ジョブ終了時のジョブコントローラによる自動保管の場合，設定ファイルにSPOOL_STORE_DIRパラメータ，およびSPOOL_JOB_STOREパラメータの両方を指定すること。どちらかの指定を省略した場合，この機能は有効とならない。

bjexchjobコマンドで-Cオプションを指定してスプールジョブ保管機能を使用する場合，設定ファイルにSPOOL_STORE_DIRパラメータを指定すること。SPOOL_STORE_DIRパラメータの指定を省略した場合，この機能は有効とならない。

3.16.3　日付や時間ごとのサブディレクトリへの保管

保管先ディレクトリパス名に加えて設定ファイルのSPOOL_STORE_SUBDIRによってサブディレクトリ定義を指定した場合，バッチジョブ実行システムは保管先ディレクトリの下にサブディレクトリを自動的に作成し，スプールジョブをサブディレクトリの下に保管する。

サブディレクトリはジョブの実行開始日付ごとまたは実行開始日時ごとに作成され，該当するサブディレクトリ下に保管される。

図3‒31　サブディレクトリ定義（ジョブの実行開始日をサブディレクトリ名とする）を指定した場合のスプールジョブ保管

図3‒32　サブディレクトリ定義（ジョブの実行開始日＋開始時刻をサブディレクトリ名とする）を指定した場合のスプールジョブ保管

3.16.4　保管先ディレクトリの名称

設定ファイルのSPOOL_STORE_DIRNAMEによって保管先のスプールジョブディレクトリの名称を変更できる。保管先のデフォルトのスプールジョブディレクトリ名は「ジョブ名_ホスト名_ジョブ識別子_ユーザ名」であるが，名称を変更する際には，ジョブ名，ホスト名，ジョブ識別子，ユーザ名，AJSJOBNAMEの組み合わせを指定する。それぞれが使用する内容を次に示す。

表3‒36　スプールジョブ保管機能が使用する内容

項目

内容

ジョブ名

ジョブ実行時のジョブ名

ホスト名

設定ファイルのJP1_HOSTNAMEパラメータで指定したホスト名を使用する。ただし，バッチジョブ実行システムのコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

ジョブ識別子

ジョブ実行時のジョブ識別子

ユーザ名

環境変数JP1_USERNAME※，またはOSから求めたユーザ名

AJSJOBNAME

環境変数AJSJOBNAME※のうち，ディレクトリ区切り文字の"/"（スラント）を含めたディレクトリの，最後のディレクトリ区切り文字"/"（スラント）より後ろの文字列を使用する。AJSJOBNAMEの設定がない場合は，""（空文字）を使用する。

注※　設定される内容については，JP1/AJSのマニュアルを参照のこと。

3.16.5　スプールジョブ保管機能使用時の注意事項

スプールジョブ保管機能使用時の注意事項を次に示す。

保管されたスプールジョブはユーザ責任で削除する必要がある。

保管されたスプールジョブはバッチジョブ実行システムのコマンドで印刷指示などの操作はできない。

ジョブ終了を契機とする保管時に保管先にすでに同一のディレクトリが存在する場合，保管処理に失敗する。

ジョブ終了時に保管するSYSOUTデータファイルは，プリンタサーバへの転送有無とは無関係にすべて保管の対象となる。このため，転送処理で削除されるダミー出力クラスのSYSOUTデータファイルやデータサイズが0のSYSOUTデータファイルも削除されないで保管される。スプールジョブ管理ファイルも転送処理後の内容とは異なる。

bjexchjobコマンドで-Cオプションを指定してスプールジョブを保管する場合，ジョブを実行したユーザと同一ユーザまたは特権ユーザで実行する必要がある。

保管はbjexchjobコマンドで-Cオプションを指定しても実行できる。この場合，保管先にすでに同一のディレクトリが存在する場合，上書きで保管する。また，コマンドで保管するスプールジョブは一度転送処理が行われており，ジョブ終了時に保管される内容とは一致しない。保管するときのディレクトリ名はジョブ終了時と同一であるが，ホスト名やユーザ名はスプールジョブに格納されている値を使用する。

保管したスプールジョブはバッチジョブ実行システムのスプールに戻すことはできない。このため，スプールのバックアップとしては利用できないため，再度印刷する予定があるスプールジョブはスプールから削除しないようにする必要がある。ただし，スプールから削除してしまった場合は，次の方法でSYSOUTデータファイルごとに印刷できる。

PDEで印刷する場合

印刷するSYSOUTデータファイルを特定する。印刷するSYSOUTデータファイルの印刷属性をジョブ定義XMLファイルのDD要素，設定ファイルのSysoutClassパラメータから調査する。これらの情報を基にPDEのバッチジョブ実行システムと連携しない方法で印刷する。詳細については，マニュアル「PRINT DATA EXCHANGE for Open」を参照のこと。

EURで印刷する場合

印刷するSYSOUTデータファイルを特定する。印刷するSYSOUTデータファイルで使用するEUR定義ファイルから実行するEURのコマンド情報を調査する。これらを基に直接EURのコマンドを使って印刷する。詳細については，EURのマニュアルを参照のこと。

3.17　PDEファイル形式2

PDEファイル形式2のSYSOUTデータファイルを作成できる。

PDEファイル形式2は，PDEとCOBOL2002が連携することでVOS3の帳票印刷から高い移行性を実現するデータ形式であり，PDEによる書式，行制御印刷を行うときに使用するファイル形式である。詳細については，マニュアル「PRINT DATA EXCHANGE for Open」，および「COBOL2002 マイグレーションライブラリ」の取扱説明書を参照のこと。

バッチジョブ実行システムでPDEファイル形式2のSYSOUTデータファイルを作成する場合，出力クラスを定義するSysoutClassパラメータのFTYPEオペランドおよびRECFMオペランド，またはPDEファイル形式2のSYSOUTデータファイルを定義するDD要素のFTYPE属性およびRECFM属性で指定する。

3.18　ファイル操作ユティリティ

3.18.1　ファイル操作ユティリティの概要

ファイル操作ユティリティには，次のプログラムがある。

(1)　bjexu_dummyプログラム

bjexu_dummyは，VOS3のJDJDUMMYプログラムと同じく，ダミーのプログラムである。実行すると終了コードが0で終了する。ダミーのプログラムなので，バッチジョブ実行システムのジョブ定義XMLファイルのDD要素で行うファイル，またはディレクトリの操作だけを実行したい場合などに使用する。

(2)　bjexu_pcopyプログラム

bjexu_pcopyは，VOS3のデータセットユティリティのJSDPCPYプログラムに準じたファイルの複写を行う。複数の複写元ディレクトリから，1つの複写先ディレクトリへファイル単位に複写する。複写するファイルは，全部またはファイル名によって選択できる。

(3)　bjexu_scopyプログラム

bjexu_scopyは，VOS3のデータセットユティリティのJSDSCPYプログラムに準じたファイルの複写を行う。ファイルの内容をレコードの単位で操作して複写できる。

(4)　bjexu_ismutおよびbjexu_ismut64プログラム

bjexu_ismutおよびbjexu_ismut64は，VOS3のVSAMユティリティのJSCVSUTプログラムに準じたファイルの作成，削除と複写を行う。索引順編成ファイルを作成，削除でき，索引順編成ファイルと順編成ファイルを複写，変換および併合できる。

3.18.2　ファイル操作ユティリティのサポートするファイル

(1)　ファイル編成

ファイル操作ユティリティでは，次の表に示すファイル編成をサポートする。

表3‒37　ファイル操作ユティリティのサポートするファイル編成

ファイル編成

説明

サポートの有無

入力ファイル

出力ファイル

固定長順編成ファイル

COBOL2002で作成したファイル，またはほかのアプリケーションで作成したファイルサイズが，レコード長の整数倍の長さを持つバイナリファイル

○

○

可変長順編成ファイル

COBOL2002で作成したファイル

○

○

固定長相対編成ファイル

COBOL2002で作成したファイル

−

−

可変長相対編成ファイル

COBOL2002で作成したファイル

−

−

固定長索引順編成ファイル

COBOL2002で作成したファイル

ISAMで作成したファイル

○※1

○※1

可変長索引順編成ファイル

COBOL2002で作成したファイル

ISAMで作成したファイル

○※1

○※1

テキスト編成ファイル

テキストファイルの各行（テキストレコード）は，改行文字（X'0A'）で区切られている次のファイル

COBOL2002で作成したテキスト編成ファイル

viエディタなどで作成したテキストファイル

○※2

○※2

CSV編成ファイル

COBOL2002で作成したCSV編成ファイル

表計算プログラムで作成したCSVファイル

−

−

（凡例）

○：サポートする。

−：サポートしない。

注※1　bjexu_ismutおよびbjexu_ismut64でサポートする。

注※2　bjexu_scopyおよびbjexu_pcopyでサポートする。

(2)　ラージファイル対応

ファイル操作ユティリティでサポートするファイルのうち，ISAMで作成する索引順編成ファイルは，ラージファイル（ファイルサイズが2GB以上のファイル）をサポートしない。その他のラージファイル（ファイルサイズが2GB超えのファイル）への対応については，「1.3.3　2GB超えのファイル（ラージファイル）の扱い」を参照のこと。

(3)　ディレクトリやファイル名指定時の注意事項

(a)　ハードリンクとシンボリックリンクについて

ファイル名として，ハードリンクとシンボリックリンクを使用できる。また，ディレクトリにはシンボリックリンクを使用できる。

ただし，ファイル名やディレクトリ名の重複チェックは，ジョブ定義XMLファイルや制御文に指定された内容で行うため，ハードリンクやシンボリックリンクが指定されていると，ファイル名の実体が同一かどうかのチェックが行えないことがある。

たとえば，入力ファイルがシンボリックファイル，出力ファイルが相対パス名または絶対パス名の場合，入出力ファイルの重複チェックはできない。

(b)　入力ファイルと出力ファイルの指定について

ファイル名には，パス名の区切りを示す文字（/：スラント）を指定できない。また，入力と出力に指定したファイルが同一の実体にならないようにすること。入力と出力のファイルが同一の実体になっていた場合，ファイルの内容が初期化されることがある。

(4)　ファイルのパーミッション

(a)　ジョブ定義XMLファイルで指定

ファイル操作ユティリティで使用するファイルは，ジョブ定義XMLファイルのDD要素で指定する。出力ファイルを新規に作成する場合，ファイルに設定するパーミッションは，ジョブ定義XMLファイルのDD要素でファイルを新規に作成する場合の仕様に従う。バッチジョブ実行システムでは，ファイルを新規に作成時，DD要素のFPERM属性でファイルのパーミッションを指定できる。また，指定しない場合は，PERMISSION要素の属性に従う。

次にDD要素のFPERM属性で指定する例を示す。

(b)　ファイル操作ユティリティで新規に作成するファイル

ジョブ定義XMLファイルでの指定がなく，制御文で指定したファイルを新規に作成する場合，次のようにパーミッションを設定する。

コピー元ファイルがある場合

コピー元ファイルのパーミッション情報（所有者，グループ，その他に対するアクセス権限）にファイル操作ユティリティを実行しているプロセスのumaskでマスクしたパーミッションを設定する。

その他のスティッキービット，set-user-IDビット，set-group-IDビットの情報は引き継がない。また，ファイルのタイムスタンプも引き継がない。

コピー元ファイルがない場合

"0666"にファイル操作ユティリティを実行しているプロセスのumaskでマスクしたパーミッションを設定する。

次に制御文で指定したファイルを新規作成する例を示す。

SELECT文で指定したファイル（AAAなど）がコピー先に新しく作成される場合，所有者のパーミッションが設定される。

所有者のパーミッションは，コピー元のファイルに設定されているパーミッションにumaskでマスクしたパーミッションを設定する。

(c)　既存ファイルの更新

既存ファイルを更新するためのパーミッションの設定は，システムの標準仕様に従う。既存ファイルを更新するには，ファイルを更新できるアクセス権限が必要である。

(5)　PRESTファイル

bjexu_scopyおよびbjexu_ismutで順編成ファイル（固定長順編成ファイルと可変長順編成ファイル）の入出力をするとき，PRESTファイルを使用できる。PRESTファイルを使用することで，逐次実行していたジョブおよびジョブステップを並列に実行することが可能となり，処理時間を短縮できる。

3.18.3　ファイル操作ユティリティの実行方法

ファイル操作ユティリティを実行するためには，バッチジョブ実行システムのジョブ定義XMLファイルのEXEC要素のPGM属性に，使用するユティリティのプログラムを指定する。なお，ファイル操作ユティリティで排他制御は行わないため，排他制御が必要な場合は，バッチジョブ実行システムの設定ファイルのLOCK_OPTIONパラメータを使用すること。

ファイル操作ユティリティが格納されているディレクトリをPATH環境変数にあらかじめ登録すれば，EXEC要素のPGM属性にプログラム名だけを指定してファイル操作ユティリティを実行できる。JOBLIBのDD要素やSTEPLIBのDD要素で，PATH環境変数に登録するディレクトリを追加することもできる。

ファイル操作ユティリティのプログラムの格納場所を次の表に示す。

表3‒38　ファイル操作ユティリティのプログラムの格納場所

プログラム名

機能概要

プログラムの格納場所

bjexu_dummy

ダミープログラム

/opt/hitachi/bjex/bin

bjexu_pcopy

ファイルの複写（ディレクトリ単位）

bjexu_scopy

ファイルのレコード単位の複写（編集操作を含む）

bjexu_ismut

索引順編成ファイルの作成，削除，索引順編成ファイルと順編成ファイルの複写，変換および併合（ISAMライブラリの32ビット版使用時）

bjexu_ismut64

索引順編成ファイルの作成，削除，索引順編成ファイルと順編成ファイルの複写，変換および併合（ISAMライブラリの64ビット版使用時）

3.18.4　ファイル操作ユティリティの制御文の形式

ファイル操作ユティリティの制御文は，次の形式で指定する。

[記号]△₁　コマンド名　△₁オペランド  [△₁　注釈]

（凡例）

△₁：1バイト以上の空白文字を必ず指定する。

記号

制御文を識別するのに使用する。記号の指定は第1欄から始める。

コマンド名

制御文の種別を表す。コマンド名の指定は，記号のあとに1個以上の空白を入れる。記号を指定しない場合は第2欄以降から始める。

オペランド

コマンド名のあとに1個以上の空白を入れて始める。オペランドの内容については，各制御文の説明を参照のこと。

注釈

最終オペランドから1個以上の空白を入れて始める。注釈を書くのは任意である。

制御文が1行に入らない場合，その行の最終オペランドの直後にコンマ（，）を指定して制御文を次の行に続ける。2行目以降では，第1欄以降から開始する。ある行の最終オペランドの直後にコンマ（，）を指定し，制御文を次行に続ける場合にも，コンマの次に1個以上の空白を入れてコメントを記述できる。

1つの制御文は，継続行を含め最大4,094バイト指定できる。

3.18.5　bjexu_dummy（ファイルおよびディレクトリ操作用ダミー処理の実行）

(1)　機能

ダミーの処理を行う。実行すると終了コードが0で終了する。

(2)　入出力構成

bjexu_dummyが必要とする入出力はない。

(3)　ジョブ定義XMLファイル

bjexu_dummyを実行する場合は，次に示すEXEC要素の指定が必要である。

EXEC要素のPGMにbjexu_dummyを指定する。

<EXEC PGM="bjexu_dummy" />

(4)　bjexu_dummy制御文

制御文はない。

(5)　使用例

(1)bjexu_dummyを実行する。

(2)恒久ファイルWORK1を生成し保存することを指定する。

3.18.6　bjexu_pcopy（ファイルの複写）

(1)　機能

1個，または複数個のディレクトリに存在するファイルを，ほかのディレクトリへ複写する。複写するファイルは，ファイル名で特定したり，すべてのファイルを対象にしたりできる。なお，ディレクトリ名での複写や，ディレクトリの再帰コピーはできない。

複写元は1個，または複数個指定でき，入力ディレクトリと呼ぶ。複写先は1個だけで出力ディレクトリと呼ぶ。

入力ディレクトリが2個以上指定されている場合，指定した順にすべての入力ディレクトリを順次処理する。ただし，bjexu_pcopy制御文がSELECT文のMEMBER指定の場合だけは，先に指定された入力ディレクトリに対象のファイルが見つかると，後続の入力ディレクトリに同じ名称のファイルがあっても無視する。詳細については，「(4)(b)　SELECT文」の注意事項を参照のこと。

複写する対象をすべてのファイルやファイルの総称名（ファイル名の頭文字）で指定した場合，複写するファイルの順序はシステムの状態によって異なる。

(2)　入出力構成

bjexu_pcopyの入出力構成を次の図に示す。

図3‒33　bjexu_pcopyの入出力構成

(a)　入力

入力ディレクトリ

複写の入力となる，複写元のディレクトリ。

制御文（SYSIN）

bjexu_pcopyの処理内容を指定する。制御文には次のものがある。

COPY文

SELECT文

EXCLUDE文

INDD文

(b)　出力

出力ディレクトリ

複写の出力となる，複写先のディレクトリ。

メッセージ（SYSPRINT）

bjexu_pcopyが出力するメッセージの出力先。

(c)　終了コード

bjexu_pcopyの終了コードを次の表に示す。

表3‒39　bjexu_pcopyの終了コード

終了コード

意味

0

正常に処理を終了した。※1

4

エラーが発生したが続行できるため，エラーを無視して処理を続行した。詳細については，出力されたメッセージを参照のこと。※2

8

エラーが発生した。エラーの発生したコピーオペレーションの処理を終了し，次のコピーオペレーションの処理を続行する。詳細については，出力されたメッセージを参照のこと。

なお，ファイルの新規作成やファイルの置き換え指定の複写で，文法解析終了後の複写処理中にエラーが発生した場合，出力ファイルの内容は保証されない。

12

次に示すような回復できないエラーが発生したため，処理を打ち切り，ジョブステップを終了する。ファイルの新規作成やファイルの置き換え指定の複写で，文法解析終了後の複写処理中にエラーが発生した場合，出力ファイルの内容は保証されない。

制御文の指定誤り

制御文や入出力ファイルのオープンエラー，I/Oエラー

注※1　入力ディレクトリと出力ディレクトリが同じときは何もしないで処理を終了する。この場合も終了コードは0になる。

注※2　文法的に正しいが，要求された処理を実行できなかった場合，またはSELECT文で指定したファイルがないので処理できなかった場合やSYSPRINTでオープンエラーが発生した場合の終了コードは4になる。

(3)　ジョブ定義XMLファイル

bjexu_pcopyを実行する場合は，次に示すEXEC要素とDD要素の指定が必要である。

(a)　EXEC要素

EXEC要素のPGMにbjexu_pcopyを指定する。

<EXEC PGM="bjexu_pcopy" />

(b)　SYSPRINTのDD要素

bjexu_pcopyが発行するメッセージの出力先を指定する。なお，DD連結指定はできない。出力先には，SYSOUTデータファイルや恒久ファイルを指定できる。

SYSPRINTが使用できない状態の場合，経過メッセージは出力されない。出力メッセージの詳細については，「10.　メッセージと終了コード」を参照のこと。

(c)　入力ディレクトリのDD要素

複写元となる入力ディレクトリ（TYPE="DIR"）を指定する。DD連結指定はできない。

(d)　出力ディレクトリのDD要素

複写先となる出力ディレクトリ（TYPE="DIR"）を指定する。DD連結指定はできない。

(e)　SYSINのDD要素

bjexu_pcopy制御文を指定する。または，この制御文が記述されたファイルのパスを指定する。DD連結指定はできない。

(4)　bjexu_pcopy制御文

bjexu_pcopy制御文と機能を次の表に示す。

表3‒40　bjexu_pcopy制御文と機能

制御文名

機能

COPY文

複写元の入力ディレクトリから複写先の出力ディレクトリへファイルを複写する。

SELECT文

複写するファイルを指定する。

EXCLUDE文

複写しないファイルを指定する。

INDD文

入力ディレクトリを指定する。

bjexu_pcopy制御文は，コピーオペレーションおよびコピーステップという概念を用いる。

コピーオペレーションとは，COPY文で始まり，後続のCOPY文または指定した制御文の終わりまでの一連の制御文である。

COPY文で始まるコピーオペレーションは，1個以上のコピーステップを含んでおり，SELECT文やEXCLUDE文の直後のINDD文がコピーステップの開始と先行するコピーステップの終了を示す。コピーオペレーションおよびコピーステップの概念については，「図3-34　コピーオペレーションおよびコピーステップの概念」を参照のこと。

複写処理は，コピーオペレーションの指定順に実行し，複数のコピーステップに分割される場合も，コピーステップ単位に順次実行する。

コピーオペレーションには，1個の複写先の出力ディレクトリと，1個以上の複写元の入力ディレクトリが含まれる。また，コピーオペレーションを幾つかのコピーステップに分割することで，コピーステップ単位に入力ディレクトリを変えることができる。

SELECT文やEXCLUDE文は，コピーステップ単位に複写するファイルや複写しないファイルを指定する。SELECT文やEXCLUDE文の指定がない場合は，入力ディレクトリにある全ファイルを複写する。なお，出力ディレクトリに複写するファイルと同じ名称のファイルがすでに存在する場合は，ファイルの置き換え指定があるときだけ複写する。置き換え指定は，入力ディレクトリ単位や，SELECT文のファイル名やファイル総称名でも指定できる。複写元のファイルが，どれかの置き換え指定に該当すれば，出力ディレクトリに同じ名称のファイルがあっても複写される。

各制御文のオペランドは，1つの制御文中に同じオペランドを複数指定できない。同じオペランドを複数個指定した場合は，最後に指定したオペランドだけが有効になる。

図3‒34　コピーオペレーションおよびコピーステップの概念

(1)〜(3)入力ディレクトリIN1,IN4,IN2,IN3から，出力ディレクトリOUTAへの複写であることを示す。

(4)〜(5)(1)〜(3)で指定した入力ディレクトリから，ファイルM1,M2,M3,M4,M5,M6だけ複写する。

(6)〜(7)入力ディレクトリIN5,IN6から，出力ディレクトリOUTAへの複写であることを示す。

(8)(6)〜(7)で指定した入力ディレクトリから，ファイルM7,M8を除いて複写する。

(9)出力ディレクトリOUTBへの複写であることを示す。

(10)入力ディレクトリIN7,IN8から，(9)で指定した出力ディレクトリへの複写であることを示す。

(11)(10)で指定した入力ディレクトリから，ファイルM9,M10,M11を除いて複写する。

(12)〜(13)入力ディレクトリIN9,IN10,IN11から，出力ディレクトリOUTBへの複写であることを示す。後続にSELECT文とEXCLUDE文の指定がないため，すべてのファイルを複写する。

注　コピーステップ内の入力ディレクトリは，制御文に指定した順序で処理される。例えばコピーステップ1の場合，最初にIN1を処理し，続いてIN4,IN2,IN3の順に処理する。

(a)　COPY文

形式

[記号] △₁ COPY △₁

OUTDD=DD名

[,INDD=({DD名|(DD名,R)}[,{DD名|(DD名,R)}]…)]

[,LIST=NO]

オペランド

OUTDD=DD名　〜＜環境変数名＞((1〜31文字))

出力ディレクトリのパス名を定義したDD名を指定する。このオペランドは必須である。

INDD=({DD名｜(DD名,R)}[,{DD名｜(DD名,R)}]…)

DD名　〜＜環境変数名＞((1〜31文字))

入力ディレクトリのパス名を定義したDD名を指定する。このオペランドの指定は任意であり，後続のINDD文でも指定できる。

このオペランドを省略する場合，COPY文の直後にINDD文の指定が必要である。INDD文の指定がなければ，エラーメッセージを出力して，このコピーオペレーションを無効とし，次のコピーオペレーションを処理する。

R

出力ディレクトリ中に，複写するファイルのファイル名またはSELECT文（MEMBERオペランド指定）で名前を変更して複写する場合は，新しいファイル名と同じ名称のファイルがすでに存在するとき，ファイルの置き換えを指定する。ファイルの置き換えを指定するには，DD名とキーワードRを括弧で囲むこと。

LIST=NO

処理したファイルのファイル名などの詳細なメッセージを出力する必要がないときに指定する。出力しないメッセージは，KAKD1100-I〜KAKD1105-Iメッセージである。このオペランドを省略すると，すべてのメッセージを出力する。

注意事項

COPY文はコピーオペレーションの開始を示す制御文であるため，コピーオペレーションの先頭にあること。

INDDオペランドでファイルの置き換えを指定する場合，（DD名,R）の指定の途中で行を変えないこと。

INDDオペランドとOUTDDオペランドで同じディレクトリのパス名を指定した場合，SELECT文やEXCLUDE文の指定があるとエラーになり，そのコピーオペレーションを終了する。

(b)　SELECT文

形式

[記号] △₁

　SELECT △₁

{MEMBER=({ファイル名|(ファイル名,,R)|(ファイル名,新ファイル名[,R])}

　　　　　[,{ファイル名|(ファイル名,,R)|(ファイル名,新ファイル名[,R])}]…)

|GROUP=({ファイル総称名|(ファイル総称名,R)}

　　　　　[,{ファイル総称名|(ファイル総称名,R)}]…)}

オペランド

MEMBER=({ファイル名｜(ファイル名,,R)｜(ファイル名,新ファイル名[,R])}[,{ファイル名｜(ファイル名,,R)｜(ファイル名,新ファイル名[,R])}]…)

ファイル名　〜＜引用文字列または特殊文字列＞

複写するファイル名を指定する。

新ファイル名　〜＜引用文字列または特殊文字列＞

名前を変更して複写するとき，新しいファイル名を指定する。

R

複写先の出力ディレクトリに，複写するファイルのファイル名または名前を変更して複写する場合は，新しいファイル名と同じ名称のファイルがすでに存在するとき，ファイルの置き換えを指定する。

GROUP=({ファイル総称名｜(ファイル総称名,R)}[,{ファイル総称名｜(ファイル総称名,R)}]…)

ファイル総称名　〜＜引用文字列または特殊文字列＞

複写するファイルをファイル群の総称名（ファイル名の頭文字）で指定する。例えば，ABCと指定した場合，ファイル名がABCで始まるすべてのファイルが対象となる。

R

複写先の出力ディレクトリに，複写するファイルと同じ名称のファイルがすでに存在するとき，ファイルの置き換えを指定する。

注意事項

同一コピーステップ内でEXCLUDE文と同時に指定できない。

新ファイル名の指定やファイルの置き換えを指定する場合，（ファイル名,,R），（ファイル名,新ファイル名,R），および（ファイル総称名,R）の指定の途中で行を変えないこと。

同一コピーステップ内で同一のファイル名（新ファイル名も含む），およびファイル総称名を指定しないこと。

同一コピーステップ内でSELECT文は複数指定できる。

同一コピーステップ内でMEMBERとGROUPを同時に指定できない。

COPY文およびINDD文よりあとに記述すること。

ファイル名およびファイル総称名には，パス名の区切りを示す文字（/：スラント）を指定できない。

MEMBERオペランド指定とその他の指定では，複写するファイルの選択方法が異なる。

次にSELECT文のMEMBERオペランド指定以外の場合とSELECT文のMEMBERオペランド指定の場合の複写するファイルの選択方法を示す。

SELECT文のMEMBERオペランド指定以外の場合

SELECT文のGROUPオペランド指定，EXCLUDE文指定，またはSELECT文およびEXCLUDE文を指定しない全ファイルの複写指定のときは，入力ディレクトリの指定順に，入力ディレクトリごとに複写処理する。

＜例＞入力ディレクトリIN1→IN2→IN3の順に，ファイル総称名がAとBのファイルを複写する。ただし，入力ディレクトリIN1配下の対象ファイルは置き換えを行わない。

制御文

処理の流れ

1.　IN1を参照する。指定に該当するファイルAは，出力ディレクトリに同じ名称のファイルが存在し，置き換え指定がないため複写しない。

2.　IN2を参照する。指定に該当するファイルBは，置き換え指定があるため複写する。

3.　IN3を参照する。指定に該当するファイルAとBは，置き換え指定があるため複写する。

図3‒35　複写処理の流れ（SELECT文のMEMBERオペランド指定以外の場合）

SELECT文のMEMBERオペランド指定の場合

SELECT文のMEMBERオペランド指定は，指定されたファイル名単位に，入力ディレクトリの指定順を検索し，最初に見つかったファイルだけ複写する。

ファイルを置き換える指定がないため，複写しなかった場合も，ファイルは見つかったものとする。

＜例＞入力ディレクトリIN1→IN2→IN3の順に，ファイル名がAとBのファイルを検索し複写する。ただし，ファイルAは置き換えを行わない。

制御文

処理の流れ

1.　ファイルAをIN1から検索する。IN1でファイルAが見つかったが，出力ディレクトリに同じ名称のファイルAが存在し，置き換え指定がないため複写しない。この時点でファイルAの処理は終了する。

2.　ファイルBをIN1から検索する。IN2でファイルBが見つかったため，これを複写する。この時点でファイルBの処理は終了する。

図3‒36　複写処理の流れ(SELECT文のMEMBERオペランド指定の場合)

(c)　EXCLUDE文

形式

[記号] △₁ EXCLUDE △₁

MEMBER=(ファイル名[,ファイル名]…)

オペランド

MEMBER=(ファイル名[,ファイル名]…)　〜＜引用文字列または特殊文字列＞

出力したくないファイル名を指定する。

注意事項

同一コピーステップ内で同一のファイル名を指定できない。

同一コピーステップ内でSELECT文と同時に指定できない。

EXCLUDE文は複数指定できる。

同一コピーステップ内はCOPY文およびINDD文よりあとに記述すること。

(d)　INDD文

形式

[記号] △₁

INDD=({DD名|(DD名,R)}[,{DD名|(DD名,R)}]…)

オペランド

INDD=({DD名｜(DD名,R)}[,{DD名｜(DD名,R)}]…)

DD名　〜＜環境変数名＞((1〜31文字))

入力ディレクトリのパス名が設定されたDD名を指定する。

R

出力ディレクトリ中に，複写するファイルのファイル名またはSELECT文（MEMBERオペランド指定）で名前を変更して複写する場合は，新しいファイル名と同じ名称のファイルがすでに存在するとき，ファイルの置き換えを指定する。ファイルの置き換えを指定するには，DD名と"R"を括弧で囲む。

注意事項

COPY文と組み合わせて指定する。

SELECT文やEXCLUDE文の直後に指定した場合は，コピーステップの開始と先行するコピーステップの終了を示す。出力ディレクトリは，先行するコピーステップのCOPY文から引き継がれる。

(5)　使用例

＜例1＞2つの入力ディレクトリからすべてのファイルを複写する。なお，同じ名称のファイルは置き換えない。

次の手順で複写が実行される。

制御文のCOPY文に指定したINDDオペランドの入力ディレクトリの指定順に，出力ディレクトリ"OUTPUT"へ複写する。

最初に入力ディレクトリ"INPUT1"にあるファイルAとCが複写される。

入力ディレクトリ"INPUT2"にあるファイルBとCの複写を行うが，ファイルCはすでに同じ名称のファイルが2.で複写されているため複写しない（置き換え指定がないため）。

図3‒37　入力ディレクトリからすべてのファイルを複写（置き換え指定なし）

(1)bjexu_pcopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ディレクトリを定義する。ディレクトリは，"file1"を指定する。

(4)入力ディレクトリを定義する。ディレクトリは，"file2"を指定する。

(5)出力ディレクトリを定義する。ディレクトリは，"file3を指定する。

(6)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(7)コピーオペレーションの開始を示す。出力ディレクトリとしてOUTPUT(ディレクトリfile3)を指定し，入力ディレクトリとしてINPUT1（ディレクトリfile1）とINPUT2（ディレクトリfile2）を指定する。

＜例2＞入力ディレクトリからファイル名がAとCのファイルを置き換え指定ありで複写する。なお，出力ディレクトリには，ファイル名がBとCのファイルがすでに存在する。

次の手順で複写が実行される。

制御文のCOPY文に指定した入力ディレクトリ"INPUT1"から，出力ディレクトリ"OUTPUT"へ複写する。ただし，複写するファイルはSELECT文の指定に従う。

SELECT文の指定に従い，"INPUT1"に存在するファイルAとCを複写する。このとき，"OUTPUT"にはすでに同じ名称のファイルCが存在するが，置き換え指定があるため"INPUT1"のファイルで置き換えられる。

図3‒38　入力ディレクトリからすべてのファイルを複写（置き換え指定あり）

(1)bjexu_pcopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ディレクトリを定義する。ディレクトリは，"file1"を指定する。

(4)出力ディレクトリを定義する。ディレクトリは，"file3"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)コピーオペレーションの開始を示す。出力ディレクトリとしてOUTPUT（ディレクトリfile3）を指定し，入力ディレクトリとしてINPUT1（ディレクトリfile1）を指定する。

(7)メンバの取り出しを指定する。入力ディレクトリINPUT1からメンバA,Cをメンバの置き換え指定で出力ディレクトリに複写する。

また，この例の場合は，次の制御文でも同じである。

(1)コピーオペレーションの開始を示す。出力ディレクトリとしてOUTPUT（ディレクトリfile3）を指定し，入力ディレクトリとしてINPUT1（ディレクトリfile1）を指定する。また，INPUT1で指定したディレクトリに存在するファイルは，メンバの置き換え指定を行う。

(2)メンバの取り出しを指定する。入力ディレクトリINPUT1からメンバA,Cを取り出し，出力ディレクトリに複写する。

3.18.7　bjexu_scopy（ファイルのレコード単位の複写）

(1)　機能

ファイルの複写，ファイルの内容をレコードの単位で操作しての複写，および入力ファイルを分割して複数のファイルに複写できる。ファイルを複写するとき，既にあるファイルを出力ファイルに指定しDD要素でDISP="MOD"を指定することで，追加書きができる。

(a)　ファイルの複写

単純複写

入出力ファイルのファイル情報（ファイル形式，レコード長）が同一のとき，入力ファイルの内容をそのまま出力ファイルに複写する。

入力ファイルのファイル情報の指定がないときは，入力ファイルとして指定されたファイルの実際の形式に関係なく，入力ファイルの内容をそのまま出力ファイルに複写する。

形式変換

入力ファイルのファイル情報と異なるファイル情報を出力ファイルに指定した場合，ファイル形式を変換して複写する。

入力ファイルや出力ファイルには，PRESTファイルも指定できる。

ファイルを複写するときに指定できる入出力ファイル形式の組み合わせを次の表に示す。

表3‒41　入出力ファイル形式の組み合わせ

入力ファイル形式

出力ファイル形式

F

V

A

F

◎

◎

×

V

△

◎

×

A

×

×

○

（凡例）

◎：指定できる組み合わせ。

○：指定できる組み合わせ。ただし,単純複写だけができ，形式変換はできない。

×：指定できない組み合わせ。

△：指定できない組み合わせ。ただし，RECORD文でレコードの編集を指定することで，指定できる組み合わせとなるが，入力レコードを超えないフィールド定義が必要である。詳細については，「(4)　bjexu_scopy制御文」を参照のこと。

F：固定長順編成ファイル（COBOLで作成したファイルでファイルサイズがレコード長の整数倍であるバイナリファイル）。

V：可変長順編成ファイル（COBOLで作成したファイル）。

A：テキストファイル（COBOLまたはテキストエディタで作成したファイル）。改行コードでレコードが区切られる（UNIXとWindowsでは改行コードが異なる）。

入力ファイルの連結

複数のファイルをDD要素で連結して入力する。連結するファイルの属性は，同一でなければならない。ただし，コロン（：）は，連結されたデータセット名が環境変数に設定されるときの区切りとして使用しているため，ファイル名に使用できない。

入力ファイルのファイル情報の指定がないときは，可変長順編成ファイルを連結することはできない。可変長順編成ファイルを連結するには，入力ファイルのファイル形式を指定し，GENERATE文を指定する必要がある。

PRESTファイルは，連結できない。

入力レコードの連結

固定長順編成ファイルの複数のレコードを連結して，連結した複数のレコードを論理的な1入力レコードとして処理する。

出力ファイルへの追加書き

環境変数BJEX_SCOPY_DISP_MODの定義によって，MODとして処理するか，またはOLDとして処理するかを選択できる。環境変数でMODを選択したとき，DD要素でDISP="MOD"を指定すると，該当するファイルに対して追加書きができる。追加書きが有効なファイル種別などの詳細は，「3.4.2(1)(e)　MODパラメータ」を参照。

環境変数BJEX_SCOPY_DISP_MODの設定値ごとの内容を次の表に示す。

表3‒42　環境変数BJEX_SCOPY_DISP_MODの設定と内容

環境変数BJEX_SCOPY_DISP_MODの設定

内容

MOD

MODとして処理する

OLD

OLDとして処理する

MODとOLD以外，または設定されていない

MODとして処理する

(b)　ディレクトリにファイル作成

制御文で順編成の入力をグループに分割すると，各グループを1個のファイルにして，ディレクトリにファイルが作成される。

また，出力のディレクトリが既存のものであれば，これら各グループは追加のファイルとして，ディレクトリに新たに作成される。ただし，出力ディレクトリに同一ファイル名がある場合には，そのファイルは作成されない。

レコードのフィールドと，そのフィールド内の文字の並びを指定することでグループが分割され，指定した文字の並びをレコード内に見つけると，そこまでのレコードをグループとして1個のファイルが作成される。この順編成の入力を分割してできた1つのグループをレコードグループと呼ぶ。

(c)　レコードの編集

入力ファイルの各レコードの指定したフィールドを編集して，出力ファイルのレコードを作成する。指定した文字の並びをレコード内に見つけると，そこまでのレコードをレコードグループとして，1個のファイルが作成される。レコードグループの指定は，ディレクトリにファイルを作成する場合と同じである。

レコード編集できるのは，固定長順編成ファイルと可変長順編成ファイルである。テキストファイルはレコード編集できない。

レコードの編集には，次の方法がある。

図3‒39　レコードの編集方法

(1)入力レコードの指定位置から指定した長さのフィールド（内の情報）を，出力レコードの指定位置へ移す。

(2)入力レコードの指定位置から指定した長さのフィールド（内の情報）を変換して，出力レコードの指定位置へ移す。変換には次の2とおりがある。

PZ変換

入力フィールドのデータを内部10進形式と見なし，外部10進形式に変換する。このとき，入力フィールドの長さをLとすると，出力フィールド長は，出力長の指定がなければ2L-1となる。なお，入力データの妥当性はチェックしない。

ZP変換

入力フィールドのデータを外部10進形式と見なし，内部10進形式に変換する。このとき，入力フィールドの長さをLとすると，出力フィールド長は，出力長の指定がなければ（L+2）/2を超えない最大の整数となる。なお，入力データの妥当性はチェックしない。

(3)出力レコードの指定位置から指定の文字列を埋め込む。

(4)未編集フィールドへ埋め込み文字をセットする。未編集フィールド（出力レコード上で編集が指定されなかった部分）には，空白または制御文での指定文字を埋め込む。

(2)　入出力構成

bjexu_scopyの入出力構成を次の図に示す。

図3‒40　bjexu_scopyの入出力構成

(a)　入力

入力ファイル

複写の入力となる，複写元のファイル。

PRESTファイルやダミーファイルも指定できる。

制御文（SYSIN）

bjexu_scopyの処理内容を指定する。制御文には次のものがある。

GENERATE文

RECORD文

MEMBER文

INPFILE文

OUTFILE文

(b)　出力

出力ファイル

複写の出力となる，複写先のファイル。

PRESTファイルやダミーファイルも指定できる。

メッセージ（SYSPRINT）

bjexu_scopyが出力するメッセージの出力先。

(c)　終了コード

bjexu_scopyの終了コードを次の表に示す。

表3‒43　bjexu_scopyの終了コード

終了コード

意味

0

正常に処理を終了した。

4

エラーが発生したが無視して続行した。詳細については，出力されたメッセージを参照のこと。※

12

次に示すような回復できないエラーが発生したため，処理を打ち切り，ジョブステップを終了する。文法解析終了後の複写処理中にエラーが発生した場合，出力ファイルの内容は保証されない。

実行できない制御文を指定している。

制御文や入出力ファイルのオープンエラー，I/Oエラー

注※　文法的に正しいが，要求された処理を実行できなかった場合，またはSYSPRINTでオープンエラーが発生した場合の終了コードは4になる。

(3)　ジョブ定義XMLファイル

bjexu_scopyを実行する場合は，次に示すEXEC要素とDD要素の指定が必要である。

(a)　EXEC要素

EXEC要素のPGMにbjexu_scopyを指定する。

<EXEC PGM="bjexu_scopy" />

(b)　SYSPRINTのDD要素

bjexu_scopyが発行するメッセージの出力先を指定する。なお，DD連結指定はできない。出力先には，SYSOUTデータファイルや恒久ファイルを指定できる。

SYSPRINTが使用できない状態の場合，経過メッセージは出力されない。出力メッセージの詳細については，「10.　メッセージと終了コード」を参照のこと。

(c)　SYSUT1のDD要素

複写元となる入力ファイルを指定する。

複数のファイルを連結して指定できる。このとき，各ファイルの属性は一致していなければならない。なお，ファイルの属性が一致しているかのチェックは行わない。固定長順編成ファイルの場合，指定されたレコード長で処理し，最終レコードの長さが不一致のときは，終了コードが12で終了する。

PRESTファイルは，連結できない。

レコード数が0件のファイルを指定してもエラーにはならないで，終了コード0で終了する。

(d)　SYSUT2のDD要素

複写先となる出力ファイルを指定する。また，複数のファイルに分割して出力するときは，複写先となる出力ディレクトリを指定し，ファイル名をMEMBER文で指定する。ディレクトリを指定し，MEMBER文で指定しないとエラーになる。なお，DD連結指定はできない。

(e)　SYSINのDD要素

bjexu_scopy制御文を指定する。または，この制御文が記述されたファイルのパスを指定する。DD連結指定はできない。

(4)　bjexu_scopy制御文

bjexu_scopy制御文と機能を次の表に示す。

表3‒44　bjexu_scopy制御文と機能

制御文名

機能

INPFILE文

入力ファイルのファイル形式を指定する。

OUTFILE文

出力ファイルのファイル形式を指定する。

GENERATE文

ファイルの複写，編集の開始を指定する。

MEMBER文

ファイルを指定する。

RECORD文

グループに分割するための識別文字とレコード編集の情報を指定する。

bjexu_scopy制御文に指定できる組み合わせと処理内容の対応を次の表に示す。

表3‒45　bjexu_scopy制御文に指定できる組み合わせと処理内容

制御文

入力ファイル形式

処理内容

INPFILE

OUTFILE

GENERATE

MEMBER

RECORD

F

V

A

LENGTHあり

LENGTHなし

×

×

×

×

×

×

指定できる

指定できる

指定できる

単純複写

×

×

×

○

×

×

指定できる

指定できる

指定できる

単純複写

○

○※1

×

×

×

×

指定できる

指定できる

指定できる

形式変換/単純複写※2

○

○※3

○※4

−

×

×

指定できる

指定できない

指定できない

形式変換

○

○※1

−

○

×

×

指定できる

指定できる

指定できる

形式変換/単純複写※2

○

○※3

○※4

−

○

○※5

指定できる

指定できない

指定できない

ディレクトリにファイル作成

○

○※1

−

○

○

○※5

指定できる

指定できる

指定できない

ディレクトリにファイル作成

○

○※3

○※4

−

×

○

指定できる

指定できない

指定できない

レコード編集

○

○※1

−

○

×

○

指定できる

指定できる

指定できない

レコード編集

（凡例）

○：指定あり。

×：指定なし。

−：同時指定できない。

F：固定長順編成ファイル。

V：可変長順編成ファイル。

A：テキストファイル。

注※1

省略できる。INPFILE文の指定値を仮定する。

注※2

次のどちらかに該当するとき，単純複写になる。ただし，入力ファイルが可変長順編成ファイルでDD連結されている場合を除く。

INPFILE文とOUTFILE文の指定が同じ。

OUTFILE文でレコード長の指定を省略，またはOUTFILE文の指定を省略。

注※3

省略できる。GENERATE文のLENGTHオペランドの指定値を仮定する。

注※4

INPFILEが固定長順編成ファイルのとき，GENERATE文のLENGTHオペランドを指定できる。可変長順編成ファイルやテキストファイルのときは指定しないこと。

注※5

省略できる。

(a)　INPFILE文

形式

[記号] △₁ INPFILE △₁

FILEORG=ファイル形式[,RECLEN=レコード長][,RECCOUNT][,CHKEMPTY]

オペランド

FILEORG=ファイル形式

bjexu_scopy制御文の入力ファイルのファイル形式を指定する。

ファイル形式〜((F｜V｜A))

F：固定長順編成ファイル（COBOLで作成したファイル，ファイルサイズがレコード長の整数倍であるバイナリファイル）であることを示す。

V：可変長順編成ファイル（COBOLで作成したファイル）であることを示す。

A：テキストファイル（COBOLまたはテキストエディタで作成したファイル）であることを示す。テキストファイルの各行（テキストレコード）は，改行文字（X'0A'）で区切られている。

RECLEN=レコード長

bjexu_scopy制御文の入力ファイルのレコード長を指定する。

レコード長　〜＜符号なし整数＞((1〜65535))

レコード長を指定する。FILEORG=Fを指定した場合は，必ず指定する必要がある。その他の形式のときは指定しないこと。指定した場合はエラーとなる。

RECCOUNT

単純複写時，ファイルのレコードサイズに基づいたレコード数をKAKD2138-Iメッセージに表示することを指定する。省略時は，レコード長が65535バイトのレコードを出力したときのレコード数を表示する。

固定長順編成ファイルの場合，FILEORG=FとRECLENオペランドとともに指定する必要がある。

可変長順編成ファイルを単純複写する場合，レコード単位に入出力を行うので，RECCOUNTオペランド指定がない単純複写と比較して性能が低下する。

入力ファイルがテキストファイルのときは，指定できない。指定すると，エラーとなる。

CHKEMPTY

入力が可変長順編成ファイルのとき，レコード数が0件のファイルであればエラーにすることを指定する。省略すると，入力ファイルのレコード数が0件であってもエラーにしないで，レコード数が0件の出力ファイルを作成する。

入力ファイルが可変長順編成ファイル以外のときは，指定できない。指定すると，エラーとなる。単純複写のときは，指定しても無効で，エラーにならない。

注意事項

制御文の先頭に指定すること。

ほかの制御文が1つも指定されていないとき，およびLENGTHオペランド指定なしのGENERATE文だけを指定したときは省略できる。その他の場合は省略できない。

すべての制御文が省略されたとき，およびLENGTHオペランド指定なしのGENERATE文だけを指定したときは，入力ファイルの実際の形式に関係なく，入力ファイルをそのまま出力ファイルに複写する。可変長順編成ファイルをDD連結するときは，INPFILE文でFILEORG=Vを指定する必要がある。

(b)　OUTFILE文

形式

[記号] △₁ OUTFILE △₁

FILEORG=ファイル形式[,RECLEN=レコード長][,MINLEN=最小レコード長]

オペランド

FILEORG=ファイル形式

bjexu_scopy制御文の出力ファイルのファイル形式を指定する。

ファイル形式〜((F｜V｜A))

F：固定長順編成ファイル（COBOLで作成したファイル，ファイルサイズがレコード長の整数倍であるバイナリファイル）であることを示す。

V：可変長順編成ファイル（COBOLで作成したファイル）であることを示す。

A：テキストファイル（COBOLまたはテキストエディタで作成したファイル）であることを示す。テキストファイルの各行（テキストレコード）は，改行文字（X'0A'）で区切られている。

RECLEN=レコード長

bjexu_scopy制御文の出力ファイルのレコード長を指定する。

レコード長　〜＜符号なし整数＞((1〜65535))

レコード長を指定する。可変長順編成ファイルの場合は最大レコード長を指定する。テキストファイルの場合は指定しないこと。指定した場合はエラーとなる。

出力が固定長順編成ファイルの場合

RECLENオペランドの指定値が出力ファイルのレコード長になる。

単純複写を除く複写や編集時に，RECLENオペランドを省略した場合，次のように仮定する。

・入力が可変長順編成ファイルのときは，FIELD編集の結果のレコードの長さがレコード長になる。

・入力が固定長順編成ファイルのときは，環境変数BJEX_SCOPY_FIXRECLENの定義によって出力レコード長の求め方を選択できる。指定値ごとの出力レコード長を決める優先順位を次の表に示す。

表3‒46　出力レコード長の決定方法

環境変数BJEX_SCOPY_FIXRECLENの設定

出力レコード長の優先順位

FIELD

GENERATE

INPFILE

FIELD

1

2

3

NOFIELD

−

1

2

FIELDとNOFIELD以外，または設定されていない

1

2

3

（凡例）

FIELD：RECORD文のFIELDオペランドで編集した結果の長さ。

GENERATE：GENERATE文のLENGTHオペランドの指定値。

INPFILE：INPFILE文のRECLENオペランドの指定値。

1〜3：出力レコード長を決定する優先順位（優先順位は1が最も高い）。

−：対象外。

RECORD文のFIELDオペランドで編集した結果の長さが出力レコード長を超えるとエラーになる。

RECORD文やRECORD文のFIELDオペランドの指定がない場合，入力レコード長が出力レコード長と一致しないときは，次に示す処理となる。

「入力レコード長＞出力レコード長」の場合，後ろを切り捨てる。

「入力レコード長＜出力レコード長」の場合，残りはRECORD文のFILLオペランドで指定した文字を埋め込む。FILLオペランドの指定を省略した場合は空白（X'20'）を埋め込む。

出力が可変長順編成ファイルの場合

単純複写を除く複写や編集処理でRECLENオペランド省略時は，最大レコード長に65535を仮定する。

出力ファイルの最大レコード長を超える編集はエラーになる。次に示す処理となる。

「入力または編集結果のレコード長＞出力ファイルの最大レコード長」の場合はエラーとなる。

「入力または編集結果のレコード長≦出力ファイルの最大レコード長」の場合，入力または編集結果のレコード長の長さで出力する。

MINLEN=最小レコード長

出力ファイルが可変長順編成ファイルのとき，最小レコード長を指定する。このオペランドを指定すると，最小レコード長より短いレコードを出力しようとしたときにエラーになるので，必要な情報が含まれていることをチェックできる。

固定長順編成ファイルやテキストファイルの場合は指定しないこと。指定した場合はエラーとなる。

最小レコード長　〜＜符号なし整数＞((1〜65535))

単純複写を除く複写や編集処理でMINLENオペランド省略時は，最小レコード長に1を仮定する。

出力ファイルの最小レコード長に満たない編集はエラーとなる。

注意事項

INPFILE文の次に指定すること。

RECLENおよびMINLENオペランドを指定するときは，「最大レコード長≧最小レコード長」になるように指定する。指定に誤りがあると，エラーとなる。

(c)　GENERATE文

形式

[記号] △₁ GENERATE △₁

[LENGTH=入力論理レコード長]

オペランド

LENGTH=入力論理レコード長

入力論理レコード長　〜＜符号なし整数＞((1〜65535))

固定長順編成ファイルのレコードを連結，または切り捨てるときに指定する。

入力論理レコード長を指定する。このオペランドで，入力ファイルのレコード長をオペランドで指定した入力論理レコード長に変更し，複数の入力レコードを連結して処理できる。

入力論理レコードは，複写や編集のための新たな入力レコードになり，その編集結果が出力レコードになる。

このオペランドを指定した場合，次の手順でレコード連結される。

　1.　指定した入力論理レコード長に達するまで，複数の入力レコードを連結する。

　2.　入力論理レコード長が入力レコード長の倍数でない場合，連結後の端数部分を切り捨てる。

　3.　連結後の入力レコードの長さが入力論理レコード長に達しない場合，出力しない。

　4.　上記の手順で連結したレコードを1つの入力論理レコードとして処理する。したがって，レコードを編集する場合，入力位置は連結後の入力論理レコードに対するものを指定する。

このオペランドは，入力ファイル形式が固定長順編成ファイルのときだけ指定できる。省略した場合はレコードを連結しない。

このオペランドを指定して出力ファイルのレコード長を省略した場合，出力ファイルのレコード長にこのオペランドで指定した値が仮定される。なお，可変長順編成ファイルおよびテキストファイルにこのオペランドを指定した場合はエラーとなる。

このオペランドを使用した例を次に示す。

図3‒41　LENGTHオペランドを使用した例

注意事項

INPFILE文とOUTFILE文の次に記述すること。

GENERATE文は1行だけ指定できる。1つのステップ内に2行以上記述するとエラーになる。

(d)　MEMBER文

形式

[記号] △₁ MEMBER △₁

NAME=(ファイル名)

オペランド

NAME=(ファイル名)　〜＜引用文字列または特殊文字列＞

作成するファイル名を指定する。SYSUT2の指定がディレクトリの場合に指定できる。

この制御文に続き，RECORD文でレコードグループを指定する。1つのMEMBER文に対して複数個のRECORD文を指定できる。RECORD文がなければ，入力ファイルの終わりまでが1つのファイルとして，このオペランドで指定したファイル名が与えられる。

ファイル名には，パス名の区切りを示す文字（/：スラント）を指定できない。

注意事項

出力がディレクトリでない場合，オープンエラーになる。

複数のMEMBER文を指定するときは，RECORD文のIDENTオペランドでレコードグループを指定する必要がある。MEMBER文を1つだけ指定したとき，および複数のMEMBER文を指定したときの最後のRECORD文のIDENTオペランドは省略できる。IDENTオペランドを省略すると，ファイルの終わりまでが同一のレコードグループとして扱われる。

MEMBER文を1つだけ指定するときは，RECORD文を省略できる。また，複数のMEMBER文を指定するとき，最後のMEMBER文に対するRECORD文は省略できる。RECORD文を省略すると，ファイルの終わりまでが同一のレコードグループとして扱われる。

先頭のMEMBER文の前にRECORD文を指定した場合，エラーになる。

MEMBER文で指定したファイルがすでに存在するときは，エラーになる。

(e)　RECORD文

形式

[記号] △₁ RECORD △₁

[IDENT=(文字列長，最終レコード情報，入力位置)]

[，FIELD=([フィールド長],[入力位置|フィールド情報],[PZ|ZP]

　,[出力位置][,出力長]）]…

[，FILL=埋め込み文字｜ X'埋め込み文字' ]

オペランド

IDENT=(文字列長，最終レコード情報，入力位置)

順編成の入力をレコードグループに分割するとき，レコードグループの最終レコードを識別する情報を指定する。

文字列長　〜＜符号なし整数＞((1〜8))

最終レコード情報の文字列長を示す。

最終レコード情報　〜＜引用文字列＞((1〜8バイト))

最終レコードを識別する文字列を指定する。文字列長サブオペランド値を指定した場合，このオペランドに指定した文字列（先頭と末尾の引用符は除く）の長さは，文字列長サブオペランド値と一致しなければならない。

入力位置　〜＜符号なし整数＞((1〜65535))

レコードの先頭からの位置を指定する。GENERATE文でLENGTHオペランドを指定しているときは，入力論理レコードの先頭からの位置を指定する。

レコードの指定された入力位置から指定された長さが，最終レコードの情報で示された文字列と一致すれば，それが最終レコードとなる。

複数のRECORD文を連続して指定できる。複数のRECORD文を指定するときは，IDENTオペランドでレコードグループを指定する必要がある。最後のRECORD文だけは，IDENTオペランドを省略できる。

IDENTオペランドを省略すると，ファイルの終わりまでが同一のグループとして扱われる。

FIELD=([フィールド長],[入力位置｜フィールド情報],[PZ｜ZP],[出力位置][,出力長])

レコードの編集方法を指定する。1つのRECORD文に複数指定できる。

出力ファイルが可変長順編成ファイルのとき，編集してできたレコードの長さがレコード長になる。

入力レコードまたは入力論理レコードの内容を編集しないで出力レコードの先頭に複写するときは，FIELDオペランドを省略できる。それ以外のときは，FIELDオペランドで編集方法を指定する必要がある。

FIELDオペランドを省略したとき，環境変数BJEX_SCOPY_NOFIELD_TRUNCの定義によって複写する入力レコードを80バイトに切り詰めるかどうかを選択できる。指定値ごとの動作を次の表に示す。

表3‒47　環境変数BJEX_SCOPY_ NOFIELD_TRUNCの設定ごとの制限

環境変数BJEX_SCOPY_ NOFIELD_TRUNCの設定

出力レコード長

YES

80バイトに切り詰める

NO

80バイトに切り詰めない

YESとNO以外，または設定されていない

80バイトに切り詰めない

フィールド長　〜＜符号なし整数＞《80》((1〜65535))

入力フィールドの長さを示す。複写の場合は，出力フィールドの長さに一致する。変換の場合には，出力フィールドの長さが変化する。

出力位置からレコード長の最後までの長さが指定できる最大値になる。

入力位置　〜＜符号なし整数＞《1》((1〜65535))

入力フィールドの位置を入力レコードの先頭からのバイト数で示す（レコードの先頭を1とする）。

GENERATE文でLENGTHオペランドを指定しているときは，入力論理レコードの先頭からの位置を指定する。

フィールド情報　〜＜引用文字列＞((1〜40バイト))

文字列を埋め込む場合，埋め込む文字列をアポストロフィで囲んで指定する。最大で40バイト指定できる。

PZ｜ZP

PZを指定した場合，入力フィールドのデータを内部10進形式とし，外部10進形式に変換する。

ZPを指定した場合，外部10進形式から内部10進形式に変換する。

PZもZPも指定しなかった場合，入力フィールドのデータは文字列となり，変換しないで転送する。

変換での妥当性はチェックしない。あらかじめ正しい形式のデータを設定しておく必要がある。

変換後の内部10進形式の符号（最終バイト下位4ビット）は，正の場合（1100）₂，負の場合は（1101）₂とする。変換元内部10進数の最終バイト下位4ビットが（1101）₂の場合は負とし，（1101）₂以外であれば正となる。

外部10進形式の符号位置は，最終バイト上位4ビットとする。変換後は正の場合は3，負の場合は7とする。変換前の外部10進数の最終バイト上位4ビットが7の場合は負とし，7以外であれば正となる。外部10進形式のゾーン部（各バイトの上位4ビット）は3とする。

外部10進数は次に示す形式とする。

ゾーン部には3の値を，数字部には0〜9の値を指定する。

また，符号部は次に示す値のどちらかを指定する。

　3：正

　7：負

内部10進数は次に示す形式とする。

数字部には0〜9の値を指定する。

また，符号部には次に示す値のどれかを指定する。

　（1100）₂：正

　（1101）₂：負

　（1111）₂：絶対値（変換した結果がこの値になることはない）

出力位置　〜＜符号なし整数＞《1》((1〜65535))

編集後のデータの出力フィールドの開始位置を示す（レコードの先頭を1とする）。

FIELDオペランドの指定順に処理する。直前の結果と重なったときは，上書きされる。

出力長　〜＜符号なし整数＞《80》((1〜65535))

入力フィールドのデータ変換（PZ，ZP変換）を指定した場合，出力フィールドの長さを指定する。

この指定を省略すると，次の値が仮定される。なお，「↓（数値）↓」は小数点切り捨てを表す。

PZ変換の時：入力フィールド長×2−1

ZP変換の時：↓（入力フィールド長＋2）÷2↓

出力長が上記の値より短い場合，変換後のフィールドの右端から指定した長さのフィールドが出力される。

出力長が上記の値より長い場合，PZ変換のときは（30）₁₆が，ZP変換のときは（00）₁₆が左端から埋め込まれる。

データ変換しない場合，出力長を指定しても無視される。

PZ変換とZP変換時の入力フィールドと出力フィールドの関連を次に示す。なお，フィールド内の数値は16進数で記述している。

FILL=埋め込み文字｜X'埋め込み文字'

埋め込み文字　〜＜引用文字列＞《空白》((1文字))

X'埋め込み文字'　〜＜16進数字＞《20》((2文字))

未編集フィールドに埋め込む文字を指定する。Xを指定した場合には16進数字で指定する。

注意事項

IDENTオペランドは，RECORD文に複数指定されたとき，最後の指定を有効にする。

FILLオペランドは，RECORD文に複数指定されたとき，最後の指定を有効にする。

入力位置とフィールド長は，入力レコードまたは入力論理レコード外を指定すると，エラーになる。

フィールド長，出力位置，および出力長は，編集の結果が出力レコード長を超えない値を指定すること。出力ファイルが固定長順編成ファイルの場合，OUTFILE文のRECLENオペランドで出力レコード長を指定したとき，FIELDオペランドの指定がレコード長を超える指定はエラーになる。

RECLENオペランドの指定がないときは，環境変数BJEX_SCOPY_FIXRECLENの定義によって出力レコード長の求め方を選択できる。詳細については，「3.18.7(4)(b)　OUTFILE文」を参照のこと。

出力ファイルが可変長順編成ファイルのとき，出力ファイルの最大レコード長を超える編集はエラーになる。

入力レコードに有効なデータがない場合，空（ゼロバイト）のファイルができることがある。入力ファイルや編集結果のレコードがゼロバイトの場合などが該当する。

(5)　使用例

＜例1＞入力の固定長順編成ファイルを出力ファイルに単純複写する。

図3‒42　入力の固定長順編成ファイルを出力ファイルに単純複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルは，固定長順編成ファイルでレコード長が80バイトであることを指定する。OUTFILE文の指定を省略した場合，INPFILE文で指定した形式を仮定する。

＜例2＞入力の固定長順編成ファイルをレコード編集して出力ファイルに複写する。

図3‒43　入力の固定長順編成ファイルをレコード編集して出力ファイルに複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルのレコード長は，120バイトであることを指定する。

(7)出力ファイルの形式を指定する。出力ファイルのレコード長を80バイトにすることを指定する。

(8)ファイルの複写と編集の開始を指定する。入力レコードを連結しないで入力論理レコードにする。

(9)最初のレコードグループの編集内容を指定する。

(a)IDENTオペランドで，最初のレコードグループに分割する最後のレコードの識別情報を指定する。レコードの1〜8バイトの内容が'FIRSTEND'のレコードを示す。

(b)入力レコードの20バイト目からの31バイトを出力レコードの1バイト目以降へ変換しないで転送する。

(c)入力レコードの100バイト目からの内部10進形式データ15バイトを外部10進形式データに変換して出力レコードの32バイト目以降へ転送する。

(d)FILLオペランドで，未編集領域に埋め込み文字として"＊"を埋め込むことを指定する。

(10)第2レコードグループ（残りのレコード）の編集内容を指定する。

(a)入力レコードの1バイト目からの内部10進形式データ20バイトを外部10進形式データに変換して出力レコードの1バイト目以降へ転送する。

(b)入力レコードの80バイト目からの41バイトを出力レコードの40バイト目以降へ転送する。

(c)IDENTオペランドを指定しないで，入力ファイルの最後まで処理することを指定する。

＜例3＞入力の固定長順編成ファイルをレコード編集してレコードグループ単位に出力ファイルを作成する。

図3‒44　入力の固定長順編成ファイルをレコード編集してレコードグループ単位に出力ファイルを作成

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file0"を指定する。

(4)出力ディレクトリを定義する。ディレクトリは，"files"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルのレコード長は，80バイトであることを指定する。

(7)出力ファイルの形式を指定する。出力ファイルのレコード長は，80バイトであることを指定する。

(8)ファイルの複写と編集の開始を指定する。入力論理レコード長は，80バイトであることを指定する。

(9)最初のレコードグループに付けるファイル名file1を指定する。

(10)最初のレコードグループの最後のレコードを指定する。レコードの1バイト目から8バイトの内容が'FIRSTGRP'のレコードを示す。

(11)第2レコードグループに付けるファイル名file2を指定する。

(12)第2レコードグループの最後のレコードを指定する。レコードの1バイト目から8バイトの内容が'SECNDGRP'のレコードを示す。

(13)第3レコードグループに付けるファイル名file3を指定する。

(14)第3レコードグループの最後のレコードを指定する。レコードの1バイト目から8バイトの内容が'THIRDGRP'のレコードを示す。

(15)第4レコードグループに付けるファイル名file4を指定する。RECORD文を省略し，入力ファイルの最後までを第4レコードグループとして出力することを指定する。

＜例4＞入力の可変長順編成ファイルをレコード編集して出力ファイルに複写する。

図3‒45　入力の可変長順編成ファイルをレコード編集して出力ファイルに複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルは，可変長順編成ファイルであることを指定する。

(7)出力ファイルの形式を指定する。出力ファイルは，可変長順編成ファイルで，最大レコード長を256バイトにすることを指定する。

(8)ファイルの複写と編集の開始を指定する。

(9)レコードグループの編集内容を指定する。

(a)入力レコードの1バイト目からの内部10進形式データ20バイトを外部10進形式データに変換し，出力レコードの1バイト目以降へ転送する。

(b)入力レコードの61バイト目からの20バイトを出力レコードの61バイト目以降へ変換しないで転送する。

(c)FILLオペランドで，未編集領域に埋め込み文字として"+"を埋め込むことを指定する。

＜例5＞入力の固定長順編成ファイルを可変長順編成ファイルに形式変換して複写する。

図3‒46　入力の固定長順編成ファイルを可変長順編成ファイルに形式変換して複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルは，固定長順編成ファイルでレコード長が80バイトであることを指定する。

(7)出力ファイルの形式を指定する。出力ファイルは，可変長順編成ファイルで，最大レコード長を80バイトにすることを指定する。

(8)ファイルの複写と編集の開始を指定する。

＜例6＞入力の可変長順編成ファイルを固定長順編成ファイルに形式変換して複写する。

図3‒47　入力の可変長順編成ファイルを固定長順編成ファイルに形式変換して複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルは，可変長順編成ファイルであることを指定する。

(7)出力ファイルの形式を指定する。出力ファイルは，固定長順編成ファイルで，レコード長を80バイトにすることを指定する。

(8)ファイルの複写と編集の開始を指定する。

(9)入力レコードの1バイト目からの80バイトを出力レコードの1バイト目以降へ変換しないで転送する。

＜例7＞入力の固定長順編成ファイルを出力ファイルに追加書きで単純複写する。

図3‒48　入力の固定長順編成ファイルを出力ファイルに追加書きで単純複写

(1)bjexu_scopyを実行する。

(2)メッセージ出力先にSYSOUTデータファイルのAクラスを指定する。

(3)入力ファイルを定義する。ファイルは，"file1"を指定する。

(4)出力ファイルを定義する。ファイルは，"file2"を指定する。追加書きするためにDISP="MOD"を指定する。

(5)制御文の入力元を定義する。DD要素の中に入力データがあることを指定する。

(6)入力ファイルの形式を指定する。入力ファイルは，固定長順編成ファイルでレコード長が80バイトであることを指定する。OUTFILE文の指定を省略した場合，INPFILE文で指定した形式を仮定する。

3.18.8　bjexu_ismutおよびbjexu_ismut64（索引順編成ファイルの作成，削除，索引順編成ファイルと順編成ファイルの複写，変換および併合）

(1)　機能

索引順編成ファイルの作成，削除，索引順編成ファイルおよび順編成ファイルの複写，変換および併合ができる。

(a)　ファイルの作成（DEFINE文）

索引順編成ファイルを作成する。

可変長索引順編成ファイルを作成する場合

レコード長が100バイト，最小レコード長が10バイト，キー長が8バイトで，キーはレコードの先頭にあり，キーの属性が文字型であるファイルを作成する。

DEFINE ISAM,DD=索引順編成ファイル用dd要素名,
　　ISRECL=(100,10),
　　ISRECFM=V,
　　ISKEY=(8,0,C)

固定長索引順編成ファイルを作成する場合

レコード長が100バイト，キー長が4バイトで，キーはレコードの先頭にあり，キーの属性が4バイト整数型であるファイルを作成する。

DEFINE ISAM,DD=索引順編成ファイル用dd要素名,
　　ISRECL=(100),
　　ISRECFM=F,
　　ISKEY=(4,0,L)

(b)　索引順編成ファイルおよび順編成ファイルの複写，変換および併合（REPRO文）

ファイルの複写とは，同じ編成のファイルにデータを入れることである。ファイルの変換とは，編成の異なるファイルにデータを入れることである。また，ファイルの併合とは，2つのファイルを1つのファイルにすることである。REPRO文の機能の共通の内容について説明する。個別の内容については，(c)〜(e)の説明を参照のこと。

入出力ファイルの組み合わせと操作内容を次の表に示す。

表3‒48　入出力ファイルの組み合わせと操作内容

入力

出力

ファイル編成

レコード種別

索引順編成ファイル

順編成ファイル

固定長レコード

可変長レコード

固定長レコード

可変長レコード

索引順編成ファイル

固定長

レコード

◎

×

○

×

可変長

レコード

×

◎

×

○

順編成ファイル

固定長

レコード

○

×

◎

×

可変長

レコード

×

○

×

◎

（凡例）

◎：複写と併合ができる。

○：変換と併合ができる。

×：指定できない。

注意事項

(1)出力ファイルが索引順編成ファイルの場合は，出力ファイルにデータがないときに複写または変換となる。すでにデータがあるときは併合となる。

(2)出力ファイルが順編成ファイルの場合はデータの有無に関係なく，DD要素でDISP="OLD"，"NEW"または"RNW"を指定したときに複写または変換となる。このとき，データがあっても削除される。順編成ファイルへ併合するときは，DD要素でDISP="MOD"を指定する必要がある。

(3)レコード長は変換しない。固定長で入力ファイルと出力ファイルのレコード長が異なる場合は解析エラーとなる。

(4)出力ファイルが索引順編成ファイルの場合，入力ファイルの各レコードには出力ファイルで設定されているキーがすべて存在することが必要である。そのため，レコード長が出力ファイルの最小レコード長以上である必要がある。

(5)索引順編成ファイルを索引順編成ファイルに複写した場合，データファイルのレコード格納順は，入力ファイルで指定したキーの昇順になる。副キーを指定する場合はキー番号で指定する。

(6)ファイルの複写，変換および併合の範囲指定では，入力ファイルの読み込みで指定したキーの属性に従った値を指定できる。

(7)キー属性は，文字型（CHARTYPE），2バイト整数型（INTTYPE）または4バイト整数型（LONGTYPE）のどれかを指定できる。文字型のキーは，コード体系では比較されないで，バイナリで比較される。

(8)索引順編成ファイルに併合する場合，出力ファイルに入力レコードと同じ主キー値を持つレコードが存在したとき，既存のレコードを置き換えるかどうかは制御文の指定に従う。置き換えの指定がない場合，重複を許可しないキーで重複があったときはエラーとなり，レコードは出力されない。

(9)併合の場合，追加するレコードは出力ファイルの物理的な最終レコードのあとに入力順で追加される。索引順編成ファイルへの併合で，出力ファイルがデータファイルの削除レコードを再利用する指定の場合，併合後の物理的なレコードの順番は不定となる。順番は，ISAMの仕様に従う。

(10)コマンド実行時はISAMの排他モードでファイルを占有する。ISAMユティリティなどでほかの端末から同じファイルに同時にアクセスできない。ファイルを占有できなかった場合は処理を中止する。

(11)出力ファイルが索引順編成ファイルの場合，主キーがないファイルを指定できない。また，主キーの重複を許可しているファイルを指定できない。

(c)　ファイルの複写

索引順編成ファイル中のデータを，同じ編成の索引順編成ファイル用に複写する。または，順編成ファイル中のデータを，同じ編成の順編成ファイル用に複写する。複写範囲も指定できる。

索引順編成ファイルの複写では，複写先ファイルのレコード格納順は複写元ファイルで指定しているキーの順序になる。

索引順編成ファイルまたは順編成ファイル全体を複写する場合

REPRO INDD=複写元ファイル用dd要素名,※1
　　OUTDD=複写先ファイル用dd要素名※1

索引順編成ファイルまたは順編成ファイルを部分的に複写する場合

REPRO INDD=複写元ファイル用dd要素名,※1
　　OUTDD=複写先ファイル用dd要素名,※1
　　SKIP=複写処理開始前に読み飛ばすレコード数,※2
　　COUNT=複写処理するレコード数※2

索引順編成ファイルを部分的に複写する場合

REPRO INDD=複写元ファイル用dd要素名,※1
　　OUTDD=複写先ファイル用dd要素名,※1
　　FROMKEY=複写処理を開始するキーの値,※2
　　TOKEY=複写処理を終了するキーの値※2

注※1　複写元ファイルと複写先ファイルはファイル編成が同じものを指定する。

注※2　複写範囲を指定する。複写範囲を指定するオペランドには，次の表に示すものがある。

表3‒49　複写範囲を指定するオペランド

入力ファイル

開始位置の指定

終了位置の指定

索引順編成ファイル

FROMKEY

TOKEY

SKIP

COUNT

順編成ファイル

SKIP

COUNT

注

索引順編成ファイルの場合，複写先のファイルをあらかじめ作成しておく必要がある。

レコード単位で複写しているため，複写範囲を指定しない複写であればISAMが提供するユティリティコマンドを使用した方が処理時間を短くできる。

(d)　ファイルの変換

複写元ファイルのファイル編成を変えて，複写先ファイルに複写する。変換範囲も指定できる。

索引順編成ファイル中のデータを，順編成ファイルに変換する。

順編成ファイル中のデータを，索引順編成ファイルに変換する。変換後の変換先ファイルのレコード格納順は変換元ファイルと同じ順序になる。

変換元ファイル全体を変換する場合

REPRO INDD=変換元ファイル用dd要素名,
　　OUTDD=変換先ファイル用dd要素名

変換元ファイルを部分的に変換する場合

REPRO INDD=変換元ファイル用dd要素名,
　　OUTDD=変換先ファイル用dd要素名,
　　SKIP=変換処理開始前に読み飛ばすレコード数,※
　　COUNT=変換処理するレコード数※

索引順編成ファイルを部分変換する場合

REPRO INDD=変換元ファイル用dd要素名,
　　OUTDD=変換先ファイル用dd要素名,
　　FROMKEY=変換処理を開始するキーの値,※
　　TOKEY=変換処理を終了するキーの値※

注※

変換範囲を指定する。変換範囲を指定するオペランドには，次のものがある。

表3‒50　変換範囲を指定するオペランド

変換元ファイル

開始位置の指定

終了位置の指定

索引順編成ファイル

FROMKEY

TOKEY

SKIP

COUNT

順編成ファイル

SKIP

COUNT

注

索引順編成ファイルの場合，変換先のファイルをあらかじめ作成しておく必要がある。

順編成ファイルを索引順編成ファイルに変換する場合，変換元ファイルのレコード順で出力される。索引順編成ファイルに変換する場合，変換先ファイルに指定できる最大レコード長は65,503バイトである。

索引順編成ファイルを順編成ファイルに変換する場合，変換先ファイルに指定できる最大レコード長は65,535バイトである。

レコード単位で変換しているため，変換範囲を指定しない変換であればISAMが提供するユティリティコマンドを使用した方が処理時間を短くできる。

(e)　ファイルの併合

ファイルの併合とは，併合元ファイルと併合先ファイル（併合先ファイルにもレコードが入っている）を合わせて1つのファイルにすることである。併合元ファイルには，索引順編成ファイルおよび順編成ファイルのどちらかを指定できる。

併合元ファイルの併合範囲を指定できる。また，索引順編成ファイルへの併合では，入力レコードと出力先のレコードのキー状態によって併合方法を指定できる。併合方法を指定するオペランドと機能を次の表に示す。

表3‒51　併合方法を指定するオペランドと機能

オペランド

機能

REPLACE

同一キーを持ったレコードが入力された場合，レコードを置き換える。

NOREPLACE

同一キーを持ったレコードが入力された場合，処理を中止する。

IGNORE

同一キーを持ったレコードが入力された場合，キーが重複するレコードは出力しないで以降の処理を続行する。

索引順編成ファイルへの併合

索引順編成ファイルへの併合では，併合元ファイルのレコードのキーと併合先ファイルのレコードのキーを比較する。キーが一致してREPLACEオペランドの指定がある場合は，併合先ファイルのレコードを置き換える。キーが不一致の場合は，併合先ファイルにレコードを挿入または追加する。

REPRO INDD=併合元ファイル用dd要素名,
　　OUTDD=併合先ファイル用dd要素名,
　　REPLACE

順編成ファイルへの併合

順編成ファイルへの併合では，併合先ファイルの最終レコードに続けて併合元ファイルのレコードを追加する。

REPRO INDD=併合元ファイル用dd要素名,
　　OUTDD=併合先ファイル用dd要素名

併合範囲を指定した併合

ファイルの併合では，併合元ファイルの範囲を指定できる。

REPRO INDD=併合元ファイル用dd要素名,
　　OUTDD=併合先ファイル用dd要素名,
　　SKIP=併合処理開始前に読み飛ばすレコード数,※
　　COUNT=併合処理するレコード数※

注※

併合元ファイルの併合範囲を指定する。併合範囲を指定するオペランドには，次のものがある。

表3‒52　併合範囲を指定するオペランド

併合元ファイル

開始位置の指定

終了位置の指定

索引順編成ファイル

FROMKEY

TOKEY

SKIP

COUNT

順編成ファイル

SKIP

COUNT

注

索引順編成ファイルの場合，併合先のファイルをあらかじめ作成しておく必要がある。

順編成ファイルに併合する場合，併合先ファイルを定義するDD要素でDISP="MOD"を指定する。

順編成ファイルを索引順編成ファイルに併合する場合，併合元ファイルのレコード順で出力される。

順編成ファイルに併合する場合，併合先ファイルに指定できる最大レコード長は65,535バイトである。

索引順編成ファイルに併合する場合，併合先ファイルに指定できる最大レコード長は65,503バイトである。

併合する場合，併合処理中に障害が発生したときに備えて，あらかじめバックアップを取得することを推奨する。併合処理中に障害が発生すると，ファイル操作ユティリティは終了コード8で終了するため，バックアップから回復できる。

(f)　ファイルの複写と変換の処理時間短縮

入力ファイルをそのまま複写や変換する指定のとき，ISAMのユティリティコマンドを実行して複写や変換の処理時間を短縮できる。

bjexu_ismutおよびbjexu_ismut64は，ISAMファイル中の一部のキー範囲のレコードを複写，変換，併合や順編成ファイルをすでにあるISAMファイルに併合できる。このため，1レコードずつキーをチェックして，条件に合致したレコードを処理する。対して，ISAMユティリティコマンドのiscpyおよびiscpy64やisconvおよびisconv64は，複数レコードをまとめてそのまま複写や変換するため，bjexu_ismutおよびbjexu_ismut64より複写や変換の処理時間が短い。

入力ファイルをそのまま複写や変換する場合の処理時間を短縮したいとき，環境変数BJEX_ISMUT_HISPEED=YESを指定する。この指定があると，bjexu_ismutおよびbjexu_ismut64は，入力ファイルをそのまま複写や変換する指定のとき，ISAMのユティリティコマンドを実行する。次の表に入出力ファイルの組み合わせとISAMユティリティコマンドの使用可否を示す。

表3‒53　入出力ファイルの組み合わせとISAMユティリティコマンドの使用可否

入力

出力

ファイル編成

レコード種別

索引順編成ファイル

順編成ファイル

固定長レコード

可変長レコード

固定長レコード

可変長レコード

索引順編成ファイル

固定長レコード

◎

−

○

×

可変長レコード

−

◎

−

○

順編成ファイル

固定長レコード

○

−

×

−

可変長レコード

−

○

−

×

（凡例）

◎：入力ファイルをそのまま複写するときISAMユティリティコマンド（iscpyおよびiscpy64）を使用できる。

○：入力ファイルをそのまま変換するときISAMユティリティコマンド（isconvおよびisconv64）を使用できる。

×：ISAMユティリティコマンドを使用できない。

−：指定できない組み合わせ

共通事項

ファイルの変換や複写のとき，ISAMユティリティコマンドのエラーメッセージは，標準エラー出力に出力される。

複写機能

索引順編成ファイルを複写する場合，次のすべての条件を満たすとき，ISAMユティリティコマンド（iscpyおよびiscpy64）を使用する。

INDD，OUTDDおよびCOPYDDオペランド以外のオペランドの指定がない。

出力先の索引順編成ファイル中のレコード数が0件。

変換機能

順編成ファイルを索引順編成ファイルに変換（索引順編成ファイル変換機能），または索引順編成ファイルのデータファイルを順編成ファイルに変換（順編成ファイル変換機能）するとき，ISAMユティリティコマンド（isconvおよびisconv64）を使用する。

順編成ファイルを索引順編成ファイルに変換する場合，キーファイルをソートするために，ISAMコマンドでワークファイルを使用する。そのため，ワークファイルを作成するディレクトリをDD要素で指定できる。DD名が"TEMPDIR"であるDD要素でディレクトリを指定する。省略時は，/tmpまたは/usr/tmpを使用する。

次のすべての条件を満たすとき，ISAMユティリティコマンド（isconvおよびisconv64）を使用する。

INDD，OUTDDおよびCOPYDDオペランド以外のオペランドの指定がない。

入力ファイルが連結されていない。

出力先の索引順編成ファイル中のレコード数が0件である。または，出力先が順編成ファイルのとき，DD要素でDISP="MOD"以外を指定しているか，DISP="MOD"指定のときは，ファイルサイズが0バイトである。

環境変数

環境変数BJEX_ISMUT_HISPEEDの設定値ごとの内容を次の表に示す。

表3‒54　環境変数BJEX_ISMUT_HISPEEDの設定ごとの内容

環境変数BJEX_ISMUT_HISPEEDの設定

内容

YES

ISAMのユティリティコマンドを実行し，ファイルの複写や変換の処理時間を短縮する。

NO

ISAMのユティリティコマンドを実行しない。

レコード単位に複写，変換および併合する。

YESとNO以外，または設定されていない

ISAMのユティリティコマンドを実行しない。

レコード単位に複写，変換および併合する。

(g)　ファイルの削除（DELETE文）

索引順編成ファイルを削除する。

可変長索引順編成ファイルを削除する場合

索引順編成ファイルのdd要素名を指定する。

DELETE ISAM,DD=索引順編成ファイル用dd要素名

(2)　入出力構成

bjexu_ismutおよびbjexu_ismut64の入出力構成を次の図に示す。

図3‒49　bjexu_ismutおよびbjexu_ismut64の入出力構成

(a)　索引順編成ファイルを作成する場合

入力

入力ファイル

ファイルの作成のため，入力ファイルはない。

制御文（SYSIN）

bjexu_ismutおよびbjexu_ismut64の処理内容を次の制御文で指定する。制御文は，(b)の制御文も含めて指定した順に実行される。

・DEFINE文

出力

出力ファイル

新しく作成するファイルが出力ファイルとなる。

メッセージ（SYSPRINT）

bjexu_ismutおよびbjexu_ismut64が出力するメッセージの出力先となる。

(b)　索引順編成ファイル，順編成ファイルを複写，変換および併合する場合

入力

入力ファイル

複写，変換または併合の入力となるファイルとなる。

固定長順編成ファイルとして，ダミーファイルも指定できる。

順編成ファイル（固定長順編成ファイルと可変長順編成ファイル）のときは，PRESTファイルを指定できる。

順編成ファイルの場合は，連結して複数のファイルを指定できる。

PRESTファイルは，連結できない。

制御文（SYSIN）

bjexu_ismutおよびbjexu_ismut64の処理内容を次の制御文で指定する。制御文は，(a)の制御文も含めて指定した順に実行される。

・INPFILE文

・OUTFILE文

・REPRO文

出力

出力ファイル

複写，変換または併合先の出力ファイルとなる。出力先ファイルは，指定によっては同じ形式で2つのファイルに出力できる。

ダミーファイルも指定できる。

順編成ファイル（固定長順編成ファイルと可変長順編成ファイル）の場合は，PRESTファイルを指定できる。

メッセージ（SYSPRINT）

bjexu_ismutおよびbjexu_ismut64が出力するメッセージの出力先となる。

(c)　索引順編成ファイルを削除する場合

入力

入力ファイル

削除するファイル。

制御文（SYSIN）

bjexu_ismutおよびbjexu_ismut64の処理内容を次の制御文で指定する。制御文は，(b)の制御文も含めて指定した順に実行される。

・DELETE文

出力

出力ファイル

ファイルの削除のため，出力ファイルはない。

メッセージ（SYSPRINT）

bjexu_ismutおよびbjexu_ismut64が出力するメッセージの出力先となる。

(d)　終了コード

bjexu_ismutおよびbjexu_ismut64の終了コードを次の表に示す。

表3‒55　bjexu_ismutおよびbjexu_ismut64の終了コード

終了コード

意味

0

正常に処理を終了した。

4

エラーが発生したが無視して続行した。詳細については，出力されたメッセージを参照のこと。※

8

コマンド処理中にエラーが発生した。エラーの発生したコマンドの処理を終了し，ジョブステップを終了する。出力処理中にエラーが発生しており，出力ファイルの内容は保証されない。必要であればあらかじめ出力ファイルのバックアップを取っておく必要がある。詳細については，出力されたメッセージを参照のこと。

12

次のような回復できないエラーが発生したため，コマンド処理を実行しないでジョブステップを終了する。

制御文の指定誤り

制御文（SYSIN）や入出力ファイルのオープンエラー

注※　文法的に正しいが，要求された処理を実行できなかった場合，終了コードは4になる。例えば，DELETE文で指定したファイルが存在しないためにファイルの削除ができなかった場合がある。

(3)　ジョブ定義XMLファイル

bjexu_ismutおよびbjexu_ismut64を実行する場合は，次に示すEXEC要素とDD要素の指定が必要である。

(a)　EXEC要素

ISAMライブラリの32ビット版を使用する場合

EXEC要素のPGMにbjexu_ismutを指定する。

<EXEC PGM="bjexu_ismut" />

ISAMライブラリの64ビット版を使用する場合

EXEC要素のPGMにbjexu_ismut64を指定する。

<EXEC PGM="bjexu_ismut64" />

(b)　SYSPRINTのDD要素

bjexu_ismutおよびbjexu_ismut64が発行するメッセージの出力先を指定する。DD連結指定はできない。出力先には，SYSOUTデータファイルや恒久ファイルを指定できる。

SYSPRINTが使用できない状態の場合，どこにも経過メッセージは出力されない。メッセージの詳細については，「10.　メッセージと終了コード」を参照のこと。

(c)　入力ファイルのDD要素

複写，変換および併合の元となる入力ファイルを指定する。

索引順編成ファイルの場合，ファイル拡張子を除いたファイル名を指定する。また，ジョブ定義XMLファイルに，TYPE="FILE",DISP="OLD"またはDISP="SHR"を指定する。また，第2，第3オペランドでDELETEを指定してはならない。指定したファイル名と一致するファイルがある場合は，ジョブステップ終了時にそのファイルは削除される。指定したファイル名に一致するファイルがない場合は，ジョブステップ終了時に警告メッセージが出力されるが，終了コードには反映されない。

DISP="SHR"を指定すると，ファイルを占有しない指定でオープンする（ISAMのopen関数でISMANULOCKを指定）。このため，DISP="SHR"を指定した複数のジョブで同じファイルを同時に入力できる。

順編成ファイルの場合，複数のファイルを連結して指定できる。このとき，各ファイルの属性は一致させる必要がある。

PRESTファイルは，連結できない。

ファイルの属性が一致しているかどうかはチェックされない。固定長順編成ファイルの場合に，ファイルサイズがレコード長の整数倍でないときはエラーになる。このため，入力ファイルを連結している場合，各ファイルのファイルサイズを確認すること。指定できるDISPオペランドを次の表に示す。

表3‒56　入力ファイルの編成とDISPオペランドの関係

入力ファイル編成

DISPオペランド

OLD

NEW

RNW

MOD

SHR

索引順編成ファイル

○

−

−

−

○※

順編成ファイル

○

−

−

−

○

（凡例）

○：指定できる。

−：指定できない。ただし，指定してもエラーにはならない。

　　指定に従ってファイルが生成される。

注※

DD要素でDISP=”SHR”を指定すると，ISAMファイルを占有しない指定でオープンする。

ただし，RENAMEを指定したときは,ファイルを占有する指定でオープンする。

(d)　出力ファイルのDD要素

索引順編成ファイルを作成する場合，新しく作成するファイルの出力先となる出力ファイルを指定する。DD連結指定はできない。

索引順編成ファイルおよび順編成ファイルを操作する場合，複写，変換または併合の出力先となる出力ファイルを指定する。DD連結指定はできない。

順編成ファイルに出力する場合は，出力ファイルのDD要素にディレクトリを指定できる。ディレクトリを指定する場合，入力ファイルと同じ名称のファイルに出力する。すでに入力ファイルと同じ名称のファイルがある場合は，エラーとなる。

索引順編成ファイルに出力する場合，ファイル拡張子を除いたファイル名を指定し，ジョブ定義XMLファイルのDD要素では，TYPE="FILE",DISP="OLD"を指定する。DISP="NEW"，"RNW"または"MOD"を指定した場合，バッチジョブ実行システムは指定されたパス名に従ってファイルを作成する。しかし，bjexu_ismutおよびbjexu_ismut64からは索引順編成ファイルとして使用できない。また，第2，第3オペランドでDELETEを指定してはならない。指定したファイル名と一致するファイルがある場合は，ジョブステップ終了時にそのファイルは削除される。指定したファイル名に一致するファイルがない場合は，ジョブステップ終了時に警告メッセージが出力されるが，終了コードには反映されない。

バッチジョブ実行システムでは，ジョブ定義XMLファイルに指定することで，索引順編成ファイルを作成できない。複写または変換をする場合，REPRO文を実行する前に，ISAMユティリティやDEFINE文で索引順編成ファイルを作成しておく必要がある。

順編成ファイルに併合する場合は，ジョブ定義XMLファイルのDD要素でDISP="MOD"を指定する。それ以外を指定した場合，複写または変換になり，出力ファイルにあったレコードは，削除される。

COPYDDオペランドを指定することで，複写または変換を行う出力先として2つの異なる出力先を登録できる。この場合，COPYDDオペランドで指定するファイルは，OUTDDオペランドで指定したファイルと同じ形式である必要がある。異なる形式の場合は処理されないでエラーとなる。併合の場合にCOPYDDオペランドを指定したときは，処理しないでエラーとなる。

入力ファイルと出力ファイル（OUTDDオペランドおよびCOPYDDオペランドの指定）には，すべて異なるファイルを指定すること。同じファイルを指定した場合は解析エラーとなる。

出力ファイル編成とDD要素の関係を次の表に示す。

表3‒57　出力ファイル編成とDD要素の関係

出力ファイル編成

DSNオペランド

DISPオペランド

ファイル

ディレクトリ

OLD

NEW

RNW

MOD

SHR

索引順編成ファイル

○

×

○

−※

−※

−※

−

順編成ファイル

○

○

○

○

○

○

−

（凡例）

○：指定できる。

×：指定できない。指定するとエラーとなる。

−：指定できない。ただし，指定してもエラーにはならない。

注※　指定するとファイルが割り当てられるが，ISAMファイルとしては使用できない。

(e)　SYSINのDD要素

bjexu_ismutまたはbjexu_ismut64制御文を指定する。または，この制御文が記述されたファイルのパスを指定する。DD連結指定はできない。

(f)　索引順編成ファイルの指定

索引順編成ファイルを使用するバッチジョブ間の排他制御は，バッチジョブ実行システムの排他制御機能を使用する。そのため，バッチジョブで使用する索引順編成ファイルは，ジョブ定義XMLファイルのDD要素のDSNオペランドでファイル拡張子を除いたファイル名を指定し，DISP="OLD"を指定する必要がある。指定したファイル名と同じ名称の索引順編成以外のファイルがある場合，そのファイルも排他制御の対象になる。バッチジョブ実行システムは，索引順編成ファイルを作成または再作成しないため，DISP="NEW"，DISP="RNW"およびDISP="MOD"オペランドを指定しないこと。また，第2，第3オペランドにDELETEを指定しないこと。指定したファイル名と一致するファイルがある場合は，ジョブステップ終了時にそのファイルは削除される。指定したファイル名に一致するファイルがない場合は，ジョブステップ終了時に警告メッセージが出力される。ただし，終了コードには影響しない。

bjexu_ismutまたはbjexu_ismut64プログラムでは，同時にISAMの排他制御も使用する。この排他制御によって，索引順編成ファイルを使用する端末からの操作，およびバッチジョブ実行システムの環境以外からのジョブ実行によるファイルの同時アクセスを防止する。

(4)　bjexu_ismutおよびbjexu_ismut64制御文

bjexu_ismutおよびbjexu_ismut64制御文と機能を次の表に示す。

表3‒58　bjexu_ismutおよびbjexu_ismut64制御文と機能

制御文名

機能

DEFINE文

作成する索引順編成ファイルの形式を指定する。

INPFILE文

入力ファイルのファイル形式を指定する。

OUTFILE文

出力ファイルのファイル形式を指定する。

REPRO文

ファイルの複写，変換または併合の開始を指定する。

DELETE文

索引順編成ファイルの削除を指定する。

SET文

終了コードを変更する。

DEFINE文，DELETE文およびSET文は，単独または複数で指定できる。

INPFILE文，OUTFILE文，REPRO文は，この順で連続して指定する。INPFILE文とOUTFILE文は，省略できない。INPFILE文，OUTFILE文，REPRO文を1組と考えて，複数組の指定ができる。

DEFINE文，DELETE文およびSET文とINPFILE文，OUTFILE文，REPRO文の組を組み合わせて指定することもできる。

INPFILE文とOUTFILE文で指定できるオペランドの組み合わせと処理内容の対応を次の表に示す。

表3‒59　INPFILE文とOUTFILE文で指定できるオペランドの組み合わせと処理内容

項番

INPFILE文の指定

OUTFILE文の指定

処理内容　※

1

FILEORG=I

FILEORG=I

索引順編成ファイルの複写または併合

2

FILEORG=I

FILEORG=F

変換または併合

3

FILEORG=X

FILEORG=X

索引順編成ファイルの複写または併合

4

FILEORG=X

FILEORG=V

変換または併合

5

FILEORG=F

FILEORG=I

変換または併合

6

FILEORG=F

FILEORG=F

複写または併合

7

FILEORG=V

FILEORG=X

変換または併合

8

FILEORG=V

FILEORG=V

複写または併合

（凡例）

FILEORGオペランドの指定値の意味を次に示す。

I：固定長索引順編成ファイル

X：可変長索引順編成ファイル

F：固定長順編成ファイル

V：可変長順編成ファイル

注※

入力ファイルのレコードは，出力ファイルに同じ形式で出力される。レコード長の変更はできない。

出力ファイルが固定長順編成ファイルの場合，OUTFILE文のRECLENオペランドに入力ファイルと同じレコード長を指定する，またはOUTFILE文のRECLENオペランドを省略する必要がある。

出力ファイルが可変長順編成ファイルの場合，OUTFILE文のRECLENオペランドに入力レコード長より大きい値を指定する，またはOUTFILE文のRECLENオペランドを省略する必要がある。

出力ファイルが索引順編成ファイルの場合，出力ファイルにデータがないときは複写または変換で，出力ファイルにデータがすでにあるときは併合になる。

出力ファイルが順編成ファイルの場合は，データの有無に関係なく，DD要素でDISP="OLD"，"NEW"または"RNW"を指定すると複写または変換となる（データがあっても削除される）。DD要素でDISP="MOD"を指定し，該当ファイルが存在すると併合となり，最終レコードに続いて出力される。

(a)　DEFINE文

形式

[記号] △₁ DEFINE △₁

ISAM

,DD=DD名

,ISKEY=(キー長,キー位置[,{C|I|L}])

,ISRECFM={F|V}

,ISRECL=(レコード長[,最小レコード長])

オペランド

ISAM

索引順編成ファイルを作成することを指定する。主キーファイルだけを作成する。副キーファイルは，作成できない。ISKEYオペランド，ISRECFMオペランドおよびISRECLオペランドで定義する情報以外は，次に示す内容で定義される。

表3‒60　ISAMファイルの定義情報と内容

ISAM ファイルの定義情報

内容

障害発生時のデータファイル内容保証

保証されない

主キーのキー順序

昇順となる

主キーの重複キー許可

許可しない

主キーの重複キー順序保証

保証する

主キーの圧縮レベル

圧縮しない

主キーのスパース文字許可

許可しない

DD=DD名

DD名　〜＜環境変数名＞((1〜31文字))

作成するファイルのファイルパス名を定義したDD名を指定する。

ISKEY=(キー長,キー位置[,{C｜I｜L}])

索引順編成ファイルのキー長，相対キー位置およびキー属性を指定する。

なお，キー位置とキー長の合計は，ISRECL属性で指定するレコード長（固定長順編成ファイルの場合）または最小レコード長（可変長順編成ファイルの場合）以下にする必要がある。

キー長　〜＜整数＞((1〜255))

キー属性に応じて，次に示すように指定する。

C（文字型）の場合：1〜255の範囲

I（2バイト整数型）の場合：2

L（4バイト整数型）の場合：4

キー位置　〜＜整数＞((0〜65502))

ISRECFM属性で指定するレコード種別に応じて，次に示すように指定する。

ISRECFM=Fの場合：0〜（ISRECL属性で指定するレコード長−1）の範囲

ISRECFM=Vの場合：0〜（ISRECL属性で指定する最小レコード長−1）の範囲

{C｜I｜L}

キー属性を次に示すどれかのパラメータで指定する。

C：文字型

I：2バイト整数型

L：4バイト整数型

ISRECFM={F｜V}

索引順編成ファイルを作成する場合のレコード種別を指定する。

F

レコード種別が固定長であることを示す。

V

レコード種別が可変長であることを示す。

ISRECL=(レコード長[,最小レコード長])

索引順編成ファイルを作成する場合に，索引順編成ファイルのレコード長を指定する。

ISRECFM属性にVを指定した場合は，最小レコード長も指定する必要がある。

ISRECFM属性にFを指定した場合は，最小レコード長を指定しないこと。指定しても無効となる。

レコード長　〜＜整数＞((1〜65503))

索引順編成ファイルのレコード長を指定する。

最小レコード長　〜＜整数＞((1〜65503))

索引順編成ファイルの最小レコード長を指定する。なお，最小レコード長≦レコード長にする必要がある。

注意事項

作成される索引順編成ファイルは，主キーの重複を許可しない。

同じ名称の索引順編成ファイルがすでにある場合は，エラーになる。

(b)　INPFILE文

形式

[記号] △₁ INPFILE △₁

FILEORG=ファイル形式[,RECLEN=レコード長][,CHKEMPTY]

オペランド

FILEORG=ファイル形式

REPRO文で使用する入力ファイルのファイル形式を指定する。

ファイル形式　〜((I｜X｜F｜V))

I：固定長索引順編成ファイルであることを示す。

X：可変長索引順編成ファイルであることを示す。

F：固定長順編成ファイル（COBOLまたはアプリケーションなどで作成したファイル，ファイルサイズがレコード長の整数倍であるバイナリファイル）であることを示す。

V：可変長順編成ファイル（COBOLで作成したファイル）であることを示す。

RECLEN=レコード長

入力ファイルのファイル形式に固定長順編成ファイルを指定した場合，レコード長を指定する。

レコード長　〜＜符号なし整数＞((1〜65535))

レコード長を指定する。固定長順編成ファイルを指定した場合は，必ず指定する。その他の形式のときは指定しないこと。指定した場合はエラーとなる。

ファイルサイズがレコード長の整数倍でないときはエラーとなる。

CHKEMPTY

入力が可変長順編成ファイルのとき，レコード数が0件のファイルであればエラーにすることを指定する。省略すると，入力ファイルのレコード数が0件であってもエラーにしないで，レコード数が0件の出力ファイルを作成する。

入力ファイルが可変長順編成ファイル以外のときは，指定できない。指定すると，エラーとなる。

注意事項

INPFILE文の指定内容とジョブ定義XMLファイルのDD要素で指定したファイルの形式が異なる場合，エラーとなる。

(c)　OUTFILE文

形式

[記号] △₁ OUTFILE △₁

FILEORG=ファイル形式[,RECLEN=レコード長][,MINLEN=最小レコード長]

オペランド

FILEORG=ファイル形式

REPRO文で使用する出力ファイルのファイル形式を指定する。

ファイル形式〜((I｜X｜F｜V))

I：固定長索引順編成ファイルであることを示す。

X：可変長索引順編成ファイルであることを示す。

F：固定長順編成ファイル（COBOLまたはアプリケーションなどで作成したファイル，ファイルサイズがレコード長の整数倍であるバイナリファイル）であることを示す。

V：可変長順編成ファイル（COBOLで作成したファイル）であることを示す。

RECLEN=レコード長

出力ファイルに固定長順編成ファイルまたは可変長順編成ファイルを指定した場合，レコード長を指定する。

レコード長　〜＜符号なし整数＞((1〜65535))

レコード長を指定する。固定長順編成ファイルの場合はレコード長を，可変長順編成ファイルの場合は，最大レコード長を指定する。索引順編成ファイルの場合は指定しないこと。指定した場合はエラーとなる。

固定長順編成ファイルの場合

次に示すレコード長の出力ファイルとなる。

RECLENオペランドの指定値が出力ファイルのレコード長になる。

RECLENオペランドを省略すると，INPFILE文のRECLENオペランドの指定値を仮定する。

可変長順編成ファイルの場合

次に示す入力ファイルのファイル形式となる。

入力が可変長順編成ファイルのとき

可変長順編成ファイルから新規に作成した可変長順編成ファイルへ複写するときは，ヘッダ情報の内容を複写し，RECLENオペランドを省略すると最大レコード長の内容を引き継ぐ。RECLENオペランドの指定があれば，指定された値を最大レコード長に設定する。既存ファイルの場合は，最大レコード長を変更しない。

入力が可変長索引順編成ファイルのとき

可変長索引順編成ファイルから新規に作成した可変長順編成ファイルへ変換するときは，RECLENオペランドを省略すると，最大レコード長として65535を仮定する。RECLENオペランドの指定があれば，指定された値を最大レコード長に設定する。既存ファイルの場合は，最大レコード長を変更しない。

MINLEN=最小レコード長

出力ファイルに可変長順編成ファイルを指定したとき，最小レコード長を指定する。このオペランドを指定すると，最小レコード長より短いレコードを出力しようとしたときにエラーになるので，キーデータなど必須の情報が含まれていることをチェックできる。

最小レコード長　〜＜符号なし整数＞((1〜65535))

最小レコード長を指定する。固定長順編成ファイルや索引順編成ファイルの場合は指定しないこと。指定した場合はエラーとなる。

入力が可変長順編成ファイルのとき

可変長順編成ファイルから新規に作成した可変長順編成ファイルへ複写するときは，ヘッダ情報の内容を複写し，MINLENオペランドを省略すると最小レコード長の内容を引き継ぐ。MINLENの指定があれば，指定された値を最小レコード長に設定する。既存ファイルの場合は，最小レコード長を変更しない。

入力が可変長索引順編成ファイルのとき

可変長索引順編成ファイルから新規に作成した可変長順編成ファイルへ変換するときは，MINLENオペランドを省略すると，最小レコード長に1を設定する。MINLENオペランドの指定があれば，指定された値を最小レコード長に設定する。既存ファイルの場合は，最小レコード長を変更しない。

出力ファイルの最小レコード長に満たないレコードを入力した場合はエラーとなる。

注意事項

OUTFILE文の指定内容とジョブ定義XMLファイルのDD要素で指定したファイルの形式が異なる場合，エラーとなる。

索引順編成ファイルの場合，主キーを持たないファイルは指定できない。指定するとエラーとなる。

主キーの重複を許可しているファイルは指定できない。指定するとエラーとなる。

固定長索引順編成ファイルまたは固定長順編成ファイルの場合

固定長索引順編成ファイルまたは固定長順編成ファイルに複写する場合，入力ファイルと出力ファイルは，同じレコード長でなければならない。レコード長が異なるとエラーとなる。

可変長索引順編成ファイルまたは可変長順編成ファイルの場合

可変長索引順編成ファイルまたは可変長順編成ファイルに複写する場合，入力ファイルの各レコードのレコード長に従って処理する。

入力ファイルが可変長索引順編成ファイルや可変長順編成ファイルのとき，入力ファイルと出力ファイルの最小レコード長と最大レコード長は，異なっていてもよい。

入力ファイルのレコード長が，出力先ファイルの最小レコード長と最大レコード長の範囲に含まれていない場合は，入力元のレコード長を不正と見なし，エラーとする。

「入力ファイルのレコード長＞出力ファイルの最大レコード長」の場合，エラーとなる。

「入力ファイルのレコード長＜出力ファイルの最小レコード長」の場合，エラーとなる。

「最小レコード長≦入力≦出力ファイルの最大レコード長」の場合，入力したレコードの長さで出力する。

RECLENおよびMINLENオペランドを指定するときは，「レコード長≧最小レコード長」になるように指定する。指定に誤りがあると，エラーとなる。

(d)　REPRO文

形式

[記号] △₁ REPRO △₁

INDD=DD名

,OUTDD=DD名

[,COPYDD=DD名]

[,KEY=キー番号]

[,REPLACE|NOREPLACE|IGNORE]

[,FROMKEY=キー|SKIP=レコード数]

[,TOKEY=キー|COUNT=レコード数]

オペランド

INDD=DD名

DD名　〜＜環境変数名＞((1〜31文字))

入力ファイルのファイルパス名を定義したDD名を指定する。

OUTDD=DD名

DD名　〜＜環境変数名＞((1〜31文字))

出力ファイルのファイルパス名を定義したDD名を指定する。入力ファイルと同じファイルを指定できない。指定するとエラーとなる。

出力ファイルが順編成ファイルの場合，出力先のディレクトリパス名を定義したDD名を指定できる。この場合，入力ファイルと同名のファイルを作成する。入力ファイルがあるディレクトリは指定できない。指定するとエラーとなる。

COPYDD=DD名

DD名　〜＜環境変数名＞((1〜31文字))

同時に2つのファイルに出力する場合，出力ファイルのファイルパス名を定義したDD名を指定する。複写または変換する場合に指定できる。併合の場合に指定するとエラーとなる。また，DISP="MOD"を指定した場合は，出力ファイルの指定に関係なく，エラーとなる。

出力ファイルが順編成ファイルの場合，出力先のディレクトリパス名を定義したDD名を指定できる。入力ファイルと同じ名称のファイルがあるディレクトリは指定できない。指定するとエラーとなる。

OUTDDオペランドとともに指定する。INDDオペランドおよびOUTDDオペランドと異なる出力先を指定すること。同じ出力先を指定するとエラーとなる。

KEY=キー番号

キー番号　〜＜整数＞<<1>>((1〜99))

入力ファイルが索引順編成ファイルの場合，読み込みに使用するキー番号を指定する。キー番号は，ISAMのユティリティコマンドであるisinfoコマンドで表示されるキーファイル情報に対応する番号で，先頭を1とした通し番号である。省略した場合は1が仮定され，主キーが選択される。

重複を許可するキーを指定した場合，レコードの読み込み順序は，ISAMのときと同じである。詳細については，マニュアル「索引順編成ファイル管理 ISAM」を参照のこと。

キー番号は，ファイル拡張子".Knn"の番号nnとは対応しないことがあるので，注意が必要である。

入力ファイルが順編成ファイルのときに指定すると，エラーとなる。

REPLACE｜NOREPLACE｜IGNORE

索引順編成ファイルへ併合する場合に併合先の主キー定義で比較して，入力レコードと同じキー値の出力レコードが存在したときの扱いを指定する。

重複を許可しない副キーに対して重複したキーのレコードを追加しようとした場合，IGNORE以外を指定したときは，エラーとなり処理を中止する。

REPLACE

索引順編成ファイルに併合する場合に，入力レコードの主キーと出力レコードの主キーが一致するときは，出力レコードを置き換える。一致しないときは，出力ファイルへレコードを挿入または追加する。

NOREPLACE

索引順編成ファイルに併合する場合に，入力レコードのキーと出力レコードのキーが一致するときは，併合処理を中止する。

IGNORE

索引順編成ファイルに併合する場合に，入力レコードのキーと出力レコードのキーが一致するときは，キーが重複するレコードを出力しないで以降の処理を続行する。

主キーが重複する場合または重複を許可しない副キーが重複した場合，キーが重複するレコードを出力しないで処理を続行する。

FROMKEY=キー｜SKIP=レコード数

入力ファイル中の複写，変換または併合処理の開始位置を指定する。省略すると先頭から処理する。

FROMKEY=キー

入力が索引順編成ファイルの場合に指定できる。複写，変換または併合処理を開始するレコードのキーを指定する。指定したキーと一致するレコードがない場合，それより大きい最小キーを持つレコードから処理する。

キー

文字型の場合　〜＜引用文字列＞((１〜255バイト))

2バイト整数型の場合　〜＜整数＞((-32768〜32767))

4バイト整数型の場合　〜＜整数＞((-2147483647〜2147483647))

KEYオペランドで指定したキー番号に対応したレコードのキーを指定する。

キー属性が文字型と整数型の場合に指定できる。ファイルに定義されているキー属性に合わせてキーの値を指定する。指定したキーとキー属性が異なると，エラーとなる。また，読み込みで指定したキー番号の定義が合成キーの場合は，指定できない。指定すると，エラーとなる。

キー属性が文字型の場合，引用文字列で指定する。整数を指定するとエラーとなる。指定した文字列とレコードのキーは上位バイトから比較する。指定した文字列がファイルに定義されているキーの長さより短い場合，指定した文字列を含む最小キーを持つレコードから処理する。指定した文字列がファイルに定義されているキーの長さよりも長いと，エラーとなる。

例　文字型のキーを指定したときの処理対象

オペランドで指定した文字列とファイルのキーは上位バイトから比較する。

・FROMKEY='ABC'を指定
・ファイルのキー（8バイト）
　上位→下位
　'ABAAAAAA'     ← 処理されない
　'ABCAAAAA'     ← 処理対象
　'ABCBBBBB'     ← 処理対象
　'ABDAAAAA'     ← 処理対象

キー属性が2バイトの整数型の場合は，-32768〜32767の範囲で指定する。範囲外の値を指定すると，エラーとなる。また，引用文字列を指定するとエラーとなる。

キー属性が4バイトの整数型の場合は，-2147483647〜2147483647の範囲で指定する。-2147483647より小さい値を指定すると，-2147483647を仮定する。また，2147483647より大きい値を指定すると，2147483647を仮定する。引用文字列を指定するとエラーとなる。

SKIP=レコード数

REPRO文で指定できる，すべての形式の入力ファイルに指定できる。複写，変換または併合処理を開始する前に，入力したレコードの先頭からスキップするレコード数を指定する。なお，複数の入力ファイルを指定した場合は，最初に指定したファイルからスキップする。最初のファイルのレコードがすべてスキップの対象となった場合，二番目に指定したファイルが引き続きスキップの対象となる。

レコード数　〜＜符号なし整数＞((0〜2147483647))

スキップするレコード数を示す。省略した場合は，すべてのレコードが入力の対象になる。

入力レコードの件数より大きい数を指定した場合は，出力レコードの件数は0件となる。

2147483647より大きい値を指定すると，2147483647を仮定する。

TOKEY=キー｜COUNT=レコード数

入力ファイル中の複写，変換または併合処理の終了位置を指定する。省略すると最後まで処理する。

開始位置≦終了位置の関係が成り立つように指定する。

TOKEY=キー

入力が索引順編成ファイルの場合に指定できる。複写，変換または併合処理を終了するレコードのキーを指定する。指定したキーと一致するレコードがない場合，それより小さい最大キーを持つレコードまで処理をする。

合成キーは，指定できない。

キー

文字型の場合　〜＜引用文字列＞((１〜255バイト))

2バイト整数型の場合　〜＜整数＞((-32768〜32767))

4バイト整数型の場合　〜＜整数＞((-2147483647〜2147483647))

読み込みで指定したキー番号の定義に従ったキーの値を示す。

キー属性が文字型と整数型の場合に指定できる。ファイルに定義されているキー属性に合わせてキーの値を指定する。指定したキーとキー属性が異なると，エラーとなる。また，読み込みで指定したキー番号の定義が合成キーのときは，指定できない。指定すると，エラーとなる。

キー属性が文字型の場合，引用文字列で指定する。整数を指定するとエラーとなる。指定した文字列とレコードのキーは上位バイトから比較する。指定した文字列が，定義されているキーの長さより短いときは，指定した文字列を含む最大キーを持つレコードまで処理する。指定した文字列がファイルに定義されているキーの長さよりも長いと，エラーとなる。

例　文字型のキーを指定したときの処理対象

オペランドで指定した文字列とファイルのキーは上位バイトから比較する。

・TOKEY='ABC'を指定
・ファイルのキー（8バイト）
　上位→下位
　'ABAAAAAA'     ← 処理対象
　'ABCAAAAA'     ← 処理対象
　'ABCBBBBB'     ← 処理対象
　'ABDAAAAA'     ← 処理されない

キー属性が2バイトの整数型のときは，-32768〜32767の範囲で指定する。範囲外の値を指定すると，エラーとなる。また，引用文字列を指定するとエラーとなる。

キー属性が4バイトの整数型の場合は，-2147483647〜2147483647の範囲で指定する。-2147483647より小さい値を指定すると，-2147483647を仮定する。また，2147483647より大きい値を指定すると，2147483647を仮定する。引用文字列を指定するとエラーとなる。

COUNT=レコード数

REPRO文で指定できるすべての形式の入力ファイルに指定できる。複写，変換または併合処理を終了するまでのレコード数を指定する。

レコード数　〜＜符号なし整数＞((1〜2147483647))

複写，変換または併合処理を終了するまでのレコード数を示す。省略した場合は，すべてのレコードが入力の対象になる。入力レコードの件数より大きい数を指定した場合は，すべてのレコードが入力の対象になる。

2147483647より大きい値を指定すると，2147483647を仮定する。

注意事項

主キーがない索引順編成ファイルにFROMKEYオペランドまたはTOKEYオペランドを指定すると，エラーになる。

REPRO文の前には，必ずINPFILE文とOUTFILE文を指定する。INPFILE文，OUTFILE文，REPRO文の順で指定する。この組み合わせのREPRO文を複数指定できる。制御文は，指定した順に実行される。

FROMKEYオペランドとTOKEYオペランドは，昇順に値を指定する必要がある。入力ファイルのキー要素が昇順型のときに有効で，入力ファイルのキー要素が降順型のときはエラーとなる。

REPLACEオペランド，NOREPLACEオペランドおよびIGNOREオペランドは，入力ファイルが索引順編成ファイルの場合に有効である。順編成ファイルの場合は，指定してもエラーにならないが無効である。

(e)　DELETE文

形式

[記号] △₁ DELETE △₁

ISAM,DD=DD名

オペランド

ISAM

索引順編成ファイルを削除することを指定する。

削除対象のファイルが存在しないときはエラーになるが，処理を続行する。

DD=DD名

DD名　〜＜環境変数名＞((1〜31文字))

削除するファイルのファイルパス名を定義したDD名を指定する。

注意事項

削除対象ファイルがほかのプログラムやプロセスでオープンされている場合は，エラーとなる。

(f)　SET文

形式

[記号] △₁ SET △₁

[MAXCC | LASTCC]=終了コード

制御文で指定した機能の実行時の終了コードを変更するときに指定する。ただし，制御文で文法解析エラー発生時には，終了コードを変更することはできない。

直前の制御文の実行時にエラーがあっても，後続の制御文を実行したいときに指定する。例えば，直前の制御文で終了コード12になっても，終了コードを0に変更すると後続の制御文を実行できる。

オペランド

[MAXCC ｜ LASTCC]=終了コード

MAXCC

現在まで実行した制御文の終了コードのうち最大の値を変更するときに指定する。

LASTCC

直前に実行した制御文の終了コードの値を変更するときに指定する。

終了コード

終了コード0，4，8または12を指定する。

(5)　使用例

(a)　ファイルの複写

索引順編成ファイルを部分的に複写する例を次に示す。

＜例1＞複写元の索引順編成ファイルから先頭の5レコードをスキップし，そこから100レコード分を新規作成ファイルに複写する。また，複写先を2か所にする。

なお，索引順編成ファイルは使用するキーによって入力するレコードの順序が異なる。次の図に，使用するキーの順に入力するレコードの配置のイメージを示す。物理的なレコードの位置は示していないことに注意すること。

図3‒50　索引順編成ファイルの一部を複写

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE1" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />                                     :(1)
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />        :(2)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />        :(3)
   <DD NAME="SYSUT3" TYPE="FILE" DSN="file3" DISP="OLD" />        :(4)
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       DEFINE ISAM,                                               :(5)
             DD=SYSUT2,                                           :(6)
             ISRECL=(100),                                        :(7)
             ISRECFM=F,                                           :(8)
             ISKEY=(5,0,C)                                        :(9)
       DEFINE ISAM,                                               :(10)
             DD=SYSUT3,                                           :(11)
             ISRECL=(100),                                        :(12)
             ISRECFM=F,                                           :(13)
             ISKEY=(5,0,C)                                        :(14)
       INPFILE FILEORG=I                                          :(15)
       OUTFILE FILEORG=I                                          :(16)
       REPRO KEY=1,                                               :(17)
             INDD=SYSUT1,                                         :(18)
             OUTDD=SYSUT2,                                        :(19)
             COPYDD=SYSUT3,                                       :(20)
             SKIP=5,                                              :(21)
             COUNT=100                                            :(22)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)ISAMライブラリの32ビット版のbjexu_ismutプログラムを指定する。

(2)入力ファイルを定義する。

(3)新たに作成する索引順編成ファイルを定義する。このファイルを出力ファイルとして使用する。

(4)新たに作成する索引順編成ファイルを定義する。もう1つの出力ファイルとして使用する。

(5)DEFINE文で索引順編成ファイルを作成する。

(6)DDオペランドに，新たに作成する索引順編成ファイルのファイルパス名を定義したDD名を指定する。

(7)ISRECLオペランドにレコード長を指定する。

(8)ISRECFMオペランドに作成する索引順編成ファイルのレコード種別を指定する。ISRECFM=Fは，固定長であることを示す。

(9)ISKEYオペランドに主キーのキー長，相対キー位置およびキー属性を指定する。ISKEY=(5,0,C)は，キー長が5バイト，相対キー位置が0，キー属性が文字型であることを示す。

(10)DEFINE文で索引順編成ファイルを作成する。

(11)DDオペランドに，作成する索引順編成ファイルのファイルパス名を定義したDD名を指定する。

(12)ISRECLオペランドにレコード長を指定する。

(13)ISRECFMオペランドに作成する索引順編成ファイルのレコード種別を指定する。ISRECFM=Fは，固定長であることを示す。

(14)ISKEYオペランドにキー長，相対キー位置およびキー属性を指定する。ISKEY=(5,0,C)は，キー長が5バイト，相対キー位置が0，キー属性が文字型であることを示す。

(15)入力ファイル形式を指定する。FILEORG=Iは固定長索引順編成ファイルであることを示す。

(16)出力ファイル形式を指定する。FILEORG=Iは固定長索引順編成ファイルであることを示す。

(17)REPRO文でファイルを複写する。入力ファイルが索引順編成ファイルの場合，KEYオペランドに入力ファイルで使用するキーを指定する。KEY=1は主キーファイル（ファイル拡張子".K01"）を使用することを示す。このファイルの主キーは，キー長が2バイト，相対キー位置が0で，キー属性は文字型と定義してある。

(18)INDDオペランドに入力ファイルを定義したDD名を指定する。

(19)OUTDDオペランドに出力ファイルを定義したDD名を指定する。

(20)COPYDDオペランドは，もう1つの出力ファイルを定義したDD名を指定する。

(21)SKIPオペランドに複写元のレコードの先頭からスキップするレコード数を指定する。

(22)COUNTオペランドに複写するレコード数を指定する。

＜例2＞複写元ファイルで主キーが"2C"から"2F"までのレコードを新規作成ファイルに複写する。

図3‒51　索引順編成ファイルで特定の主キーであるレコードを複写

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE2" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />        :(1)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />        :(2)
   <DD NAME="SYSIN" TYPE="DATA" >
   <![CDATA[
!
       DEFINE ISAM,                                               :(3)
             DD=SYSUT2,                                           :(4)
             ISRECL=(100),                                        :(5)
             ISRECFM=F,                                           :(6)
             ISKEY=(2,0,C)                                        :(7)
       INPFILE FILEORG=I                                          :(8)
       OUTFILE FILEORG=I                                          :(9)
       REPRO KEY=1,                                               :(10)
             INDD=SYSUT1,                                         :(11)
             OUTDD=SYSUT2,                                        :(12)
             FROMKEY='2C',                                        :(13)
             TOKEY='2F'                                           :(14)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)入力ファイルを定義する。

(2)新たに作成する索引順編成ファイルを定義する。このファイルを出力ファイルとして使用する。

(3)DEFINE文で索引順編成ファイルを作成する。

(4)DDオペランドに，新たに作成する索引順編成ファイルのファイルパス名を定義したDD名を指定する。

(5)ISRECLオペランドにレコード長を指定する。

(6)ISRECFMオペランドに作成する索引順編成ファイルのレコード種別を指定する。ISRECFM=Fは，固定長であることを示す。

(7)ISKEYオペランドに主キーのキー長，相対キー位置およびキー属性を指定する。ISKEY=(2,0,C)は，キー長が2バイト，相対キー位置が0，キー属性が文字型であることを示す。

(8)入力ファイル形式を指定する。FILEORG=Iは固定長索引順編成ファイルであることを示す。

(9)出力ファイル形式を指定する。FILEORG=Iは固定長索引順編成ファイルであることを示す。

(10)REPRO文でファイルを複写する。入力ファイルが索引順編成ファイルの場合，KEYオペランドに入力ファイルで使用するキーを指定する。KEY=1は主キーファイル（ファイル拡張子".K01"）を使用することを示す。このファイルの主キーは，キー長が2バイト，相対キー位置が0で，キー属性は文字型と定義してある。

(11)INDDオペランドに入力ファイルを定義したDD名を指定する。

(12)OUTDDオペランドに出力ファイルを定義したDD名を指定する。

(13)FROMKEYオペランドに複写を開始するレコードのキーの値を指定する。

(14)TOKEYオペランドに複写を終了するレコードのキーの値を指定する。

(b)　ファイルの併合

索引順編成ファイルの併合の例を次の図に示す。

ファイルの併合は，レコードを複写する点ではファイルの複写と同じだが，併合先の出力ファイルにすでにレコードがある点が異なる。ファイルの併合の例では，次の処理を実施している。

併合途中のエラー発生によるファイル破壊に備えて，バックアップを取得する。

ファイルの併合を実行する。

エラー（リターンコード8）が発生した場合は，バックアップからファイルを回復する。

バックアップ用のファイルを削除する。

複写元と併合先のファイルで主キーが重複するレコードがある場合，複写元のレコードに置き換えるには，REPRO文でREPLACEオペランドを指定する。

なお，索引順編成ファイルでは，キーの順に処理され，新たにレコードを追加する場合には，レコード削除後に残る無効レコード（空き領域）を使用することがある。このため，レコードの物理的な位置は不定となる。

図3‒52　索引順編成ファイルで特定の主キーのレコードを複写

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE3" >
  <STEP NAME="STEP0000" >
   <EXEC PGM="*" >
    <![CDATA[! iscpy ${DDN_SYSUT2} ${DDN_SYSUT2B} !]]>            :(1)
   </EXEC>
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />
   <DD NAME="SYSUT2B" TYPE="FILE" DSN="file2B" DISP="OLD" />
  </STEP>
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       INPFILE FILEORG=I
       OUTFILE FILEORG=I
       REPRO INDD=SYSUT1,OUTDD=SYSUT2,                             :(2)
             REPLACE                                               :(3)
!
    ]]>
   </DD>
  </STEP>
  <STEP NAME="STEP0002" >
   <EXEC COND="8,NE,STEP0001" PGM="*" >                            :(4)
    <![CDATA[! iscpy ${DDN_SYSUT2B} ${DDN_SYSUT2} !]]>             :(5)
   </EXEC>
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />
   <DD NAME="SYSUT2B" TYPE="FILE" DSN="file2B" DISP="OLD" />
  </STEP>
  <STEP NAME="STEP0003" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT2B" TYPE="FILE" DSN="file2B" DISP="OLD" />
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       DELETE ISAM,DD=SYSUT2B                                      :(6)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)ISAMのユティリティコマンドで，バックアップ用に索引順編成ファイルを複写する。ISAMについての詳細は，マニュアル「索引順編成ファイル管理 ISAM」を参照のこと。

(2)REPRO文を実行する。出力ファイルには既存のレコードがあるため，ファイルの併合を実施する。

(3)REPLACE指定がある場合，同じ主キーのレコードが出力先にあると，そのレコードを置き換える。

(4)先行のbjexu_ismutのジョブステップでリターンコード8のエラーが発生した場合は，ファイル回復のジョブステップを実行する。

(5)ISAMのユティリティコマンドで，バックアップ用の索引順編成ファイルから複写して回復する。

(6)バックアップ用の索引順編成ファイルを削除する。

注　この例では，複写するレコードを指定するオペランドが省略されているため，主キーの順にすべてのレコードが複写される。

(c)　ファイルの変換

可変長索引順編成ファイルを可変長順編成ファイルに変換する例を次に示す。

＜例1＞入力元の可変長索引順編成ファイルからキー順にデータを読み込み，出力先へ書き込んでいる。

図3‒53　索引順編成ファイルを順編成ファイルに変換

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE4" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="NEW" />
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       INPFILE FILEORG=X                                         :(1)
       OUTFILE FILEORG=V,RECLEN=300                              :(2)
       REPRO INDD=SYSUT1,                                        :(3)
             OUTDD=SYSUT2                                        :(4)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)入力ファイル形式を指定する。FILEORG=Xは可変長索引順編成ファイルであることを示す。

(2)出力ファイル形式を指定する。FILEORG=Vは可変長順編成ファイルであることを示す。RECLENオペランドには最大レコード長を指定する。

(3)REPRO文でファイルの変換および複写を実行する。INDDオペランドに入力ファイルを定義したDD名を指定する。

(4)OUTDDオペランドに出力ファイルを定義したDD名を指定する。出力するレコードは，入力ファイルのレコード長で出力される。

注　この例では，複写するレコードを指定するオペランドが省略されているため，主キーの順にすべてのレコードを変換し，複写する。

順編成ファイルを索引順編成ファイルに変換する例を次に示す。

＜例2＞ISAMライブラリの64ビット版のbjexu_ismut64プログラムを指定して，入力元の順編成ファイルからデータを読み込み，出力先へ書き込んでいる。

図3‒54　順編成ファイルを索引順編成ファイルに変換

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE5" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut64" />                                  :(1)
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       INPFILE FILEORG=F,RECLEN=80                               :(2)
       OUTFILE FILEORG=I                                         :(3)
       REPRO INDD=SYSUT1,                                        :(4)
             OUTDD=SYSUT2                                        :(5)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)ISAMライブラリの64ビット版のbjexu_ismut64プログラムを指定する。

(2)入力ファイル形式を指定する。FILEORG=Fは順編成ファイルであることを示す。RECLEN=80は，レコード長が80バイトであることを示す。

(3)出力ファイル形式を指定する。FILEORG=Iは索引順編成ファイルであることを示す。

(4)REPRO文でファイルの変換を実行する。INDDオペランドに入力ファイルを定義したDD名を指定する。

(5)OUTDDオペランドに出力ファイルを定義したDD名を指定する。出力するレコードは，入力ファイルのレコード長で出力される。

(d)　ファイルの削除

索引順編成ファイルを作り直す例を次に示す。

＜例1＞

既存の索引順編成ファイルを削除した後，同じ索引順編成ファイルを再作成する。

なお，削除対象のファイルがなかった場合，それまでのエラーを無視する。このため，それまでに実行した制御文の終了コードのうち最大の値は0にしておく。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE6" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />       :(1)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />       :(1)
  <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       DELETE ISAM,DD=SYSUT1                                     :(2)
       DELETE ISAM,DD=SYSUT2                                     :(2)
       SET MAXCC=0                                               :(3)
       DEFINE ISAM,                                              :(4)
              DD=SYSUT1,
              ISRECL=(100),
              ISRECFM=F,
              ISKEY=(5,0,C)
       DEFINE ISAM,                                              :(4)
              DD=SYSUT2,
              ISRECL=(100),
              ISRECFM=F,
              ISKEY=(5,0,C)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)削除する索引順編成ファイルを定義する。

(2)索引順編成ファイルの削除を行う。

(3)現在までに実行した終了コードのうち最大の値を0とし，それまでのエラーを無視する。

(4)索引順編成ファイルを作成する。

＜例2＞

既存の索引順編成ファイルを削除した後，同じ索引順編成ファイルを再作成する。

なお，再作成するファイルがすでになかった場合，DELETE文のエラーを無視する。このため，直前に実行した制御文の終了コードは０にしておく。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="SAMPLE7" >
  <STEP NAME="STEP0001" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="OLD" />       :(1)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />       :(1)
  <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       DELETE ISAM,DD=SYSUT1                                     :(2)
       DELETE ISAM,DD=SYSUT2                                     :(3)
       SET LASTCC=0                                              :(4)
       DEFINE ISAM,                                              :(5)
              DD=SYSUT1,
              ISRECL=(100),
              ISRECFM=F,
              ISKEY=(5,0,C)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)削除する索引順編成ファイルを定義する。

(2)，(3)索引順編成ファイルの削除を行う。

(4)直前に実行した(3)の終了コードの値を0にする。

それ以前に実行された制御文の終了コードは変更しない。

例2では，(2)の終了コードが4のとき，最大の終了コードは4になる。

(5)索引順編成ファイルを作成する。

(e)　入力の索引順編成ファイルを複数ジョブで共用

JOB0001とJOB0002で，入力の索引順編成ファイルを共用することで，排他/共用ロック確保待ちになることなく同時に実行できるようにする。このため，入力ファイルを指定するDD要素でDISP="SHR"を指定する。

<JOB：JOB0001>

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="JOB0001" >
  <STEP NAME="S1" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="SHR" />        :(1)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file2" DISP="OLD" />        :(2)
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       INPFILE FILEORG=I                                          :(3)
       OUTFILE FILEORG=I                                          :(4)
       REPRO KEY=1,
             INDD=SYSUT1,                                         :(5)
             OUTDD=SYSUT2                                         :(6)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)DD要素SYSUT1でファイルfile1を共用使用するためにDISP="SHR"を指定

(2)DD要素SYSUT2でファイルfile2を排他使用するためにDISP="OLD"を指定

(3)INPFILE文で，入力が索引順編成ファイルであることを指定

(4)OUTFILE文で，出力が索引順編成ファイルであることを指定

(5)INDD文で入力ファイルとしてSYSUT1を指定

(6)OUTDD文で出力ファイルとしてSYSUT2を指定

<JOB：JOB0002>

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix" >
 <JOB NAME="JOB0002" >
  <STEP NAME="S1" >
   <EXEC PGM="bjexu_ismut" />
   <DD NAME="SYSPRINT" TYPE="SYSOUT" SYSOUT="A" />
   <DD NAME="SYSUT1" TYPE="FILE" DSN="file1" DISP="SHR" />        :(1)
   <DD NAME="SYSUT2" TYPE="FILE" DSN="file3" DISP="OLD" />        :(2)
   <DD NAME="SYSIN" TYPE="DATA" >
    <![CDATA[
!
       INPFILE FILEORG=I                                          :(3)
       OUTFILE FILEORG=I                                          :(4)
       REPRO KEY=1,
             INDD=SYSUT1,                                         :(5)
             OUTDD=SYSUT2                                         :(6)
!
    ]]>
   </DD>
  </STEP>
 </JOB>
</HitachiBatchJobExec>

(1)DD要素SYSUT1でファイルfile1を共用使用するためにDISP="SHR"を指定

(2)DD要素SYSUT2でファイルfile3を排他使用するためにDISP="OLD"を指定

(3)INPFILE文で，入力が索引順編成ファイルであることを指定

(4)OUTFILE文で，出力が索引順編成ファイルであることを指定

(5)INDD文で入力ファイルとしてSYSUT1を指定

(6)OUTDD文で出力ファイルとしてSYSUT2を指定

3.18.9　メッセージの出力先

ファイル操作ユティリティが出力するメッセージは，次の出力先に出力する。

(1)　ジョブ定義XMLファイルのDD要素でNAME="SYSPRINT"を指定している場合

ファイル操作ユティリティが出力するすべてのメッセージをDD要素で指定した出力先に出力する。

(2)　ジョブ定義XMLファイルのDD要素でNAME="SYSPRINT"を指定していない場合

タイプコードがI（情報）以外のメッセージはstderrに出力する。ジョブ終了時，ジョブの終了コードで実行結果を確認し，エラーが発生している場合，経過メッセージが出力されない。そのため，出力先のディレクトリやファイルの内容を調査し，実行結果を確認する必要がある。

3.19　Cosminexusとの連携によるバッチアプリケーション実行

バッチジョブ実行システムでは，Cosminexusと連携してJavaバッチアプリケーションが実行できる。また，バッチジョブ実行システムに定義したファイルの情報をJavaバッチアプリケーションからも利用できる。

バッチジョブ実行システムからJavaバッチアプリケーションを実行する方法は，EXEC要素にLANG="Java"を指定する方法とEXEC要素にLANG="Java"を指定しない方法の2とおりある。

EXEC要素にLANG="Java"を指定した場合は，Cosminexus 08-00以降が提供するCTM（Component Transaction Monitor）のジョブスケジューリング機能と連携して，Javaバッチアプリケーションを実行できる。この場合，バッチジョブ実行システムは内部的にcjexecjobコマンドを呼び出すため，EXEC要素のPGM属性にcjexecjobコマンドを記述する必要はない。

EXEC要素にLANG="Java"を指定しないでJavaバッチアプリケーションを実行する方法については「3.19.2　LANG="Java"を指定しないでJavaバッチアプリケーションを実行する方法」を参照のこと。

EXEC要素にLANG="Java"を指定した場合，バッチジョブ実行システムでは，次の機能を利用できる。

DD要素に指定したファイルの属性を，Javaバッチアプリケーション内でシステムプロパティ値として取得する。

SYSOUTの機能を利用して，PDEとの連携による帳票を出力する。

JP1/AJSからの強制停止要求時に，Javaバッチアプリケーションに対して内部的にcjkilljobコマンドを発行して，Javaバッチアプリケーションを停止する。

CosminexusのJavaバッチアプリケーション実行基盤との連携可否を次の表に示す。

表3‒61　CosminexusのJavaバッチアプリケーション実行基盤との連携可否

連携できる機能

LANG="Java"を指定するとき

LANG="Java"を指定しないとき

ジョブステップ実行

○

○

ジョブステップの条件付実行

○

○

一時ファイル

○

×

ダミーファイル

○

×

世代ファイル

○※1

×

バッチアプリケーションの環境変数への受け渡し

×

×

SYSIN

○

×

SYSOUT（PDE連携）

○

×

スプール制御/ジョブログ出力機能

○

○※2

JP1/AJSからの強制終了時の連携

○

×

JOBLIB/STEPLIB

×

×

DD連結

×

×

（凡例）

○：連携できる。

×：連携できない。

注※1　cjexecjobコマンドの引数には文字数制限があるため，世代データ群に属する世代ファイルを作成するときは，作成数に注意すること。詳細については「3.19.1(5)　注意事項」を参照のこと。

注※2　ジョブステップのCPU使用時間は出力できない。cjexecjobコマンドのCPU使用時間が出力される。

CTM，ジョブスケジューリング機能の詳細，およびcjexecjobコマンドとcjkilljobコマンドについては，Cosminexus 08-00以降のマニュアルを参照のこと。

3.19.1　LANG="Java"を指定した場合のJavaバッチアプリケーションを実行する方法

EXEC要素にLANG="Java"を指定した場合のJavaバッチアプリケーションの実行に必要な情報の定義方法について示す。

(1)　EXEC要素

バッチジョブ実行システムからJavaバッチアプリケーションを実行する場合には，次に示す情報をジョブ定義XMLファイルに指定する。バッチジョブ実行システムは，これらの情報を指定してcjexecjobコマンドを呼び出し，Javaバッチアプリケーションを実行する。

表3‒62　ジョブ定義XMLファイルに指定する情報（Javaバッチアプリケーションを実行する場合）

要素

属性

指定する値

最大長

説明

EXEC

PGM

Javaアプリケーションクラス名(必須)

1,023文字

パッケージ名を含む，Javaアプリケーションのクラス名を指定する。

例: PGM="jp.co.Hitachi.MyBank.MyBatchJob"

LANG

"Java"(必須)

4文字

ジョブステップで実行するプログラムがJavaアプリケーションであることを示す。常に"Java"を指定する。

例: LANG="Java"

Group

スケジュールグループ名

63文字

ジョブスケジューリング機能で，CTMがバッチアプリケーションの実行をスケジューリングするときに割り当てるバッチサーバのグループを指定する。

例: Group="MyScheduleGroup"

Option

Javaオプション

1,022文字

Java VMに渡すオプションを指定する。次のオプションが指定できる。

-cp, -classpath：Javaアプリケーション実行時のクラスパスを指定する。-D<name>=<value>：システムプロパティを指定する。

例: Option="-cp /mydir/hello.jar -DHELLO=WORLD"

PARM

mainメソッドに渡す引数

958文字

Javaアプリケーションのmainメソッドに渡す引数を指定する。

指定例を次に示す。

<EXEC PGM="jp.co.Hitachi.MyBank.MyJob" LANG="Java" Group="MyGroup" Option="-cp
/mydir/hello.jar -DHello=World" PARM="myjob check_transaction" />

(2)　DD要素

DD要素で指定した内容は，バッチジョブ実行システムによって-DオプションとしてJavaオプションに指定される。指定例を次に示す。

<DD NAME="WRITEDATA" TYPE="FILE" DSN="/myinfo/mydata.txt" DISP="OLD" />

ジョブ定義XMLファイル中のLANG="Java"のジョブステップで上記DD要素が定義された場合，バッチジョブ実行システムはNAME属性の指定値に"DDN_"を付与した文字列とDSN属性の指定値を，それぞれ次に示すように-Dオプションの<name>および<value>としてJavaオプションに設定する。指定例を次に示す。

-DDDN_WRITEDATA=/myinfo/mydata.txt

これによって，Javaアプリケーション内で<name>の値をキーとして，DD要素に指定されたファイルのパス名を取得できる。指定例を次に示す。

　　　　　:
java.lang.String mystr;
mystr = System.getProperty("DDN_WRITEDATA");

// これによってmystrに/myinfo/mydata.txtが格納される。
　　　　　:

(3)　バッチジョブ実行システムによるcjexecjobコマンドラインの構築内容

バッチジョブ実行システムは，ジョブ定義XMLファイルに指定されたJavaバッチアプリケーション用の属性値に基づいてcjexecjobコマンド用の引数を作成し，cjexecjobコマンドを呼び出す。

ジョブ定義XMLファイルでのJavaバッチアプリケーション用のXML属性の指定方法を次に示す。

<EXEC PGM="<Javaアプリケーションクラス名>" LANG="Java"
Group="<スケジュールグループ名>" Option="<Javaオプション>"
PARM="<mainメソッドに渡す引数>"/>
<DD NAME="<NAME属性値>" DSN="<DSN属性値>"/>

上記のXML定義ファイルを指定した場合，バッチジョブ実行システムは次のようにcjexecjobコマンドを呼び出す。

/opt/Cosminexus/CC/batch/bin/cjexecjob <スケジュールグループ名>
-jobID <ジョブID> <Javaオプション> -DDDN_<NAME属性値>=<ファイルパス>
"< Javaアプリケーションクラス名> <mainメソッドに渡す引数>"

DD要素にRENAME属性を指定した場合は，-Dオプションは次の形式になる。

-D<RENAME属性値>=<ファイルパス>

構築例を次に示す。

<EXEC PGM="MyJob" LANG="Java" Group="MyGroup"
Option="-cp /home/user/Java -DHello=World" PARM="arg1 arg2"/>
<DD NAME="WRITEDATA" TYPE="FILE" DSN="/tmp/mydata.txt" DISP="OLD"/>

上記のジョブ定義XMLを指定した場合，次のようなcjexecjobコマンドラインが構築される。

/opt/Cosminexus/CC/batch/bin/cjexecjob MyGroup -jobID
<BJEXが自動割り当てした29けたの英数字> -cp /home/user/Java -DHello=World
-DDDN_WRITEDATA=/tmp/mydata.txt MyJob arg1 arg2

(4)　Javaバッチアプリケーションに対するジョブIDの自動割り当て

ジョブスケジューリング機能を利用したJavaアプリケーションの実行には，ジョブIDの情報が必要となる。LANG="Java"指定のJavaバッチアプリケーションの実行ではバッチジョブ実行システムが，実行したJavaバッチアプリケーションを識別するために独自にジョブIDを割り当てる。その機能によって，ジョブステップごとにユニークなジョブIDを保証するため，Option属性にcjexecjobコマンドの"-jobID"オプションを指定しないこと。指定した場合，バッチジョブ実行システムからJavaバッチアプリケーションの強制停止はできない。バッチジョブ実行システムは，次の形式でジョブIDを作成してJavaアプリケーションに割り当てるため，運用でほかのJavaバッチアプリケーションと重複しないようにすること。Javaアプリケーションに対するジョブIDの割り当て形式を次の図に示す。

図3‒55　Javaアプリケーションに対するジョブIDの割り当て形式

Javaアプリケーションに対するジョブIDの割り当て形式の項目と内容を次の表に示す。

表3‒63　Javaアプリケーションに対するジョブIDの割り当て形式の項目と内容

項目

長さ

内容

BJEX

4けた

バッチジョブ実行システムが割り当てるジョブIDに自動的に付与される。"BJEX"固定である。

ジョブ識別子

6けた

バッチジョブ実行システムがジョブごとに割り当てるジョブ識別子である。

ステップ番号

3けた

バッチジョブ実行システムが割り当てるジョブステップの通し番号である。

時刻情報

8けた

内部的な時刻識別用情報である。

ID

8けた

内部的な識別用IDである。

(5)　注意事項

cjexecjob，cjkilljobの権限は550であるため，rootか同じグループのユーザアカウントで実行すること。

Javaオプションとして，-cp，-classpath，-D以外はサポートしないため指定しないこと。詳細については，マニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」のcjexecjobコマンドを参照のこと。

LANG="Java"を指定しないでGroupやOptionを指定した場合は，エラーとなる。

DD要素に指定できる属性に制限はないが，ISAMファイルなどはJavaから利用することは困難なため，指定するファイルについて考慮すること。

LANG="Java"を指定する場合，従来のバッチサーバ名称指定によるJavaバッチアプリケーションの実行はできない。スケジュールグループを指定すること。

cjexecjobコマンドの引数は「Javaオプション」，「Javaアプリケーションクラス名」，および「mainメソッドに渡す引数」の文字数の合計が1,024バイト以下であること。そのため，ジョブ定義XMLファイルに指定する値の文字数には注意すること（特に世代ファイルの作成数には注意すること）。cjexecjobコマンドの引数の詳細については，マニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」を参照のこと。

cjexecjobコマンドが異常終了した場合，cjexecjobが出力するエラーメッセージが，ジョブステップの標準エラー出力としてジョブログに出力される。

使用するOSごとに，コマンドラインに入力できる文字数に上限がある。そのため,各属性に指定した値の長さが上限値以内であっても，各属性の長さの合計がOSごとの上限を超えないように注意すること。

3.19.2　LANG="Java"を指定しないでJavaバッチアプリケーションを実行する方法

EXEC要素にLANG="Java"を指定しないで，直接cjexecjobコマンドを呼び出してJavaバッチアプリケーションを実行できる。この場合は，通常のコマンドやプログラムと同様に，cjexecjobコマンドをEXEC要素のPGM属性に指定し，cjexecjobコマンドへの引数をPARM属性に指定する。なお，EXEC要素にLANG="Java"を指定しない場合は，バッチジョブ実行システムが提供する機能との連携が制限されることに注意すること。

3.19.3　Javaバッチアプリケーションの強制終了

LANG="Java"を指定してJavaバッチアプリケーションを実行した場合，バッチジョブ実行システムがJP1/AJSからの強制終了要求を受け，自動的にCTMと連携してJavaアプリケーションを停止するため，手動でcjkilljobコマンドを入力する必要はない。

LANG="Java"を指定しないでJavaバッチアプリケーションを実行した場合，バッチジョブの強制終了時もバッチジョブ実行システムはJavaバッチアプリケーションを停止しない。LANG="Java"を指定しないでバッチジョブ実行システムから起動したJavaバッチアプリケーションを強制停止する場合は，手動でcjkilljobコマンドを実行すること。コマンドは次の形式になる。

/opt/Cosminexus/CC/batch/bin/cjkilljob [<スケジュールグループ名>] -jobID <ジョブID>

<スケジュールグループ名>はEXEC要素のGroup属性が指定されていれば，Group属性値となる。EXEC要素のGroup属性が指定されていなければ，省略される。<ジョブID>はcjexecjob実行時にバッチジョブ実行システムが作成したジョブIDである。

3.20　JP1/Scriptの実行

バッチジョブ実行システムでは，JP1/Scriptを実行できる。通常，JP1/Scriptは，スクリプト実行プログラム（sptxe）を指定して引数にスクリプトファイルを指定して実行する。バッチジョブ実行システムでは，ジョブ定義XMLファイルのEXEC要素にスクリプトファイル名とLANG="JP1Script"を指定することで，スクリプト実行プログラムを起動して実行する。

3.20.1　JP1/Scriptを実行する方法

バッチジョブ実行システムでJP1/Scriptを実行するためには，EXEC要素に必要な情報を定義する。

(1)　EXEC要素

バッチジョブ実行システムでJP1/Scriptを実行する場合には，次に示す情報をジョブ定義XMLファイルに指定する。バッチジョブ実行システムは，これらの情報を指定してsptxeプログラムを呼び出し，JP1/Scriptを実行する。

表3‒64　ジョブ定義XMLファイルに指定する情報（JP1/Scriptを実行する場合）

要素

属性

指定する値

最大長

説明

EXEC

PGM

スクリプトファイル名(必須)

1,023文字

JP1/Scriptのスクリプトファイル名を指定する。※

例: PGM="/home/user/script/echo"

LANG

"JP1Script"(必須)

9文字

実行するプログラムがJP1/Scriptであることを示す。常に"JP1Script"を指定する。

例: LANG="JP1Script"

PARM

実行するプログラムに渡す引数

958文字

JP1/Scriptに渡す引数としてsptxeの位置変数とオプションを指定する。位置変数とオプションは，空白で区切って指定する。

例: PARM="Hello -SPT:SPXLV=3"

注※　環境変数PATHにスクリプトファイルが格納されているディレクトリを設定した場合，スクリプトファイル名だけの指定ができる。また，STEPLIB要素でスクリプトファイルが格納されているディレクトリを指定した場合，スクリプトファイル名だけの指定ができる。

指定方法を次に示す。

<EXEC PGM="<スクリプトファイル名>" LANG="JP1Script"
PARM="<位置変数> <sptxeのオプション>" />

上記のXML定義ファイルを指定した場合，バッチジョブ実行システムは次のようにsptxeコマンドを実行する。sptxeのパスは次のパスで固定である。スクリプトファイル名を相対パスで記述した場合，カレントディレクトリからの相対パスとなる。

/opt/jp1script/bin/sptxe <スクリプトファイル名> <位置変数> <sptxeのオプション>

JP1/Scriptの実行例を次に示す。

<EXEC PGM="/home/user/script/echo" LANG="JP1Script" PARM="Hello -SPT:SPXLV=3" />

上記のEXEC要素を指定した場合，次のコマンドライン文字列が生成される。

/opt/jp1script/bin/sptxe /home/user/script/echo Hello -SPT:SPXLV=3

スクリプトファイル名に拡張子を省略した場合，拡張子として".SPT"が仮定される。

(2)　注意事項

(a)　JP1/ScriptからCOBOLプログラムを実行する場合

バッチジョブ実行システムからCOBOLプログラムを実行する場合と比べて，バッチジョブ実行システムからJP1/Scriptを実行し，JP1/ScriptからCOBOLプログラムを実行する場合，次の点が異なる。

DD要素で割り当てたファイルのパスが環境変数CBL_<DD名>に格納されない。DDN_<DD名>に格納される。COBOLプログラムがCBL_<DD名>にファイルのパスが格納されていることを期待している場合，DD要素のRENAME属性でファイルのパスが格納される環境変数名をCBL_<DD>名に変更するか，JP1/Script内で環境変数CBL_<DD名>に環境変数DDN_<DD名>の値をコピーすること。

PDEファイル形式2の帳票を作成できない。PDEファイル形式2の帳票を作成したい場合，バッチジョブ実行システムからCOBOLプログラムを実行すること。

SYSOUTデータファイルに追加して書き込みができない。SYSOUTデータファイルに追加して書き込みたい場合，バッチジョブ実行システムからCOBOLプログラムを実行すること。

3.21　環境変数

3.21.1　ジョブコントローラが使用する環境変数

ジョブコントローラが使用する環境変数を次の表に示す。

表3‒65　ジョブコントローラが使用する環境変数

環境変数名

内容

AJS_BJEX_STOP

AJS_BJEX_STOP=TERMを指定すると，JP1/AJSの強制終了機能使用時プロセスグループに対して，SIGKILLではなくSIGTERMが送付される。

この環境変数は必ず設定しなければならない。

BJEX_DISPLAY_REPLY

応答要求メッセージへの応答内容をJP1/IM-Viewの画面に出力するために設定する。YESを設定した場合に有効となる。

BJEX_SUPPRESS_CBLDISPLAY

COBOL2002で作成したアプリケーションプログラムのDISPLAY文によるJP1イベント発行を抑止するために設定する。YESを設定した場合に有効となる。

shellまたはSHELL

ジョブステップを実行時，EXEC要素内のPGM属性値に"*"の指定とEXEC要素の内容にシェルの指定をした場合，シェルスクリプトとして実行するためにshellまたはSHELL環境変数を使用する。

ジョブ実行前にOS標準のシェル（AIXの場合ksh，Linuxの場合bash）を設定しておく必要がある。

XMLファイルへの環境変数指定機能で使用する環境変数

ジョブ定義XMLファイル内に指定した"%{"と"}"で囲んだ環境変数を設定されている値に置換する。

3.21.2　ジョブコントローラから実行されるプログラムに設定される環境変数

ジョブコントローラから実行されるプログラムに設定される環境変数を次の表に示す。

表3‒66　ジョブコントローラから実行されるプログラムに設定される環境変数

環境変数名

内容

JP1が設定する環境変数

JP1のマニュアルを参照のこと。

PATH

DD要素でTYPE="LIB"を指定した場合，DSN属性に指定したディレクトリのパス名が追加される。

BJEX_DIR_で始まる名称

設定ファイルに記述されたパス名が設定される。

BJEX_JOB_NAME

JOB要素のNAME 属性に指定したジョブ名が設定される。

BJEX_JOBID

ジョブ識別子（前0を付加した6けた固定の10進数）が設定される。

BJEX_STEP_NAME

STEP要素のNAME属性に指定したジョブステップ名が設定される

（ジョブ定義XMLファイルでステップ名を省略している場合は，環境変数自体を設定しない）。

DDN_で始まる名称

LANG属性の指定がないDD要素のパス名が設定される。

LANG属性の指定がないDD要素のNAME属性名称の環境変数があり，DSN属性が環境変数の値となる。

CBL_で始まる名称

LANG="COBOL"の指定があるDD要素のパス名が設定される。

LANG="COBOL"の指定があるDD要素のNAME属性名称の環境変数があり，DSN属性が環境変数の値となる。

RENAME属性で指定した名称

RENAME属性を指定したDD要素のパス名が設定される。

任意

SETENV要素およびSETENVFILE要素で定義した環境変数が設定される。

CBLPDEFTYPE_DD名※1

PDEファイル形式1を使用するかファイル形式2を使用するかが設定される。

CBLPDERECFM_DD名※1

PDEファイル形式2の場合のプリンタ制御文字が設定される。

CBLPDETRUNC_DD名※1

PDEファイル形式2の場合に各レコードの後部にある半角空白をファイル出力するかどうかが設定される。

CBLDISP_DD名※2

COBOL2002で作成したアプリケーションプログラムのOUTPUT指定のOPEN文で順ファイルを開くとき，ファイルを上書きで開くか，追加書きで開くかが設定される。

注※1　詳細は，マニュアル「PRINT　DATA　EXCHANGE　for　Open」を参照のこと。

注※2　詳細は，「COBOL2002　マイグレーションライブラリ」の取扱説明書「マイグレーション支援機能」を参照のこと。

3.21.3　ファイル操作ユティリティの機能を定義する環境変数

ファイル操作ユティリティが使用する環境変数を次の表に示す。

表3‒67　ファイル操作ユティリティが使用する環境変数

環境変数名

内容

BJEX_ISMUT_HISPEED

bjexu_ismut/bjexu_ismut64でファイルの複写や変換をするとき，処理時間を短縮することを指定する。この指定をすると，複写や変換時，ISAMユティリティコマンドを実行して処理時間を短縮できる。

BJEX_SCOPY_FIXRECLEN

bjexu_scopyでOUTFILE文にRECLENオペランドの指定がないときの出力レコード長の求め方を指定する。

BJEX_SCOPY_NOFIELD_TRUNC

bjexu_scopyでRECORD文のFIELDオペランドを省略すると，入力レコード長または入力論理レコード長をフィールド長とし，出力レコードの先頭に複写する。入力レコードの長さが80バイトを超えるとき，80バイトに切り詰めるために設定する。YESを設定した場合に有効になる。

BJEX_SCOPY_DISP_MOD

bjexu_scopyでDD要素でDISP="MOD"を指定したとき，MODとして処理するか，またはOLDとして処理するかを指定する。

3.21.4　XMLファイルへの環境変数指定機能

ジョブ定義XMLファイルおよびカタログドプロシジャ内の任意の位置に指定した環境変数をその環境変数の値に置換する。環境変数をジョブ定義XMLファイルおよびカタログドプロシジャ内に指定しておくことで，構文の解析前に文字列に置換することができる。

この機能は複数のノードに配布された，ジョブ定義XMLファイル内の環境変数を一括して変更したい場合に利用できる。

なお，XMLファイルの環境変数による置換は，SETSYMBOLによる置換よりも先に置換する。実行結果およびスプールに出力されるXMLには，環境変数を置換したあとのジョブ定義XMLファイルが出力される。

(1)　指定方法

XMLファイル中に"%{"と"}"で囲んだ環境変数名を指定した場合，"%{"から"}"までの文字列を環境変数の値に置換する。環境変数は，XMLファイルの任意の位置に指定できる。

%{環境変数名}

(a)　注意事項

指定した環境変数が設定されていない場合は""（空文字）に置換する。

XMLファイル環境変数による一括置換は，XML解析処理の前に実施するため，バッチジョブ実行システムが設定する環境変数には使用できないものがある。使用できない環境変数を次に示す。

ファイル割り当て機能で設定した環境変数

SETENV要素およびSETENVFILE要素で設定した環境変数

BJEX_JOB_NAME

BJEX_STEP_NAME

BJEX_JOBID

使用できる環境変数を次に示す。

設定ファイルBJEX_DIR_xxxパラメータで設定した環境変数

設定ファイルBJEX_DIR_xxxと同じ名前の環境変数が設定されている場合，設定ファイルBJEX_DIR_xxxが優先される。

(2)　使用例

(a)　ジョブ定義XMLファイル

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
  <JOB NAME="ENV_REPLACE">
    <STEP NAME="STEP01" >
      <EXEC PGM="%{BJEX_DIR_SHELLDIR}%{EXEC_PGM}" />
      <DD TYPE="%{TYPEVAL}" NAME="DDNAME" %{DSNATTR} />
    </STEP>
  </JOB>
</HitachiBatchJobExec>

(b)　環境変数の設定

$ env BJEX_DIR_SHELLDIR
abc123
$ grep BJEX_DIR_SHELLDIR /opt/hitachi/bjex/conf/bjex.conf
BJEX_DIR_SHELLDIR   /home/user/shell/
$ env EXEC_PGM
mkDD.sh
$ env TYPEVAL
TEMP
$ env DSNATTR
DSNATTR: このパス名のファイルまたはディレクトリは存在しません。

(c)　実行結果（抜粋）

環境変数を値に置換するときに，KAKC1175-Iのメッセージを出力する。

********   XML IMAGE    ********
000001    <?xml version="1.0" encoding="Shift-JIS" ?>
000002    <HitachiBatchJobExec version="1.4" os="unix" >
000003    <JOB NAME="ENV_REPLACE">
000004    <STEP NAME="STEP01" >
000005    <EXEC PGM="/home/user/shell/mkDD.sh" />
000006    <DD TYPE="TEMP" NAME="DDNAME"  />
000007    </STEP>
000008    </JOB>
000009    </HitachiBatchJobExec>

******** SYSTEM MESSAGE ********
16:29:17 002404 KAKC0900-I Parsing of xml file "test.xml" started.
16:29:17 002404 KAKC1175-I Environment variable %{BJEX_DIR_SHELLDIR} was replaced to "/home/user/shell/".
16:29:17 002404 KAKC1175-I Environment variable %{EXEC_PGM} was replaced to "mkDD.sh".
16:29:17 002404 KAKC1175-I Environment variable %{TYPEVAL} was replaced to "TEMP".
16:29:17 002404 KAKC1175-I Environment variable %{DSNATTR} was replaced to "".
16:29:17 002404 KAKC0909-I Parsing of xml file "test.xml" ended. code=0

3.21.5　環境変数一括設定機能

ファイルに格納された複数の環境変数を，ジョブステップ実行前に一括して設定することができる。

設定した環境変数は，それ以降に実行される全ジョブステップで有効となる。

(1)　指定方法

(a)　環境変数の指定方法

ジョブステップ実行前に設定したい環境変数を次の形式で任意のファイルに出力する。

環境変数の形式

環境変数=環境変数値

上記の環境変数が格納されたファイルを環境変数格納ファイルと呼ぶ。

(b)　環境変数格納ファイルの指定方法

環境変数格納ファイルは，環境変数を設定したいジョブステップのDD要素で定義する。併せて，ジョブ定義XMLファイルのSETENVFILE要素で，環境変数格納ファイルを定義したDD要素のDD名を指定する。

(i)SETENVFILE要素

<SETENVFILE  DDNAME="環境変数格納ファイルを定義しているDD要素のDD名" />

DDNAME="環境変数格納ファイルを定義しているDD要素のDD名"

DDNAME属性で指定されたDD名で定義されているファイルを環境変数格納ファイルとする。

環境変数格納ファイルに格納されている環境変数がジョブステップ実行前に設定される。

(2)　環境変数格納ファイルの詳細

(a)　設定する環境変数の書き方

設定する環境変数は，1行につき1つの環境変数を次の形式で任意のファイルに出力する。

△0環境変数名=環境変数値

（凡例）

△0：0バイト以上の空白文字を指定する。空白文字の省略は可能。

複数の環境変数を設定する場合には，環境変数分の行を設定する。行数の制限はなく，ファイルの終わりまでを有効とする。

複数の環境変数を設定する例を次に示す。

(b)　環境変数格納ファイルの長さ

環境変数格納ファイルの1行の長さは改行コードを含めて2,047バイト以内である。長さを超える行があった場合にはエラーとし，その時点でジョブの実行は打ち切られる。

(c)　環境変数格納ファイル中の環境変数の扱い

環境変数格納ファイル中の環境変数名および環境変数値の形式チェックは行わない。行内の先頭の空白を削除した後，環境変数名の先頭から改行コードの前までをOSの環境変数設定関数に渡す。また，行の後部の空白は削除されない。なお，空白行だけの行は何もしないで，次の行を処理する。

バッチジョブ実行システムが使用/設定する環境変数は，環境変数格納ファイルでの設定を行ってはならない。

(d)　環境変数格納ファイルのDD要素での指定方法

環境変数格納ファイルは通常のファイル形式であり，ジョブ定義XMLのDD要素のTYPE属性では次の属性が指定可能である。

表3‒68　指定可能なDD要素のTYPE属性値

ファイル種別

DATA

DUMMY

FILE

TEMP

TEMPISAM

PREST

TEMPPREST

GDG

LIB

SYSOUT

DIR

指定可否

○※

×

○※

○※

×

×

×

○

×

×

×

注※　逆方向参照も可能。

なお，上記以外の属性の場合，XML解析時にエラーとなる。

(e)　環境変数格納ファイルの連結

複数の環境変数格納ファイルを連結した場合，ファイルの連結順に環境変数を設定する。

このため，複数のファイルで同一の環境変数を設定している場合，最後に設定したものが有効となる。また，世代データ群名を指定した場合も同様に，連結された世代ファイル順に環境変数を設定する。

(3)　環境変数設定エラー時のジョブの扱い

ジョブステップ実行前の環境変数設定処理でエラーが発生した場合，その時点でジョブの実行を中止する。

(4)　使用例

(a)　あらかじめ環境変数が格納されているファイルを使用

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
  <JOB NAME="STEP_ENV">
    <STEP NAME="STEP01" >
      <EXEC PGM="program1" />
      <DD NAME="ENVFILE" TYPE="FILE" DSN=" Envvarfile" DISP="SHR,KEEP" />……※1
      <SETENVFILE DDNAME="ENVFILE" />……………………………………………………※2
    </STEP>
    <STEP MAME="STEP02" >
      <EXEC PGM="program2" />
    </STEP>
  </JOB>
</HitachiBatchJobExec>

注※1　DD要素で，一括設定したい環境変数が格納されている環境変数格納ファイルを定義する。

注※2　環境変数格納ファイルを定義したDD要素のDD名を指定する。

(b)　先行ジョブステップで後続ジョブステップで設定する環境変数をファイルに出力

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
  <JOB NAME="STEP_ENV">
    <STEP NAME="STEP01" >
      <EXEC PGM="program1" />
      <DD NAME="ENVOUT" TYPE="TEMP" DSN="Envvarfile" DISP="NEW,PASS" /> ………※1
    </STEP>
    <STEP MAME="STEP02" >
      <EXEC PGM="program2" />
      <DD NAME="ENVFILE" TYPE="TEMP" DSN="Envvarfile" DISP="OLD,DELETE" />……※2
      <SETENVFILE DDNAME="ENVFILE" /> ……………………………………………………※3
    </STEP>
  </JOB>
</HitachiBatchJobExec>

注※1　PGM="program1"が，一括設定したい環境変数をファイルに出力。

注※2　DD要素で，一括設定したい環境変数が格納されている環境変数格納ファイルを定義する。

注※3　環境変数格納ファイルを定義したDD要素のDD名を指定する。

3.21.6　環境変数の優先順位

バッチジョブ実行時に設定される環境変数の優先順位を次に示す（優先順位は1が最も高い）。

STEP要素内のSETENV要素で定義した環境変数

SETENVFILE要素で指定した環境変数格納ファイル中の環境変数

JOB要素内のSETENV要素で定義した環境変数

ローカルログインスクリプトで定義した環境変数

システムログインスクリプトで定義した環境変数

4　運用

この章では，バッチジョブ実行システムの運用について説明する。

4.1　概要

定型業務を実行するシステムでは，特に運用面では固定化した方式より柔軟性のある方式が採れることが望まれる。バッチジョブ実行システムによって，OS上で柔軟なバッチ運用を実現できる。

バッチジョブ実行システムを効果的に運用するための具体的な方法を中心に説明する。

4.2　利用者の役割

4.2.1　システム管理者

システム管理者は，バッチジョブ実行システムの運営上の責任者で，スーパーユーザ権限をあらかじめ与えられている。システム管理者は，バッチジョブの実行できる環境を整備・管理して，バッチジョブ実行システムを実行できる一般ユーザをシステムに登録する。

4.2.2　一般ユーザ

JP1/AJSからジョブコントローラを起動した要求はジョブとして受け付けられる。ジョブを利用する一般ユーザは指示をまとめて記述したジョブ定義XMLファイルをジョブコントローラに与える。

ジョブを利用する一般ユーザが指定した指示は，ジョブコントローラによって何が要求されているかが分析され，システム資源が効率良く利用されるようにジョブを実行する。

(1)　ジョブ

ジョブとは一般に，一般ユーザが用意する1つのまとまった仕事をシステムに要求する単位である。要求する仕事は互いに独立したものと考えられる。

ジョブは一連の処理プログラムから構成されている。これらの処理プログラムを実行するためには，その実行の順序，実行の条件，および処理プログラムの実行に必要なファイルを定義する必要がある。

(2)　ジョブステップ

ジョブステップとは，ジョブを構成する実行の単位で，1つの処理プログラムの実行をいう。ジョブは1つのまたはそれ以上のジョブステップから構成されている。ジョブステップは資源を割り当てる単位でもある。

幾つかのジョブステップは互いに関連を持っており，各ジョブステップは定義された順序で処理される。

ジョブステップは定義された順序に処理されるが，前のジョブステップが正しく処理されないと次のジョブステップの実行が意味を持たない。この場合，ジョブステップの実行条件を指定して，処理のスキップもできる。

(3)　ジョブとジョブステップの概念

ジョブとジョブとは互いに独立である。したがって，同時に処理するジョブ同士，または先に実行したジョブがあとに実行するジョブに影響を及ぼすことはない。さらに，ファイル上の情報を除けば，ジョブからジョブに情報を引き継がれることもない。ただし，JP1/AJSによるスケジュールによっては，ジョブ相互に実行順序関係ができる。

ジョブ内ではジョブステップ間に前後関係があり，システムに入力された順番で連続的に処理される。

例えば，あるCOBOL言語で書かれたソースがある。このソースをプログラムとして実行するためには，まずCOBOLコンパイラでこのソースをコンパイルし，リンクをとり，そのあとで実行する必要がある。このコンパイル，リンクエディット，および実行の各段階が，ジョブの3つのジョブステップとなる。

ジョブとジョブステップの実行順序の関係を次の図に示す。この図では，ジョブ多重度を3に設定したJP1/AJSから3つのジョブを実行する場合を仮定する。

図4‒1　ジョブとジョブステップの実行順序の関係

各ジョブ内のジョブステップは，それぞれのジョブ内に定義された順序で処理される。例えば，ジョブAの場合はジョブステップA1からA2という順番でジョブステップが実行される。一方，ジョブ多重度が3であるため，3つのジョブは並列に動作する。そのため，ジョブの完了は必ずしもキューに蓄積された順番どおりとはならない。

(4)　ジョブ実行のスケジュール

JP1/AJSでジョブ実行のスケジュールを立てる場合，JP1/AJSによって選択されたジョブをプロセス管理下（ジョブコントローラの元）で実行する。

ジョブコントローラの詳細については，「3.1.3　ジョブコントローラ」を参照のこと。

4.3　バッチジョブ実行システムのシステム設計

4.3.1　動作環境の確認

(1)　ユーザプログラム

ジョブステップは「4.4.2　バッチジョブの実行環境」で説明する環境下で動作するため，この環境でユーザプログラムが実行できるようにユーザプログラムを配置する必要がある。プログラムへのPATH環境変数が設定されていない場合は，JOBLIB DD要素，STEPLIB DD要素を利用してジョブ定義XMLファイルで定義する必要がある。この2点に注意してユーザプログラムの配置を決定する。

JOBLIB DD要素，STEPLIB DD要素については，「3.3　プログラムのシステムへの登録と使用」を参照のこと。

(2)　定義ファイル

設定ファイル（bjex.conf）

バッチジョブを実行する静的な環境を定義する。

ジョブ定義XMLファイル

任意のファイルとして用意できるが，業務別にディレクトリに分けて管理することが望ましい。

(3)　一時ファイル

一時ファイルを作成するディレクトリのデフォルトの設定は/tmpである。バッチジョブの一時ファイルとほかのアプリケーションの一時ファイルは，分けて管理することが望ましい。バッチジョブ実行システムで一時ファイルを格納するディレクトリパスはTEMP_FILE_DIRパラメータに指定する。一時ファイルの最大容量は，同時に実行するジョブの最大出力ファイル容量である。障害で一時ファイルが残ることもあり，定期的に削除する必要がある。

(4)　恒久ファイル

バッチジョブが利用する恒久ファイルは，任意のディレクトリに配置ができる。

恒久ファイルは特定のディレクトリ配下にまとめておくことが望ましい。バッチジョブ実行システムで恒久ファイルを格納するディレクトリパスはPERMANENT_FILE_DIRパラメータに指定する。この指定をした場合，ジョブ定義XMLファイルに記述した恒久ファイル名は，prefixとしてこのパラメータが付加され，このパラメータ配下に限定できる。

(5)　スプール

プリンタ印刷のために利用するファイルの容量の合計を見積もり，専用の論理ボリュームを作成して利用することを推奨する。プリンタ印刷については，出力後保存属性の指定に従って出力後保存されるため，保存する期間も考慮すること。

(6)　システムリソース

バッチジョブ実行システムの実行に必要なシステムリソースについては，リリースノートを参照してください。

4.3.2　スプールジョブ転送サービス

(1)　スプールジョブ転送デーモン

スプールジョブ転送サービスがスプールの管理をしている。スプールジョブ転送デーモンを止めると，スプールの管理が正しく行われない。バッチジョブの実行およびスプール管理コマンドを使用する場合には，スプールジョブ転送デーモンを起動しておくこと。システムの起動時および終了時に自動的に実行させることを推奨する。

(2)　並列転送機能

スプールジョブは，伝送カード単位に並列に転送する。転送多重度と転送されるスプールジョブのデータ量を考慮して出力クラスおよびネットワークの設計をする必要がある。

(3)　リトライ間隔とリトライ回数の指定

スプールジョブ転送時に転送エラーが発生した場合に，再転送するまでのリトライ間隔を設定ファイルのJP1FTP_RETRY_INTERVALパラメータで指定できる。また，再転送のリトライ回数をJP1FTP_RETRY_TIMESパラメータで指定できる。

リトライ回数に0を指定した場合，あるいは指定しない場合，無限にリトライを繰り返す。転送エラーが発生している場合は，障害が回復するまで当該スプールジョブの再転送を続ける。

リトライ回数に1以上を指定した場合は，指定回数分のリトライを実行して転送処理を終了し，次のスプールジョブの転送処理に移る。

転送エラー発生時はリトライ間隔で指定した時間の経過後に再度転送が実行され，このときに障害が回復していればスプールジョブが転送される。再転送はリトライ回数分実行されるが，障害が回復せずに再転送もすべて転送エラーとなった場合は，そのスプールジョブの転送を中止し，次のスプールジョブの転送処理に移る。

転送を中止されたジョブは，bjextrjobコマンドで転送ディレクトリから再転送することができる。

なお，リトライする契機は次に示すエラーが発生した場合である。

JP1/FTPとのコネクション確立時［fts_ftp_open( )］の異常

伝送要求の登録時［fts_ftp_syn_request_ex( )］の異常

伝送の異常終了

JP1/FTPの起動が遅れた場合などで，JP1/FTPとのコネクション確立時に異常を検出してリトライ待ちになっているときは，bjexpdctlコマンドで待ち状態を確認したり解除したりすることができる。

bjexpdctlコマンドのstatusオプションでJP1/FTPとのコネクション確立時の異常でリトライ待ちになっているかを確認できる。

bjexpdctlコマンドのftp_connectオプションでリトライ待ち状態を解除し，JP1/FTPとのコネクションの確立を再実行できる。

リトライ間隔は，次に示す図の(3)に示す転送エラー検出後の時間を指定する。

図4‒2　リトライ間隔で指定する時間

転送間隔を長く設定すると，転送エラー検出後の再転送開始までの待ち時間が長くなるため注意すること。例えば，JP1/FTPの最大同時伝送数を超えた場合などの一時的な状態の変化によるエラーが発生した場合でも，指定した待ち時間を経過しないと再転送は行われない。このため，JP1/FTPの伝送数については，最大同時伝送数を超えないような運用設計をする必要がある。

4.3.3　出力クラスの設定

バッチジョブを印刷する場合，印刷形式に対応した出力クラスを設定ファイルに設定する必要がある。印刷形式とは，転送先のプリンタの属性「Prinfina MANAGER SP」，「PDE」，および「プリンタ装置」の構成を基に分類し，分類数だけの定義を行う必要がある。

4.3.4　セキュリティ情報の設定

(1)　実行時のユーザID

JP1/AJSでジョブの定義およびジョブ実行結果を参照する場合は，JP1ユーザ名による認証（ログイン）が必要である。JP1ユーザIDと各計算機のOSユーザIDとのマッピングをJP1/Baseのマッピング定義ファイルにあらかじめ定義しておき，ログイン後は，JP1ユーザIDに対応するOSユーザIDの権限で各計算機のリソースにアクセスする。

ジョブコントローラを起動する場合は，JP1/AJSのジョブ定義上のJP1ユーザIDに（マッピング定義ファイルで）対応づけたAgent上のOSユーザ名の権限で起動する（ジョブコントローラのruid（実ユーザID）およびeuid（実効ユーザID）はOSユーザ名のものが設定される）。

ジョブステッププロセスのumask値はジョブコントローラ起動時の実行ユーザの値が設定される。

(2)　ファイルのセキュリティ

ファイルおよびディレクトリへのアクセス権限は，UNIXのパーミッションの設定に従う。ジョブコントローラによって作成されるファイルは，ファイルを作成したOSユーザだけが参照・更新の権限を持つ。パーミッションを変更したい場合は，設定ファイルでPERMISSION_FILEパラメータおよびPERMISSION_DIRパラメータを指定するか，ジョブ定義XMLファイルでPERMISSION要素またはDD要素のFPERM属性を指定する。

世代管理ファイルはbjexgdgコマンドで作成する。このとき，bjexgdgコマンドの起動時のumaskの指定に従いファイルパーミッションが設定される。

(3)　作成ファイルの権限

(a)　ファイルのアクセス権限

ジョブコントローラで作成するファイルのアクセス権限を次の表に示す。ただし，恒久ファイルおよび世代ファイルは，ファイル作成時のアクセス権限設定機能によって権限を変更できる。

表4‒1　ジョブコントローラで作成するファイルのアクセス権限

パーミッション

意味

0600

ファイルの所有者（user）だけread/writeを許可する。groupおよびotherにはread/writeを許可しない。

(b)　ディレクトリのアクセス権限

ディレクトリおよびスプールジョブディレクトリのアクセス権限を次の表に示す。

表4‒2　ディレクトリおよびスプールジョブディレクトリのディレクトリのアクセス権限

パーミッション

意味

0700

ディレクトリの所有者（user）だけディレクトリ下でのread/writeを許可する。groupおよびotherにはディレクトリ下でのread/writeを許可しない。

ディレクトリのアクセス権限は，ファイル作成時のアクセス権限設定機能によって権限を変更できる。

4.3.5　バッチジョブ業務の自動化の検討

バッチジョブ実行システムで業務を自動的に実行する場合，次に示す内容を決めておく必要がある。

(1)　バッチジョブ業務に必要なファイルとプログラムの決定

バッチジョブ業務を自動的に実行する場合に必要なファイルとプログラムを決定する必要がある。

(2)　バッチジョブ業務の処理の定義

バッチジョブ業務を実現するために，ジョブ定義XMLファイルで処理を定義する。

(3)　バッチジョブ業務のスケジュール

バッチジョブ業務を自動化するために，システム全体として実行するスケジュールを決める。スケジュールの登録は，JP1/AJSの機能を利用すること。

4.3.6　排他/共用制御機能の設定

排他/共用制御機能は，設定ファイルのLOCK_OPTIONパラメータでENABLEを指定することで使用可能となる。LOCK_OPTIONパラメータで指定を省略，またはDISABLEを指定した場合は，排他/共用制御機能は使用できない。

排他/共用制御をするためには，排他するジョブの実行多重度数と同時期に確保する排他ファイルおよびディレクトリの最大値を見積もっておく必要がある。

バッチジョブ実行システムでは，次に示す内容でデフォルト値を設定している。

ジョブ多重度数：5

同時期に確保する排他ファイルおよびディレクトリの最大値：1275

これらの設定値を変更する場合，設定ファイルで次に示すパラメータを指定する。

ジョブ多重度数の変更

［LOCK_JOBMPLX  ジョブ多重度数］

同時期に確保する排他ファイルおよびディレクトリの最大値の変更

[LOCK_MAXFILE  ファイル数]

指定できる値の範囲については，「8.　設定ファイル」の「LOCK_JOBMPLX（同時に実行できるジョブ数の定義）」および「LOCK_MAXFILE（排他/共用制御で使用する排他資源管理テーブル数の定義）」を参照のこと。

4.3.7　メッセージ制御機能の設定

(1)　JP1IM_MANAGER_HOSTパラメータの指定

メッセージ制御機能を使用する場合は，JP1IM_MANAGER_HOSTパラメータによって，どのホストのJP1/IM - Managerと連携するかを指定する必要がある。指定したホストのJP1/IM - Managerに接続したJP1/IM - Viewからだけ，応答を入力できる。

JP1IM_MANAGER_HOSTパラメータの詳細については，「8.　設定ファイル」の「JP1IM_MANAGER_HOST（JP1/IM - Managerが稼働するホスト名定義）」を参照のこと。

JP1IM_MANAGER_HOSTパラメータに存在しないホストを誤って指定した場合，メッセージ制御機能を使用するプログラムまたはコマンドが終了しなくなる。JP1/Baseのイベントサーバ設定ファイルのremote-serverパラメータを指定しておくことによって，JP1IM_MANAGER_HOSTパラメータの指定が誤っていた場合に，プログラムまたはコマンドをエラーで終了させることができるため，remote-serverパラメータを指定する運用を推奨する。

JP1/Baseのイベントサーバ設定ファイルのremote-serverパラメータについては，JP1のマニュアルを参照のこと。

(2)　MAX_RESPONSE_REQUESTパラメータの指定

MAX_RESPONSE_REQUESTパラメータによって，JP1/IM - Managerに同時期に大量のメッセージを送付しないようにするため，サーバ内のメッセージ送付数を指定する。これによって，JP1/IM - Managerに送付するメッセージ数を制限できる。

システム内の応答要求メッセージの数が指定値に達した状態で，アプリケーションが応答要求メッセージを出力しようとした場合，そのアプリケーションは，応答要求メッセージを出力済みのほかのアプリケーションに応答が入力されるまで待ち続ける。このような状態が発生した場合，実行ログにKAKC5000-Eメッセージが出力されているため，JP1/IM - Manager側の運用に問題ないか，確認する必要がある。

MAX_RESPONSE_REQUESTパラメータの詳細については，「8.　設定ファイル」の「MAX_RESPONSE_REQUEST（JP1/IM - Managerに同時に受け付けられる応答待ちイベント数定義）」を参照のこと。

(3)　JP1/IM - Managerの設定方法

あらかじめJP1IM_MANAGER_HOSTパラメータに指定したホストで，JP1/IM - Managerの応答待ちイベント管理機能を有効にしておく必要がある。有効にしていない場合，JP1/IM - Viewによる応答の入力ができない。

JP1/IM - Managerの設定およびバッチジョブ実行システムとJP1/IM - Managerとの通信の設定については，JP1のマニュアルを参照のこと。

4.4　JP1/AJSによるジョブスケジュール

4.4.1　バッチジョブ業務の自動化

バッチジョブ実行システムのバッチジョブ業務はJP1/AJSから起動することを前提としている。

JP1/AJSでのバッチジョブ業務の自動化の詳細については，JP1のマニュアルを参照のこと。

バッチジョブ業務を自動化することによって，コストを削減できるだけでなく，少ない人員で確実にシステムを運用できる。JP1/AJSは，このような定型的なバッチジョブ業務を自動化するための製品である。JP1/AJSは，複雑なバッチジョブ業務の組み合わせの自動化にも対応できる。

JP1/AJSを使用して，バッチジョブ業務を自動的に実行する場合，次に示す内容を定義する必要がある。

バッチジョブ業務内容と順序

バッチジョブ業務を実行するスケジュールまたはバッチジョブ業務の契機となる事象の登録

JP1/AJSを使用したバッチジョブ業務の自動化の概要を次の図に示す（図中の番号は，次に示す説明の項番と対応している）。

図4‒3　JP1/AJSを使用したバッチジョブ業務の自動化の概要

バッチジョブの業務内容と実行順序，および業務スケジュールを登録する。

登録されたスケジュールに従って，バッチジョブ業務が自動的に実行される。

また，バッチジョブ実行システムを使用することによって，JP1/AJSの運用時に得られるメリットを次に示す。

世代ファイル機能によって，以前の結果ファイルを容易に利用できる。

一時ファイル機能によって，不要なファイルをジョブ終了時に削除できる。

プロシジャ機能によって，ジョブ定義を業務間で共用できる。

ジョブ定義XMLファイルに対する変更，追加，または削除によって，柔軟なジョブ定義ができる。

バッチジョブ業務と実行順序の定義の帳票印刷をスプールとクラス管理することによって，容易に集中管理できる。

(1)　バッチジョブ業務と実行順序の定義

多くの業務は，決まった時間に順序に従って実行される。

（例）売上伝票の集計の順序を次に示す。

データベースからのデータの抽出

データのソート

帳票作成

プリンタ出力

これらの流れをジョブコントローラのジョブステップとして，1〜4をジョブ定義XMLファイルに定義することで自動化を実現できるが，12:00にデータベースからデータを抽出するという作業の自動化は行えない。バッチジョブ実行システムとJP1/AJSでバッチジョブ業務と実行順序の定義を実行するには，業務を構成する一連の流れをジョブコントローラで定義し，それぞれのバッチジョブ業務と実行順序の定義の関係をJP1/AJSの実行順序，または実行時間として定義する。

JP1/AJSだけでもコマンド，アプリケーションプログラム，またはシェルスクリプトなどのそれぞれの作業単位に分解すれば，バッチジョブ実行システム相当のジョブを実現できる。これらをJP1/AJSでもジョブと呼ぶ。

バッチジョブ実行システムとJP1/AJSでバッチジョブ業務と実行順序の定義を行う場合には，JP1/AJSのジョブネット相当の提携業務を簡易化できる。

バッチジョブ実行システムとJP1/AJSでバッチジョブ業務と実行順序の定義を行う場合のジョブネットを次の図に示す。

図4‒4　バッチジョブ実行システムとJP1/AJSでバッチジョブ業務と実行順序の定義を行う場合のジョブネット

(2)　バッチジョブ業務と実行順序の定義スケジュールの定義

複数のバッチジョブ業務と実行順序の定義スケジュールの定義を自動化するには，バッチジョブ業務と実行順序の定義スケジュールの定義をいつ実行するかを決めるスケジュールの定義が必要である。

JP1/AJSのスケジュールの定義では，会社の営業日・休業日を設定したカレンダー，実行を開始する日時や実行間隔などを定義する。この定義に基づいて，JP1/AJSが実行予定を決め，その日時が来ると自動的にバッチジョブ実行システムのジョブ実行を始める。

(3)　バッチジョブ業務と実行順序での定義スケジュールの定義開始の契機登録

ファイルの作成またはイベントの発生などをバッチジョブ業務開始のきっかけの条件として登録しておくことで，決まった時刻にバッチジョブ業務を開始するだけでなく，ファイルの作成またはイベントの発生など何らかの事象が起こった場合にも，バッチジョブ業務が開始できる。

4.4.2　バッチジョブの実行環境

バッチジョブが実行されるシステムの実行環境はJP1/AJSのエージェントを設定することで，バッチジョブの多重度，実行リソース環境を変更する。JP1/AJSのエージェントホスト，デフォルトキュー，バッチジョブ実行時に必要な環境を考えてエージェントの設定をすること。バッチジョブ実行システムを使ってバッチジョブを実行する環境を作成する場合，次に示す内容を考慮する必要がある。

(1)　文字コード

JP1/AJSの文字コードはバッチジョブ実行システムと同じ文字コードに使用すること。バッチジョブ実行システムで使用できる文字コードについては，「2.3.1(1)(a)　言語種別の設定」を参照のこと。

(2)　JP1/AJSのジョブの種類

バッチジョブ実行システムのジョブを実行するために使用できるJP1/AJSのジョブの種類を次に示す。

UNIXジョブ（ただし，キューレスジョブは対象外）

サブミットジョブ

上記以外の種類のジョブで，バッチジョブ実行システムのジョブを実行した場合，動作は保証されない。

(3)　バッチジョブの実行多重度の設定

JP1/AJSで管理するエージェントは，エージェントごとにバッチジョブの実行多重度を設定できる。バッチジョブの利用するリソースが大きく異なる場合，同一マシン（1つのIPアドレス）に対して複数のエージェントホストをエイリアスとして定義し，特性の異なるバッチジョブごとにエージェントホストに登録することで，1つのマシン上で多重度を制御できる。例えば，実ホスト（hostA）に対してhostB，hostCというエイリアスを定義し，1つのマシン上で次の図のように業務を振り分けることができる。

バッチジョブ業務の振り分け例を次の図に示す。

図4‒5　バッチジョブ業務の振り分け例

注意事項

長時間掛かるバッチジョブが複数実行されている場合などに，エージェントのジョブ実行多重度に達してしまう場合がある。

実行中のジョブ数がジョブ実行多重度に達している間，後続のジョブはエージェントで実行中のジョブが終了するまでキューイングの状態で待機する。このような場合，予想以上にジョブの実行時間が長く掛かることになるため，ジョブの実行時間，および単位時間当たりのジョブ実行数を考慮したジョブ実行多重度を設定する必要がある。

4.4.3　バッチジョブ定義の記述方法

バッチジョブ定義情報の形式，および必須パラメータについて，UNIXジョブのUNIT定義ファイルを基に説明する。

(1)　形式

[te="コマンドテキスト";]
[sc="スクリプトファイル名";]
[prm="パラメータ";]
[wkp="作業用パス名";]
[ev="環境変数ファイル名";]
[env="環境変数";]...
[si="標準入力ファイル名";]
[so="標準出力ファイル名";]
[se="標準エラー出力ファイル名";]
[soa={new|add};]
[sea={new|add};]
[etm=n;]
[pr="ジョブの実行優先順位";]
[ex="実行ホスト名";]
[un="実行ユーザ名";]
[jd={nm|ab|cod|mdf|exf};]
[wth=n;]
[tho=n;]
[jdf="終了判定ファイル名";]
[ts1="転送元ファイル名1";]
[td1="転送先ファイル名1";]
[top1={sav|del};]
[ts2="転送元ファイル名2";]
[td2="転送先ファイル名2";]
[top2={sav|del};]
[ts3="転送元ファイル名3";]
[td3="転送先ファイル名3";]
[top3={sav|del};]
[ts4="転送元ファイル名4";]
[td4="転送先ファイル名4";]
[top4={sav|del};]
[ha={y|n};]
[eu={ent|def};]
[jty={q|n};]

(2)　必須パラメータ

必須となるパラメータを次に示す。これ以外のパラメータの設定は任意である。

sc="スクリプトファイル名"

スクリプトファイル名としてbjexecを定義する。バッチジョブ実行システムのバッチジョブ起動コマンドを指定する。

指定例

sc="/opt/hitachi/bjex/bin/bjexec"

prm="パラメータ"

パラメータとして実行するジョブ定義XMLファイルを指定する。

指定例

prm="/home/bjex/batch/xml/sample.xml"

env="環境変数"

環境変数を「環境変数名=値」の形式で指定する。AJS_BJEX_STOP=TERMを必ず指定すること。指定できる文字数は1〜20,479（単位：バイト）である。

指定例

env="AJS_BJEX_STOP=TERM"

se="標準エラー出力ファイル名"

標準エラー出力ファイル名を指定する。ジョブコントローラでは，ジョブの終了時にエージェントホストからマネージャーホストに対して標準エラー出力ファイルとしてジョブログを転送している。ジョブログが数MBを超えるような大量データを出力するジョブを実行すると，ファイルのデータ解析処理，またはファイルのデータ転送で負荷が掛かり，CPU使用率の増加や，メモリ使用量の増加などジョブの実行が遅延するだけでなく，システム全体の処理に影響を与えるおそれがある。

ジョブログを参照する場合は，指定しないこと。ジョブログを出力しない場合は/dev/nullを指定する。

また，追加書きオプションを設定すると，ジョブ実行のたびに出力データが蓄積され，転送するファイルのサイズが増加する。この場合も，ファイルのデータ解析処理，またはファイルのデータ転送で負荷が掛かり，ジョブが異常終了したり，JP1/AJSのエージェントホストからマネージャーホストに対するデータ転送が遅延することがある。ジョブが正常に動作しない場合は，次に示す注意事項を確認し，対処方法を実施すること。

注意事項

標準エラー出力データが大量に出力される。

"/dev/null"を記述すること。

"/dev/null"を指定した場合，標準エラー出力への出力内容はJP1/AJS - Viewなどから参照できなくなるので，ジョブ定義の「標準エラー出力ファイル名」にファイル名を明示的に指定しているときは，バッチファイルやシェルスクリプト内で，標準エラー出力をリダイレクトすること。

設定方法の詳細については，JP1のマニュアルを参照のこと。

pr=ジョブの実行優先順位

ジョブの実行優先順位を指定する。指定できる実行優先順位は「なし」および「1」〜「5」である。ジョブの実行優先順位の指定がない場合は「なし」が仮定値となる（「なし」の場合は「1」を仮定する）。JP1/AJSを介さないでサービスからプロセスを直接起動した場合，またはコンソールからプロセスを起動した場合には，nice値は「20」で実行される。JP1/AJSから実行するジョブをこれらのプロセスと同等の実行優先順位で実行するには，ジョブの実行優先順位に「3」を設定すること。

4.4.4　バッチジョブ実行システム実行ユーザ管理

ジョブネットを実行時，ジョブネットに定義されているジョブの実行ユーザを設定したものを実行ユーザ種別という。ジョブの実行ユーザ種別には，登録ユーザと所有ユーザがあり，バッチジョブ実行システムを実行する場合のユーザ権限を配慮する必要がある。それらを実行する実行先ホスト（エージェントホスト）のOSユーザを指定する。

4.4.5　注意事項

ジョブコントローラはバックグラウンドで実行されるため，標準入力を使用するプログラムをジョブで使用している場合，バッチジョブ実行システムがジョブ実行時にエラーとなることがある。標準入力を使用するジョブステッププログラムを実行する場合は，「<」によるリダイレクションによって，テキストファイルなどの内容を標準入力として実行ファイルに与えるなどの措置を取ること。

ジョブコントローラは，ジョブステップが出力した標準出力を，ジョブコントローラの標準出力，標準エラー出力に出力しない。ジョブステップが出力した標準出力は，JP1/AJSから参照できない。必要に応じて，スプール内を確認すること。

標準エラー出力ファイルに，ジョブログが出力される。大量にログが出力される場合，/dev/nullの指定を検討すること。

ジョブの優先順位を指定すること。指定しない場合，ほかのプロセスより実行優先順位が低くなる。

/etc/profileにTZ環境変数を指定すること。バッチジョブ実行システムが出力するローカルタイムを合わせないと，ログから実行時間が一意に求まらなくなる。

AJS_BJEX_STOP=TERMを必ず指定すること。

【AIX限定】

実行環境はシフトJISまたはEUCにする必要がある。

4.5　スプールジョブ転送サービスの運用

スプールジョブ転送サービスは，スプールの管理やスプールジョブ（帳票などのSYSOUTデータファイル）をプリントサーバに転送するサービスであり，スプールジョブ転送デーモン（bjexpd），スプールジョブ管理コマンド（bjexchjob，bjexrmjobなど）から成る。

スプールジョブの遷移については，「3.1.4(1)　スプールの制御」を参照のこと。

4.5.1　スプールジョブ転送デーモンの運用

スプールジョブ転送デーモンの運用の留意点を次に示す。

スプールジョブ転送デーモンはスプールジョブのプリントサーバへの転送だけではなく，スプールの管理も実施するため，バッチジョブ実行システムの運用中は，スプールジョブ転送デーモンを停止しないこと。

(1)　起動

バッチジョブ実行システムの運用開始，終了に起動停止するように，マシン起動停止時に自動的に起動，停止する運用を推奨する。

スプールジョブ転送デーモンはrootで起動すること。

スプールジョブ転送デーモン起動中は，設定ファイルを変更しないこと。

(2)　POSIXメッセージキュー

ジョブコントローラからスプールジョブ転送デーモンへジョブの終了などを通知するために，POSIXメッセージキューを使用する。

バッチジョブ実行システムでは，次に示す内容をメッセージキュー名称として使用しているため，この名称をほかの用途で使用しないこと（POSIXメッセージキューはスプールジョブ転送デーモン起動時に生成される）。

AIXの場合

スプールディレクトリの絶対パス名

Linuxの場合

論理ホストを指定するコマンドオプションを指定した場合

/bjex_mqueue_論理ホスト名

論理ホストを指定するコマンドオプションを指定しなかった場合

/bjex_mqueue

(3)　設定ファイルの変更手順

設定ファイルの変更は次に示す手順で実施する。

ジョブコントローラを利用するプログラムとスプールジョブ転送サービスをすべて終了する

設定ファイル変更後，必ずbjexpdctl conftestを実行してエラーのないことを確認する

エラーがなかった場合，bjexpdctl startでスプールジョブ転送デーモンを起動する

4.5.2　帳票処理の概要

バッチジョブ実行システムは，PDEやPrinfina MANAGER SPと連携して帳票データの印刷やPDF変換を実行する。バッチジョブの実行終了後，スプールに出力されたSYSOUTデータファイルをスプールジョブ転送サービスによって出力クラスに従い，PDEが動作する印刷ホストに転送することで実行する。

(1)　高速プリンタへの印刷

Prinfina MANAGER SPと連携して高速プリンタへ印刷を実行する。

Prinfina MANAGER SPとの連携による高速プリンタへの印刷の流れを次の図に示す。

図4‒6　Prinfina MANAGER SPとの連携による高速プリンタへの印刷の流れ

(2)　電子帳票として出力

印刷データをPDFファイルに変換できる。PDFファイルは電子帳票システム（HOPSS3/AS REV/OSE）と連携ができる。

電子帳票システムとの連携によるPDFファイル変換の流れを次の図に示す。

図4‒7　電子帳票システムとの連携によるPDFファイル変換の流れ

4.5.3　出力クラスによる制御

出力クラスはジョブ定義XMLファイルと設定ファイルによって帳票の属性として指定される。各クラスは設定ファイルに帳票の属性定義と転送先の定義があり，ジョブ終了後，この出力クラスに振り分けられたスプール内のファイルの印刷を行う。これらの印刷の設定はバッチジョブ実行システムとPrinfina MANAGER SPおよびPDEが連携して印刷する。

バッチジョブ実行システムとPrinfina MANAGER SPおよびPDEの連携による印刷の流れを次の図に示す。

図4‒8　バッチジョブ実行システムとPrinfina MANAGER SPおよびPDEの連携による印刷の流れ

設定ファイルに従い，スプールジョブ転送サービスはA，B，およびCクラスの印刷データをプリントサーバ1に転送し，Dクラスの印刷データをプリントサーバ2に転送する。

プリントサーバ1ではPDEとPrinfina MANAGER SPが連携し，Aクラスの印刷データはプリンタ1-1へ，BおよびCクラスの印刷データはプリンタ1-2に印刷する。同様に，プリントサーバ2ではDクラスの印刷データをプリンタ2-1に印刷する。

4.5.4　出力保留属性および出力非保留属性

印刷データ（SYSOUTデータファイル）はSysoutClassパラメータおよびジョブ定義XMLファイルのDD要素の指定によって，出力保留属性（HOLD状態）と出力非保留属性（NOHOLD状態）になる。

出力非保留属性のSYSOUTデータファイルはジョブが終了すると，プリントサーバに転送される。

出力保留属性のSYSOUTデータファイルは，ジョブが終了してもプリントサーバには転送しないでスプールに保持する。出力保留属性のSYSOUTデータファイルをプリントサーバに転送するにはbjexchjobコマンドを使用する。

SysoutClassパラメータおよびジョブ定義XMLファイルのDD要素の指定によるジョブ実行直後の印刷データの扱いを次の表に示す。

表4‒3　SysoutClassパラメータおよびジョブ定義XMLファイルのDD要素の指定によるジョブ実行直後の印刷データの扱い

SysoutClassパラメータのHOLD値

DD要素のHOLD値

YES

NO

省略

YES

HOLD

NOHOLD

HOLD

NOまたは省略

HOLD

NOHOLD

NOHOLD

HOLD状態の印刷データをプリントサーバに転送する場合，bjexchjobコマンドを入力する。

注　

次に示すSYSOUTデータファイルはプリントサーバへ転送されない。

サイズ0のSYSOUTデータファイル

設定ファイルでJP1FTPCARDパラメータが指定されていない出力クラスのSYSOUTデータファイル

4.5.5　スプールジョブの削除

出力後保存属性のSYSOUTデータファイルがあるスプールジョブは，プリントサーバへの転送後も，出力保留状態のスプールジョブとして残るので，bjexrmjobコマンドを使用して定期的に削除すること。

使用例

7日以上前のスプールジョブを削除する場合

bjexrmjob -T 7

4.5.6　印刷ジョブの削除

スプールジョブ転送サービスは印刷ジョブをプリントサーバに転送後，転送ディレクトリ下の印刷ジョブを削除する。ただし，スプールジョブ転送サービスが起動されていない，転送が終了していない状態でスプールジョブ転送サービスを終了した，または回線，転送先サーバの障害などの場合に，転送ディレクトリ下に印刷対象ファイルが削除されないで残るときがある。

bjextrjobコマンドで定期的に転送ディレクトリ下のファイルを削除すること。

使用例

259,200秒（3日）以上前に属性変更を行った印刷ジョブを削除する。

bjextrjob -d -t 259200

4.5.7　スプールジョブの回復

運用中はスプールジョブ転送サービスを停止しないこと。誤って停止した状態で実行したスプールジョブは，印刷対象にはならない。

このようなスプールジョブは，bjexchjobコマンドの-Sオプション指定で，印刷対象のスプールジョブとして回復できる。

使用例

スプールジョブの状態を確認する。

$ bjexlsjob -f 523
JOBID  S JOBNAME
000523 - SAMPLE1

スプールジョブの状態を回復する。

$ bjexchjob -S 523
$ bjexlsjob 523
JOBID  S JOBNAME
000523 H SAMPLE1

回復したスプールジョブを印刷する。

$ bjexchjob -R 523

注　上記の手順はスプールジョブ転送サービスを起動した状態で実施すること。

4.5.8　スプールジョブを転送しない運用

帳票印刷に，Prinfina MANAGER SPおよびPDEを使用しないで，EURを使用する場合は，スプールジョブを転送しない運用ができる。スプールジョブを転送しない運用をする場合は，設定ファイルでSPOOL_JOB_TRANSFERパラメータにNOを指定する。この場合，JP1/FTPのセットアップは不要である。

ただし，スプールジョブを転送しない運用でもジョブの管理をするために，スプールジョブ転送サービスの起動およびスプールディレクトリは必要である。

4.6　JP1/IMによる実行状態の監視と実行結果の確認

スケジュール定義したジョブネットを実行登録したあとは，各ジョブネットの実行状況の監視，および実行結果の確認を行う。

バッチジョブ実行システムはJP1/IMと連携してバッチジョブの監視ができる。JP1/IMの統合コンソールによって，バッチジョブの運用状況を集中的に管理できる。

4.6.1　統合コンソールによる集中監視

バッチジョブ実行システムは，JP1/Baseの提供するイベントサービスを使用している。

統合コンソールは，バッチジョブで発生した事象をJP1イベントとして集め，時系列に表示することによって，システムを集中的に監視する。

バッチジョブ実行システムが発行するJP1イベントについては，「10.6　JP1イベント一覧」を参照のこと。

システムで発生した管理を必要とする事象は，JP1/IMのマネージャーホストに集められ，一元管理している。［イベントコンソール］画面の［イベント監視］ページでは，この一元管理しているJP1イベントを逐次表示し，システム全体で発生した事象を集中的に監視できる。

［イベントコンソール］画面（［イベント監視］ページ）を次の図に示す。

図4‒9　［イベントコンソール］画面（［イベント監視］ページ）

4.6.2　ジョブ名などの情報をイベント一覧に表示

バッチジョブ実行システムのジョブ名やジョブ通し番号などをイベント一覧の項目に表示できる。

［イベントコンソール］画面で表示されるイベント一覧には，固有の拡張属性をマッピングできる。バッチジョブ実行システムが発行するJP1イベントは，固有の拡張属性としてジョブ通し番号やジョブ名を設定している。詳細については，JP1のマニュアルを参照のこと。また，バッチジョブ実行システムが発行するJP1 イベントについては，「10.6　JP1イベント一覧」を参照のこと。

バッチジョブ実行システムのジョブ通し番号，ジョブ名，およびステップ名を表示させた［イベントコンソール］画面を次の図に示す。

図4‒10　ジョブ名などの情報を表示させた［イベントコンソール］画面

4.6.3　応答要求メッセージの監視

COBOLアプリケーションがACCEPT文，STOP文またはCBLTYPEサービスルーチンで応答要求メッセージを出力した場合，またはbjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャで応答要求メッセージを出力した場合，そのメッセージは応答待ちイベント（イベントID：00005C21）としてJP1/IM - Viewに表示される。

応答していない応答待ちイベントが存在する場合は，［応答待ちイベント］画面のタブランプが緑色に点灯する。

［応答待ちイベント］画面を次の図に示す。

図4‒11　［応答待ちイベント］画面

4.7　EURを使用した帳票印刷

ここでは，EUR（EUR Print ServiceまたはEUR Print Manager）を使用した帳票印刷について説明する。

4.7.1　機能概要

CSV形式のSYSOUTデータファイルをEUR帳票として印刷できる。

CSV形式のファイルは，ジョブ定義XMLファイルのDD要素のEURFORM属性で指定したEUR定義ファイルに従って，ジョブ終了時にEURのeurpsコマンドまたはeurpmcコマンドでプリンタに印刷する。

EURのコマンドによる印刷は，SysoutClassのHOLD属性に関係なく行う。

EUR定義ファイルには，EURのコマンドに指定するプリンタまたは使用する帳票ファイル名を定義しておく。

EURで印刷するSYSOUTデータファイルはジョブ終了時に印刷するため，PDEなどのプリンタサーバに転送する必要がなく，転送しないSysoutClassを使用する必要がある。また，SYSOUTデータファイルのHOLD属性に関係なく印刷する。

EURを使用した帳票印刷の流れを次の図に示す。

なお，EUR Print Managerを使用した印刷では「印刷管理サーバを使用した直接印刷」の方法で印刷する。

図4‒12　EURを使用した帳票印刷の流れ

4.7.2　EUR定義ファイルの準備

CSV形式のSYSOUTデータファイルをEURで印刷するには，事前にEUR定義ファイルで印刷先のプリンタや帳票ファイル名を定義しておく必要がある。EUR定義ファイルには，次に示す内容で作成・定義する。作成したEUR定義ファイルは，設定ファイルで定義したEUR定義ファイル格納ディレクトリに格納すること。

記述形式

[プリンタ名];[帳票ファイル名];[ユーザ定義データファイル名];[/messageオプション|/nomessageオプション];[追加のオプション]

説明

プリンタ名

出力するプリンタ名を定義する。

EUR Print ManagerではOSのプリンタ名を指定する。EUR Print Serviceではプリンタ名を指定する。

EUR Print Managerではeurpmcコマンドに次のオプションが付加される。

-pm pm -m print -sm printer -lsp プリンタ名

EUR Print Serviceでは，eurpsコマンドに次のオプションが付加される。

-p プリンタ名

プリンタ名を省略した場合，上記のオプションは自動的に付加されないため，追加のオプションにコマンドの形式で必要なものを個別に指定する必要がある。

帳票ファイル名

帳票ファイルのファイル名を指定する。帳票ファイル名を省略した場合，EURのコマンドに帳票ファイル名が付加されないため通常は省略しないこと。フルパスまたはファイル名を指定できるが，ファイル名だけを指定した場合，EURの仕様に従ってパスが決定される。

帳票ファイル名を指定した場合，EUR Print Managerではeurpmcコマンドに次のオプションが付加される。

-rf 帳票ファイル名

帳票ファイル名を指定した場合，EUR Print Serviceではeurpsコマンドに次のパラメータが付加される。

帳票ファイル名,SYSOUTデータファイル名[,ユーザ定義データファイル名]

ユーザ定義データファイル名

ユーザ定義データファイル名を指定する。ユーザ定義データファイル名を使用しない場合は省略できる。省略した場合，EURのコマンドにユーザ定義データファイル名は付加されない。

フルパスまたはファイル名が指定できるが，ファイル名だけを指定した場合，EURの仕様に従ってパスが決定される。また，帳票ファイル名を省略した場合，ユーザ定義データファイル名の指定は無効となる。

ユーザ定義データファイル名を指定した場合，EUR Print Managerではeurpmcコマンドに次のオプションが付加される。

-usr ユーザ定義データファイル名

ユーザ定義データファイル名を指定した場合，EUR Print Serviceではeurpsコマンドに次のパラメータが付加される。

帳票ファイル名,SYSOUTデータファイル名,ユーザ定義データファイル名

/messageオプション，/nomessageオプション

メッセージを出力するかどうかを次のオプションで指定する。

message：メッセージを出力する。

nomessage：メッセージを出力しない。

上記以外：メッセージを出力する（messageを仮定する）。

省略した場合，EURコマンドに-messageまたは-nomessageオプションは付加されないため，EURコマンドのデフォルト値に従って処理する。

このオプションを指定した場合，EUR Print Managerでは次のオプションがeurpmcコマンドに付加される。

-messageまたは-nomessage

このオプションを指定した場合，EUR Print Serviceでも次のオプションがeurpsコマンドに付加される。

-messageまたは-nomessage

追加のオプション

追加のオプションをEURのコマンドの形式で指定する。指定はコマンドの指定形式のままであり，各オプションは空白で区切って指定する。使用できる文字はASCII文字の範囲とする。また，ファイル名などに空白を含むことはできない。追加のオプションにそれ以外の指定項目と同様のオプション，または背反のオプションを指定した場合，EURのコマンドはエラーになるので指定する場合は注意すること。追加オプションには，空白で区切られた文字列として最大126個指定でき，それ以上指定した場合はエラー（KAKC0213-Eメッセージ出力）で終了する。

指定できるオプションについてはマニュアル「uCosminexus EUR Print Manager 帳票出力」のeurpmcコマンドの説明を参照のこと）。または，マニュアル「uCosminexus EUR サーバ帳票出力」のeurpsコマンドの説明を参照のこと。

なお，使用できないオプションを指定してもバッチジョブ実行システムはエラーチェックはしないでEURのコマンドの処理に従う。

注意事項

EUR定義ファイルには，ジョブを実行するユーザに参照権限を設定しておく必要がある。

EUR定義ファイル名は，記号名称の範囲で記述する。それ以外の文字は使用できない。

定義は1,024バイト以内で記述する。

各項目は「；」または「空白」で区切る。

項目を省略する場合は，「；」を使用する必要がある。使用できる文字はASCIIの範囲であり，ファイル名などに空白を含めることはできない。「“”」で囲んでも空白は区切り記号として扱う。

上記指定は，次のようにEURのコマンドに変換されてEURのコマンドが実行される。

eurpmcコマンドの場合（EUR Print Manager）

eurpmc [追加のオプション] {-message|-nomessage}
[-pm pm -m print -sm printer -lsp 印刷先プリンタサーバ名]
[-rf 帳票ファイル名] [-map マッピングデータファイル名]
[-usr ユーザ定義データファイル名]

-message｜-nomessage：メッセージ出力オプション

-pm pm：印刷モードの指定（印刷管理サーバで直接印刷する）

-m print：機能の指定。プロパティで指定した帳票名およびデータファイルに従って，帳票を印刷する。

-sm printer：プリンタ指定方法（OS上のプリンタ名）

-lsp 印刷先プリンタサーバ名：プリンタ名（EUR定義ファイルのプリンタ名）

-rf 帳票ファイル名：帳票ファイル名の指定

-map マッピングデータファイル名：SYSOUTデータファイル名をフルパスで指定

-usr ユーザ定義データファイル名：ユーザ定義データファイル名を指定

eurpsコマンドの場合（EUR Print Service）

eurps [追加のオプション] {-message|-nomessage}
[-p プリンタ名] [帳票ファイル名,SYSOUTファイル名
[,ユーザ定義データファイル名]]

-message｜-nomessage：メッセージ出力オプション

-p プリンタ名：印刷先プリンタ名

帳票ファイル名：印刷時に使用する帳票ファイル名

SYSOUTファイル名：マッピングデータファイルであるSYSOUTデータファイル名をフルパスで指定

ユーザ定義データファイル名：ユーザ定義データファイル名を指定

注意事項

1,025バイト以上で記述した場合は，KAKC0213-Eメッセージを出力してEUR帳票の印刷処理を中断する。

フォームズフィード，改行，復帰，タブは空白として扱う。

帳票ファイル名を省略した場合は，ユーザ定義データファイル名は無視する。

4.7.3　設定ファイルの定義

(1)　EUR定義ファイル格納ディレクトリの定義

EUR定義ファイル格納ディレクトリは，設定ファイルのEUR_DEFINITION_FILE_DIRパラメータで定義する。また，ジョブを実行するすべてのユーザに参照権限を設定する必要がある。

(2)　EUR連携するプログラムの選択

設定ファイルのEUR_PROGRAMパラメータにEUR Print ServiceまたはEUR Print Managerのどちらと連携するかをEURのコマンドのパス名で指定する。

(3)　CSV形式のSYSOUTデータファイルを転送しない設定

EURで印刷するCSV形式のファイルは，PDEなどのプリンタサーバに転送しないSysoutClassを使用すること。プリンタサーバに転送しない設定は，設定ファイルのSysoutClassパラメータで，JP1FTPCARDパラメータを指定しないことで設定できる。なお，EURで印刷するCSV形式のファイルをプリンタサーバに転送した場合，プリンタサーバの動作は保証しない。

(4)　EURのエンコード種別の定義

ジョブ定義XMLファイルで指定するEURのデータファイルのエンコードに対応するLANG環境変数値を定義する。通常は定義する必要はなく，バッチジョブ実行システムのLANG環境変数とUAPのLANG環境変数が異なるときに定義し，DD要素のEURENCODE属性でEURのマッピングデータごとにエンコード種別を指定する。

EURで使用できるデータのエンコードとバッチジョブ実行システムで許される組み合わせを次の表に示す。なお，この表の組み合わせ以外は保証しない。詳細については，EURのマニュアルを参照のこと。

表4‒4　EURで使用できるデータのエンコードとバッチジョブ実行システムで許される組み合わせ

OS

バッチジョブ実行システムのLANG

UAPのLANG

EURENCODEの指定

マッピングデータのエンコード

AIX

SJIS

SJIS

なし

SJIS，UTF-16（BOMで自動判定）

EUC

EUC

なし

EUC，UTF-16（BOMで自動判定）

Linux

C

SJIS

SJIS

SJIS，UTF-16（BOMで自動判定）

EURENCODE属性で指定できる属性値は，設定ファイルのEUR_LANGパラメータで定義する。

EUR_LANGパラメータの定義例を次に示す。

EUR_LANG  SJIS  ja_JP.SJIS

注意事項

バッチジョブ実行システムのLANG環境変数と異なるエンコードをEURENCODE属性で指定した場合，EURのコマンド実行時のメッセージが文字化けすることがある。

4.7.4　ジョブ定義XMLファイルでの指定

CSV形式のSYSOUTデータファイルをEURで印刷するには，ジョブ定義XMLファイルであらかじめ作成したEUR定義ファイル名を指定する。

<DD NAME="EURDATA" SYSOUT="A" EURFORM="EUR定義ファイル名" />

UAP実行時のLANG環境変数とバッチジョブ実行システムのLANG環境変数が異なる場合，SYSOUTデータファイルのエンコード種別を明示指定する。EURエンコード種別は，EURによるデータのエンコードの仕様を理解した上で指定すること。

<DD NAME=”EURDATA” SYSOUT=”A” EURFORM=”EUR定義ファイル名” EURENCODE=”EURエンコード種別” />

UAP実行時のLANG環境変数とバッチジョブ実行システムのLANG環境変数が異なる場合の定義例を次に示す。

<DD NAME="EURDATA" SYSOUT="A" EURFORM="EUR001" EURENCODE="SJIS" />

注意事項

バッチジョブ実行システムの設定ファイルでEUR_DEFINITION_FILE_DIRパラメータの指定をしない場合，ジョブ定義XMLファイルで指定したEURFORMおよびEURENCODE属性は無効となる。

4.8　EUC言語環境でのジョブ実行【AIX限定】

ここでは，EUC言語環境でのジョブ実行について説明する。

4.8.1　機能概要

EUC言語環境でバッチジョブを実行して，UAPで文字コードがEUC-HJであるデータを扱うことができる。

EUC-HJの文字コードデータを格納できるのは，SYSOUTデータファイルとUAPが使用する一般のファイルだけである。それ以外のファイルは，すべて内字の範囲で使用する必要がある。

EUCの文字を含んだSYSOUTデータファイルは，PDEではサポートしていないため，PDEを使用して印刷やPDF変換する場合には，UAPでUTF-8に変換してSYSOUTデータファイルを作成する必要がある。

4.8.2　言語環境の設定

バッチジョブをEUC言語環境で実行する場合，次の設定が必要である。

文字コード種別：EUCコード

LANG 環境変数値：ja_JP

4.8.3　ジョブ定義XMLファイルの指定

ジョブ定義XMLファイルのパス名はASCIIの範囲とする必要がある。ジョブ定義XMLファイルを指定する際の注意事項を次に示す。

(1)　prolog

prologに記述するencode属性はEUC_JP，Shift_JIS，またはASCIIにする必要がある。encode属性をASCIIにした場合，ジョブ定義XMLファイルはASCIIの範囲で記述する必要がある。encode属性をShift_JISにした場合，ジョブ定義XMLファイルはコメント以外ASCIIの範囲で記述する必要がある。

(2)　DD要素のENCODE属性

PDEでEUCのデータはサポートしていないため，PDEで印刷またはPDF変換する場合，UAPでUTF-8にコード変換する必要がある。また，UTF-8の印刷データを印刷またはPDF変換するためには，次に示すDD要素のENCODE属性でエンコード種別を指定する必要がある。

ENCODE="{SJIS|UTF8}"

TYPE=SYSOUTを指定した場合にだけ指定でき，SYSOUTデータファイルのエンコード種別を指定する。

SJIS：シフトJIS

UTF8：UTF-8

4.8.4　EUC言語環境でのメッセージ制御機能の注意事項

メッセージ制御機能を使用したCOBOLアプリケーションのメッセージと応答は，ASCIIの範囲だけで使用できる。

なお，メッセージの日本語部分は文字化けすることがある。

4.8.5　設定ファイル

EUC言語環境でジョブを実行する場合，設定ファイルはASCIIのコード範囲で記述する必要がある。また，SysoutClassパラメータでUTF-8のSYSOUTデータファイルをPDEで印刷またはPDF変換する場合，次に示すエンコード種別をSysoutClassパラメータの属性として定義できる。

ENCODE {SJIS|UTF8}

ジョブ定義XMLファイルで指定がないときに仮定するSYSOUTデータファイルのエンコード種別を指定する。

SJIS：シフトJIS

UTF8：UTF-8

4.9　バッチジョブ実行システムの環境を複数構築する場合の設定

物理的なサーバの中に複数のバッチジョブ実行システムの環境を構築できる。ここでは，複数のバッチジョブ実行システム環境を構築する設定について説明する。

4.9.1　複数のバッチジョブ実行システムの運用の前提条件

複数のバッチジョブ実行システムの環境を構築する場合，JP1の論理ホスト環境を複数構築し，JP1の論理ホスト環境単位で起動する必要がある。

(1)　バッチジョブ実行システムの物理ホストと論理ホスト

バッチジョブ実行システムには物理ホスト環境と論理ホスト環境の2種類が存在する。

バッチジョブ実行システムの物理ホスト環境

設定ファイルとしてbjex.confを参照し，物理ホスト環境のスプールジョブ転送デーモンと連携する。

また，物理ホスト環境のJP1と論理ホスト環境のJP1のどちらとも連携することができる。論理ホストのJP1と連携するには設定ファイルのJP1_HOSTNAMEパラメータにJP1論理ホスト名を指定する。

バッチジョブ実行システムの論理ホスト環境

設定ファイルとしてbjex_論理ホスト名.confを参照し，論理ホスト環境のスプールジョブ転送デーモンと連携する。ここで，bjex_論理ホスト名.confの論理ホスト名は，連携するJP1の論理ホスト名である。なお，論理ホスト環境のJP1とだけ連携できる。

バッチジョブ実行システムの物理ホスト環境は1つであるが，バッチジョブ実行システムの論理ホスト環境は複数構築できる。複数のバッチジョブ実行システムの環境の構成例を次の図に示す。

図4‒13　複数のバッチジョブ実行システム環境

(2)　バッチジョブ実行システムの論理ホストでのコマンド指定方法

バッチジョブ実行システムの論理ホストでコマンドを実行する場合，対応するJP1の論理ホスト名を指定してコマンドを実行する。

各コマンドの実行方法を次に示す。

bjexecコマンドの場合

JP1/AJSから実行する場合

コマンド -h

コマンドラインから実行する場合

コマンド -h -n 論理ホスト名

bjexecコマンド以外の場合

コマンド -h 論理ホスト名

bjexecコマンドをJP1/AJSから実行する場合，論理ホスト環境で稼働しているJP1/AJSから実行すること。論理ホストで稼働しているJP1/AJSから実行した場合，環境変数JP1_HOSTNAMEに論理ホスト名が設定される。bjexecコマンドは，環境変数JP1_HOSTNAMEから論理ホスト名を取得する。

4.9.2　論理ホストのバッチジョブ実行システムの環境設定

バッチジョブ実行システムの論理ホスト環境を作成する際の環境設定について説明する。

バッチジョブ実行システムの環境ごとに次に示す準備が必要である。

(1)　ディレクトリの作成

次のディレクトリを作成する。

カタログドプロシジャ用

一時ファイル用

スプール用

恒久ファイル用

実行ログ用

トレース用

ただし，同じ物理ホスト上に複数のバッチジョブ実行システムを運用する場合，次のディレクトリをバッチジョブ実行システム間で共有してはならない。個々の環境ごとに独自のディレクトリを指定すること。

実行ログ出力ディレクトリ（設定ファイルのLOG_DIRパラメータで指定できる）

スプールディレクトリ（設定ファイルのSPOOL_DIRパラメータで指定できる）

一時ファイルディレクトリ（設定ファイルのTEMP_FILE_DIRパラメータで指定できる）

トレースを出力するディレクトリ（設定ファイルのTRACE_DIRパラメータで指定できる）

(2)　JP1のセットアップ

JP1の論理ホスト環境をセットアップしたあとにバッチジョブ実行システムの論理ホストのセットアップが必要である。JP1のセットアップについては，JP1のマニュアルを参照すること。

(3)　バッチジョブ実行システムの設定ファイル

バッチジョブ実行システムの論理ホスト環境ごとに設定ファイルを作成する必要がある。次の形式で設定ファイルを作成すること。

論理ホストで動作するバッチジョブ実行システムの設定ファイル

/opt/hitachi/bjex/conf/bjex_論理ホスト名.conf

複数のバッチジョブ実行システムを運用する場合の設定ファイルに記述する内容は，物理ホストの設定ファイル（bjex.conf）に記述する内容と同様である。詳細については，「8.　設定ファイル」を参照すること。

(4)　スプールジョブ転送デーモンの起動

論理ホストのバッチジョブ実行システムを運用する場合，論理ホスト環境ごとにスプールジョブ転送デーモンを起動する必要がある。起動方法については，「7.　コマンド」の「bjexpdctl（スプールジョブ転送デーモンの起動，停止（管理者用））」を参照のこと。

(5)　論理ホスト用スプールジョブ転送デーモンの自動起動と自動停止

論理ホストのスプールジョブ転送デーモンを，システムの起動時および終了時に自動的に起動および停止させる設定方法を次に示す。

(a)　AIXの場合

システム起動時の自動起動機能

システム起動時の自動起動機能を設定するには，mkitab コマンドを使用して，自動起動の設定をする。

mkitab "論理ホストのスプールジョブ転送デーモンのレコード:2:wait:/opt/hitachi/bjex/sbin/bjexpdctl -h 論理ホスト名 start"

論理ホストのスプールジョブ転送デーモンは，連携するJP1 シリーズの論理ホスト用デーモンのあとに起動するよう設定すること。JP1/Base，JP1/IM，JP1/AJS，JP1/FTP の順に自動起動を設定する場合，次に示す指定をしてコマンドを実行する。JP1製品の自動起動設定の詳細については，各JP1製品のマニュアルを参照のこと。

設定後，lsitab コマンドを使用して，設定内容を確認すること。lsitab コマンドは，次に示す指定をして実行する。

lsitab -a

次に出力例を示す。

システム終了時の自動停止機能

システム終了時の自動停止機能を設定するには，/etc/rc.shutdown を編集して，連携するJP1 シリーズの論理ホスト用デーモンより先に停止させるように次に示す記述を追加のこと。

test -x /opt/hitachi/bjex/sbin/bjexpdctl && /opt/hitachi/bjex/sbin/bjexpdctl -h 論理ホスト名 stop
:
連携するJP1シリーズ製品の論理ホスト用デーモンの停止処理
:

(b)　Linuxの場合

Linux6以前

自動起動および自動停止スクリプトの作成

/opt/hitachi/bjex/sample ディレクトリに格納されているbjex_pdを，ファイル名を変更して/etc/rc.d/init.dに追加する。bjex_pdを，ファイル名を変更して追加する例を次に示す。

  cp /opt/hitachi/bjex/sample/bjex_pd /etc/rc.d/init.d/bjex_論理ホスト名_pd
  chmod u=rwx,go=rx /etc/rc.d/init.d/bjex_論理ホスト名_pd
  chown root:root /etc/rc.d/init.d/bjex_論理ホスト名_pd

自動起動および自動停止スクリプトの編集

スクリプトファイルは，物理ホスト用の記述になっているため，論理ホスト用の記述に修正する必要がある。次の項目を修正すること。

表4‒5　自動起動および自動停止スクリプトの変更内容

項目

変更前

変更後

論理ホスト名

−

JP1_HOSTNAME=論理ホスト名※1

スプールジョブ転送デーモンの起動

/opt/hitachi/bjex/sbin/bjexpdctl start

/opt/hitachi/bjex/sbin/bjexpdcntl -h $JP1_HOSTNAME start

自動停止のためのロックファイル生成

touch /var/lock/subsys/_BJEX

touch /var/lock/subsys/ロックファイル名※2

スプールジョブ転送デーモンの停止

/opt/hitachi/bjex/sbin/bjexpdctl stop

/opt/hitachi/bjex/sbin/bjexpdcntl -h $JP1_HOSTNAME stop

自動停止のためのロックファイル削除

rm -f /var/lock/subsys/_BJEX

rm -f /var/lock/subsys/ロックファイル名※2

（凡例）

−：指定なし。

注※1　ファイルの先頭で定義する必要がある。

注※2　ロックファイル名には自動停止のために作成するシンボリックリンクの名称の先頭から数字部分（KXX 部分）を除いた名称を指定する。例えば，自動停止のためのシンボリックリンクの名称が「K01_BJEX_LHOST」の場合，「_BJEX_LHOST」を指定する。

自動起動のためのシンボリックリンク作成

作成した自動起動および自動停止スクリプトへのシンボリックリンクを/etc/rc.d/rc<N>.d ディレクトリ（<N>は起動時の実行レベル）に作成する。このとき，連携するJP1 シリーズ製品の論理ホスト用サービスが起動したあとに起動されるようにシンボリックリンクの名称を付ける必要がある。シンボリックリンクの作成手順については，「2.2.4(3)　スプールジョブ転送デーモンの自動起動」を参照のこと。

自動停止のためのシンボリックリンク作成

作成した自動起動および自動停止スクリプトへのシンボリックリンクを/etc/rc.d/rc<N>.d ディレク

トリ（<N>は停止時の実行レベル）に作成する。このとき，連携するJP1 シリーズ製品の論理ホス

ト用サービスよりも先に停止されるようにシンボリックリンクの名称を付ける必要がある。シン

ボリックリンクの作成手順については，「2.2.4(3)　スプールジョブ転送デーモンの自動起動」を参照のこと。

なお，連携するJP1 シリーズ製品の論理ホスト用サービスの自動起動および自動停止スクリプト名とシンボリックリンクの名称については，連携するJP1 シリーズ製品のマニュアルを参照のこと。

Linux7以降

/usr/lib/systemd/system ディレクトリへの追加

/opt/hitachi/bjex/sample ディレクトリに格納されているbjex.serviceを，ファイル名を変更して/usr/lib/systemd/systemに追加する。bjex.serviceを，ファイル名を変更して追加する例を次に示す。

  cp /opt/hitachi/bjex/sample/bjex.service /usr/lib/systemd/system/bjex_論理ホスト名.service
  chmod u=rw,go=r /usr/lib/systemd/system/bjex_論理ホスト名.service
  chown root:root /usr/lib/systemd/system/bjex_論理ホスト名.service

bjex_論理ホスト名.serviceファイルの編集

bjex_論理ホスト名.serviceファイルは，物理ホスト用の設定になっているため，論理ホスト用の設定に修正する必要がある。次の項目を修正すること。

表4‒6　bjex_論理ホスト名.serviceファイルの変更内容

項目

変更前

変更後

After

jp1_base.service

JP1/Baseの論理ホストのUnit名

ExecStart

/opt/hitachi/bjex/sbin/bjexpdcntl start

/opt/hitachi/bjex/sbin/bjexpdcntl -h 論理ホスト名 start

ExecStop

/opt/hitachi/bjex/sbin/bjexpdcntl stop

/opt/hitachi/bjex/sbin/bjexpdcntl -h 論理ホスト名 stop

また，必要に応じて他の各項目を編集すること。

自動起動の有効化

bjex.serviceに対して自動起動を有効化する。自動起動を有効化するには次のように指定する。

  systemctl --system enable bjex_論理ホスト名.service

4.9.3　複数のバッチジョブ実行システムの運用の注意事項

バッチジョブ実行システムの論理ホスト環境ごとに，設定ファイル/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを作成すること。

ジョブ識別子はバッチジョブ実行システムの環境ごとに管理する。

物理ホストのバッチジョブ実行システムで，JP1の論理ホストと連携する場合，JP1_HOSTNAMEパラメータにJP1の論理ホスト名を指定する必要がある。詳細については，「8.　設定ファイル」を参照のこと。

複数のバッチジョブ実行システムを運用している場合，排他/共用制御および実行中のジョブ情報表示はバッチジョブ実行システムごとに行う。あるバッチジョブ実行システムから別のバッチジョブ実行システムの排他/共用制御および実行中のジョブの情報を参照することはできない。

同じ物理ホスト上に複数のバッチジョブ実行システムを運用する場合に，共有できないディレクトリがある。詳細については，「4.9.2　論理ホストのバッチジョブ実行システムの環境設定」を参照のこと。

設定ファイルのLOCK_KEY_IDパラメータおよびMSG_KEY_IDパラメータは，論理ホスト環境ごとに異なる識別情報を指定することが望ましい。

なお，バッチジョブ実行システムの運用全体の注意事項については，「4.11　バッチジョブ実行システムの運用時の注意事項」を参照のこと。

4.10　クラスタシステムで運用する場合の設定

ここでは，クラスタシステムで運用する場合の設定について説明する。

4.10.1　クラスタシステムおよびクラスタ運用の概要

ここでは，クラスタシステムおよびバッチジョブ実行システムのクラスタ運用の概要について説明する。

(1)　クラスタシステムの概要

クラスタシステムとは，複数のサーバシステムを連携して1つのシステムとして運用するシステムで，1つのサーバで障害が発生しても，別のサーバで業務を継続できるようにすることを目的としている。

クラスタシステムは，処理を実行するホストと，障害が発生したときに処理を引き継げるように待機しているホストで構成されている。業務の実行中のサーバを実行系サーバ，実行系の障害時に業務を引き継げるよう待機しているサーバを待機系サーバと呼ぶ。障害発生時は，実行系サーバから待機系サーバに処理を引き継いで業務の停止を防ぐ。この障害時に処理を引き継ぐことをフェールオーバーという。

フェールオーバーはJP1の論理ホスト単位で実施される。JP1と連携するアプリケーションは，フェールオーバーして業務を継続するために，JP1の論理ホスト環境で動作させる必要がある。

クラスタシステム構成のJP1の論理ホストは，サービスとして動作するアプリケーション，共有ディスク，および論理IPアドレスの3つの要素で構成されている。サービスとして動作するJP1やバッチジョブ実行システムなどのアプリケーションは，共有ディスクにデータを格納し，論理IP アドレスで通信を行う。

クラスタシステム構成のJP1の論理ホストを構成する各要素を次の表に示す。

表4‒7　クラスタシステム構成のJP1の論理ホストの構成要素

クラスタシステム構成のJP1の論理ホストの構成要素

構成要素の説明

サービス

クラスタシステムで実行するJP1やバッチジョブ実行システムなどのアプリケーションである。実行系サーバで障害が発生すると，待機系サーバで同じ名称のサービスを起動し，処理を引き継ぐ。

共有ディスク

実行系と待機系の両方に接続されたディスク装置である。フェールオーバー時に引き継ぐ情報（定義情報，実行状況など）を保存すると，実行系サーバで障害が発生した場合，待機系サーバが共有ディスクへの接続を引き継ぐ。

論理IPアドレス

実行系サーバの動作中に割り当てられるIPアドレスである。実行系サーバで障害が発生したときは，同じ論理IPアドレスの割り当てを待機系サーバが引き継ぐ。そのため，クライアントからは同じIPアドレスでアクセスでき，1つのサーバが常に動作しているように見える。

正常時およびフェールオーバー後のアクセスを次の図に示す。

図4‒14　正常時およびフェールオーバー後のアクセス

実行系サーバが稼働している場合は，実行系サーバで共有ディスクや論理IPアドレスが割り当てられてサービスが動作する。実行系サーバで障害が発生した場合，待機系サーバが共有ディスクと論理IPアドレスを引き継ぎ，実行系サーバと同じサービスを起動する。フェールオーバーによって物理的なサーバが変わった場合，待機系サーバが共有ディスクと論理IPアドレスを引き継ぐため，クライアントには同じIPアドレスのサーバが動作しているように見える。

(2)　バッチジョブ実行システムのクラスタ運用の概要

ここでは，クラスタシステムでバッチジョブ実行システムを運用する概要について説明する。バッチジョブ実行システムはクラスタシステムに対応している。

クラスタシステムでバッチジョブ実行システムを運用するためには，論理ホスト環境のJP1と連携する必要がある。論理ホスト環境のJP1と連携していれば，バッチジョブ実行システムの物理ホスト環境でも論理ホスト環境でもどちらともクラスタシステムに対応できる。また，フェールオーバー時に引き継ぎが必要なデータを格納するための共有ディスク，および論理IPアドレスが必要となる。JP1のセットアップについては，JP1のマニュアルを参照すること。クラスタシステムで実行されるバッチジョブ実行システムは，共有ディスクに格納したデータを使用し，フェールオーバー時に実行系から待機系に引き継いで処理を続けることができる。バッチジョブ実行システムが共有ディスクに格納する必要のあるデータはスプールである。

バッチジョブ実行システムでのクラスタ運用の概要を次の図に示す。

図4‒15　バッチジョブ実行システムでのクラスタ運用の概要

4.10.2　クラスタ運用の前提条件とサポート範囲

バッチジョブ実行システムは，クラスタシステムでは論理ホスト環境で動作するJP1と連携し，フェールオーバーに対応する。クラスタシステムで運用する場合のバッチジョブ実行システムの前提条件は，前提プログラムのJP1と同様に，共有ディスクや論理IPアドレスの割り当て，削除，および動作監視がクラスタソフトによって正常に制御されていることである。

(1)　バッチジョブ実行システムの論理ホスト環境の前提条件

JP1の論理ホスト名を次の表に示す文字数にする必要がある。

表4‒8　JP1の論理ホスト名の文字数

バッチジョブ実行システムの環境

JP1の論理ホスト名の文字数

物理ホスト

1〜255

論理ホスト

1〜244

また，使用するクラスタソフトに上限がある場合，上限を超えないようにJP1の論理ホスト名を設定すること。JP1の論理ホスト環境自体の前提条件については，JP1のマニュアルを参照すること。

(2)　システム環境の前提条件

クラスタ構成にするためのシステム環境の前提条件は，JP1でクラスタシステムを構築する場合と同様である。JP1のマニュアルを参照すること。

(3)　バッチジョブ実行システムがサポートする範囲

クラスタシステムでバッチジョブ実行システムを運用する場合，バッチジョブ実行システムがサポートする範囲はバッチジョブ実行システム自体の動作だけである。共有ディスクや論理IPアドレスの制御はクラスタソフトの制御に依存する。

また，バッチジョブ実行システムの環境およびシステム環境の前提条件が満たされていない，またはクラスタシステム環境の制御に問題がある場合は，バッチジョブ実行システムの動作で発生した問題もサポートの対象外となる。この場合は，クラスタソフトやOSで問題に対処すること。

4.10.3　クラスタ運用の環境設定

クラスタ運用に対応するためのバッチジョブ実行システムの環境設定について説明する。

(1)　環境設定で設定する項目

環境設定で設定する項目を次に示す。

(a)　共有ディスク上への共有ディレクトリの作成

実行系・待機系の切り替え時に情報を共有するために，次の表に示すディレクトリを共有ディスク上に作成する。

表4‒9　情報を共有するために作られる共有ディレクトリの種別

共有ディレクトリの種別

作成基準

カタログドプロシジャ用

△

一時ファイル用

△

スプール用

○

恒久ファイル用

△

実行ログ用

△

トレース用

△

（凡例）

○：共有ディスク上に作成することが必須である。

△：システムの運用方針に従い設定する。

(b)　クラスタソフトへの登録

クラスタソフトに登録する機能と各機能で使用するコマンドを次の表に示す。

表4‒10　クラスタソフトに登録する機能と各機能で使用するコマンド

登録する機能

説明

使用するコマンド

起動

スプールジョブ転送デーモンを起動する。

bjexpdctl start※1

bjexpdctl -h 論理ホスト名 start※2

停止

スプールジョブ転送デーモンを停止する。

bjexpdctl stop※1

bjexpdctl -h 論理ホスト名 stop※2

動作監視

スプールジョブ転送デーモンが正常に動作していることを監視する。

bjexpdctl status※1

bjexpdctl -h 論理ホスト名 status※2

注※1

物理ホストのバッチジョブ実行システムの場合

注※2

論理ホストのバッチジョブ実行システムの場合

(2)　インストール

実行系，待機系それぞれのローカルディスク上にバッチジョブ実行システムをインストールすること。また，共有ディスク上にはバッチジョブ実行システムをインストールしないこと。

(3)　セットアップ

バッチジョブ実行システムをクラスタシステムで運用するには，JP1をセットアップしたあとに実行系および待機系のセットアップが必要である。JP1のセットアップについては，JP1のマニュアルを参照すること。

バッチジョブ実行システムのセットアップを次に示す。

(a)　バッチジョブ実行システムの設定ファイル

バッチジョブ実行システムをクラスタシステムで動作させるためには，JP1の論理ホストと連携するバッチジョブ実行システムの設定ファイルを実行系・待機系それぞれに作成する必要がある。

クラスタシステムで運用する場合の設定ファイルに記述する内容は，物理ホストの設定ファイル（bjex.conf）に記述する内容と同様である。詳細については，「8.　設定ファイル」を参照すること。

(b)　実行系・待機系のファイル構成

バッチジョブ実行システムは，実行系サーバと待機系サーバで次のファイルを同じ構成にする必要がある。

ジョブ定義XMLファイル

プロシジャXMLファイル

バッチジョブ実行システムの設定ファイル

ジョブ定義XML ファイルのEXEC 要素に指定する実行プログラム

4.10.4　クラスタ運用に関する注意事項

物理ホストのバッチジョブ実行システムをクラスタシステムで運用する場合，必ず実行系・待機系それぞれの設定ファイルのJP1_HOSTNAMEパラメータにJP1の論理ホスト名を指定すること。

バッチジョブ実行システムをクラスタシステムで運用する場合，必ずJP1の論理ホスト環境でbjexecコマンドを実行すること。

共有ディスク上のファイルは，実行系サーバと待機系サーバのどちらからでもアクセスできるようにアクセス権限を設定すること。

フェールオーバー後，ジョブを再実行するかどうかはJP1/AJSの設定による。詳細については，JP1/AJSのマニュアルを参照のこと。

共有するディスクは，実行系サーバと待機系サーバとで同じアクセス権限を設定すること。

なお，バッチジョブ実行システムの運用全体の注意事項については，「4.11　バッチジョブ実行システムの運用時の注意事項」を参照のこと。

4.11　バッチジョブ実行システムの運用時の注意事項

ジョブの実行中にOSやハードウェア障害などでシステムが停止した場合，停止直前に実行中だったジョブの実行結果や，一時ファイルの削除や世代ファイルの更新などのファイルの後処理の完了は保証されない。このため，OSのリブート後やクラスタ構成の系切り替え後にジョブを再実行する前に，次の点を確認する必要がある。

障害発生時に実行されていたジョブが世代ファイルを使用している場合は，bjexgdgコマンドで世代ファイル群の状況を確認する。ジョブ実行前の状態になっていない場合は，bjexhkgdgコマンドで不要な世代を削除する。

削除できなかった一時ファイルは自動的には削除されないため，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリの内容を確認し，手動で削除する。また，設定ファイルのTEMP_FILE_DIR_XML_USEパラメータでYESを指定している場合，各ジョブの一時ファイルを定義するDD要素のDSN属性で指定したディレクトリ内の一時ファイルも削除する。

4.12　PREST機能を使用するジョブの定義

PREST機能を使用するジョブは，PRESTファイルでペアとなるジョブまたはジョブステップの障害で長時間待ち状態となることを考慮して，設定ファイルにJOBPARM_JSPECANパラメータを指定すること，およびJP1/AJSのジョブ定義で適切な打ち切り時間を設定することを推奨する。

ジョブ間PRESTファイルは，バッチジョブ実行システムの実行ホスト内でのグローバルなファイル名を使用する。このため，各ジョブで使用するPRESTファイル名は，ホスト内でユニークになるようにシステム管理者が管理して割り当てる必要がある。

ジョブ間PRESTファイルを使用するジョブは，入力側と出力側のジョブを同時に実行する必要がある。このため，JP1/AJSで同時に実行されるようにジョブを定義すること。

4.13　COBOLプログラムで使用する文字コードを変更する場合の設定

ここでは，COBOLプログラムで使用する文字コードを変更する場合の設定について説明する。

4.13.1　機能概要

バッチジョブ実行システムからCOBOLプログラムを呼び出す際，次の2点を設定することによって自動で文字コードを変更できる。

ジョブ定義XMLファイルのEXEC要素にLANG="COBOL"を指定

バッチジョブ実行システムの設定ファイルにCOBOL_LANGを設定

オープンシステムでのCOBOLプログラムはシフトJISで動作させるのが一般的である。

ところが，バッチジョブ実行システムをLinux環境で使用する場合，言語種別の設定では環境変数LANG の値にCまたはja_JP.UTF-8を指定する必要があるため，COBOLプログラムを実行する場合，シフトJISに変更する必要がある。このとき，ジョブ定義XMLファイルにはEXEC要素のPGMパラメータにCOBOLプログラムを直接指定できず，次のように文字コードを変更する記述が必要である。

  <EXEC PGM="*" LANG="COBOL" >
    <![CDATA[
!
     LANG=ja_JP.SJIS  COBOLプログラム
!
     ]]>
  </EXEC>

この機能を使用した場合，EXEC要素のPGMパラメータにCOBOLプログラムを直接指定して，COBOLプログラムを任意の文字コードで実行できる。

4.13.2　ジョブ定義XMLファイルの指定

ジョブ定義XMLファイルで，EXEC要素にLANG="COBOL"と設定する。これによって，このステップを設定ファイルのLANG_COBOLで指定した文字コードで実行できる。

<EXEC PGM="プログラム名" LANG="COBOL"/>

4.13.3　設定ファイル

設定ファイルのCOBOL_LANGパラメータで定義する。

COBOL_LANG パラメータの定義例を次に示す。

COBOL_LANG　ja_JP.SJIS

注意事項

オペランドに文字コードを2個以上指定することはできない。

4.14　バッチジョブ実行システムにおけるSystemVセマフォ，共有メモリの管理

4.14.1　使用する共有メモリ

バッチジョブ実行システムでは，次の機能でSystemVセマフォ，共有メモリを使用する。

排他制御機能

実行中のジョブ情報表示機能

メッセージ制御機能

4.14.2　管理方法

セマフォ，共有メモリは，ftok関数で生成するIPC（InterProcessCommunication：プロセス間通信）キーを使用して，バッチジョブ実行システムが生成，削除を行う。生成，削除するセマフォ，共有メモリは，IPCキーによって区別され，同一のセマフォ，共有メモリを使用するには，同一のIPCキーを使用する。

バッチジョブ実行システムがIPCキーを作成するときには，次の識別子とファイル情報を指定している。

表4‒11　IPCキー作成時の識別子とファイル情報

機能

識別子（仮定値）

ファイル情報

排他制御機能および実行中のジョブ情報表示機能

1

設定ファイルのSPOOL_DIRパラメータで指定したスプールディレクトリにある排他制御管理ファイルの情報

メッセージ制御機能

77

設定ファイルのSPOOL_DIRパラメータで指定したスプールディレクトリの情報

ftok関数で生成するIPCキーは，完全に一意にならないで，場合によってはシステム内で重複することがある。IPCキーが重複すると，本来別のセマフォ，共有メモリを使用しなければならないが，同じセマフォ，共有メモリを重複して使用することがある。

4.14.3　セマフォ，共有メモリ重複時のメッセージ

バッチジョブ実行システムでは使用するセマフォを基に共有メモリを割り当て，共有メモリの内容で重複しているかを判断している。共有メモリが重複していると判断した場合，次のメッセージを出力する。

(1)　排他制御機能および実行中のジョブ情報表示機能

ジョブ実行時に重複を検知した場合，KAKC1731-E，KAKC1732-E，KAKC1733-Eのどれかのメッセージを出力し，ジョブは異常終了する。

また，スプールジョブ転送サービスデーモンの起動，停止時に重複を検知した場合も同様のメッセージを出力する。

(2)　メッセージ制御機能

メッセージ出力時に重複を検知した場合，KAKC5006-Eメッセージを出力し，メッセージを出力したジョブは異常終了する。

また，スプールジョブ転送サービスデーモンの起動，停止時に重複を検知した場合も同様のメッセージを出力する。

4.14.4　セマフォ，共有メモリ重複時の対処方法

セマフォ，共有メモリの重複が検知された場合，バッチジョブ実行システムの設定ファイルの次の指定を行う。

(1)　排他制御機能および実行中のジョブ情報表示機能用のセマフォ，共有メモリが重複した場合

LOCK_KEY_IDパラメータで，任意の値を指定する。

指定された値を識別子として，重複しているIPCキーとは異なるIPCキーを生成し，セマフォ，共有メモリを生成，削除する。

指定する値は，ほかの論理ホストのバッチジョブ実行システムと重複しないようにすることが望ましい。

(2)　メッセージ制御機能用のセマフォ，共有メモリが重複した場合

MSG_KEY_IDパラメータで，任意の値を指定する。

指定された値を識別子として，重複しているIPCキーとは異なるIPCキーを生成し，セマフォ，共有メモリを生成，削除する。

指定する値は，ほかの論理ホストのバッチジョブ実行システムと重複しないようにすることが望ましい。

5　操作

この章では，バッチジョブ実行システムとJP1プログラムやPrinfina MANAGER SPおよびPDEを連携して使用するための設定および操作方法について説明する。

5.1　バッチジョブ実行システムの使用概要

ここでは，バッチジョブ実行システムでのバッチジョブ実行操作の概要について説明する。

5.1.1　バッチジョブ実行システムを使用するためのシステム構成

バッチジョブ実行システムを使用するためのシステム構成例を次の図に示す。

図5‒1　バッチジョブ実行システムを使用するためのシステム構成例

5.2　バッチジョブの実行

ここでは，バッチジョブの実行について説明する。JP1/AJSのジョブネットワークの定義方法などの操作については，JP1のマニュアルを参照のこと。

5.2.1　バッチジョブの起動

バッチジョブ実行システムのバッチジョブは，JP1/AJSからシェルを経由して起動することやコマンドラインから起動することもできる。バッチジョブ業務で使用する場合は，JP1/AJSから直接またはシェルを経由して起動することを前提としている。コマンドラインからの実行は動作確認などで使用すること。

(1)　JP1/AJSから起動する場合

JP1/AJSからバッチジョブ実行システムのバッチジョブを起動するには，次のどちらかのジョブを使う。

UNIXジョブ

実行するジョブをUNIXジョブに定義することで，ジョブネットからバッチジョブ実行サーバにジョブを入力できる。バッチジョブ実行システムのバッチジョブは，UNIXジョブのうちキュー属性だけに対応しており，キューレス属性には対応していない。

サブミットジョブ

ジョブ実行コマンド（jpqjobsubコマンド）を使ってジョブをキューに直接登録できる。

JP1/AJSからOS標準のシェル※を経由して起動する場合，JP1/AJSからバッチジョブ実行システムを強制終了したときジョブログが途中までしか表示されないことがある。これはシェルがバッチジョブ実行システムのジョブログ出力を待たずに終了してしまうためである。ジョブログをすべて表示させるためには，シェルでSIGTERMシグナルをトラップする必要がある。以下にシェルでSIGTERMシグナルをトラップする例を示す。

注※　AIXの場合ksh，Linuxの場合bash

シェルでSIGTERMシグナルをトラップする例

　　trap 'exit 255' TERM                   ・・・SIGTERMを受けると終了コード255で終了する
    bjexec /xml/gyomu1.xml

バッチジョブの起動方法による強制終了の方法と制限事項を以下にまとめる。

表5‒1　JP1/AJSからバッチジョブを起動した場合の強制終了の方法と制限事項

項目

バッチジョブの起動

直接実行する場合

OS標準のシェルを経由して起動

JP1/ASを経由して起動

制限事項

なし

環境変数AJS_BJEX_STOPを設定してもKAKC0002-Wが出力される※1

ジョブ起動時に環境変数SHELLにOS標準のシェルを設定すること（JP1/AJSが環境変数SHELLにJP1/ASを設定することがある）※3

ジョブ強制終了方法

JP1/AJSの強制終了

JP1/AJSの強制終了※2

JP1/AJSの強制終了

注※1　動作には影響ない。環境変数AJS_BJEX_STOPの設定は必要である。

注※2　ジョブログを表示させるにはtrapコマンドを定義する必要がある。

注※3　UNIXジョブの［スクリプトファイル名］にJP1/ASのジョブ定義スクリプトファイルを指定すると，JP1/AJSが環境変数SHELLにJP1/ASを設定する。EXEC要素内のPGM属性値に"*"の指定とEXEC要素の内容にシェルの指定をしても，シェルスクリプトとして実行できなくなる。環境変数SHELLにOS標準のシェルを設定する例を次に示す。次のどちらかの設定をする必要がある。

(1)JP1/ASのスクリプトによる設定方法

JP1/ASのジョブ定義スクリプトファイルに次の指定をすることで，環境変数SHELLにOS標準のシェルを設定してジョブを起動できる。

export SHELL=/bin/sh
bjexec ジョブ定義xmlファイル

(2)JP1/AJSのジョブ定義による設定方法

JP1/AJSのUNIXジョブによるジョブの定義を次のようにすることで，環境変数SHELLにOS標準のシェルを設定してジョブを起動できる。

［詳細定義−［UNIX Job］］画面の［定義］タブ

スクリプトファイル名：/opt/jp1as/bin/adshexec

パラメータ：ジョブ定義スクリプトファイル名，および実行時パラメータ

サブミットジョブの場合，それぞれ-sc，-argオプションとなる。

(2)　コマンドラインから起動する場合

JP1/AJSを使用せず起動することもできる。ただし，前提プログラムであるJP1/AJS およびJP1/BASE の組み込みが必要である。コマンドラインからバッチジョブの起動方法による強制終了の方法と制限事項を以下にまとめる。

表5‒2　コマンドラインからバッチジョブを起動した場合の強制終了の方法と制限事項

項目

バッチジョブの起動

直接実行する場合

OS標準のシェルを経由して起動

JP1/ASを経由して起動

制限事項

日付世代番号指定機能が使用できない

ジョブログヘッダおよびSYSOUT管理ファイルにJP1の情報が出力されない

標準入力を使用するプログラムを実行すると停止することがある

ジョブ強制終了方法

bjexecプロセスにSIGTERMを送る

5.2.2　JP1/AJSからバッチジョブを実行する場合のジョブ定義

JP1/AJSからバッチジョブを実行するには，UNIXジョブまたはサブミットジョブを使用する。

(1)　UNIXジョブの実行

［詳細定義−［UNIX Job］］画面で，バッチジョブ実行システムのバッチジョブの詳細を定義する。定義方法と内容は，UNIXジョブに従う。バッチジョブ実行システムのバッチジョブとして指定必須項目について示す。

(a)　［定義］タブ

［スクリプトファイル名］

バッチジョブ起動コマンド名として次を指定する。

/opt/hitachi/bjex/bin/bjexec

［パラメータ］

ジョブ定義XMLファイルのパス名を指定する。

［環境変数］

環境変数に次を指定する。

AJS_BJEX_STOP=TERM

AJS_BJEX_STOP=TERMを指定すると，JP1/AJSの強制終了機能使用時プロセスグループに対して，SIGKILLではなくSIGTERMが送付される。

［実行優先順位］

実行優先順位に3を指定する。

バッチジョブ実行システムのバッチジョブとしての指定例を次の図に示す。

図5‒2　［詳細定義−［UNIX Job］］画面の［定義］タブの指定例

(b)　［属性］タブ

［実行先サービス］

実行先のサービスは［標準］を選択すること。それ以外のオプションを選択すると，強制終了機能使用時，環境変数にAJS_BJEX_STOP=TERMを指定した場合でもSIGKILLが送付される。

バッチジョブ実行システムのバッチジョブとしての指定例を次の図に示す。

図5‒3　［詳細定義−［UNIX Job］］画面の［属性］タブの指定例

(2)　サブミットジョブの実行

実行するジョブやキューを指定して，jpqjobsubコマンドを実行する。バッチジョブ実行システムのバッチジョブの指定必須項目を次に示す。

-sc 実行ファイル名

バッチジョブ起動コマンド名を指定する。

-arg "引数..."

ジョブ定義XMLファイルのパス名を指定する。

-env 環境変数名=値

付け加える環境変数にAJS_BJEX_STOP=TERMを指定する。

-pr 実行優先順位

サブミットジョブの実行優先順位に3を指定する。

バッチジョブ実行システムのバッチジョブの設定例を次に示す。

-sc /opt/hitachi/bjex/bin/bjexec
-arg "/home/bjex/batch/xml/sample1.xml"
-env  AJS_BJEX_STOP=TERM
-pr 3

5.2.3　実行結果の参照

バッチジョブ実行システムのバッチジョブの実行結果は，ジョブログとして標準エラー出力ファイルに出力される。ジョブログは，JP1/AJS - Viewの［実行結果詳細］画面から参照できる。ジョブログのフォーマットについては，「3.1.3(2)　ジョブログ出力機能」を参照のこと。

［実行結果詳細］画面の表示例を次の図に示す。

図5‒4　［実行結果詳細］画面の表示例

5.2.4　バッチジョブの強制終了

バッチジョブの強制終了には次の2とおりの方法がある。

JP1/AJSからジョブを起動している場合，JP1/AJSの強制終了操作を実行する。※

bjexecプロセスにSIGTERMシグナルを送付する。

注※　AJS_BJEX_STOP環境変数にTERMの指定が必要である。

実行中のバッチジョブを強制終了すると，ジョブステップのプロセスグループに対してSIGKILLシグナルが送信し，ジョブステップのプロセスを強制終了する。強制終了の指示を複数回受けた場合，ジョブコントローラ自身が強制終了する。

(1)　JP1/AJSから起動したジョブの強制終了操作

JP1/AJSの操作によって実行中のバッチジョブおよびジョブネットを強制終了できる。

また，強制終了の指示を受けたジョブネットは，新たなジョブを起動しなくなり，ジョブネット内の実行中のジョブすべてを強制終了する。この操作は，次に示すウィンドウ，またはajskillコマンド，もしくはjpqjobcanコマンドで操作できる。

［デイリースケジュール（階層表示）］ウィンドウ

［JP1/AJS3 - View］ウィンドウ

［マンスリースケジュール］ウィンドウ

［ジョブネットモニタ］ウィンドウ

ウィンドウによる強制終了，ajskillコマンド，およびjpqjobcanコマンドの詳細については，JP1のマニュアルを参照のこと。

上記の操作で強制終了をした場合，JP1/AJSで確認できるジョブの状態は，「異常検出終了」となる。

(2)　bjexecプロセスにSIGTERMシグナルを送付

bjexecプロセスにSIGTERMシグナルを送付することで実行中のバッチジョブを強制終了できる。

bjexecプロセスのプロセスIDはbjexlslockコマンドのPIDの列に出力される。bjexlslockコマンドでbjexecプロセスのプロセスIDを参照し，SIGTERMシグナルを送付する。排他/共用制御機能を使用していない場合は，psコマンドなどで調べること。

(3)　注意事項

次に示すジョブステップ中のプロセスは強制終了されない。このようなプロセスは，killコマンドなどのほかの手段で終了させる必要がある。

setpgrpシステムコールなどを実行し，別プロセスグループとなっているプロセス

常駐プロセスなどから起動され，ジョブコントローラの子孫プロセスとなっていないプロセス

次に示す方法などでジョブコントローラ自身が強制終了させた場合，bjexlsjobコマンドは，実行中のジョブの終了時刻を出力しない。

ジョブコントローラに強制終了を複数回指示する。

ジョブコントローラにSIGKILLシグナルを送る。

5.3　Prinfina MANAGER SPおよびPDEとの連携による帳票印刷

ここでは，Prinfina MANAGER SPおよびPDEとの連携による帳票印刷について説明する。

5.3.1　帳票印刷

帳票印刷は，Prinfina MANAGER SP，PDEと連携して実施する。バッチジョブの実行終了後，スプールに出力されたSYSOUTデータファイルをスプールジョブ転送サービスによって出力クラスに従い，Prinfina MANAGER SP，PDEが動作するプリントサーバに転送することで実施する。

5.3.2　JP1/FTPを使った印刷データ転送

スプールジョブ転送サービスは，JP1/FTPを使用してバッチジョブの実行結果である印刷データ（SYSOUTデータファイル）をプリントサーバに転送する。ここでは，印刷データの転送方法について説明する。

(1)　バッチジョブ実行システムの設定

バッチジョブ実行システムでの設定について次に示す。

(a)　設定ファイル（bjex.conf）

出力クラスごとの転送先についての情報を設定する。

設定ファイルの設定例を次に示す。

<SysoutClass クラス名>
　：
　JP1FTPCARD　伝送カード名
　FTPCNTL　スプールジョブ管理ファイル転送先ディレクトリ名
　FTPDATA　SYSOUTデータファイル転送先ディレクトリ名
　：
</SysoutClass>

設定ファイルの指定例を次に示す。

<SysoutClass A>
　：
　JP1FTPCARD　cardA
　FTPCNTL　A/CNTL
　FTPDATA　A/DATA
　：
</SysoutClass>

(b)　ジョブ定義XMLファイル

DD要素のSYSOUT属性で，出力クラスを設定する。ジョブ定義XMLファイルの設定例を次に示す。

　：
<DD NAME="SYSPRINT"　TYPE="SYSOUT" SYSOUT="A" />
　：

(2)　JP1/FTPの設定

転送ホスト，ログインユーザ名などのFTP転送に関するパラメータは，設定ファイルの出力クラスで指定する伝送カード名で定義する。

伝送カードの詳細については，JP1のマニュアルを参照のこと。

バッチジョブ実行システムで使用する伝送カードに設定する内容について次の表に示す。

表5‒3　バッチジョブ実行システムで使用する伝送カード設定項目

設定パラメータ

ユーザ指定

設定時の注意事項

カード名

○

クラスに対応するカード名を使用する。

接続先ホスト名

○

−

接続先ポート番号

○

−

ログインユーザ名

○

−

ログインパスワード

○

−

送受信種別

○※1

SENDを指定する。

転送時に設定を上書きして使用する。

伝送モード

○※1

BINARYを指定する。

転送時に設定を上書きして使用する。

圧縮モード

△

−

サイズ確認

△

CHECKを指定することを推奨する。

単／複伝送

△※1

転送時に設定を上書きして使用する。

ローカルファイル名

○※1

カードにはダミーで登録する（必須パラメータのため）。

転送時に上書きして使用する。

リモートファイル名

○※1

カードにはダミーで登録する（必須パラメータのため）。

転送時に上書きして使用する。

正常時に起動するプログラム名

×

−

異常時に起動するプログラム名

×

−

FTPコマンド

×

−

コメント

△

−

（凡例）

○：バッチジョブ実行システムを使用するための必須パラメータである。

△：任意に指定できるパラメータである。

×：指定できないパラメータ※2である。

−：注意事項なし。

注※1

スプールジョブ転送サービスが指定を上書きするため，カードの登録時はダミーでよい。

注※2

指定されてもバッチジョブ実行システムではエラーとしない。なお，この項目を指定した場合は，PDEサーバ上でファイルアクセスの競合が発生し，PDEの動作に悪影響を与えるおそれがあるので注意が必要である。

JP1/FTPの設定例を次に示す。

ftsregc -N -TC cardA -TH prtserv -TP 20125 -TU prtuser -TW prtpasswd -TY BINARY
-TL dummy -TR dummy -TT SEND
＊＊伝送カード情報＊＊
伝送カード名：cardA
相手ホスト名：prtserv
ポート番号：20125
ログインユーザ名：prtuser
パスワード：********
送受信種別：送信（上書き）
伝送モード：BINARY
圧縮モード：非圧縮
サイズチェック：なし
単／複伝送：自動切り替え
ローカルファイル名：dummy
リモートファイル名：dummy
終了プロシジャ名（正常）：
終了プロシジャ名（異常）：
コマンド：コメント：

(3)　Prinfina MANAGER SPおよびPDEの設定

Prinfina MANAGER SPおよびPDEの設定について次に示す。

(a)　バッチジョブ実行システムとPrinfina MANAGER SPおよびPDEとの連携

バッチジョブ実行システムから出力クラス情報に従った転送先にスプールジョブ管理ファイルとSYSOUTデータファイルを転送する。

Prinfina MANAGER SPおよびPDEは，スプールジョブ管理ファイルの受信を監視することで，印刷ジョブの受信を完了したと判断し，印刷処理を開始する。また，Prinfina MANAGER SPおよびPDEの監視ディレクトリの設定で，バッチジョブ実行システムの設定ファイルのFTPCNTLで指定したスプールジョブ管理ファイル転送先ディレクトリを設定しておく必要がある。

(b)　転送のための準備

バッチジョブ実行システムからSYSOUTデータファイルを転送するために，Prinfina MANAGER SPおよびPDEでは次に示す準備が必要である。

詳細については，マニュアル「PRINT DATA EXCHANGE for Open」，「PRINT DATA EXCHANGE - Form Designer」，またはPrinfina MANAGER SPおよびPDEのドキュメントを参照のこと。

ディレクトリの作成

バッチジョブ実行システムの設定ファイル（bjex.conf）の出力クラスごとに指定する，スプールジョブ管理ファイルとSYSOUTデータファイルの転送先ディレクトリをそれぞれ作成する。

ディレクトリアクセス権の設定

転送で使用するJP1/FTPには，転送先のユーザ（JP1/FTPで定義するユーザ）のホームディレクトリ以下にだけ転送可能とするオプションがある。このオプション指定時には，転送先ディレクトリについてPrinfina MANAGER SP，またはPDEの監視サービスから参照可能になっている必要がある。

プリンタ制御情報の準備

PDE-Form Designerを使用してプリンタ制御情報を作成する。なお，PRINT DATA EXCHANGE - Form DesignerはWindowsで動作する。

PCでの制御イメージ作成の作業を次に示す。

書式を作成および修正して書式オーバレイイメージを生成

FCBイメージを作成および修正

デフォルト機能キャラクタイメージを作成および修正

プリントサーバへ転送

(4)　注意事項

スプールジョブ転送サービスは，FTP転送処理中にエラーが発生した場合，エラー要因が取り除かれるまで，設定ファイルのパラメータJP1FTP_RETRY_INTERVALおよびJP1FTP_RETRY_TIMESで指定した待ち時間の間隔と回数でリトライを繰り返す。このとき，スプールジョブ転送サービスは次のエラーメッセージをリトライするたびに出力する。

メッセージ

出力先

KAKC3004-E

実行ログ，JP1/IM - View

KAKC3123-E

実行ログ

上記のメッセージが出力された場合は，メッセージの出力情報からエラー要因を取り除くこと。ただし，リソース不足や論理矛盾など回復困難なエラーの場合は，スプールジョブ転送サービスを再起動したあとで，次のどちらかを実施すること。

バッチジョブを再実行する。

bjextrjobコマンドで明示的に印刷データを再転送する。

詳細は「6.6　JP1/FTPを使った印刷データ転送での障害対応」を参照すること。

5.3.3　SYSOUT属性のPDEおよびPrinfina MANAGER SPでの扱い

バッチジョブ実行システムの設定するSYSOUT属性について，PDE,Prinfina MANAGER SPでの扱いについて示す。なお，詳細については，マニュアル「PRINT DATA EXCHANGE for Open」，またはPrinfina MANAGER SPおよびPDEのドキュメントを参照のこと。

書式，FCBなどの主に帳票出力プログラムを記載する上で，プログラマが留意すべき属性について次の表に示す。

表5‒4　プログラマが留意すべきSYSOUT属性のPDE,Prinfina MANAGER SPでの扱い

分類

項目

ジョブ定義XMLファイル/SysoutClassパラメータで指定できる項目

PDEでの扱い

Prinfina MANAGER SPでの扱い

属性名/パラメータ名

ジョブ定義XMLファイル

SysoutClassパラメータ

DD

文字配列テーブル名または文字セットイメージ名

CHARS

○

○

表5-5の項番1へ

FCB名称

FCB

○

○

表5-5の項番2へ

書式番号

FORMS

○

○

表5-5の項番3へ

漢字モード

MODE

○

○

表5-5の項番4へ

ANSI制御コード

RECFM

○

×

表5-5の項番5へ

文字配列テーブル順序番号属性

OPTCDJ

○

×

表5-5の項番6へ

複写回数

COPIES

○

○

表5-5の項番7へ

グループ複写回数

COPYG

○

○

表5-5の項番8へ

オーバレイ名

OVERLAY

○

○

表5-5の項番9へ

適用枚数

OVERC

○

○

表5-5の項番10へ

デフォルト機能キャラクタイメージ名

FCDFLT

○

○

表5-5の項番11へ

出力先識別子

DEST

○

○

表5-5の項番12へ

レベル1外字名

GAIJI1

○

○

表5-5の項番13へ

エンコード種別

ENCODE

○

○

表5-5の項番14へ

PDEファイル形式2

FTYPE

○

○

表5-5の項番15へ

（凡例）

○：指定できる。

×：指定できない。

表5‒5　プログラマが留意すべきSYSOUT属性のPDE,Prinfina MANAGER SPでの扱い（扱いについての詳細）

項番

PDEでの扱い

Prinfina MANAGER SPでの扱い

1

CHARSイメージ名（書体情報の適用）

−

2

FCBイメージ名（FCBイメージの適用など）

FCB名の属性値として使用

3

用紙形式コード（用紙名称の表示など）

用紙コードの属性値として使用

4

プリンタモード

−

5

プリンタ制御文字

−

6

順序番号の有無

−

7

部数複写

部数(部複写回数)の属性値として使用

8

ページ複写

部数(ページ複写回数)の属性値として使用

9

書式オーバレイイメージ名（書式オーバレイイメージの適用）

−

10

書式適用枚数（適用する書式オーバレイイメージの枚数）

−

11

デフォルト機能キャラクタイメージ名（デフォルト機能キャラクタイメージの適用）

−

12

出力先コード（対象ジョブ条件に使用）

−

13

外字フォント名

−

14

エンコード種別

−

15

PDEファイル形式2

−

（凡例）

−：使用しない。

書式，FCBなどの主に帳票出力プログラムを記載する上で，出力クラスによる出力先の振り分けなどの運用管理者が留意すべき属性について次の表に示す。

表5‒6　運用管理者が留意すべきSYSOUT属性のPDE,Prinfina MANAGER SPでの扱い

分類

項目

ジョブ定義XMLファイル/SysoutClassパラメータで指定できる項目

ジョブ定義XMLファイル/SysoutClassパラメータで指定できない項目

PDEでの扱い

Prinfina MANAGER SPでの扱い

属性名/パラメータ名

ジョブ定義XMLファイル

SysoutClassパラメータ

ジョブ

ジョブ識別子（10進数）

×

×

×

ジョブコントローラで割り当てるジョブ識別子

表5-7の項番1へ

ジョブ名

NAME

○

×

×

表5-7の項番2へ

ユーザ名

×

×

×

環境変数JP1_USERNAMEまたはOSユーザ名

表5-7の項番3へ

仕分け番号

ROOM

○

×

×

表5-7の項番4へ

ホスト名

×

×

×

次に示す優先順位のホスト名となる（優先順位は1が最も高い）

-hオプションで指定

設定ファイルのJP1_HOSTNAMEパラメータで指定

gethostname()で取得

表5-7の項番5へ

DD

DD名称

NAME

○

×

×

表5-7の項番6へ

出力クラス名

SYSOUT

○

○

×

表5-7の項番7へ

注釈情報

CMT

○

×

×

表5-7の項番8へ

ジョブステップ

ジョブステップ名

NAME

○

×

×

表5-7の項番9へ

ステップ番号

×

×

×

ステップ通し番号※

表5-7の項番10へ

（凡例）

○：指定できる。

×：指定できない。

注※　ジョブ定義XMLファイルで定義したジョブステップの番号ではなく，ジョブ実行時にバッチジョブ実行システムで割り当てる番号。

表5‒7　運用管理者が留意すべきSYSOUT属性のPDE,Prinfina MANAGER SPでの扱い（扱いについての詳細）

項番

PDEでの扱い

Prinfina MANAGER SPでの扱い

1

ジョブ識別子（出力ファイル名／ドキュメント名に使用）

ジョブ識別子の属性値として使用

2

ジョブ名（対象ジョブ条件，出力ファイル名／ドキュメント名などに使用）

ジョブ名として使用

3

ユーザ名（対象ジョブ条件，出力ファイル名／ドキュメント名などに使用）

ユーザ名の属性値として使用

4

−

仕分コードの属性値として使用

5

ホスト名（対象ジョブ条件，出力ファイル名／ドキュメント名などに使用）

ホストIDの属性値として使用

6

−

DD名の属性値として使用

7

出力クラス名（対象ジョブ条件，出力ファイル名／ドキュメント名などに使用）

出力クラス名の属性値として使用

8

ジョブコメント（出力ファイル名／ドキュメント名，FAX送信先などに使用）

コメントの属性値として使用

9

ジョブステップ名（出力ファイル名／ドキュメント名に使用

−

10

ステップ通し番号（出力ファイル名／ドキュメント名に使用）

−

（凡例）

−：使用しない。

5.3.4　印刷データの転送契機

出力非保留属性のSYSOUTデータファイルは，ジョブ実行終了時にプリントサーバへ転送する。

出力保留属性のSYSOUTデータファイルはジョブ終了時にはプリントサーバへ転送しない。出力保留属性のSYSOUTデータファイルをプリントサーバに転送するには，bjexchjobコマンドによってスプールジョブ単位で印刷指示をする。

コマンドによる印刷データの転送の設定例を次に示す。

　：
<DD NAME="SYSPRINT"　TYPE="SYSOUT" SYSOUT="A" HOLD="YES"/>
　：

bjexlsjobコマンドでスプールジョブ一覧を表示する。

$ bjexlsjob
JOBID  S JOBNAME
000009 H SAMPLE1
000010 H SAMPLE2_JCL
000011 H SAMPLE3_JCL
000012 H SAMPLE1
000013 H SAMPLE2_JCL
000014 H SAMPLE3_JCL
000015 H SAMPLE1
000016 H SAMPLE2_JCL
000017 H SAMPLE3_JCL
000018 H SAMPLE1
000019 H SAMPLE1

スプールジョブ一覧から選択したジョブ識別子15のスプールジョブの保留状態を解除し，プリントサーバへ転送する。

bjexchjob -R 15

5.4　 JP1/IM - Managerとの連携による応答要求メッセージへの応答入力

ここでは，JP1/IM - Managerとの連携による応答要求メッセージへの応答入力について説明する。

5.4.1　応答の入力

メッセージ制御機能を使用して応答要求メッセージを出力した場合，そのメッセージは応答待ちイベント（イベントID：00005C21）としてJP1/IM - Viewに表示される。

応答を入力する場合は，JP1/IM - Viewの応答待ちイベントに対して応答を入力する。プログラムまたはコマンドには，JP1/IM - Viewから入力された応答が入力される。

5.4.2　JP1/IM - Managerとの連携

バッチジョブ実行システムは，設定ファイルのJP1IM_MANAGER_HOSTパラメータに指定したホストで稼働するJP1/IM - Managerと連携する。連携するJP1/IM - Managerでは，応答待ちイベント管理機能を有効にしておく必要がある。

応答を入力するJP1/IM - Viewは，バッチジョブ実行システムと連携するJP1/IM - Managerに接続している必要がある。連携していないJP1/IM - Managerに接続したJP1/IM - Viewでは，応答の入力ができない。応答を入力するJP1/IM - Viewでは，応答待ちイベントの応答・操作を有効にしておく必要がある。

JP1/IM - ManagerおよびJP1/IM - Viewの設定については，JP1のマニュアルを参照のこと。

5.4.3　応答要求メッセージの同時出力数

バッチジョブ実行システムは，応答要求メッセージを応答待ちイベントとして，連携するJP1/IM - Managerのホストに送付する。JP1/IM - Managerに滞留できる応答待ちイベントは2,000件であるため，同時期に送付できる応答待ちイベントの数をMAX_RESPONSE_REQUESTパラメータで制限する。応答待ちイベントを出力するホストでは，次に示す内容となるようにMAX_RESPONSE_REQUESTパラメータを指定する。

全ホスト※のMAX_RESPONSE_REQUESTパラメータ値の総和≦2,000

注※　JP1IM_MANAGER_HOSTパラメータが同一のホストを示す。

5.4.4　応答入力

JP1/IM - Viewから応答を入力する一例として，［応答待ちイベント］画面を使用する例を示す。

JP1/IM - Viewの［応答待ちイベント］画面には，応答待ちイベントが表示される。

COBOLアプリケーションでの［応答待ちイベント］画面の例を次の図に示す。

図5‒5　［応答待ちイベント］画面の例

［応答待ちイベント］画面に表示された応答待ちイベントから［応答入力］画面を表示し，［応答入力］欄に応答を入力して［応答］ボタンをクリックする。

［応答入力］画面を次の図に示す。

図5‒6　［応答入力］画面

［応答］ボタンをクリックしたあとに表示される画面で［はい］ボタンをクリックすると，COBOLアプリケーションに応答が入力される。

6　障害対策

この章では，バッチジョブ実行システムに必要な障害対策について説明する。

6.1　バックアップとリカバリー

バッチジョブ実行システムのバックアップとリカバリーについて説明する。

6.1.1　バックアップ

環境をバックアップする場合は，次に示す環境の設定情報をバックアップする。

バッチジョブ実行システムの定義ファイル（bjex.conf）のバックアップ

ジョブ定義XMLファイルのバックアップ

恒久ファイルのバックアップ

「8.　設定ファイル」の「PERMANENT_FILE_DIR（恒久ファイル用ディレクトリのパス名定義）」を参考にすること。

恒久ファイルの中で世代ファイルについては，個々のファイルをバックアップしないで，「［世代ディレクトリ名］世代データ群名」が同じファイルを同時にバックアップすること。

カタログドプロシジャ格納ディレクトリのバックアップ

「8.　設定ファイル」の「PROCEDURE_DIR（プロシジャライブラリのパス名定義）」を参考にすること。

スプールディレクトリのバックアップ（任意）

6.1.2　リカバリー

ディスク障害などで環境が壊れた場合，JP1のインストール，セットアップを実施してから，バッチジョブ実行システムをリカバリーする。バッチジョブ実行システムのリカバリーでは，環境をバックアップしたファイルを，元のディレクトリ構成に復元することで完了する。

6.2　トラブルシューティング

6.2.1　対処の方法

バッチジョブ実行システムでトラブルが起きた場合は次に示す手順で対処する。

(1)　現象の確認

トラブルが発生したときの現象を確認する。メッセージが出力されている場合は，メッセージの内容を確認する。各メッセージの要因と対処方法については，「10.　メッセージと終了コード」を参照のこと。また，バッチジョブ実行システムが出力するログ情報については，「6.2.2　ログ情報の種類」を参照のこと。

(2)　資料の採取

トラブルの要因を調べるために資料の採取が必要である。「6.2.3　トラブル発生時に採取が必要な資料」を参照して，必要な資料を採取すること。

(3)　問題の調査

採取した資料を基に問題の要因を調査し，問題が発生している部分と問題の範囲を切り分ける。

6.2.2　ログ情報の種類

バッチジョブ実行システムを運用しているときに出力されるログ情報について，次の表に示す。

表6‒1　バッチジョブ実行システム運用時に出力されるログ情報

ログ情報

ログ情報の格納先

ジョブログ（バッチジョブのログ）

スプールディレクトリの配下

実行ログ（バッチジョブ実行システムの実行ログ）

設定ファイルのLOG_DIRパラメータで指定したディレクトリ

トレースログ（バッチジョブ実行システムの内部トレース）

設定ファイルのTRACE_DIRパラメータで指定したディレクトリ

起動ログ（bjexpdの起動ログ）

物理ホストのbjexpdの場合

/opt/hitachi/bjex/system/bjexpd.log

論理ホストのbjexpdの場合

/opt/hitachi/bjex/system/bjexpd_論理ホスト名.log

(1)　ジョブログ

ジョブログとは，ジョブの実行結果を通知する利用者向けのログ情報のことである。このログ情報は，JP1/AJS - Viewなどによって確認ができる。

(2)　実行ログ

実行ログとは，バッチジョブの実行履歴を統括的に参照するためのシステム管理者向けのログ情報である。このログ情報は，設定ファイルのLOG_DIRパラメータで指定したディレクトリ下のBjexLog.logに出力される。

(a)　機能

実行ログには，各ジョブコントローラプロセスで実行しているジョブの情報のほかに，スプールジョブ転送デーモンのログを集めることができる。

図6‒1　ログ情報の出力の流れ

実行ログは次のように作成する。

実行ログに出力するメッセージを集め，CSV形式で出力する。

出力するメッセージについては，「10.2　メッセージの出力先一覧」を参照のこと。

ローテーションを行い，バックアップを作成する。

設定ファイルのLOG_FILE_SIZEパラメータに指定されたファイルサイズを超える直前に，実行ログのファイル名を変更してバックアップを作成し，新たに実行ログを作成して出力を継続する。

バックアップのファイル名は，BjexLog_N.log（Nは整数）となる。Nには新しいバックアップから昇順に1から番号を割り当てる。

設定ファイルのLOG_FILE_CNTパラメータに指定された面数のバックアップを作成し，面数を超えた場合は古いバックアップを削除する。

(b)　形式

メッセージは次のように出力される。

各データの意味を次に示す。

seqnum=プロセスごとの通し番号

date=出力した日時

pgmid=メッセージ出力元

メッセージ出力元には次のどれかが出力される。

Exec_c：ジョブコントローラ

Pd_d：スプールジョブ転送デーモン

Msg_lib：メッセージ制御機能を使用したCOBOLアプリケーション，bjexm_messageコマンド

Adapter：メッセージ制御機能の応答受信コマンド

jobid=ジョブ識別子

pid=プロセスID

msgid=メッセージ番号とタイプコード

msg=メッセージ

(c)　注意事項

実行ログのファイルはローテーション時に新しく作成するため，ファイルの所有者はローテーション時のユーザとなる。

(3)　トレースログと起動ログ

トレースログと起動ログは，トラブルが発生した場合にトラブル発生の経緯を調査，および各処理の処理時間を測定したりするために採取するログ情報である。

トレース※

設定ファイルのTRACE_DIRパラメータで指定したディレクトリ下のBjexTrace_N.log（Nは整数）に出力される。ファイル面数はTRACE_FILE_CNTパラメータ，ファイルサイズはTRACE_FILE_SIZEパラメータで指定する。

起動ログ

bjexpdの起動時のログで固定ファイルに出力される。

注※

トレースログファイルは，TRACE_FILE_CNTパラメータで指定した面数のファイルを順番にラップアラウンドして使用する。デフォルトは，ファイルサイズ2MB，ファイル面数4面である。

ファイルサイズを小さくする場合，およびファイル面数を少なくする場合は，TRACE_DIRパラメータで指定した出力先にあるトレースログファイルとディレクトリmmapを削除しなければならない。削除していない場合は，変更前の設定値が有効になる。

トレースログファイルやディレクトリmmapを削除する場合は，バッチジョブ実行システムのプロセスをすべて終了させておくこと。

通常運用時は，トレース用の各パラメータはデフォルトの設定とすることを推奨する。

6.2.3　トラブル発生時に採取が必要な資料

トラブルが発生したときに採取が必要な資料を次に示す。

なお，バッチジョブ実行システムでは，採取が必要な資料をバッチジョブ実行システムごとに一括採取するための「資料採取ツール」がある。資料採取ツールは，シェルスクリプト（bjexcollect）で提供している。資料採取ツールの詳細については，「付録C　bjexcollectコマンド（障害調査のための資料の一括収集）」を参照のこと。

(1)　OSのログ情報

採取が必要なOSのログ情報を次の表に示す。これらの情報は資料採取ツールで採取できる。

表6‒2　採取が必要なOSのログ情報【AIXの場合】

情報の種類

採取資料

種類

内容

基礎情報

日付

「date」の実行結果

システム名称

「uname -x」の実行結果

機種名

「uname -M」の実行結果

CPU数

「bindprocessor -q」の実行結果

物理メモリ量

「bootinfo -r」の実行結果

ランレベル

「who -r」の実行結果

OSレベル

「oslevel」の実行結果

保守レベル

「oslevel -rq」の実行結果

システム定義

「genkex」の実行結果

パッケージの一覧

「lslpp -al」の実行結果

インストール済みの日立製品

「/etc/.hitachi/pplistd/pplistd」ファイル

システムパラメータ

「pstat -T」の実行結果

カーネルのモード

「bootinfo -K」の実行結果

環境変数

「/etc/environment」ファイル

共有メモリ情報

「/usr/bin/ipcs -a」の実行結果

ホスト名

「/usr/bin/hostname」の実行結果

プロセス情報

プロセス一覧

「ps -efl」の実行結果

制限値

「ulimit -a」の実行結果

マシンの環境変数

「set」の実行結果

メモリ使用情報

システム・ページング・スペース情報

「lsps -a」の実行結果

ネットワーク使用状況

ネットワークステータスの表示

「netstat -an」の実行結果

「netstat -in」の実行結果

ネットワークインタフェースのパラメータの表示

「ifconfig -a」の実行結果

エラーログ

エラーログ情報

「errpt -a」の実行結果

syslog

syslogファイル（/var/adm/messagesなど）

ツールのデフォルトの定義ファイルでは採取しない。ツールのFILESに対象となるsyslogファイルを指定することで採取できる。

表6‒3　採取が必要なOSのログ情報【Linuxの場合】

情報の種類

採取資料

種類

内容

基礎情報

日付

「date」の実行結果

システム名称

「uname -a」の実行結果

機種名

−

CPU数

「/proc/cpuinfo」ファイル

物理メモリ量

「/proc/meminfo」ファイル

ランレベル

「who -r」の実行結果

OSレベル

「/etc/redhat-release」ファイル

保守レベル

「/etc/redhat-release」ファイル

システム定義

「/sbin/lsmod」の実行結果

パッケージの一覧

「rpm -qa」の実行結果

インストール済みの日立製品

「/etc/.hitachi/pplistd/pplistd」ファイル

システムパラメータ

「/sbin/sysctl -a」の実行結果

カーネルのモード

−

環境変数

「/etc/environment」ファイル

共有メモリ情報

「/usr/bin/ipcs -a」の実行結果

ホスト名

「/bin/hostname」の実行結果

プロセス情報

プロセス一覧

「ps -efl」の実行結果

制限値

「ulimit -a」の実行結果

マシンの環境変数

「set」の実行結果

メモリ使用情報

システム・ページング・スペース情報

「/proc/swaps」ファイル

ネットワーク使用状況

ネットワークステータスの表示

「netstat -an」の実行結果

「netstat -in」の実行結果

ネットワークインタフェースのパラメータの表示

「/sbin/ifconfig -a」の実行結果

「/sbin/ip addr show」の実行結果

エラーログ

エラーログ情報

−

syslog

syslogファイル

（Linuxの場合は/var/log/message*など）

ツールのデフォルトの定義ファイルでは採取しない。ツールのFILESに対象となるsyslogファイルを指定することで採取できる。

（凡例）

−：Linuxでは採取されない。

(2)　バッチジョブ実行システムの情報

採取が必要なバッチジョブ実行システムの情報を次の表に示す。これらの情報は資料採取ツールで採取できる。また，ネットワーク接続でのトラブルの場合，接続先マシン上のファイルの採取も必要である。

表6‒4　採取が必要なバッチジョブ実行システムの情報

情報の種類

採取資料

バッチジョブ実行システムのファイル情報

「/opt/hitachi/bjex」下のディレクトリとファイル一覧

バッチジョブ実行システムの稼働に関する情報（ログ以外）

「/opt/hitachi/bjex/system」下のファイルすべて

PIDファイルなど

「/opt/hitachi/bjex/conf」下のファイルすべて

設定ファイルなど

実行ログ

ツールの定義ファイルのLOG_DIRパラメータで指定されたディレクトリ下のファイルすべて

トレースログ

ツールの定義ファイルのTRACE_DIRパラメータで指定されたディレクトリ下のファイルすべて

起動ログ

「/opt/hitachi/bjex/system/bjexpd.log」ファイル

スプールを管理する情報

ツールの定義ファイルのSPOOL_DIRパラメータで指定されたディレクトリ下のスプール管理ファイル

ツールの定義ファイルのSPOOL_DIRパラメータで指定されたディレクトリ下のディレクトリとファイル一覧

POSIXメッセージキューの状態

JP1/Baseに関する情報

次のコマンドの実行結果

/opt/jp1base/bin/jbshostsexport

JP1/FTPに関する情報※1

次のコマンドの実行結果

/opt/jp1_fts/bin/ftshistory

/opt/jp1_fts/bin/ftsutil -L

/opt/jp1_fts/bin/ftsregcv -v

coreファイル※2

各プロセスの異常終了時にシステムによって次に出力されるファイル

bjexpd

「/opt/hitachi/bjex/system」下，またはスプールディレクトリ下（転送ディレクトリ下を含む）。ファイル格納先は処理状態によって異なる。

bjexec

bjexec起動時のカレントディレクトリ※3

注※1　SYSOUTデータのプリントサーバへの転送時の障害には，ツールで採取する情報のほかに，JP1/FTPのトラブルシューティング情報も必要である。JP1/FTPのトラブルシューティング情報については，JP1のマニュアルを参照のこと。

注※2　Linuxの標準の設定ではcoreファイルは出力されない。トラブル要因の初期調査が迅速に行えるように適切なCORE出力設定をすること。

注※3　bjexec起動時のカレントディレクトリは，デフォルトではジョブ実行ユーザがOSにログインしたときのホームディレクトリとなる。ただし，coreファイルの出力先は，OSの設定によって異なるディレクトリに出力するように設定されている場合があるため，ジョブを実行する前にcoreファイルの出力先の設定を確認しておくこと。

また，bjexecのcoreファイルは，ツールのデフォルトの定義ファイル指定では採取しないため，ツールの定義ファイルでCOREキーワードに対象ファイルを指定して採取すること。

(3)　バッチジョブ実行システムのプロセス一覧

psコマンドでプロセスの動作状態を確認する。バッチジョブ実行システムのプロセス名は，ジョブコントローラプロセスはbjexec，スプールジョブ転送デーモンプロセスはbjexpdである。

(4)　オペレーション内容

トラブル発生時のオペレーションとジョブ定義XMLファイルが必要である。

バッチ定義XMLファイル

オペレーション内容の詳細

トラブル発生時刻

マシン構成

各OSのバージョン，ホスト名，JP1/AJS - Manager，JP1/AJS - Agent，PDE，およびJP1/FTPの構成など。

再現性の有無

その他の情報

コマンド実行時にトラブルが発生した場合は，コマンドに指定した引数。

6.2.4　資料の採取方法

資料採取ツールのbjexcollectコマンドの定義ファイルに，収集対象の情報を指定して資料を採取する。bjexcollectコマンドの使用方法については，「付録C　bjexcollectコマンド（障害調査のための資料の一括収集）」を参照のこと。

【Linux限定】

トラブル要因の初期調査が迅速に行えるように適切なcore出力設定をすること。

6.3　PRESTファイルが存在して，新たにPRESTファイルを使用するジョブを実行できない場合の対処方法

使用するPRESTファイルは，ジョブ間PRESTファイルとジョブステップ間PRESTファイルとでは対処方法が異なる。このため，使用しているPRESTファイルの種類をジョブ定義XMLファイルとジョブログのエラーメッセージなどで調査する。

6.3.1　ジョブ間PRESTファイルの場合

bjexlslockコマンドを使用して，エラーになったPRESTファイルがほかのジョブで使用中でないことを確認する。

ほかのジョブで使用中でない場合，OSが提供する名前付きパイプの削除手段でジョブ間PRESTファイルを削除する。PRESTファイルを削除後に，ジョブを再実行する。

ほかのジョブで使用中の場合，そのジョブが終了するのを待ってジョブを再実行する。またはジョブ定義XMLファイルのPRESTのファイル名を変更して，ジョブを再実行する。

6.3.2　ジョブステップ間PRESTファイルの場合

ジョブを再実行すると別のPRESTファイル名を割り当てるため，ジョブを実行することができる。ただし，不当なPRESTファイルが残っている可能性があるため，次に示す手順で不当に残ったジョブステップ間PRESTファイルを削除することを推奨する。

ジョブ間ステップPRESTファイルが名前付きパイプであることを確認する。名前付きパイプでない場合，ほかのジョブで使用しているか判断できないため，ファイルの削除はできない（運用上，作成日付などから使用していないことが明確であれば削除できる）。

名前付きパイプの場合，ジョブステップ間PRESTファイルのファイル名からジョブ識別子を調査する。

bjexlsjobコマンドでジョブ識別子のジョブが実行中でないことを確認する。

ジョブが実行中でなければ，OSが提供する名前付きパイプの削除手段でジョブステップ間PRESTファイルを削除する。

6.4　ジョブが長時間待ち状態となった場合の対処方法

bjexlslockコマンドでジョブの排他状況を表示し，排他資源管理テーブルの空き待ち（KAKC1654-Wメッセージを出力）およびファイルのロック待ち（KAKC1650-Wメッセージを出力）で長時間待ち状態になっていないか確認する。

排他資源管理テーブルの空き待ちおよびファイルのロック待ちになっていない場合は，プログラムが異常である可能性があるため，JP1/AJSからジョブを強制終了する。

排他資源管理テーブルの空き待ちおよびファイルのロック待ちになっている場合，bjexlslockコマンドで該当ファイルの排他状況を表示して，ファイルをロック確保しているジョブを特定し，そのジョブに異常がないか確認する。異常がない場合は，そのジョブの終了を待つ。異常がある場合は，そのジョブをJP1/AJSから強制終了する。

JP1/IM - Viewまたはbjexlsmsgコマンドで，プログラムがメッセージの応答待ちになっていないか確認する。メッセージの応答待ちの場合，速やかにメッセージに対して応答する。

PRESTファイルを使用するジョブが長時間待ち状態になっている場合，PRESTファイルの使用方法が誤っている可能性がある。「3.12.2(4)(a)　プログラムが長時間待ち状態となる例」，および「3.12.2(4)(b)　プログラムがデッドロックになる例」を参照し，PRESTファイルの使用方法が誤っている場合は，両方のジョブをJP1/AJSから強制終了する。

6.5　メッセージ制御機能での障害対応

バッチジョブ実行システムでは，ネットワーク障害が発生した場合でも業務を終わらせることができるように，応答要求メッセージを適切に処理するコマンドを提供する。障害発生時は，OSにログインしてコマンドで応答を入力することで処理を続行できる。

なお，リトライ可能と判断しているエラーについては，COBOL2002で作成したCOBOLアプリケーション，bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャを異常終了させないでリトライを繰り返す。通常メッセージ出力については，3回まで動作を実施する。その後のリトライは行わないで，かつ異常終了させないでジョブを続行させる。応答要求メッセージについては，MESSAGE_RETRY_TIMEOUTパラメータの指定によって，リトライ時間を指定できる。通信処理などで異常が発生したことについては，バッチジョブ実行システムの実行ログに記録を残して，あとから障害解析ができるようにする。

また，バッチジョブの仕掛かり中に障害などによって処理系の切り替えが発生した場合，バッチジョブ実行システムは該当するジョブを継続処理しない。このような場合には，中断されたバッチジョブを切り替え後の処理系で再実行すること。

障害が発生した場合の対処方法を次に示す。

(1)JP1/IM - Viewにメッセージが表示されない場合

JP1イベントの送信処理でリトライが発生し，JP1/IM - Viewにメッセージが表示されないで，COBOLアプリケーション，bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャが停止したままの状態になる場合がある。この場合に考えられる原因と対処方法を次に示す。

バッチジョブ実行システムが稼働するホストで，JP1/Baseのイベントサービスが稼働していない。

JP1/Baseのイベントサービスを起動する。起動方法については，JP1のマニュアルを参照のこと。

JP1_HOSTNAMEパラメータの指定が誤っている。

すべてのジョブを終了したあと，設定ファイルを修正してbjexpdを再起動し，ジョブを再実行する。

JP1IM_MANAGER_HOSTパラメータの指定が誤っている。

すべてのジョブを終了したあと，設定ファイルを修正してbjexpdを再起動し，ジョブを再実行する。

なお，JP1/IM - Viewにメッセージが表示されない場合でも，bjexlsmsgおよびbjexchmsgコマンドを使用して応答を入力できる。入力手順については，「(2)　JP1/IM - Viewから応答が入力できない場合」を参照のこと。

(2)JP1/IM - Viewから応答が入力できない場合

バッチジョブ実行システムとJP1/IM - Manager間で，ネットワーク障害の発生またはJP1/IM - Managerで応答待ちイベントの滞留が解除された場合などによって，JP1/IM - Viewから応答が入力できない場合，bjexlsmsgおよびbjexchmsgコマンドを使用し，次に示す手順で応答を入力する。

1.bjexlsmsgコマンドで応答要求メッセージ一覧を表示

ジョブ識別子が000001のジョブで，応答要求メッセージを出力済みの場合の表示例を次に示す。

2.bjexchmsgコマンドで応答を入力

「応答してください。」のメッセージに対して「y」と応答する場合，bjexchmsgコマンドで次に示すように指定する。

-nオプションにbjexlsmsgコマンドで表示されるMESSAGE-NOを指定

-rオプションに応答として"y"を指定

応答を入力しないで応答要求メッセージを解除して，COBOL2002で作成したCOBOLアプリケーション，bjexm_messageコマンドまたはメッセージ出力用カタログドプロシジャを終了する場合は，bjexchmsgコマンドで次に示すように指定する。

-nオプションにbjexlsmsgコマンドで表示されるMESSAGE-NOを指定

-dオプションを指定

(3)JP1/IM - Viewの［応答入力］画面に表示される状態が，「NO LONGER MANAGED BY BJEX」となる場合

応答要求メッセージが出力済みの状態で次に示す内容が発生した場合，バッチジョブ実行システムは，出力済みの応答待ちイベントに対してキャンセルイベントを送信する。JP1/IM - Viewで滞留している応答待ちイベントは，キャンセルイベントによって滞留が解除される。

JP1/AJSからの強制終了でbjexecを終了した。

bjexchmsgコマンドで応答入力または解除を行った。

bjexpdctlコマンドでbjexpdを停止した。

ネットワーク障害でキャンセルイベントがJP1/IM - Managerに到達しなかった場合は，JP1/IM - Viewに応答待ちイベントが滞留したままになる。これらの応答待ちイベントに対してJP1/IM - Viewで［応答入力］画面を開くと，表示される状態が「NO LONGER MANAGED BY BJEX」となる。このような応答待ちイベントが滞留している場合は，JP1/IM - Viewから手動で滞留を解除する。

手動で解除する手順については，JP1のマニュアルを参照のこと。

なお，bjexecの終了時は，EXEC要素に指定したアプリケーションが出力した応答待ちイベントに対してだけキャンセルイベントを出力する。EXEC要素に指定したアプリケーションが生成する子プロセスが出力した応答待ちイベントに対しては，キャンセルイベントを出力しない。

6.6　JP1/FTPを使った印刷データ転送での障害対応

印刷データ（SYSOUTデータファイル）に出力非保留属性（NOHOLD状態）が設定されている場合，スプールジョブ転送サービスは，ジョブが完了した順番で印刷データをプリントサーバにFTP転送する。印刷順番を極力保証するために，転送処理中にエラーが発生した場合，デフォルトの設定では，スプールジョブ転送サービスは，エラー要因が取り除かれるまで該当する印刷データの転送をリトライし続ける。

ただし，設定ファイルのJP1FTP_RETRY_TIMESパラメータによって，エラー発生時に転送をリトライする回数を指定できる。

JP1FTP_RETRY_TIMESパラメータを指定している場合は，転送処理中にエラーが発生した場合にパラメータで指定した回数分，転送のリトライを繰り返す。このとき，指定回数分リトライしてもエラーが発生している場合は当該ジョブの転送処理を中断する。

プログラムの内部矛盾やリソース不足などの理由によって，スプールジョブ転送サービスのリトライ処理中にエラー要因を取り除くことが困難な場合，スプールジョブ転送サービスを一度停止・再起動してから，次のどちらかを実施する必要がある。

(1)バッチジョブを再実行する。

(2)bjextrjobコマンドで明示的に印刷データを再転送する。

(1)のとおりバッチジョブを再実行する場合には，印刷データの転送はジョブの完了順に行われることがバッチジョブ実行システムによって自動的に保証されるが，(2)のとおりbjextrjobコマンドで明示的に印刷データを再転送する場合は，バッチジョブ実行システムによる印刷データの転送順序の自動的な保証は行われない。そのため，印刷の順序性を重視する場合は，(1)のとおりバッチジョブを再実行することを推奨する。その場合，スプールジョブ転送サービスを再起動したあとで，「bjextrjob -d -t0」コマンドを実行して印刷ジョブをすべて削除してから，バッチジョブを再実行すること。

6.7　実行ログ出力用ディスクの容量不足の対処方法

スプールジョブを転送する運用をしている場合に，スプールジョブ転送デーモンの実行ログ出力でエラーが発生した場合や，実行ログ出力が停止している場合は，次の手順で回復作業を実施する。

なお，各コマンドの詳細については，「7.　コマンド」を参照のこと。

スプールジョブ転送サービス(bjexpd)が稼働中の場合は停止する。

次のコマンドを実行して，稼働中のbjexpdを停止する。

# /opt/hitachi/bjex/sbin/bjexpdctl stop

実行ログファイルのあるディスクの状態を確認する。

実行ログファイルのあるディスクの状態を確認し，容量不足が発生していれば不要なファイルを削除して空き領域を確保する。

スプールジョブ転送サービス(bjexpd)を起動する。

次のコマンドを実行して，bjexpdを起動する。

# /opt/hitachi/bjex/sbin/bjexpdctl start

印刷ジョブが滞留している場合

実行ログ出力中のエラー発生によって，転送処理が中断され，印刷ジョブが滞留することがある。次のbjextrjobコマンドを実行して転送されなかった印刷ジョブを再転送する。

# /opt/hitachi/bjex/sbin/bjextrjob -r -t 秒数

-t 秒数　〜＜ 1 〜 8 けたの10 進数＞ ((0-99999999))《259200》

再転送する印刷ジョブの対象範囲をコマンド投入時刻から差し引いた秒数の値で指定する。

コマンドはこの秒数以前の印刷ジョブについて再転送を実行する。

エラー回復手順として指定する値は，このコマンド入力時点の時刻から3で投入したコマンドの時刻を引いた秒数を指定する。

3で投入したコマンドの時刻が15:00:00で，このコマンドを入力する時刻が15:00:10のときに指定する例を次に示す。

# /opt/hitachi/bjex/sbin/bjextrjob -r -t 10

6.8　スプールジョブ転送デーモンの障害対策

スプールジョブ転送デーモンは，スプールジョブの転送，スプールの管理，共有メモリ・セマフォ・メッセージキューの作成・削除を実施する。

運用中にスプールジョブ転送デーモンを停止した場合，次に示す弊害がある。

印刷対象の帳票がプリントサーバへ転送されない。

ジョブの状態表示が不正となる。

ジョブ，スプールジョブ管理コマンドが終了しない場合がある。

排他/共用制御機能および実行中のジョブ情報表示機能を使用している場合は，ジョブコントローラがエラーで終了する。

メッセージ制御機能で応答要求メッセージを出力済みの場合は，COBOL アプリケーション，bjexm_message コマンドおよびメッセージ出力用カタログドプロシジャのジョブステップがエラーで終了する。

スプールジョブ転送デーモンが停止したときに実行中だったジョブ，停止中に実行されたジョブの動作結果は保証しない。

障害などで運用中にスプールジョブ転送デーモンを停止した場合の対処方法を次に示す。

(1)障害の要因を取り除いた後，スプールジョブ転送デーモンを再起動する。

(2)次を確認する。

スプールジョブ転送デーモンが停止したときに実行中だったジョブ，停止中に実行されたジョブの動作結果

転送ディレクトリの印刷ジョブ

プリントサーバに転送されたファイル

スプールの状態

(3)必要に応じて次のことを実施する。

ジョブの再実行

スプールジョブの再転送・削除

印刷ジョブの再転送・削除

スプールジョブの回復

7　コマンド

この章では，バッチジョブ実行システムのコマンドについて説明する。

コマンドの記述形式

コマンドの記述形式を次に示す。

△₀コマンド名[△₁-オプション名 [△₁値] ] … [△₁-オプション名 [△₁値] ]
[任意名]

（凡例）

△₀：0バイト以上の空白文字を指定する。空白文字は省略できる。

△₁：1バイト以上の空白文字を必ず指定する。空白文字は省略できない。

最初にオプションを指定し，次に任意名を指定する。

値のないオプションは連続して指定できる（例：「-a-b-c」と「-abc」は同じ）。

オプションを連続して指定する場合，最後のオプションには値を指定できる（例：「-abc xyz」の「xyz」は，オプション-cの値となる）。

不当なオプション，または指定できる範囲外の値を指定した場合，エラーとなる。

コマンド一覧

バッチジョブ実行システムのコマンド一覧（管理者用），バッチジョブ実行システムのコマンド一覧（一般ユーザ用），およびバッチジョブ実行システムの設定で使用するコマンド一覧を次の表に示す。

表7‒1　バッチジョブ実行システムのコマンド一覧（管理者用）

コマンド名

機能概要

コマンドの格納場所

bjexchmsg

応答待ちメッセージに応答を入力する。

/opt/hitachi/bjex/sbin

bjexlsmsg

応答待ちメッセージおよび受信待ちメッセージの一覧を表示する。

bjexpdctl，bjexpd

スプールジョブ転送デーモンを起動，停止する。

bjextrjob

転送ディレクトリ下の印刷ジョブ一覧を表示，削除，および再転送する。

表7‒2　バッチジョブ実行システムのコマンド一覧（一般ユーザ用）

コマンド名

機能概要

コマンドの格納場所

bjexchjob

出力保留状態のスプールジョブの属性を変更したり，出力保留状態のスプールジョブを保管したりする。

/opt/hitachi/bjex/bin

bjexec

バッチジョブを実行する。

bjexgdg

世代データ群を生成，更新，および登録情報を表示する。

bjexhkgdg

世代データ群に登録されている世代ファイルの最終更新時間から保存日数に指定した日数を超過した世代ファイルを一括削除する。

bjexlsexjob

実行中のジョブ情報を表示する。

bjexlsjob

操作できるスプールジョブの一覧を表示する。

bjexlslock

ファイルの排他状態を表示する。

bjexrmjob

HOLD状態またはエラー状態のスプールジョブを削除する。

bjexm_message

ジョブステップとして起動し，メッセージまたは応答要求メッセージを出力し，応答メッセージを取得する。

表7‒3　バッチジョブ実行システムの設定で使用するコマンド一覧

コマンド名

機能概要

コマンドの格納場所

bjex_msg_setup

メッセージ制御機能の初期設定をする。

/opt/hitachi/bjex/sbin

bjex_msg_setup（メッセージ制御機能の初期設定（バッチジョブ実行システムの設定用））

形式

bjex_msg_setup

機能

メッセージ制御機能の初期設定をする。

このコマンドを実行すると，/opt/hitachi/bjex/system/Adapter_HITACHI_BJEX_MESSAGE.confがJP1/Baseのディレクトリ（/opt/jp1base/plugin/conf）にコピーされ，JP1/IM - Viewに表示される応答待ちイベントから応答が入力できるようになる。

このコマンドは，バッチジョブ実行システムのインストール後に一度だけ実行する。JP1/Baseを再インストールした場合は，このコマンドを再度実行する。

オプション

なし。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

このコマンドは，引数を指定してもすべて無視する。

bjexchjob（スプールジョブの属性変更（一般ユーザ用））

形式

日数およびジョブ識別子で指定する場合

bjexchjob [-h 論理ホスト名]
          {-R [-A | -K | -F] | -S [-a 秒数] [-i] | {-K | -F} | -C}
          -T 日数
          [ジョブ識別子… | ジョブ識別子:ジョブ識別子]

ジョブ識別子で指定する場合

bjexchjob [-h 論理ホスト名]
          {-R [-A | -K | -F] | -S [-a 秒数] [-i] | {-K | -F} | -C}
          {ジョブ識別子… | ジョブ識別子:ジョブ識別子}

日数およびジョブ名で指定する場合

bjexchjob [-h 論理ホスト名]
          {-R [-A | -K | -F] | -S [-a 秒数] [-i] | {-K | -F} | -C}
          -T 日数 -J
          [ジョブ名… | ジョブ名ワイルドカード]

ジョブ名で指定する場合

bjexchjob [-h 論理ホスト名]
          {-R [-A | -K | -F] | -S [-a 秒数] [-i] | {-K | -F} | -C}
          -J
          {ジョブ名… | ジョブ名ワイルドカード}

機能

出力保留状態のスプールジョブの属性を変更する。

出力保留状態のスプールジョブを保管する。

ただし，-Sオプションを指定した場合は，障害などが原因で不当に実行中状態やジョブが存在しないなどの出力保留状態以外になっているスプールジョブを回復する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-R

印刷指示をする（プリントサーバに転送する）。

転送できないSYSOUTデータファイルが含まれている場合，そのSYSOUTデータファイルは転送しない。

転送処理後のSYSOUTデータファイルは，出力後保存属性の指定の有無または-K，-Fオプションの指定に従って，削除または保存される。

-A

-Rオプションを指定した場合に指定できる。この場合，SYSOUTデータファイルの出力後保存属性指定の有無に従って出力後の処理をする（出力後保存属性の有無は変更しない）。

-K

-Rオプションの指定がない場合，SYSOUTデータファイルを出力後保存属性に変更する。

-Rオプションの指定がある場合，転送後，ジョブを削除しない（出力後保存属性の有無は変更しない）。この場合，SYSOUTデータファイルは出力後保存属性指定の有無に関係なく，転送後も保存する。

-F

-Rオプションの指定がない場合，SYSOUTデータファイルの出力後保存属性をなくす。

-Rオプションの指定がある場合，転送後にSYSOUTデータファイルを削除する。この場合，SYSOUTデータファイルは出力後保存属性の有無に関係なく，転送後は削除する。

-S

スプールジョブの回復処理を要求する。

スプールジョブ転送デーモンが起動されていないなどで，管理から漏れたスプールジョブおよび出力保留状態以外のスプールジョブの管理状態を保留状態に回復処理する。

回復処理した結果としてSYSOUTデータファイルの状態に応じて出力保留状態にできないで，その他の状態への遷移または削除されたりすることがある。

また，サイズが0のスプールジョブ管理ファイルは作成処理中の可能性があり，回復処理の対象外となる。

-a 秒数　〜＜1〜3けたの10進数＞((0〜999))《30》

-Sオプションを指定した場合に有効であり，回復処理でスプールジョブ管理ファイルの最終更新時刻が，現在時刻からこの指定秒数以内であれば，処理中のスプールジョブと判断して回復処理を行わない。

-i

-Sオプションと指定した場合に有効であり，回復するスプールジョブに出力非保留属性のSYSOUTデータファイルが含まれているとき，プリントサーバに転送処理する。

指定しない場合は，転送処理を行わないで回復処理をする。

-C

スプールジョブを保管する。

スプールジョブを保管するには，設定ファイルの指定で，スプールジョブ保管機能を有効にしている必要がある。また，スプールジョブを保管するには，ジョブを実行したユーザと同一ユーザ，または特権ユーザで実行する必要がある。

保管後のスプールジョブのファイルのパーミッションや所有者属性と保管機能の詳細については，「3.16　スプールジョブ保管機能」を参照のこと。

-T 日数　〜＜1〜2けたの10進数＞((0〜99))

指定した日数以前の日を処理対象とする。

属性変更処理ではジョブ実行開始時刻が指定日数以前の日であるスプールジョブを対象とする。

スプールジョブの回復処理ではスプールジョブ管理ファイルの最終更新時刻が指定日数以前の日であるスプールジョブを対象とする。

スプールジョブ管理ファイルの最終更新時刻はジョブ実行時とは異なり，スプールジョブの操作を行うと更新される。例えば，bjexchjobコマンドで属性変更すると更新される。2月2日に-T1を指定した場合，2月1日 23:59:59以前が対象となる。

-J

処理対象をジョブ名で指定する場合に指定する。この指定がない場合，ジョブ識別子オプションで指定する。

ジョブ識別子　〜＜10進数＞((1〜999999))

処理対象とするスプールジョブのジョブ識別子を指定する。

-Tオプションを指定した場合にだけ省略ができる。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ識別子△※

空白で区切って複数指定できる。

注※　△は空白を示す。

ジョブ識別子：ジョブ識別子

1回だけ指定できる。

"ジョブ識別子：ジョブ識別子"の形式で指定した場合，左に指定したジョブ識別子から右に指定したジョブ識別子までの範囲を処理対象とする。

また，左のジョブ識別子は右のジョブ識別子よりも等しいかまたは小さくする必要がある。

ジョブ名　〜＜記号名称＞，ジョブ名ワイルドカード　〜＜任意文字列＞

処理対象をジョブ名またはジョブ名ワイルドカードで指定する。この場合，-Jオプションの指定が必要である。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ名△※

空白で区切って最大32個指定できる。

注※　△は空白を示す。

文字列*

1回だけ指定できる。

ジョブ名ワイルドカードは*を指定したワイルドカード指定で，先頭の文字列が一致するジョブ名を一括で指定できる。ワイルドカード指定をする場合は，シェルが自動的に処理しないように””で囲む必要がある。

ジョブ名またはジョブ名ワイルドカードの指定は，-Tオプションを指定した場合にだけ省略ができ，すべてのジョブが処理対象となる。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

コマンドを割り込みなどで強制終了させないこと。コマンドを強制終了させた場合，スプールジョブ管理ファイルが破壊されることがある。

このコマンドは共用資源の排他をしているため，処理途中で止まるような使用をした場合（pgコマンドなどでメッセージ表示の途中で止める場合など），ほかのコマンドやスプールジョブ転送デーモンが待ち状態になることがあるので，そのような使用はしないこと。

このコマンド実行にはスプールジョブ転送デーモンが起動している必要がある。スプールジョブ転送デーモンが起動していないとき，またはスプールジョブ転送デーモンが処理途中で終了したとき，コマンドの動作は保証できないため，コマンドが待ち状態になり，終了しないことがある。また，処理途中のスプールジョブが処理されないことがある。このような場合，コマンドを割り込みなどで停止する。また，処理されなかったスプールジョブは再度コマンドを入力する。

ジョブ識別子の範囲指定をした場合，その範囲内の操作できるジョブが操作対象となる。操作対象外のジョブはエラーメッセージを出力しない。処理結果は，bjexlsjobまたはbjextrjobコマンドで確認する。ジョブ識別子を指定したコマンドを使用した場合はエラー情報を出力する。

ジョブ名またはジョブ名ワイルドカード指定をした場合，操作できるジョブから該当するジョブ名のジョブを操作対象とする。操作対象外のジョブはエラーメッセージを出力しない。処理結果は，bjexlsjobまたはbjextrjobコマンドで確認する。ジョブ識別子を指定したコマンドを使用した場合はエラー情報を出力する。

保管先に同一ディレクトリやファイルがすでに存在する場合，上書きで保管する。

使用例

ジョブ識別子227のスプールジョブを印刷する。

bjexchjob -R 227

スプールジョブ転送デーモン未起動時に実行されたジョブ識別子672のスプールジョブを出力保留状態に回復する。スプールジョブはカレント時刻よりも30秒以前に終了している場合に出力保留状態に回復する。

bjexchjob -S -a 30 672

ジョブ名がJOB001，JOB002のジョブを印刷する。

bjexchjob -RJ JOB001 JOB002

ジョブ識別子10から100までを印刷する。

bjexchjob -R 10:100

ジョブ名の先頭がKEIRIのジョブを印刷する。

bjexchjob -RJ "KEIRI*"

bjexchmsg（応答待ちメッセージへの応答入力（管理者用））

形式

bjexchmsg [-h 論理ホスト名] -n メッセージ番号 { -r 応答 | -d }

機能

応答待ちメッセージに応答を入力する。

-nオプションで指定した応答待ちメッセージに，-rオプションで指定した応答を入力する。応答待ちメッセージをキャンセルする場合は，-dオプションを指定する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-n メッセージ番号　〜＜数字＞((1〜2147483647))

bjexlsmsgコマンドで表示されるメッセージ番号を指定する。

-rまたは-dオプションの指定がない場合はエラーとする。

-r 応答　〜＜ASCII文字列＞((1〜512))

応答待ちメッセージへの応答を指定する。また，JP1/IM - Managerにキャンセルイベントを送信し，応答待ちイベントの滞留を解除する。

-nオプションの指定がない場合は，エラーとする。

-d

応答待ちメッセージおよび受信待ちメッセージ一覧からメッセージを削除する。また，JP1/IM - Managerにキャンセルイベントを送信し，応答待ちイベントの滞留を解除する。

-nオプションの指定がない場合は，エラーとする。

応答要求メッセージを出力したユーザアプリケーションは異常終了する。このとき該当するジョブのJOBLOGおよび実行ログに，次に示すメッセージを出力する。

KAKC5005-E An error occurred during shared memory processing. (errno=404,function=shm_clear)

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

-rオプションと-dオプションを同時に指定した場合，後に指定したオプションが有効になる。

使用例

メッセージ番号「2000000000」の応答待ちメッセージを，応答待ちメッセージおよび受信待ちメッセージ一覧から削除する。

bjexchmsg -n 2000000000 -d

bjexec（バッチジョブの実行（一般ユーザ用））

形式

bjexec {[-r リスタートステップ名] [-h [-n 論理ホスト名] ] [-c]ジョブ定義XMLファイルのパス名 | -v }

機能

ジョブコントローラを起動して，引数に指定したジョブ定義XMLファイルのバッチジョブを実行する。

オプション

-r リスタートステップ名

リスタートするジョブステップ名を指定する。指定したジョブステップから実行を開始する。リスタートステップ名は次の形式で指定する。

ジョブステップ名[.プロシジャステップ名]

ジョブステップ名　〜＜記号名称＞((1〜31))：リスタートするジョブステップ名を記述する。

プロシジャステップ名　〜＜記号名称＞((1〜31))：リスタートするジョブステップがカタログドプロシジャの場合，ピリオド（.）に続けてプロシジャ内のジョブステップ名を記述する。

指定したジョブステップが存在しないときは，ジョブを実行しないで終了する。

-ｒ ""などで空白だけの文字列や¥0だけの空文字列を指定すると通常ジョブとして先頭から実行する。

同一ジョブステップ名のジョブステップが複数存在する場合，先頭から探して最初に見つかったジョブステップから実行する。ただし，JSPEC機能で並列実行するジョブステップ，またはIF要素のTHEN節やELSE節内のジョブステップは検索の対象にならない。

-h

バッチジョブ実行システムの論理ホストで運用している場合に指定する。

JP1/AJSから起動する場合

JP1/AJSの論理ホストから実行すること。JP1/AJSの論理ホストから実行すると，環境変数JP1_HOSTNAMEにJP1/AJSの論理ホスト名が設定される。bjexecコマンドは環境変数JP1_HOSTNAMEから論理ホスト名を取得し，設定ファイル（bjex_論理ホスト.conf）を読み込み実行する。

コマンドラインから起動する場合

-nオプションで指定したバッチジョブ実行システムの論理ホスト環境で設定ファイル（bjex_論理ホスト.conf）を読み込み実行する。JP1_HOSTNAMEが設定されている場合，無視する。

-n 論理ホスト名

コマンドラインからバッチジョブ実行システムの論理ホスト環境でバッチジョブを起動する場合にJP1の論理ホスト名を指定する。

このオプションを指定した場合，-hオプションを指定しなければならない。

このオプションを指定した場合，指定した論理ホスト名のバッチジョブ実行システムの論理ホスト環境で設定ファイル（bjex_論理ホスト.conf）を読み込み実行する。

-c

ジョブ定義XMLファイルの文法チェックをする。

このオプションを指定した場合，ジョブ定義XMLファイルの文法チェックだけを行い，バッチジョブの実行はしない。

ジョブ定義XMLファイルのパス名　〜＜パス名＞

ジョブ定義XMLファイルのパス名を指定する。

-v

このオプションを指定した場合，バージョン情報を表示する。バッチジョブの実行はしない。

戻り値

戻り値については，「表10-39　ジョブコントローラの終了コード一覧」を参照のこと。

注意事項

-cオプションまたは-vオプションを指定しない場合は，ジョブコントローラはJP1/AJSから起動する必要がある。

bjexecコマンドは，環境変数TZに従って情報を出力する。JP1/AJSから起動したジョブは，次に示す方法でTZを指定すること。

JP1/AJSのジョブ定義，環境変数の定義で指定する。

システムプロファイル（/etc/profile）に指定する。

ユーザプロファイル（/$HOME/.profile）に指定する。

なお，JP1/AJSのジョブとして起動した場合，環境変数TZについては次に示す注意事項がある。

AIXの場合は，/etc/environmentの情報は引き継がれない。

ジョブ定義XMLファイル，ジョブ内のシェルスクリプトで環境変数TZを指定しても，ジョブコントローラには有効にならない。

論理ホストのJP1/AJSからコマンドを実行して-hオプションを省略した場合，設定ファイル（bjex.conf）を読み込み実行する。なお，この場合，物理ホスト環境の排他/共用制御の情報を参照する。

論理ホストのJP1/AJSからコマンドを実行した場合，環境変数JP1_HOSTNAMEに論理ホスト名が設定される。このとき，-nオプションを指定しても-nオプションに指定した論理ホスト名を無視して環境変数JP1_HOSTNAMEに設定されたバッチジョブ実行システムの論理ホストの設定ファイル（bjex_論理ホスト.conf）を読み込み実行する。

使用例

ジョブ定義XMLファイルの文法チェックをする。

bjexec -c /home/bjex/xml/sample5.xml

bjexgdg（世代データ群の生成および更新（一般ユーザ用））

形式

bjexgdg [-m [-d] [-l エントリ数][世代ディレクトリ名/]世代データ群名] |
        [-u -lエントリ数 [世代ディレクトリ名/]世代データ群名] |
        [-q [世代ディレクトリ名/]世代データ群名] |
        [-i [世代ディレクトリ名/]世代データ群名[(相対世代番号)]] |
        [-e [世代ディレクトリ名/]世代データ群名[(相対世代番号)]] |
        [-v]

機能

世代データ群の生成，更新，および登録情報を表示する。

オプション

-m

世代データ群を生成することを示す。世代ディレクトリ名で示されるディレクトリ（指定のない場合は，カレントディレクトリ）内に世代データ群名.gdgという名称の世代管理ファイルを生成する。

-d

日付世代番号指定機能を選択することを示す。

-l エントリ数　〜＜数字＞((相対世代番号指定機能：1 〜 255)，(日付世代番号指定機能：1〜511))《相対世代番号指定機能：255，日付世代番号指定機能：省略不可》

世代データ群に属する世代ファイルの最大数を指定する。世代ファイルが最大数を超えた場合，相対世代番号指定機能では，最も古い（相対世代番号が最も小さい）世代ファイルから順に削除し，日付世代番号指定機能では，実行開始日（EXDに格納された日付またはDyyyymmdd）が最も古い世代ファイルから順に削除する。これを自動消去機能（SCRATCH）と呼ぶ。

相対世代番号指定機能で，このオプションを省略した場合，世代データ群で管理される世代ファイル数は，255まで利用できる。世代ファイルの数が255を超えた場合，最も古い世代ファイルは削除しないため，世代管理対象からは外れた世代ファイルは増加し続ける。これをデータ保存機能（NOSCRATCH）と呼ぶ。日付世代番号指定機能の場合，-lオプションを省略することはできない。相対世代番号指定機能の場合，世代ファイルに与える4けたの通し番号がなくなった時点で世代ファイル機能自体が利用できなくなるため，世代データ群を作る場合は必ずエントリ数を指定して作成すること。

［世代ディレクトリ名/］世代データ群名　〜＜パス名＞((1〜1023文字))

世代ディレクトリの名称と，世代データ群名を指定する。世代管理ファイルのパス名から".gdg"を除いた名称を指定する。

-u

指定された既存世代データ群のエントリ数を変更する。

自動消去機能（SCRATCH）が設定されている世代データ群の場合，設定されている世代データファイルのエントリ数がこの指定によって小さくなるとき，登録済みの世代データファイル数が世代データファイルの最大数を超過した世代データファイルの最も古いものから順に消去される。

-q

世代管理ファイルを削除する。

この指定では，世代管理ファイルで1つでも管理情報が残っている場合は削除できない。

-i

指定した世代データ群の世代管理ファイルの登録情報および登録されている世代ファイル名とその世代ファイルの作成日時を表示する。

相対世代番号指定機能の場合，相対世代番号を指定したとき，特定の世代ファイル名と作成日時だけを表示する。

日付世代番号指定機能の場合，相対世代番号を指定して特定の世代ファイル名の情報を表示することはできない。

相対世代番号　〜＜整数＞((-254〜0))

指定した世代データ群の世代管理ファイルに登録されている世代ファイルの相対世代番号を指定する。

相対世代番号を指定する場合，メタキャラクタである左括弧"（"と右括弧"）"を使用するため，一般的な文字列として入力するためには，引用符（バックスラッシュまたは円記号，単一引用符，二重引用符）で囲む必要がある。

-e

指定した世代データ群の世代管理ファイルの登録情報，登録されている世代ファイル名および最終更新時間から経過した日数を表示する。

相対世代番号指定機能の場合，相対世代番号を指定したとき，特定の世代ファイル名とその世代ファイルの作成日時とその世代ファイルの最終更新時間から経過した日数を表示する。日付世代番号指定機能の場合，相対世代番号を指定して特定の世代ファイルの情報を表示することはできない。

-v

バージョン情報を表示する。

戻り値

戻り値については，「表10-39　ジョブコントローラの終了コード一覧」を参照のこと。

注意事項

世代管理ファイルはbjexgdgコマンドの起動時のumaskの指定に従い，ファイルパーミッションが設定される。世代管理ファイルには，世代ファイルを使用するすべてのユーザに対して書き込み権限・読み込み権限を設定する必要がある。世代ファイルを参照するだけでも世代管理ファイルには書き込み権限が必要である。

世代データ群の削除は，bjexgdgコマンドの-qオプションで行うこと。rmコマンドなどで削除が必要となった場合，次に示すファイルを削除すること。

"世代データ群名.gdg"ファイル

".世代データ群名.gdg"ファイル

bjexgdgコマンドの-eオプションで表示される経過日数は，該当するコマンドを実行した時間※と表示対象とした世代ファイルの最終更新時間※の差が，24時間で除算した商（24時間未満は切り捨て）を経過日数とする。

注※　紀元（1970年1月1日00:00:00 UTC）からの経過秒

使用例

相対世代番号指定機能で，世代ファイル最大数10の世代データ群bjgdgを生成する。

bjexgdg -m -l 10 bjgdg

日付世代番号指定機能で，世代ファイル最大数10の世代データ群bjgdgを生成する。

bjexgdg -m -d -l 10 bjgdg

世代データ群bjgdgの世代ファイル最大数を20に変更する。

bjexgdg -u -l 20 bjgdg

世代データ群bjgdgを削除する。

bjexgdg -q bjgdg

bjexgdgコマンドのバージョン情報を表示する。

bjexgdg -v

世代データ群bjgdgの管理情報および登録されているすべての世代ファイル名を表示する。

bjexgdg -i bjgdg

世代データ群bjgdgの管理情報および相対世代番号（-1）の世代ファイル名を表示する。

bjexgdg -i "bjgdg(-1)"

世代データ群bjgdgの管理情報および登録されているすべての世代ファイル名と，世代ファイルの最終更新時間から経過した日数を表示する。

bjexgdg -e bjgdg

世代データ群bjgdgの管理情報および相対世代番号（-1）の世代ファイル名と，その世代ファイルの最終更新時間から経過した日数を表示する。

bjexgdg -e "bjgdg(-1)"

出力例

世代データ群bjgdgの管理情報および登録されているすべての世代ファイル名を表示する。

bjexgdg -i bjgdg

相対世代番号指定機能

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜255）。

世代データ群に設定された属性（SCRATCH/NOSCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE- - - "に続いて表示する。

(4)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，ファイルの作成日時を表示する。

(5)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，ファイルの作成日時を表示する。

(6)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，ファイルの作成日時を表示する。

(7)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，ファイルの作成日時を表示する。

注　(4)〜(7)は相対世代番号0から-254の順に登録されている世代ファイル名とその世代ファイルの作成日時だけ表示する。

日付世代番号指定機能

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜511）。

世代データ群に設定された属性（SCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE--- "に続いて表示する。

(4)日付世代番号指定機能の世代データ群であることを示す。

(5)登録されている世代ファイル名を"（番号）-- "に続いて表示し，ファイルの作成日時を表示する。

(6)登録されている世代ファイル名を"（番号）-- "に続いて表示し，ファイルの作成日時を表示する。

(7)登録されている世代ファイル名を"（番号）-- "に続いて表示し，ファイルの作成日時を表示する。

(8)登録されている世代ファイル名を"（番号）-- "に続いて表示し，ファイルの作成日時を表示する。

注　(5)〜(8)は相対世代番号1から511の順に登録されている世代ファイル名だけ表示する。新しい世代ファイルほど小さい番号となる。

世代データ群bjgdgの管理情報と相対世代番号（-1）の世代ファイル名を表示する。この指定は，相対世代番号指定機能の世代データ群に対してだけ使用できる。

bjexgdg -i "bjgdg(-1)"

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜255）。

世代データ群に設定された属性（SCRATCH/NOSCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE- - - "に続いて表示する。

(4)bjexgdg -i "bjgdg(-1)"で指定した相対世代番号に対応した，世代ファイル名とその世代ファイルの作成日時を"（相対世代番号）- - "に続いて表示する。

世代データ群bjgdgの管理情報と登録されているすべての世代ファイル名および最終更新時間からコマンド入力時点までの経過日数を表示する。

bjexgdg -e bjgdg

相対世代番号指定機能

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜255）。

世代データ群に設定された属性（SCRATCH/NOSCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE- - - "に続いて表示する。

(4)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(5)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(6)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(7)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

日付世代番号指定機能

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜511）。

世代データ群に設定された属性（SCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE- - - " に続いて表示する。

(4)日付世代番号指定機能の世代データ群であることを示す。

(5)登録されている世代ファイル名を"（番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(6)登録されている世代ファイル名を"（番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(7)登録されている世代ファイル名を"（番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

(8)登録されている世代ファイル名を"（番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

世代データ群bjgdgの管理情報と相対世代番号（-1）の世代ファイル名および最終更新時間からコマンド入力時点までの経過日数を表示する。この指定は，相対世代番号指定機能の世代データ群に対してだけ使用できる。

bjexgdg -e "bjgdg(-1)"

(1)bjexgdgコマンドで指定した世代管理ファイルに登録されている世代データ群名を示す。

(2)世代管理ファイルで登録できる世代ファイル数を"LIMIT- - - "に続いて表示する（1〜255）。

世代データ群に設定された属性（SCRATCH/NOSCRATCH）を表示する。

(3)登録されている世代ファイル数を"INFILE- - - "に続いて表示する。

(4)登録されている世代ファイル名を"（相対世代番号）- - "に続いて表示し，最終更新時間からの経過日数を表示する。

bjexhkgdg（保存日数に指定した日数を超過した世代ファイルの一括削除を行う（一般ユーザ用））

形式

bjexhkgdg [-d 保存日数 [世代ディレクトリ名/]世代データ群名] |
          [-v]

機能

世代データ群に登録されている世代ファイルの最終更新時間から保存日数に指定した日数を超過した世代ファイルを一括削除する。この機能は，相対世代番号指定機能の世代データ群に対してだけ使用できる。

オプション

-d

世代データ群で管理する世代ファイルの削除と管理情報を削除する。

保存日数　〜＜数字＞((0〜9999))

世代ファイルの最終更新時間からの保存日数を指定する。ここで指定した日数+1日を経過している世代ファイルを削除する。

［世代ディレクトリ名/］世代データ群名　〜＜パス名＞((1〜1023文字))

世代ディレクトリの名称と，世代データ群名を指定する。世代管理ファイルのパス名から".gdg"を除いた名称を指定する。

-v

バージョン情報を表示する。

戻り値

戻り値については，「表10-39　ジョブコントローラの終了コード一覧」を参照のこと。

注意事項

保存日数で指定した日数は，bjexhkgdgコマンドを入力した時刻から算出し，24時間経過ごとに1日，2日と計算する。24時間を経過していないものは，1日経過とは見なさない。経過日数は，bjexgdgコマンドで-eオプションを指定して確認する必要がある。

bjexhkgdgコマンドでは，世代データ群は削除できない。

bjexhkgdgコマンドでは，世代データ群の管理から外れた世代ファイルは削除できない。

bjexhkgdgコマンドを日付世代番号指定機能の世代データ群に対して使用することはできない。

使用例

世代データ群bjgdgに登録されている世代ファイルで，保存日数10日を超過したもの（11日以上経過したもの）を削除対象とする。

bjexhkgdg -d 10 bjgdg

bjexhkgdgコマンドのバージョン情報を表示する。

bjexhkgdg -v

bjexlsexjob（実行中のジョブ情報の表示（一般ユーザ用））

形式

bjexlsexjob [-h 論理ホスト名]
            [-s | -c | -j ジョブ識別子]

機能

実行中のジョブの情報を表示する。

実行中のジョブの表示形式には，簡易表示（ステップに関する情報を表示するものとCPU使用時間に関する情報を表示するもの）と詳細表示がある。

簡易表示でジョブの一覧を表示する場合，ジョブ識別子の昇順に表示される。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に，このコマンドを実行させる論理ホスト名を指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-s

実行中のジョブの一覧を表示する。

-c

実行中のジョブのCPU使用時間を表示する。

-j ジョブ識別子 〜＜数字＞((1〜999999))

実行中のステップ情報・CPU情報を含む詳細情報を表示するジョブのジョブ識別子を指定する。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

使用例

実行中のジョブ一覧のステップに関する情報を表示する

bjexlsexjob

出力例

出力項目の説明

JOBID

ジョブ識別子（6けた）

JP1JOBID

JP1ジョブ識別子（10けた。JP1から投入されたジョブでない場合は空白）

JOBSTART

ジョブの実行開始時刻

STEPSTRT

ジョブステップの実行開始時刻

JOBNAME

実行中のジョブ名称（ジョブ名称の先頭から12文字を表示する）

STEPNAME

実行中のジョブステップ名称（ジョブステップ名称の先頭から12文字を表示する。ステップ名の指定がない場合は空白）

PROCSTEP

実行中のプロシジャステップ名称（プロシジャステップ名称の先頭から12文字を表示する。プロシジャステップ名の指定がない場合は空白）

PPID

ジョブコントローラプロセス（bjexec）のプロセス番号（10進数，10けた）

PID

ジョブコントローラプロセス（bjexec）のプロセス番号（10進数，10けた）

PPIDと同じ内容である。

STEP PID

ジョブステッププロセスのプロセス番号（10進数，10けた）

実行中のジョブ一覧のCPU使用時間に関する情報を表示する

bjexlsexjob -c

出力例

出力項目の説明

JOBID

ジョブ識別子（6けた）

JP1JOBID

JP1ジョブ識別子（10けた。JP1から投入されたジョブでない場合は空白）

JOBSTART

ジョブの実行開始時刻

STEPSTRT

ジョブステップの実行開始時刻

JOBNAME

実行中のジョブ名称（ジョブ名称の先頭から12文字を表示する）

STEPNAME

実行中のジョブステップ名称（ジョブステップ名称の先頭から12文字を表示する。ステップ名の指定がない場合は空白）

C-TIME

実行中のジョブが使用したCPU時間。6けたの秒（約277時間）と3けたのミリ秒で表示する。最大値を超えた場合999999.999となる。実行終了したジョブステップで使用したCPU時間と実行中のジョブステップで使用しているCPU時間の和で求めた参考値である。

実行終了したジョブステップのCPU時間はKAKC0097-Iメッセージで表示されるものの和であり，実行中のジョブステップのCPU時間は，次のように求める。

・Linuxの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/statファイル中のutimeとstimeの和で求めた参考値である。

・AIXの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のpr_timeから求めた参考値である。

PRI

ジョブステッププロセスの優先度であり，次のように求める。

・Linuxの場合

　PRI値は，プロセス番号を基に/proc/プロセス番号/statファイル中のpriorityから求めた参考値である。

・AIXの場合

　PRI値は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のlwpsinfo構造体中のpr_niceから求めた参考値である。

NICE

ジョブステッププロセスのNICE値であり，次のように求める。

・Linuxの場合

　NICE値は，プロセス番号を基に/proc/プロセス番号/statファイル中のniceから求めた参考値である。

・AIXの場合

　NICE値は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のlwpsinfo構造体中のpr_niceから40を引いて求めた参考値である（NICE値はマイナス表示になることがある）。

JP1PRI

JP1実行優先順位（JP1から投入されたジョブでない場合は空白）

実行中のジョブの詳細情報を表示する

bjexlsexjob -j ジョブ識別子

出力例

出力項目の説明

JOBID

ジョブ識別子（6けた）

JOBNAME

実行中のジョブ名称（ジョブ名称31文字を表示する）

JOB START TIME

ジョブの実行開始日付・時刻

JOB C-TIME

実行中のジョブが使用したCPU時間。6けたの秒（約277時間）と3けたのミリ秒で表示する。最大値を超えた場合999999.999となる。

実行終了したジョブステップで使用したCPU時間と実行中のジョブステップで使用しているCPU時間の和で求めた参考値である。

実行終了したジョブステップのCPU時間はKAKC0097-Iメッセージで表示されるものの和であり，実行中のジョブステップのCPU時間は，次のように求める。

・Linuxの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/statファイル中のutimeとstimeの和で求めた参考値である。

・AIXの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のpr_timeから求めた参考値である。

STEP NAME

実行中のジョブステップ名称（ジョブステップ名称31文字を表示する。ステップ名の指定がない場合は空白）

PROC-STEP NAME

実行中のプロシジャステップ名称（プロシジャステップ名称31文字を表示する。プロシジャステップ名の指定がない場合は空白）

STEP START TIME

ジョブステップの実行開始日付・時刻

STEP C-TIME

実行中のジョブステップで使用したCPU時間。6けたの秒（約277時間）と3けたのミリ秒で表示する。最大値を超えた場合999999.999となる。

・Linuxの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/statファイル中のutimeとstimeの和で求めた参考値である。

・AIXの場合

　CPU使用時間は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のpr_timeから求めた参考値である。

PGM

実行プログラム名称（最大1023けた）

XML FILE

ジョブ定義XMLファイル名称（パスの先頭から1023文字を表示する）

PPID

ジョブコントローラプロセス（bjexec）のプロセス番号（10進数，10けた）

PID

ジョブコントローラプロセス（bjexec）のプロセス番号（10進数，10けた）

PPIDと同じ内容である。

STEP PID

ジョブステッププロセスのプロセス番号（10進数，10けた）

JP1JOBID

JP1ジョブ識別子（10けた。JP1から投入されたジョブでない場合は空白）

JP1PRI

JP1実行優先順位（JP1から投入されたジョブでない場合は空白）

PRI

ジョブステッププロセスの優先度であり，次のように求める。

・Linuxの場合

　PRI値は，プロセス番号を基に/proc/プロセス番号/statファイル中のpriorityから求めた参考値である。

・AIXの場合

　PRI値は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のlwpsinfo構造体中のpr_niceから求めた参考値である。

NICE

ジョブステッププロセスのNICE値であり，次のように求める。

・Linuxの場合

　NICE値は，プロセス番号を基に/proc/プロセス番号/statファイル中のniceから求めた参考値である。

・AIXの場合

　NICE値は，プロセス番号を基に/proc/プロセス番号/psinfoファイル中のlwpsinfo構造体中のpr_niceから40を引いて求めた参考値である（NICE値はマイナス表示になることがある）。

注意事項

ジョブステップの前後処理中のジョブステッププロセスが実行中でない場合は，ジョブステップの情報は表示されないでジョブの情報だけが表示される。

JSPECジョブの場合，サブステップの情報は表示されないで，メインステップの情報だけ表示される。

実行中のジョブステップで使用したCPU時間は，ジョブコントローラが起動したプロセスだけの情報となる。ジョブコントローラが起動したプロセスから新たに起動したプロセス分は含まれない。

また，実行中のジョブステップで使用したCPU時間はKAKC0097-Iメッセージで表示するC-Timeとは精度が異なるため，一致しない場合がある。

このコマンドでジョブ情報を表示するには，設定ファイルのJOB_STATUS_DISPLAYパラメータでENABLEの指定が必要である。

bjexlsjob（スプールジョブの一覧表示（一般ユーザ用））

形式

ジョブ識別子で指定する場合

bjexlsjob [-h 論理ホスト名]
          [{ -l | -s }]
          [-n]
          [-f]
          [{ -t | -T [-D { UTC | LT }] }]
          [ジョブ識別子… | ジョブ識別子:ジョブ識別子］

ジョブ名で指定する場合

bjexlsjob [-h 論理ホスト名]
          [{ -l | -s }]
          [-n]
          [-f]
          [{ -t | -T [-D { UTC | LT }] }]
          -J
          [ジョブ名… | ジョブ名ワイルドカード]

機能

スプールジョブの一覧を表示する。

スプールジョブの表示形式には，簡易表示と詳細表示がある。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-l

操作できるスプールジョブの一覧を詳細表示する。

詳細表示では出力保留状態のジョブの情報だけを表示する。

出力保留状態であっても，削除処理中などで詳細情報が求まらない場合は表示しない。

-s

スプールジョブの一覧を簡易表示する。

ジョブ名，ジョブ名ワイルドカード指定では，-fオプションの指定を除いて出力保留状態のジョブだけを表示する。また，削除処理中などでジョブ名が求まらない場合は表示しない。

-n

ヘッダ表示を抑止する。

-f

スプール管理ファイルに異常があっても表示する。

スプールジョブ転送デーモンが停止するなどの理由でスプールジョブ転送サービスの管理から漏れたスプールジョブ，またはその他の予期しない異常がある場合，通常の表示ではスプールジョブは表示しない。これらのジョブを，スプール管理ファイルに障害があった場合の回復支援として一覧表示する場合に使用する。

ただし，障害の状態によっては表示できない場合もある。

-t

1970年1月1日からの通算秒でジョブ実行開始，および終了時刻をUTC（Coordinated Universal Time）で10けた固定で表示する。

出力保留状態の場合だけ表示する。表示できない状態の場合は，"-"（ハイフン）10けたを表示する。

-T

ジョブ実行の開始時刻および終了時刻を表示する。

出力保留状態の場合だけ表示する。表示できない状態の場合は，"-"（ハイフン）で表示する。

-D UTC

-Tオプションを指定した場合に，時刻の形式をUTCで表示する。

-D LT

-Tオプションを指定した場合に，時刻の形式をタイムゾーンの設定に従ったローカルタイムで表示する。

-J

処理対象をジョブ名で指定する場合に指定する。この指定がない場合，ジョブ識別子オプションで指定する。

ジョブ識別子　〜＜10進数＞((1〜999999))

表示するジョブ識別子を指定する。省略した場合，操作できるすべてのスプールジョブを対象とする。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ識別子△※

空白で区切って複数指定できる。

注※　△は空白を示す。

ジョブ識別子：ジョブ識別子

1回だけ指定できる。

"ジョブ識別子：ジョブ識別子"の形式で指定した場合，左に指定したジョブ識別子から右に指定したジョブ識別子までの範囲を処理対象とする。

また，左のジョブ識別子は右のジョブ識別子よりも等しいかまたは小さくする必要がある。

ジョブ名　〜＜記号名称＞，ジョブ名ワイルドカード　〜＜任意文字列＞

処理対象をジョブ名またはジョブ名ワイルドカードで指定する。この場合，-Jオプションの指定が必要である。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ名△※

空白で区切って最大32個指定できる。

注※　△は空白を示す。

文字列*

1回だけ指定できる。

ジョブ名ワイルドカードは*を指定したワイルドカード指定で，先頭の文字列が一致するジョブ名を一括で指定できる。ワイルドカード指定をする場合は，シェルが自動的に処理しないように””で囲む必要がある。

ジョブ名を指定した場合，-fオプション指定以外では出力保留状態のジョブだけが表示対象となる。

ジョブ名を省略した場合，ユーザが操作できるスプールジョブを対象とする。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

このコマンドは共用資源の排他を行っており，処理途中で止まるような使用をした場合（pgコマンドなどでメッセージ表示の途中で止める場合など），ほかのコマンドやスプールジョブ転送デーモンが待ち状態になることがあるので，そのような使用をしないこと。

ジョブ識別子の範囲指定をした場合，その範囲内の操作できるジョブを表示する。操作できないジョブはエラーメッセージを出力しない。ジョブ識別子を指定したコマンドを使用した場合は，エラー情報を出力する。

ジョブ名またはジョブ名ワイルドカード指定をした場合，操作できるジョブの中から指定したジョブ名に該当するジョブを表示する。操作できないジョブは，エラーメッセージを出力しない。ジョブ識別子を指定したコマンドを使用する場合はエラー情報を出力する。

使用例

スプールジョブ一覧を1970年1月1日からの通算秒での時刻指定で簡易表示する。

bjexlsjob -t

出力例

出力項目の説明

JOBID

ジョブ識別子。

S

スプールジョブの状態。

状態

説明

B

スプールジョブはほかで処理中であり，正しく表示できていないことを示す。

H

出力保留状態であることを示す。

E

エラー状態（スプールジョブの削除に失敗して，異常状態でファイルが残っている状態）であることを示す。

X

実行中であることを示す。

P

スプールジョブ転送デーモンでスプールジョブを処理中であることを示す。通常は一定時間後に出力保留状態に移行する。運用中に設定ファイルの出力クラスの設定を変更したり，スプールジョブ転送デーモンの処理中に障害が発生した場合，この状態のままとなることがある。この場合，bjexchjobコマンドの-Sオプションで回復はできるが，上記の要因が解決しないかぎり，プリントサーバには転送できない。

−

スプールジョブ転送デーモンが停止したなどの原因でスプールジョブ転送サービスの管理から漏れている状態であることを示す。この場合，bjexchjobコマンドの-Sオプションでスプールジョブの回復処理をする必要がある。

？

不当な状態であることを示す。スプール管理ファイルが破壊されている可能性がある。通常は運用を停止し，スプール管理ファイルを削除後にスプールジョブ転送デーモンを起動してbjexchjobコマンドの-Sオプションでスプールジョブの回復処理をする必要がある。特定ジョブだけでそのスプールジョブが存在する場合には，bjexchjobコマンドの-Sオプションでそのスプールジョブだけを回復処理できる場合もある。

START TIME，END TIME

ジョブの実行開始時刻および終了時刻。

JOBNAME

バッチジョブ実行システムのジョブ定義XMLファイルで指定したジョブ名称を表示する。削除処理中などのタイミングによってジョブ名が求まらない場合は，"-"（ハイフン）8けたで表示する。

スプールジョブ一覧をローカルタイムでの時刻指定で簡易表示する。

bjexlsjob -T

出力例

スプールジョブ一覧を時刻指定なしで簡易表示する。

bjexlsjob

出力例

スプールジョブ一覧をローカルタイムでの時刻指定で詳細表示する。

bjexlsjob -lT

出力例

出力項目の説明

JOBNAME

ジョブ名。

TIME

ジョブ実行開始時刻，終了時刻。

JOBID

ジョブ識別子。

sss

ジョブステップ番号を3けたの数字で表示する。ジョブステップに依存しないSYSOUTの場合は"-"（ハイフン）を表示する。ジョブステップ番号はジョブステップが終了した順番に与えた番号であり，ジョブ定義XMLファイルで定義した順番とは一致しない。並列実行するジョブステップの場合，ジョブ定義XMLファイルの定義順とは一致しないことがある。

h

出力保留属性の表示をする。

属性

説明

H

出力保留属性であることを示す。

N

出力非保留属性であることを示す。

k

出力後保存属性を表示する。

属性

説明

K

出力後保存属性であることを示す。

N

出力後保存属性でないことを示す。

-

属性が存在しないことを示す。

DD NAME

DD名。

SYSOUT CLASS

出力クラス名。

スプールジョブ一覧の詳細をヘッダ情報を抑止して表示する。

bjexlsjob -ln

出力例

ジョブ識別子10から100までのスプールジョブ一覧を表示する。

bjexlsjob 10:100

出力例

ジョブ名がJOB001，JOB002のジョブを表示する。

bjexlsjob -J JOB001 JOB002

出力例

ジョブ名の先頭がKEIRIのジョブを表示する。

bjexlsjob -J "KEIRI*"

出力例

bjexlslock（ファイルの排他状態の表示（一般ユーザ用））

形式

bjexlslock [-h 論理ホスト名]
           [-l | -w]
           [-j ジョブ識別子 | -t タイプ | パス名…]

機能

ジョブコントローラから実行されたジョブの排他/共用情報を表示する。

指定できるオプションおよびパス名のどちらも指定しない場合，ジョブの排他状態を表示する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-l

確保している資源の一覧を表示する。

-w

待ち状態になっている資源の一覧を表示する。

-j ジョブ識別子　〜＜数字＞((1〜999999))

表示対象とするジョブのジョブ識別子を指定する。

-t タイプ

表示対象とするロックのタイプを指定する。指定できるタイプを次に示す。

DIR（LIBもDIRで指定する）

FILE

GDG

PREST

パス名 　〜＜パス名＞

表示対象とするロックのパス名を指定する。

戻り値

戻り値については，「表10-39　ジョブコントローラの終了コード一覧」を参照のこと。

注意事項

パス名に相対パス名を指定した場合は，コマンド実行時のカレントディレクトリからの相対パスであると見なす。コマンド実行時のカレントディレクトリがジョブ実行時のカレントディレクトリと異なる場合，ジョブ定義XMLファイルのDSN属性値に記述された相対パスを指定しても同じファイルとは見なされないので注意すること。

パス名は，絶対パス名に変換してから比較する。このため，パス名を相対パスで指定した場合でも，ジョブ定義XMLファイルのDSN属性値のパス名と絶対パスが一致していれば，同じファイルと見なす。

絶対パス名が同じであるパス名を複数指定した場合は，同じファイルの排他状態が複数回出力される。

パス名に指定したパスの各ディレクトリは，すべて存在している必要がある。ファイルは存在していなくてもよい。

ジョブ識別子で指定したジョブが実行中でない場合は，メッセージを出力して，排他情報は出力しないで終了する。

パス名を指定した場合に，パス名がディレクトリであるとき，ディレクトリ配下のすべての排他情報を出力する。

このコマンドで排他状態を表示させる場合，排他/共用制御のための共用メモリ使用量定義で見積もった共用メモリサイズを確保できるだけのデータ領域でのリミット値の設定が必要となる。

使用例

現在待ち状態になっている資源の一覧を表示する。

bjexlslock -w

出力例

ジョブ識別子もパス名も指定しない場合

出力項目の説明

JOBID

ジョブ識別子（6けた10進数）。

STATUS

ジョブの排他状態。

項目

説明

LOCK

ロック獲得状態であることを示す。

WAIT

ロック待ち状態であることを示す。

ELAPSED

ロック獲得またはロック待ち開始からの経過時間。

STATUSが"LOCK"の場合は，ロック獲得からの経過時間を表示する。

STATUSが"WAIT"の場合は，ロック待ち開始からの経過時間を表示する。

24時間を超える場合は，"over24"を表示する。

PID

ジョブコントローラプロセスのプロセス番号（10進数）。

JP1JobID

JP1ジョブ識別子。

JOBNAME

ジョブ名。

ジョブ識別子（-jオプション）を指定した場合

前半（上記出力例の（1））は，オプションに指定したジョブの排他状態を表示する。形式は「ジョブ識別子もパス名も指定しない場合」と同じである。

後半（上記出力例（2））は，オプションに指定したジョブが割り当て中または割り当てようとしているファイルの排他状態を表示する。

出力項目の説明

MODE

このファイルまたはディレクトリを割り当てた場合の排他モード。

項目

説明

EXC

排他割り当て要求であることを示す。

SHR

共用割り当て要求であることを示す。

STATUS

このファイルまたはディレクトリのロック状態。

項目

説明

LOCK

ロック獲得状態であることを示す。

WAIT

ロック待ち状態であることを示す。

UNLK

複数ファイルの排他要求をし，そのうちの1つでロック待ちとなった場合に，そのファイル以外のほかのファイルがロック待ちをしている状態であることを示す。

LOCKJOB

このファイルまたはディレクトリをロックしたジョブ識別子およびロック状態。

項目

説明

NONE

どのジョブもこのファイルに対するロックを獲得していないことを示す。

SELF

オプションに指定したジョブがこのファイルに対するロックを獲得したことを示す。

DIRLOCK

上位ディレクトリが排他割り当てまたは共用割り当て中であることを示す。

SHRLOCK

共用割り当て中のジョブが少なくとも1ジョブ以上存在することを示す。

OTHERLK

TYPE="DIR"の指定の場合，ディレクトリ配下のファイルまたはディレクトリが排他割り当てもしくは共用割り当て中，または上位ディレクトリが排他割り当てもしくは共用割り当て中であることを示す。

6けた10進数

このファイルを排他割り当てまたは共用割り当てしたジョブのジョブ識別子であることを示す。

ジョブ識別子またはSELFに".."が付く場合は，このファイルを共用割り当て中のジョブがほかにあることを示す。

TYPE

ファイル種別。

項目

説明

FILE

ファイルを示す。

GDG

世代データ群を示す。

PREST

名前付きパイプを示す。

DIR

ディレクトリを示す。

FILEPATH

ファイルまたはディレクトリの絶対パス。

TYPEが"GDG"の場合，世代データ群の絶対パス名および世代データ群名を表示する。

（例）<DD NAME="DD1" DSN="/home/user1/SEDAI(-1)" TYPE="GDG" DISP="SHR"/>

この場合，パス名は"/home/user1/SEDAI"と表示される。

TYPEがPRESTの場合，DD要素のDSN属性値で指定したPREST識別名から生成した名前付きパイプの絶対パス名および名前付きパイプ名を表示する。

（例）<DD NAME="DD1" DSN="SHRFILE1" TYPE="PREST" DISP="SHR"/>

この場合，パス名は"一時ファイルディレクトリパス/PREST_SHRFILE1"と表示される。

パス名を指定した場合

出力項目の説明

WAITCT

このファイルまたはディレクトリのロック解除を待っているジョブ数（10進表示）。

EXCJOB

このファイルまたはディレクトリを排他割り当てしているジョブのジョブ識別子。

SHRCT

このファイルまたはディレクトリを共用割り当てしているジョブ数（10進表示）。

TYPE

ファイル種別。

項目

説明

FILE

ファイルを示す。

GDG

世代データ群を示す。

PREST

名前付きパイプを示す。

DIR

ディレクトリを示す。

FILEPATH

ファイルまたはディレクトリの絶対パス。

TYPEが"GDG"の場合，世代データ群の絶対パス名および世代データ群名を表示する。

（例）<DD NAME="DD1" DSN="/home/user1/SEDAI(-1)" TYPE="GDG" DISP="SHR"/>

この場合，パス名は"/home/user1/SEDAI"と表示される。

TYPEがPRESTの場合，DD要素のDSN属性値で指定したPREST識別名から生成した名前付きパイプの絶対パス名および名前付きパイプ名を表示する。

（例）<DD NAME="DD1" DSN="SHRFILE1" TYPE="PREST" DISP="SHR"/>

この場合，パス名は"一時ファイルディレクトリパス/PREST_SHRFILE1"と表示される。

JOBID

このファイルまたはディレクトリを，排他割り当てまたは共用割り当てしているジョブのジョブ識別子。

STATUS

このファイルまたはディレクトリのロック状態。

項目

説明

LOCK

ロック獲得中であることを示す。

WAIT

ロック獲得待ち中であることを示す。

UNLK

複数ファイルの排他要求をし，そのうちの1つでロック待ちとなった場合に，そのファイル以外のほかのファイルがロック待ちをしている状態であることを示す。

MODE

このファイルまたはディレクトリを割り当てた場合の排他モード。

項目

説明

EXC

排他割り当て要求であることを示す。

SHR

共用割り当て要求であることを示す。

タイプ（-tオプションでFILE）を指定した場合

出力項目の説明

WAITCT

このファイルまたはディレクトリのロック解除を待っているジョブ数（10進表示）。

EXCJOB

このファイルまたはディレクトリを排他割り当てしているジョブのジョブ識別子。

SHRCT

このファイルまたはディレクトリを共用割り当てしているジョブ数（10進表示）。

TYPE

ファイル種別。

項目

説明

FILE

ファイルを示す。

GDG

世代データ群を示す。

PREST

名前付きパイプを示す。

DIR

ディレクトリを示す。

FILEPATH

ファイルまたはディレクトリの絶対パス。

TYPEが"GDG"の場合，世代データ群の絶対パス名および世代データ群名を表示する。

（例）<DD NAME="DD1" DSN="/home/user1/SEDAI(-1)" TYPE="GDG" DISP="SHR"/>

この場合，パス名は"/home/user1/SEDAI"と表示される。

TYPEがPRESTの場合，DD要素のDSN属性値で指定したPREST識別名から生成した名前付きパイプの絶対パス名および名前付きパイプ名を表示する。

（例）<DD NAME="DD1" DSN="SHRFILE1" TYPE="PREST" DISP="SHR"/>

この場合，パス名は"一時ファイルディレクトリパス/PREST_SHRFILE1"と表示される。

JOBID

このファイルまたはディレクトリを，排他割り当てまたは共用割り当てしているジョブのジョブ識別子。

STATUS

このファイルまたはディレクトリのロック状態。

項目

説明

LOCK

ロック獲得中であることを示す。

WAIT

ロック獲得待ち中であることを示す。

UNLK

複数ファイルの排他要求をし，そのうちの1つでロック待ちとなった場合に，そのファイル以外のほかのファイルがロック待ちをしている状態であることを示す。

MODE

このファイルまたはディレクトリを割り当てた場合の排他モード。

項目

説明

EXC

排他割り当て要求であることを示す。

SHR

共用割り当て要求であることを示す。

タイプ（-tオプションでPREST）を指定した場合

出力項目の説明

WAITCT

このファイルまたはディレクトリのロック解除を待っているジョブ数（10進表示）。

EXCJOB

このファイルまたはディレクトリを排他割り当てしているジョブのジョブ識別子。

SHRCT

このファイルまたはディレクトリを共用割り当てしているジョブ数（10進表示）。

PRESTCT

このPRESTファイルを共用割り当てしているジョブ数（10進表示）。

TYPE

ファイル種別。

項目

説明

FILE

ファイルを示す。

GDG

世代データ群を示す。

PREST

名前付きパイプを示す。

DIR

ディレクトリを示す。

FILEPATH

ファイルまたはディレクトリの絶対パス。

TYPEが"GDG"の場合，世代データ群の絶対パス名および世代データ群名を表示する。

（例）<DD NAME="DD1" DSN="/home/user1/SEDAI(-1)" TYPE="GDG" DISP="SHR"/>

この場合，パス名は"/home/user1/SEDAI"と表示される。

TYPEがPRESTの場合，DD要素のDSN属性値で指定したPREST識別名から生成した名前付きパイプの絶対パス名および名前付きパイプ名を表示する。

（例）<DD NAME="DD1" DSN="SHRFILE1" TYPE="PREST" DISP="SHR"/>

この場合，パス名は"一時ファイルディレクトリパス/PREST_SHRFILE1"と表示される。

JOBID

このファイルまたはディレクトリを，排他割り当てまたは共用割り当てしているジョブのジョブ識別子。

STATUS

このファイルまたはディレクトリのロック状態。

項目

説明

LOCK

ロック獲得中であることを示す。

WAIT

ロック獲得待ち中であることを示す。

UNLK

複数ファイルの排他要求をし，そのうちの1つでロック待ちとなった場合に，そのファイル以外のほかのファイルがロック待ちをしている状態であることを示す。

MODE

このファイルまたはディレクトリを割り当てた場合の排他モード。

項目

説明

EXC

排他割り当て要求であることを示す。

SHR

共用割り当て要求であることを示す。

bjexlsmsg（応答待ちメッセージおよび受信待ちメッセージ一覧の表示（管理者用））

形式

bjexlsmsg [-h 論理ホスト名] [-n メッセージ番号]

機能

応答待ちメッセージおよび受信待ちメッセージの一覧を表示する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-n メッセージ番号　〜＜数字＞((1〜2147483647))

指定したメッセージ番号の応答待ちイベントを表示する。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

使用例

応答待ちメッセージおよび受信待ちメッセージの一覧ならびにメッセージ番号を詳細表示する。

bjexlsmsg

メッセージ番号「2000000000」の応答待ちメッセージおよび受信待ちメッセージの一覧を表示する。

bjexlsmsg -n 2000000000

出力例

応答待ちメッセージおよび受信待ちメッセージの一覧ならびにメッセージ番号を詳細表示する場合の出力例を次に示す。

出力項目の説明

MESSAGE-NO

10けたの10進数値のメッセージ番号。bjexlsmsgコマンドの-nオプションおよびbjexchmsgコマンドで指定する値である。

STATUS

メッセージの状態。

Wait：応答待ちメッセージ

Set：受信待ちメッセージ

JOBID

6けたのジョブ識別子。

STEP

3けたのステップ番号。

DATE/TIME

応答要求メッセージを出力した時刻（ローカルタイム）。

MESSAGE or RESPONSE

メッセージ本体または応答されたレスポンス。

msg=：メッセージ本体

res=：応答されたレスポンス（受信待ちメッセージの場合だけこの行が表示される）

bjexm_message（メッセージまたは応答要求メッセージの出力（一般ユーザ用））

形式

bjexm_message -p メッセージ
bjexm_message -m メッセージ
bjexm_message {-r | -c} 応答要求メッセージ 応答0 [応答1 [応答n] … ]

機能

bjexm_messageはジョブステップとして起動することで，メッセージ制御機能を使用してJP1/IM - Viewの画面にメッセージや応答要求メッセージを出力し，応答メッセージを取得する。また，応答メッセージに従って戻り値を設定して終了する。

戻り値を判定して実行するジョブステップを制御することで，オペレータからの応答に応じて実行するジョブステップを選択できる。

オプション

-p：PAUSE要求

メッセージを出力し，コマンドは応答入力待ちになる。処理を続行するには何らかのメッセージを応答する。応答メッセージを入力しないで，応答だけしてもよい。

応答入力後，コマンドは戻り値0で終了する。

-m：WRITE要求

指定したメッセージを出力する。

コマンドは戻り値0で終了する。

-r：WRITER要求（応答の再入力なし）

応答要求メッセージを出力し，応答nで指定したメッセージの応答を待つ。処理を続行するには応答nで指定した応答メッセージを応答する。

コマンドは応答メッセージに対応した戻り値で終了する。指定した応答メッセージに該当しない応答メッセージを応答した場合，コマンドは戻り値127で終了する。

-c：WRITERX要求（応答の再入力あり）

応答要求メッセージを出力し，応答nで指定されたメッセージの応答を待つ。処理を続行するには応答nで指定した応答メッセージを応答する。

コマンドは応答メッセージに対応した戻り値で終了する。

指定した応答メッセージに該当しない応答メッセージを応答した場合，コマンドはKAKC5208-Eメッセージを出力したあと，再び応答要求メッセージを出力して，応答待ちになる。このメッセージはLANG環境変数が次に示す値のとき日本語メッセージを出力する。

次に示すLANG環境変数以外の場合，英語のメッセージ（エンコードはASCII）を出力する。

AIX：Ja_JP（メッセージのエンコードはシフトJISとなる）

ja_JP（メッセージのエンコードはEUCとなる）

RHEL：ja_JP.UTF-8（メッセージのエンコードはUTF-8となる）

メッセージ　〜((1〜512バイト))

JP1/IM - Viewの画面に出力するメッセージを指定する。

メッセージ出力後コマンドは戻り値0で終了する。

メッセージ長の上限は512バイトであり，513バイト以上を指定すると切り捨てられる。

また，日本語で指定する場合はLANG環境変数で示される言語環境と一致するエンコードで指定する必要がある。また，複数バイトで表現される文字の途中で打ち切られた場合の動作は保証しないので注意が必要である。

メッセージ長が0の場合やメッセージの指定がない場合は，KAKC0311-Eメッセージを出力して終了する。

応答要求メッセージ　〜((1〜512バイト))

JP1/IM - Viewの画面に出力する応答要求メッセージを指定する。応答メッセージ出力後は応答入力を待つ。

メッセージ長の上限は512バイトであり，513バイト以上を指定すると切り捨てられる。

また，日本語で指定する場合はLANG環境変数で示される言語環境と一致するエンコードで指定する必要がある。また，複数バイトで表現される文字の途中で打ち切られた場合の動作は保証しないので注意が必要である。

メッセージ長が0の場合やメッセージの指定がない場合は，KAKC0311-Eメッセージを出力して終了する。

応答n　〜((1〜512バイト))

応答メッセージを指定する。nは0から31までであり，応答はスペースで区切って最大32個指定できる。

応答要求メッセージに対して応答できるメッセージを定義し，応答されたメッセージに対応した戻り値でこのコマンドは終了する。

例えば，応答0を応答した場合は戻り値0となり，応答1を応答した場合には戻り値1となる。つまり，指定順に対応した戻り値となる。

応答nに指定されたすべてが，Null文字列の場合，応答メッセージの内容に関係なく，戻り値0で終了する。

応答を33個以上指定した場合，33個以上は無視する。

応答メッセージのメッセージ長の上限は512バイトであり，513バイト以上を指定すると無視される。

また，ASCIIの範囲の文字だけ動作を保証し，日本語は使用できない。ASCII以外の文字を指定してもエラーにはならないが，ASCIIの文字だけが応答できる。

同一の応答メッセージを複数回指定してもエラーにはならないが，最初に記述した応答メッセージの戻り値で終了する。

戻り値

戻り値

意味

0

メッセージ出力が完了した。または，応答要求メッセージに対して応答0の応答があった。

PAUSE機能の応答操作があった。

1〜31

応答要求メッセージに，戻り値に対応する応答があった。

127

予期しない障害が発生した。標準エラー出力に事象を示すエラーメッセージを出力する。

-rを指定してコマンドを実行した場合に定義した応答メッセージ以外の応答があった。

コマンドの指定が正しくない。

注意事項

このコマンドはuCosminexus Batch Job Execution Serverの配下だけで使用できる。その他の場合はエラーで終了する。（KAKC5205-E）

このコマンドが出力するメッセージの後ろにはメッセージ制御機能の仕様に従って次の情報が付加される。ただし，標準エラー出力に出力するエラーメッセージなどの場合は，情報は付加されない。

（ジョブ識別子，ステップ番号，ホスト名，メッセージ識別子，保守情報）

このコマンドが出力するメッセージはバッチジョブ実行システムのMESSAGE_REPLACE_SPACE初期設定パラメータの置き換えの対象になる。ただし，標準エラー出力に出力するエラーメッセージなどの場合は，置き換えの対象にならない。

ジョブ定義XMLのEXEC要素のPARM属性には958文字までの制限があり，その範囲で指定すること。

また，空白を含むメッセージや応答はPARMでは指定できない。このため，空白を含むメッセージや応答を使用したい場合はPGM="*"でスクリプトに記述する必要がある。

使用例

KEY_INのメッセージを出力して，YesまたはNoの応答を受け取る。

ジョブステップはYesを応答するとrc=0で終了し，Noを応答するとrc=1で終了する。また，応答内容に応じたメッセージを出力する。

コマンドの戻り値をジョブの戻り値に反映したくない場合はSETMAXRC要素で戻り値をリセットする必要がある。

ジョブ定義XMLファイルの例を次に示す。

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.4" os="unix" >
  <JOB NAME="Sample">
    <STEP NAME="STEP01" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message"
            PARM="-c KEY_IN Yes No"
            PARMSPLIT="YES" >
      </EXEC>
    </STEP>
    <STEP NAME="STEP02" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message"
            PARM="-m PROCGRAM_IS_RC=0[Yes]" COND="0,NE,STEP01"
            PARMSPLIT="YES" >
      </EXEC>
    </STEP>
    <STEP NAME="STEP03" >
      <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message"
            PARM="-m PROCGRAM_IS_RC_not_0[no]" COND="0,EQ,STEP01"
            PARMSPLIT="YES" >
      </EXEC>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

実行結果

上記の使用例の実行結果を次に示す。

bjexpd（スプールジョブ転送デーモン（管理者用））

形式

bjexpd { [-h 論理ホスト名] [-c [-p 設定ファイル名]] | -v }

機能

bjexpdctlコマンドから呼び出されるスプールジョブ転送サービスのメインプロセスである。スプールジョブ転送デーモンを起動する場合は，bjexpdctlコマンドを使用する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-c

設定ファイルのパラメータの文法チェックをする。結果は標準出力に出力する。

このオプションを指定した場合，設定ファイルのパラメータの文法チェックだけを行い，スプールジョブ転送デーモンは起動しない。

-p 設定ファイル名　〜＜パス名＞

文法チェックする初期設定パラメータファイル名を指定する。スプールジョブ転送デーモンは起動しない。

このオプションは，-cオプションとともに指定する。

-v

スプールジョブ転送デーモンのバージョンを表示する。

このオプションを指定した場合，スプールジョブ転送デーモンのバージョンの表示だけを行い，起動はしない。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

スプールジョブ転送デーモンはrootで起動すること。

スプールジョブ転送サービス起動中は，設定ファイルを変更しないこと。

スプールジョブ転送デーモンは処理内容や結果をbjex.confのLOG_DIRディレクトリ内のログファイルに保存している。ファイルが存在するファイルシステムの利用率が100%になるなどの要因でログファイルへの書き込み失敗が発生すると，スプールジョブ転送デーモンはスプール転送処理を停止する。スプールの転送処理を再開させるには，bjexpdctlコマンドを使ってスプールジョブ転送デーモンを再起動（スプールジョブ転送デーモンを停止してから起動）すること。

論理ホストの設定ファイルを文法チェックする場合，-cオプションより前に-hオプションを指定すること。

-hオプションと-pオプションの両方が指定された場合，-pオプションで指定した設定ファイルを文法チェックする。

【AIX限定】

SIGTERMおよびSIGDANGER受信時に終了する。

【Linux限定】

SIGTERM受信時に終了する。

bjexpdctl（スプールジョブ転送デーモンの起動，停止（管理者用））

形式

bjexpdctl [-h 論理ホスト名] { start | stop [-f] | status | status_log | conftest | ftp_connect | help }

機能

スプールジョブ転送デーモンを起動，停止する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

start

スプールジョブ転送デーモンを起動する。

stop

スプールジョブ転送デーモンを停止する。転送中のプロセスが終了してから，スプールジョブ転送デーモンを停止する。ただし，実行中のジョブがある場合にはスプールジョブ転送デーモンを停止しない。

-f

スプールジョブ転送デーモンを強制停止する。実行中のジョブがある場合でも強制的に停止する場合に使用する。

status

スプールジョブ転送デーモンの動作状態を表示する。

スプールジョブ転送デーモンが動作している場合は，終了コードに0，スプールジョブ転送デーモンが動作していない場合は，終了コードに1を応答する。

スプールジョブ転送デーモンが動作しており，スプールジョブ転送プロセスがJP1/FTPとのコネクションを確立できずに待ち状態にある場合，終了コードに0を応答する。

status_log

スプールジョブ転送デーモンの実行ログ出力状態を表示する。

スプールジョブ転送デーモンの実行ログ出力が動作している場合は，終了コードに0，スプールジョブ転送デーモンが動作していない場合は，終了コードに1，スプールジョブ転送デーモンは動作していて，かつ実行ログ出力が停止している場合は，終了コードに2を応答する。

conftest

設定ファイルのパラメータをチェックする。結果は標準出力に出力する。

ftp_connect

スプールジョブ転送デーモンが，JP1/FTPとのコネクションを確立できずにリトライ待ち状態にあるとき，待ち状態を解除する。待ち状態が解除されると，コネクションを確立する処理を再実行する。

スプールジョブ転送デーモンがJP1/FTPとのコネクション生成待ち状態でない場合は，bjexpdが動作中である旨のメッセージを出力する。

help

bjexpdctlコマンドのヘルプを表示する。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

スプールジョブ転送デーモンはrootで起動すること。

スプールジョブ転送サービス起動中は，設定ファイルを変更しないこと。

-hオプションを指定する場合は，最初に指定すること。

stop -fオプションでスプールジョブ転送デーモンを強制終了した場合，その間に実行中であったジョブは異常終了することがある。

使用例

スプールジョブ転送デーモンを起動する。

bjexpdctl start

スプールジョブ転送デーモンを停止する。

bjexpdctl stop

バッチジョブ実行システムの設定ファイルをチェックする。

bjexpdctl conftest

bjexrmjob（HOLD状態またはエラー状態のスプールジョブの削除（一般ユーザ用））

形式

日数または時間数およびジョブ識別子で指定する場合

bjexrmjob [-h 論理ホスト名]
          {-T 日数 | -H 時間数} [-f[-a 秒数]]
          [ジョブ識別子… | ジョブ識別子:ジョブ識別子]

ジョブ識別子で指定する場合

bjexrmjob [-h 論理ホスト名]
          [-f[-a 秒数]]
          { ジョブ識別子… | ジョブ識別子:ジョブ識別子 }

日数または時間数およびジョブ名で指定する場合

bjexrmjob [-h 論理ホスト名]
          {-T 日数 | -H 時間数} [-f[-a 秒数]]
          -J
          [ジョブ名… | ジョブ名ワイルドカード]

ジョブ名で指定する場合

bjexrmjob [-h 論理ホスト名]
          [-f[-a 秒数]]
          -J
          { ジョブ名… | ジョブ名ワイルドカード }

機能

スプールジョブを削除する。

強制削除ではスプールジョブを削除し，そのディレクトリとともに削除する。

強制削除を指定しない場合，出力保留状態のスプールジョブを削除する。スプールジョブのディレクトリ下にSYSOUTデータ，スプールジョブ管理ファイル以外を不当に作成している場合，そのファイルは削除しない。このようなスプールジョブは削除できないため，エラー状態に移行する。強制削除を指定した場合，不当なファイルがあっても削除する。

エラー状態のスプールジョブを削除する場合は，強制削除の指定をする。この場合，スプールジョブのディレクトリ下のファイルはすべて削除する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-T 日数　〜＜1〜2けたの10進数＞((0-99))

指定日数以前の日に実行したジョブのスプールジョブを削除する。実行した日の判定はジョブ実行開始時刻で判断する。

強制削除でジョブ実行開始時刻が求まらない場合は，スプールジョブファイルまたはディレクトリの最終更新時刻で判定する。2月2日に-T1を指定した場合，2月1日 23:59:29以前が対象となる。

-H 時間数　〜＜1〜2けたの10進数＞((0-96))

指定時間数以前の時刻に実行したジョブのスプールジョブを削除する。実行した時刻の判定はジョブ実行開始時刻で判断する。

2月2日10:15:00に-H1を指定した場合，2月2日 09:14:59以前が対象となる。

-f

このオプションを指定した場合，スプールジョブの状態に関係なくスプールジョブディレクトリがあればスプールジョブを削除する。実行中のジョブに対して指定しないように注意が必要であり，一般的には障害などで管理から漏れたスプールジョブまたはエラー状態のスプールジョブの削除に使用する。

エラー状態のスプールジョブはSYSOUTデータファイル以外のファイルを作成し，スプールジョブのディレクトリが削除できない状態のスプールジョブである。強制終了時にはこれらのSYSOUTデータファイル以外のファイルも消去してスプールジョブを削除する。

このオプションを省略した場合，出力保留状態のスプールジョブを削除する。この場合，SYSOUTデータファイル以外のファイルがスプールディレクトリに存在すると，そのファイルは削除しないで，スプールジョブはエラー状態となる。

-a 秒数　〜＜1〜3けたの10進数＞((0-999))《30》

ジョブの強制削除時に有効な値であり，スプールディレクトリ，スプールジョブ管理ファイルの最終更新時刻が現在から指定秒数前の場合，ジョブ実行中として削除対象としない。

スプールジョブファイル，ディレクトリの最終更新時刻はジョブ実行時とは異なりスプールジョブの操作を行うと更新される。例えば，bjexchjobコマンドで属性変更すると更新される。

-J

処理対象をジョブ名で指定する場合に指定する。この指定がない場合，ジョブ識別子オプションで指定する。

ジョブ識別子　〜＜10進数＞((1〜999999))

削除するジョブ識別子を指定する。

-Tオプションや-Hオプションを指定しない場合，ジョブ識別子，ジョブ名，またはジョブ名ワイルドカードのどれかの指定が必要である。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ識別子△※

空白で区切って複数指定できる。

注※　△は空白を示す。

ジョブ識別子：ジョブ識別子

1回だけ指定できる。

"ジョブ識別子：ジョブ識別子"の形式で指定した場合，左に指定したジョブ識別子から右に指定したジョブ識別子までの範囲を処理対象とする。

また，左のジョブ識別子は右のジョブ識別子よりも等しいかまたは小さくする必要がある。

ジョブ名　〜＜記号名称＞，ジョブ名ワイルドカード　〜＜任意文字列＞

処理対象をジョブ名またはジョブ名ワイルドカードで指定する。この場合，-Jオプションの指定が必要である。

このオプションの指定形式には次に示す2つの方法がある。なお，両方の指定形式は混在できない。

ジョブ名△※

空白で区切って最大32個指定できる。

注※　△は空白を示す。

文字列*

1回だけ指定できる。

ジョブ名ワイルドカードは*を指定したワイルドカード指定で，先頭の文字列が一致するジョブ名を一括で指定できる。ワイルドカード指定をする場合は，シェルが自動的に処理しないように””で囲む必要がある。

ジョブ名またはジョブ名ワイルドカードを省略した場合は，すべてのユーザが操作できるスプールジョブを対象とする。

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

特定ユーザのスプールジョブだけを削除する場合は，削除する対象のユーザで実行すること。

このコマンドは共用資源の排他を行っており，処理途中で止まるような使用をした場合（pgコマンドなどでメッセージ表示の途中で止める場合など），ほかのコマンドやスプールジョブ転送デーモンが待ち状態になることがあるので，そのような使用をしないこと。

コマンドを割り込みなどで強制終了させないこと。コマンドを強制終了させた場合，スプールジョブ管理ファイルが破壊されることがある。

このコマンド実行にはスプールジョブ転送デーモンを起動している必要がある。スプールジョブ転送デーモンが起動していないとき，またはスプールジョブ転送デーモンが処理途中で終了したとき，コマンドの動作は保証できないため，コマンドが待ち状態になり，終了しないことがある。また，処理途中のスプールジョブが完全には削除されないことがある。このような場合，コマンドを割り込みなどで停止する。また，削除されなかったジョブはbjexrmjobコマンドの-fオプションで削除する。

ジョブ識別子の範囲指定をした場合，その範囲内の操作できるジョブを操作対象とする。操作できないジョブはエラーメッセージを出力しない。処理結果は，bjexlsjobコマンドで確認する。ジョブ識別子を指定したコマンドを使用した場合，エラー情報を出力する。

ジョブ名またはジョブ名ワイルドカード指定をした場合，操作できるジョブの中から指定したジョブ名に該当するジョブを操作対象とする。対象外のジョブは，エラーメッセージを出力しない。処理結果は，bjexlsjobコマンドで確認する。ジョブ識別子を指定したコマンドを使用する場合はエラー情報を出力する。

使用例

ジョブ識別子125のスプールジョブを削除する。

bjexrmjob 125

ジョブ識別子231のエラー状態のスプールジョブを強制削除する。

bjexrmjob -f 231

2月2日10:15:40にこの指定をした場合，2月2日 10:15:09以前のものが削除対象となる。この例では-aオプションを省略しており，-aオプションのデフォルト値である30(秒)が有効となるため，このコマンドを投入した時刻から30秒以前が対象となる。

ジョブ実行開始時刻が30日以前の出力保留状態のスプールジョブを削除する。

bjexrmjob -T 30

2月2日にこの指定をした場合，1月3日 23:59:59以前に開始されたスプールジョブが削除の対象となる。

ジョブ識別子123のスプールジョブについて，スプールジョブディレクトリまたはスプールジョブ管理ファイルの最終更新時刻がカレント時刻より40秒以上前の場合に削除する。

bjexrmjob -f -a 40 123

2月2日10:15:30にこの指定をした場合，2月2日 10:14:49以前が対象となる。

ジョブ識別子10から100までのスプールジョブを削除する。

bjexrmjob 10:100

ジョブ名がJOB001，JOB002のジョブを削除する。

bjexrmjob -J JOB001 JOB002

ジョブ名の先頭がKEIRIのジョブを削除する。

bjexrmjob -J "KEIRI*"

ジョブ実行開始時刻が10時間以前の出力保留状態のスプールジョブを削除する。

bjexrmjob -H 10

ジョブ実行開始時刻が36時間以前の出力保留状態のスプールジョブのうち，ジョブ名の先頭がSOUMUのジョブを削除する。

bjexrmjob -H 36 -J "SOUMU*"

bjextrjob（転送ディレクトリ下の印刷ジョブ一覧の表示，削除，および再転送（管理者用））

形式

bjextrjob [-h 論理ホスト名] [-l | -e | -d | -r] [-t 秒数] [伝送カード]

機能

転送ディレクトリ下の印刷ジョブ一覧を表示，削除，および再転送する。コマンド入力時点の時刻から-tオプションで指定した秒を引いた時刻以前に属性変更が行われた印刷ジョブ，またはこのコマンドのオプションで指定した伝送カードに該当する印刷ジョブを表示，削除，および再転送する。

オプション

-h 論理ホスト名　〜＜英字と数字と-（ハイフン）＞((1〜244))

バッチジョブ実行システムの論理ホストで運用している場合に指定する。設定ファイルとして/opt/hitachi/bjex/conf/bjex_論理ホスト名.confを読み込み実行する。

-l

印刷ジョブの一覧を表示する。

-e

印刷ジョブの一覧を拡張形式で表示する。

-d

印刷ジョブを削除する。

-r

印刷ジョブを再転送する。

-t 秒数　〜＜1〜8けたの10進数＞((0-99999999))《259200》

表示，削除，および再転送対象とする印刷ジョブの属性変更時刻を指定する。コマンド入力時点の時刻から指定した秒を引いた時刻以前に，属性変更が行われた印刷ジョブを表示，削除，および再転送する。

伝送カード　〜＜任意文字列＞

-eオプションによって出力される，表示，削除，および再転送対象とする印刷ジョブの伝送カードを指定する。該当する印刷ジョブが複数存在する場合，すべてが対象となる。

使用例

3日（259,200秒）以上前に属性変更を行った印刷ジョブ一覧を表示する。

bjextrjob −l −t 259200

出力例

出力項目の説明

JOBID

ジョブ識別子。同一ジョブを複数回印刷することもできるため，複数回表示されることもある。

S

ジョブの状態。

項目

概要

説明

N

NOHOLD状態

スプールジョブ転送デーモンによる転送が開始されていない状態，またはスプールジョブ転送デーモンが起動していないなどの要因で，処理されなかった状態である。

E

エラー状態

転送処理中にエラーが発生した状態である。

P

処理中

スプールジョブ転送サービスが処理中の状態である。

T

転送中

プリントサーバに転送中の状態である。

START TIME

ジョブの開始時刻。1970/1/1 00:00:00（UTC）からの通算秒である。

END TIME

ジョブの終了時刻。1970/1/1 00:00:00（UTC）からの通算秒である。

CHG TIME

ジョブの属性変更時刻。1970/1/1 00:00:00（UTC）からの通算秒である。

属性変更時刻とは，ジョブの終了時刻またはbjexchjob -Rコマンド入力時刻である。

COUNT

属性変更が行われた回数。

USERNAME

ユーザ名。

JOBNAME

ジョブ名。

注意事項

値を求めることができない場合は，ハイフンまたは空白を表示する。

すべての印刷ジョブ一覧を拡張形式で表示する。

bjextrjob -e -t0

出力例

出力項目の説明

JOBID

ジョブ識別子。同一ジョブを複数回印刷することもできるため，複数回表示されることもある。

S

ジョブの状態。

項目

概要

説明

N

NOHOLD状態

スプールジョブ転送デーモンによる転送が開始されていない状態，またはスプールジョブ転送デーモンが起動していないなどの要因で，処理されなかった状態である。

E

エラー状態

転送処理中にエラーが発生した状態である。

P

処理中

スプールジョブ転送サービスが処理中の状態である。

T

転送中

プリントサーバに転送中の状態である。

START TIME

ジョブの開始時刻。コマンドを入力したユーザのローカル時刻で表示する。

END TIME

ジョブの終了時刻。コマンドを入力したユーザのローカル時刻で表示する。

CHG TIME

ジョブの属性変更時刻。コマンドを入力したユーザのローカル時刻で表示する。

属性変更時刻とは，ジョブの終了時刻またはbjexchjob -Rコマンド入力時刻である。

COUNT

属性変更が行われた回数。

USERNAME

ユーザ名。

JOBNAME

ジョブ名。

CARDNAME

転送に使用する伝送カード名を表示する。

3日（259,200秒）以上前に属性変更を行った印刷ジョブを削除する。

bjextrjob -d -t 259200

戻り値

戻り値

意味

0

正常終了

0以外

エラー終了

注意事項

このコマンドはrootで実行する。

-lオプション，-eオプション，-dオプション，および-rオプションのいずれかを同時に指定した場合，最後に指定したオプションが有効になる。

このコマンドは共用資源の排他を行っており，処理途中で止まるような使用をした場合（pgコマンドなどでメッセージ表示の途中で止める場合など），ほかのbjextrjobコマンドやスプールジョブ転送デーモンが待ち状態になることがあるので，そのような使用をしないこと。

このコマンドは，運用終了後に何らかのエラーによって転送されなかった印刷ジョブを削除または再転送するために使用する。

8　設定ファイル

バッチジョブ実行システムの設定ファイルについて説明する。

設定ファイルの記述形式

設定ファイル（bjex.conf）の記述形式を次に示す。

通常のパラメータ

△₀パラメータ名△₁パラメータのオペランド名

出力クラスのパラメータ

△₀＜SysoutClass△₁クラス名＞
△₀オペランド名△₁オペランドの指定値
△₀</SysoutClass>

注釈

△₀#△₀注釈

（凡例）

△₀：0バイト以上の空白文字を指定する。空白文字は省略できる。

△₁：1バイト以上の空白文字を必ず指定する。空白文字は省略できない。

改行コードだけの行，空白と改行コードだけの行，および行の始まりが"#"または空白と"#"である行は，行全体がコメントであると見なし，読み飛ばす。

空白はパラメータの区切り文字として使用するため，パラメータのオペランド名には使用できない。

コメントには日本語を使用できる。

文法エラーを検出した場合に，解析処理を中断しないでファイルの最後までエラーチェックをする。

＜SysoutClass△クラス名＞などの，タグの開始で文法エラーを検出した場合は，タグの終了が現れるまで文法チェックをしない。

パス名には絶対パスを指定する。相対パスや存在しないパスの場合はエラーとする。

1行の長さが4,092文字を超える場合はエラーとする。

同一ファイル中の，異なるパラメータ名の指定順序は任意とする。

設定ファイル内の大文字と小文字は区別する。

複数指定できないパラメータを複数記述した場合はエラーとする。

複数指定できるパラメータで記述できる最大数を超えた場合はエラーとする。

設定ファイルのパラメータ一覧

バッチジョブ実行システムの設定ファイルのパラメータ一覧を次の表に示す。

表8‒1　バッチジョブ実行システムの設定ファイルのパラメータ一覧

パラメータ名

定義内容

パラメータ指定

指定できる個数

BJEX_DIR_任意名

パス名置換の対象となる識別子とディレクトリのパス名を定義する。

任意

100

COBOL_LANG

COBOLプログラムを実行するときのLANG環境変数値を指定する。

1

DD_DEALLOC_ON_ALLOCERR

ファイル割り当て処理中にエラーが発生した場合の後処理の方法を定義する。

DD_EXISTCHECK

DD要素に指定したファイルが存在しない場合にエラー終了するかどうかを定義する（EXEC要素でLANG="COBOL"を指定していないジョブステップに有効）。

DD_EXISTCHECK_COBOL

DD要素に指定したファイルが存在しない場合にエラー終了するかどうかを定義する（EXEC要素でLANG="COBOL"を指定したジョブステップに有効）。

DD_SAMF

ジョブ定義XMLファイルのDD要素のSAMF属性での省略値を定義する。

DISPLAY_REPLY_MESSAGE

応答要求メッセージに対する応答メッセージをJP1/IM - Viewの画面に出力するかどうかを指定する。

DISPMOD_NOFILE

DD要素のDISP属性にMODを指定したファイルが存在しない場合の処理を定義する。

DUMMY_FILE_TYPE

DD要素にTYPE="DUMMY"を指定した場合に割り当てるファイルを定義する。

EUR_DEFINITION_FILE_DIR

EUR定義ファイル格納ディレクトリを定義する。

EUR_LANG

EURのエンコード種別を定義する。

31

EUR_PROGRAM

EURプログラムのパスを定義する。

1

EXEC_COND_NOSTEPNAME

EXEC要素のCOND属性にステップ名を指定しなかった場合，演算対象とするジョブステップを先行ジョブステップすべてか実行済みの最終ジョブステップかを定義する。

EXEC_COND_STEPSEARCH【AIX限定】

COND属性の検索範囲および逆方向参照の検索範囲を定義する。

EXEC_PARMSPLIT

ジョブ定義XMLファイルのEXEC要素のPARMSPLIT属性での省略値を定義する。

GDG_REGISTER_JOBRC_THRESHOLD

世代ファイルの世代管理ファイルへの登録タイミングの変更および登録させられる条件を定義する。

ISAMLIB_MODE

一時ISAMファイルを割り当てる場合に使用するISAMライブラリ（32ビット版または64ビット版）を定義する。

JOB_RCDEFINE

ジョブコントローラの終了コードの決定方法を定義する。

JOB_STATUS_DISPLAY

実行中のジョブ情報表示機能を使用するかどうかを定義する。

JOBLOG_CONVERT

ジョブログを出力する際に文字コードを変換するかどうかを定義する。

JOBPARM_JSPECAN

並列実行しているジョブステップの1つが異常終了した場合，実行が終了していないジョブステップを打ち切るかどうかを指定する。

JP1_HOSTNAME

JP1が稼働する論理ホスト名を定義する。

JP1EVENT_JOBINFO

バッチジョブ実行システムが発行するJP1イベントに設定されるジョブの情報を指定する。

JP1EVENT_SUPPRESS_ID

出力抑止するJP1イベントのイベントIDを定義する。

無制限

JP1FTP_RETRY_INTERVAL

印刷ジョブ転送時に転送エラーが発生した場合に，再転送するまでのリトライ間隔を定義する。

1

JP1IM_MANAGER_CHKDELAY

メッセージ制御機能でイベント到達確認を行うまでの待ち時間を指定する。

JP1IM_MANAGER_HOST

JP1イベントを出力する固定のマネージャホスト名を定義する。

LOCK_DIR_RECURSIVE

排他制御機能使用時，再帰的にロックを確保するかどうかを定義する。

LOCK_JOBMPLX

ジョブ多重度（同時に実行できるジョブ数）を定義する。

LOCK_KEY_ID

排他制御機能および実行中のジョブ情報表示機能で使用するセマフォ，共有メモリのキーの識別情報を定義する。

LOCK_MAXFILE

ロック獲得中またはロック待ち中のファイル合計数の最大値を定義する。

LOCK_OPTION

排他制御機能とジョブ間PRESTファイルを使用するかどうかを定義する。

LOCK_RELEASE

ファイルおよびディレクトリの排他/共用制御で，排他/共用制御の解除契機を定義する。

LOG_DIR

実行ログを出力するディレクトリのパス名を定義する。

LOG_FILE_CNT

実行ログをバックアップする面数を定義する。

LOG_FILE_SIZE

実行ログを出力するファイルサイズを定義する。

MAX_RESPONSE_REQUEST

JP1/IM - Managerに同時に受け付けられる応答待ちイベント数を定義する。

MESSAGE_REPLACE_SPACE

メッセージ制御機能で半角空白に置き換える1バイトコードを定義する。

無制限

MESSAGE_RETRY_TIMEOUT

メッセージ制御機能で，指定時間内にイベント送信処理が完了しなかった場合に，リトライを中断するかどうかを定義する。

1

MSG_KEY_ID

メッセージ制御機能で使用するセマフォ，共有メモリのキーの識別情報を定義する。

MSGCLASS_DEFAULT

ジョブ定義XMLファイルのJOB要素のMSGCLASS属性での省略値を定義する。

必須

PERMANENT_FILE_DIR

恒久ファイルを格納するディレクトリのパス名を定義する。

任意

PERMISSION_DIR

ジョブ定義XMLファイルのPERMISSION要素のDIR属性での省略値を定義する。

PERMISSION_FILE

ジョブ定義XMLファイルのPERMISSION要素のFILE属性での省略値を定義する。

PERMISSION_SPOOL_STORE_JOB

保管するスプールジョブのパーミッションを変更する場合に定義する。

PGM_RCABEND

ジョブステップを異常終了とするユーザプログラムの終了コードを定義する。

256

PROCEDURE_DIR

カタログドプロシジャのディレクトリのパス名を定義する。

255

PROCGROUP_QUEUENAME

JP1/AJSのキュー名をプロシジャグループ名として使用する機能を定義する。

1

RNW_FILE_METHOD

RNWを指定してファイルを再割り当てする場合のファイル再作成の方法を定義する。

SPOOL_DIR

スプールディレクトリのパス名を定義する。

SPOOL_JOB_STORE

ジョブ終了時にスプールジョブを保管する機能の使用を指定する。

SPOOL_JOB_TRANSFER

スプールジョブを転送するかどうかを定義する。

SPOOL_STORE_DIR

スプールジョブを保管するときの保管先のディレクトリのパス名を指定する。

SPOOL_STORE_DIRNAME

スプールジョブを保管するときの保管先ディレクトリ名称を定義する。

SPOOL_STORE_SUBDIR

スプールジョブを保管するときの保管先のサブディレクトリを定義する。

STDERRCLASS_DEFAULT

ジョブ定義XMLファイルのJOB要素のSTDERRCLASS属性での省略値を定義する。

STDOUTCLASS_DEFAULT

ジョブ定義XMLファイルのJOB要素のSTDOUTCLASS属性での省略値を定義する。

SYSOUT_APPEND_WRITE

SYSOUTデータファイルへの書き込みモードを定義する。

SysoutClass

各出力クラスの属性値を定義する。

1個以上必須

256

TEMP_FILE_DIR

次に示すファイルを格納するディレクトリのパス名を定義する。

一時ファイル

PRESTファイル

任意

1

TEMP_FILE_DIR_XML_USE

一時ファイル格納ディレクトリパス名をジョブ定義XMLファイルのDD要素のDSN属性で指定可能とするかどうかを定義する。

TRACE_DIR

トレースを出力するディレクトリのパス名を定義する。

TRACE_FILE_CNT

トレースを出力する面数を定義する。

TRACE_FILE_SIZE

トレースを出力するファイルサイズを定義する。

TRACE_LEVEL

トレースを出力するレベルを定義する。

BJEX_DIR_任意名（パス名置換識別子とディレクトリのパス名定義）

形式

[BJEX_DIR_任意名※ パス名]

注※　環境変数を指定する。任意名が1〜22文字で，それを含めて最大31文字で指定する。

機能

ジョブ定義XMLファイルで，ジョブが使用するファイルに"絶対パス"で記述するのではなく，識別子を付加して記述することで，実行時にファイル名を置換する機能である。このパラメータでは，XML中のパス名の変数を設定ファイルで置換する。パス名置換識別子はパラメータ名（BJEX_DIR_任意名）となる。

このパラメータは，次に示すように識別子を用いてDD要素のDSN属性に指定する。

<DD NAME="REPDD" DSN="${BJEX_DIR_任意名}FILE" DISP="NEW,KEEP"/>

このパラメータを指定した場合，ジョブステップのプロセスに識別名の環境変数を作り，指定されたパス名を格納する。

詳細については，「3.4.7　プログラムへのファイル割り当て機能」を参照のこと。

オペランド

パス名　〜＜パス名＞((1〜512文字))

識別子に対応するディレクトリのパス名を指定する。

指定するパス名は，絶対パス名とすること。絶対パス名でない場合，設定ファイルのエラーとなる。このパラメータのオペランドにかぎり，存在しないパス名であってもエラーとならない。

注意事項

このパラメータで指定するパス名の末尾に「/」が付与されていない場合，そのパス名に対して自動的に末尾に「/」が付与される。

COBOL_LANG（COBOLプログラムを実行するときのLANG環境変数値の指定）

形式

[COBOL_LANG　LANG環境変数値]

機能

COBOLプログラムを実行するときのLANG環境変数値を指定する。バッチジョブ実行システムのLANG環境変数値と異なる値にしたいときに定義する。指定しない場合は，バッチジョブ実行システムのLANG環境変数のままとなる。

存在しない文字コードを指定した場合は，エラーとしないで，指定した文字列をLANG環境変数に設定する。

オペランド

LANG環境変数値　〜＜任意文字列＞((1〜31文字))

COBOLプログラムを実行するときのLANG環境変数値を指定する。

注意事項

オペランドに文字コードを2個以上指定することはできない。

このパラメータが適用されるのは，ジョブ定義XMLファイルのEXEC要素にLANG="COBOL"と指定したジョブステップだけである。また，PGM="*"を指定して複数のプログラムを起動する場合，LANG＝"COBOL"の指定があれば，ジョブステップ内のすべてのプログラムが指定したコードで動作する。

DD_DEALLOC_ON_ALLOCERR（ファイル割り当て処理中にエラーが発生した場合の後処理の方法の定義)

形式

[DD_DEALLOC_ON_ALLOCERR {OPT1|OPT2}]

機能

ジョブステップ実行開始時のファイル割り当て処理でエラーとなった場合の，ファイルの後処理方法を定義する。

オペランド

DD_DEALLOC_ON_ALLOCERR　〜{OPT1｜OPT2}

ジョブステップ実行開始時のファイル割り当て処理でエラーが発生した場合に，そのジョブステップで割り当て済みのファイルに対する後処理方法を定義する。

このパラメータが省略されている場合，オペランドにOPT1が指定されたものとする。

OPT1：「3.4.2(2)(d)　ファイル割り当て処理中にエラーが発生した場合の後処理の指定」の表3-7に従って処理する。

OPT2：「3.4.2(2)(d)　ファイル割り当て処理中にエラーが発生した場合の後処理の指定」の表3-8に従って処理する。

DD_EXISTCHECK（DD要素に指定したファイルパスの存在確認要否を実施するための定義）

形式

[DD_EXISTCHECK {CONCAT|NO}]

機能

DD要素に指定したファイルの連結を行う際，どれかのファイルが存在しない場合，ファイル割り当てエラーとするときに指定する（KAKC1660-Eメッセージが表示される）。

このパラメータの指定に関係なく，JOBLIB/STEPLIB，一時ファイル，一時ISAMファイルのファイルパスに対しては存在確認を行う。

TYPE="GDG"かつ世代データ群指定の場合，世代群に対する存在確認を行うのではなく，世代データ群で管理されている世代ファイルに対してファイルの存在確認を行う。また，世代データ群指定の場合，DD連結の有無に関係なく，世代データ群で管理されている世代ファイルの存在確認を行う。

このパラメータは，EXEC要素のLANG属性に"COBOL"を指定していないジョブステップに有効となる。

オペランド

DD_EXISTCHECK 〜｛CONCAT｜NO｝

EXEC要素のLANG属性に"COBOL"以外を指定した場合に，DD要素でファイル連結として指定した恒久ファイルと世代ファイルのファイルパスの存在確認をするかどうかを指定する。

CONCAT：DD要素でファイル連結を指定した場合に存在確認を行う。

NO：存在確認を行わない。

このパラメータの指定が省略されている場合，オペランドにNOを仮定する。

DD_EXISTCHECKの指定値によるファイルパスの存在確認の対象となるTYPE属性一覧を次の表に示す。

表8‒2　DD_EXISTCHECKの指定値によるファイルパスの存在確認の対象となるTYPE属性一覧

オペランド

DD要素のTYPE属性

LIB

FILE

DIR

GDG

DATA

DUMMY

TEMP

TEMPISAM

SYSOUT

PREST

TEMPPREST

NO

◎

×

×

×

−

−

○

◎

−

×

×

CONCAT

◎

○

○

○

−

−

○

◎

−

×

×

（凡例）

◎：ファイル連結の指定に関係なくファイルパスの存在確認を行う。

○：ファイル連結を指定した場合，ファイルパスの存在確認対象である。

×：ファイルパスの存在確認対象でない。

−：バッチジョブ実行システムが用意するファイルのため，ファイルパスの存在確認を行う必要がない。

注意事項

ファイルパスの存在確認を行うDD要素は，DISP属性でOLDまたはSHRが指定されている必要がある。

ディレクトリの連結はできないため，TYPE="DIR"のDD要素はファイルパスの存在確認対象でない。ただし，ファイル連結の指定をしてジョブを実行した場合は，TYPE="FILE"やTYPE="DIR"のDD要素と同様にファイルパスの存在確認を行う。

DD連結を指定した際に1つでも存在しないファイルがある場合，そのジョブステップはKAKC1660-Eメッセージを出力して異常終了する。

DD_EXISTCHECK_COBOL（DD要素に指定したファイルパスの存在確認要否を実施するための定義）

形式

[DD_EXISTCHECK_COBOL {CONCAT|NO}]

機能

DD要素に指定したファイルの連結を行う際，どれかのファイルが存在しない場合，ファイル割り当てエラーとするときに指定する（KAKC1660-Eメッセージが表示される）。

このパラメータの指定に関係なく，JOBLIB/STEPLIB，一時ファイル，一時ISAMファイルのファイルパスに対しては存在確認を行う。

TYPE="GDG"かつ世代データ群指定の場合，世代群に対する存在確認を行うのではなく，世代データ群で管理されている世代ファイルに対してファイルの存在確認を行う。また，世代データ群指定の場合，DD連結の有無に関係なく，世代データ群で管理されている世代ファイルの存在確認を行う。

このパラメータは，EXEC要素のLANG属性に"COBOL"を指定したジョブステップだけ有効となる。

オペランド

DD_EXISTCHECK_COBOL 〜｛CONCAT｜NO｝

EXEC要素のLANG属性に"COBOL"を指定した場合に，DD要素でファイル連結として指定した恒久ファイルと世代ファイルのファイルパスの存在確認をするかどうかを指定する。

CONCAT：DD要素でファイル連結を指定した場合に存在確認を行う。

NO：存在確認を行わない。

このパラメータの指定が省略されている場合，オペランドにNOを仮定する。

DD_EXISTCHECK_COBOLの指定値によるファイルパスの存在確認の対象となるTYPE属性一覧を次の表に示す。

表8‒3　DD_EXISTCHECK_COBOLの指定値によるファイルパスの存在確認の対象となるTYPE属性一覧

オペランド

DD要素のTYPE属性

LIB

FILE

DIR

GDG

DATA

DUMMY

TEMP

TEMPISAM

SYSOUT

PREST

TEMPPREST

NO

◎

×

×

×

−

−

◎

◎

−

×

×

CONCAT

◎

○

○

○

−

−

◎

◎

−

×

×

（凡例）

◎：ファイル連結の指定に関係なくファイルパスの存在確認を行う。

○：ファイル連結を指定した場合，ファイルパスの存在確認対象である。

×：ファイルパスの存在確認対象でない。

−：バッチジョブ実行システムが用意するファイルのため，ファイルパスの存在確認を行う必要がない。

注意事項

ファイルパスの存在確認を行うDD要素は，DISP属性でOLDまたはSHRが指定されている必要がある。

ディレクトリの連結はできないため，TYPE="DIR"のDD要素はファイルパスの存在確認対象でない。ただし，ファイル連結の指定をしてジョブを実行した場合は，TYPE="FILE"やTYPE="DIR"のDD要素と同様にファイルパスの存在確認を行う。

DD連結を指定した際に1つでも存在しないファイルがある場合，そのジョブステップはKAKC1660-Eメッセージを出力して異常終了する。

DD_SAMF（DD要素のSAMF属性での省略値定義）

形式

[DD_SAMF {YES|NO}]

機能

ジョブ定義XMLファイルのDD要素のSAMF属性での省略値を定義する。

オペランド

DD_SAMF　〜{YES｜NO}

ジョブ定義XMLファイルに記述したSYSINデータを，ジョブコントローラがCOBOLプログラムに渡す場合のデータの形式を指定する。

YES：COBOLが順編成固定長ファイルとしてSYSINデータを入力する場合にYESを指定する。ジョブコントローラは，ジョブ定義XMLファイルに記述したSYSINデータを80バイトの順編成固定長ファイルに変換し，COBOLプログラムに渡す。

NO：COBOLがテキスト編成ファイルとしてSYSINデータを入力する場合にNOを指定する。ジョブ定義XMLファイルに記述したSYSINデータを変更しないで，COBOLプログラムに渡す。

注意事項

ジョブ定義XMLファイルのDD要素のSAMF属性を省略した場合でも，TYPE属性値が"DATA"でない，または同一ジョブステップでのEXEC要素のLANG属性値が"COBOL"でない場合は，このパラメータの指定は無効となり，"NO"を指定したときと同じ動作になる。

DISPLAY_REPLY_MESSAGE（応答メッセージをJP1/IM - Viewの画面に出力するための定義）

形式

[DISPLAY_REPLY_MESSAGE {YES|NO}]

機能

応答要求メッセージに対する応答メッセージをJP1/IM - Viewの画面に出力するかどうかを指定する。

オペランド

DISPLAY_REPLY_MESSAGE　〜{YES｜NO}

応答要求メッセージに対する応答メッセージをJP1/IM - Viewの画面に出力するかどうかを指定する。

このパラメータの指定が省略されている場合，オペランドにNOを仮定する。

YES：応答メッセージをJP1/IM - Viewの画面に出力する。

NO：応答メッセージをJP1/IM - Viewの画面に出力しない。

注意事項

このパラメータは環境変数BJEX_DISPLAY_REPLYに何も設定されていない場合に有効となる。

DISPMOD_NOFILE（DD要素のDISP属性にMODを指定したファイルが存在しない場合の処理の定義）

形式

[DISPMOD_NOFILE {NEW|ERROR}]

機能

DD要素のDISP属性にMODを指定して恒久ファイル，一時ファイル，一時ISAMファイルのどれかを割り当てる際，ファイルが存在しなかった場合，NEWを仮定して処理を続行するか，エラー終了するかを定義する。

オペランド

DISPMOD_NOFILE 〜｛NEW｜ERROR｝

DD要素のDISP属性にMODを指定して恒久ファイル，一時ファイル，一時ISAMファイルのどれかを割り当てる際，ファイルが存在しなかった場合の動作を指定する。

このパラメータの指定が省略されている場合，オペランドにNEWが指定されたものとする。

NEW：ファイルが存在しない場合，NEWを仮定して処理を続行する。

ERROR：ファイルが存在しない場合，エラー終了する（KAKC1660-EまたはKAKC1614-Eを出力する)。

DISPMOD_NOFILE，DISP属性にMODを指定してファイルが存在しない場合にエラー終了となるTYPE属性一覧を次の表に示す。

表8‒4　DISP属性にMODを指定してファイルが存在しない場合の扱い

オペランド

DD要素のTYPE属性

LIB

FILE

DIR

GDG

DATA

DUMMY

TEMP

TEMPISAM

SYSOUT

PREST

TEMPPREST

NEW

−

○

−

×

−

−

○

○

−

−

−

ERROR

−

×

−

×

−

−

×

×

−

−

−

（凡例）

○：エラー終了とならないで，DISP属性にNEWを仮定する。

×：エラー終了する。

−：DISP="MOD"を指定できない，または無視する。

DUMMY_FILE_TYPE（DD要素にTYPE="DUMMY"を指定した場合の割り当てファイルの定義）

形式

[DUMMY_FILE_TYPE {DEVNULL|TEMP}]

機能

DD要素にTYPE="DUMMY"を指定した場合に割り当てるファイルを定義する。

ファイルを排他してオープンするプログラムの場合，DD要素にTYPE="DUMMY"を指定したときに/dev/nullを割り当てると，/dev/nullで排他エラーとなることがある。

このような問題を回避する場合，このパラメータにTEMPを指定し，一時ファイルを割り当てる。

オペランド

DUMMY_FILE_TYPE　〜{DEVNULL｜TEMP}

DD要素にTYPE="DUMMY"を指定した場合に割り当てるファイルを指定する。

このパラメータの指定が省略されている場合，オペランドにDEVNULLが指定されたものとする。

DEVNULL：/dev/nullファイルを割り当てる。

TEMP：一時ファイルを割り当てる。DD要素でTYPE="DUMMY"の代わりに，TYPE="TEMP"（DISP属性，DSN属性の指定なし）が指定されたものとしてジョブを実行する。

注意事項

このパラメータは2つ以上指定しないこと。

割り当てファイルタイプ="TEMP"を指定した場合，DD要素にTYPE="DUMMY"を指定した場合のファイルとして，実体を持つ一時ファイルを割り当て，入出力が行われる。

設定ファイルのTEMP_FILE_DIRパラメータで指定する一時ファイルの割り当て先ファイルシステムには，実行プログラムがDD要素にTYPE="DUMMY"を指定した場合の一時ファイルに出力する量に応じた空き容量が必要である。

DD要素にTYPE="DUMMY"を指定した場合に割り当てたファイルに対して入出力をするときの入出力データを次の表に示す。

表8‒5　DD要素にTYPE="DUMMY"を指定した場合に割り当てたファイルに対して入出力をするときの入出力データ

割り当てファイルタイプオペランド

入力

出力

DEVNULL

常にファイルの終わり（EOF）が報告される。

出力データは破棄される。

TEMP

入力前に実行プログラムでデータを一時ファイルに出力していない場合，ファイルの終わり（EOF）が報告される。

入力前に実行プログラムで一時ファイルに出力したデータがあれば，出力されたデータが読み込まれる場合がある。

割り当てた一時ファイルにデータを出力する。

COBOL2002で作成したアプリケーションおよびSORT EEは，通常，/dev/nullに対して排他をする。ただし，次の製品を使用する場合には，このパラメータにDEVNULLを指定しても問題ない。

バッチジョブ実行システムから起動した場合に/dev/nullを排他しない機能をサポートしたSORT EE

バッチジョブ実行システムのダミーファイルに対応したCOBOL2002

これらの製品および機能の詳細については，各製品のドキュメントを参照のこと。

EUR_DEFINITION_FILE_DIR（EUR定義ファイル格納ディレクトリの定義）

形式

［EUR_DEFINITION_FILE_DIR パス名］

機能

CSV形式のSYSOUTデータファイルをEURで印刷するときのプリンタ名や帳票ファイル名を定義したEUR定義ファイルの格納ディレクトリを定義する。

オペランド

パス名　〜＜パス名＞((1〜128文字))

EUR定義ファイルを格納するディレクトリを指定する。

EUR_LANG（EURのエンコード種別の定義）

形式

［EUR_LANG エンコード種別 LANG環境変数値］

機能

ジョブ定義XMLファイルで指定するEURのデータファイルのエンコードに対応するLANG環境変数値を定義する。通常は定義する必要はなく，バッチジョブ実行システムのLANG環境変数とUAPのLANG環境変数が異なるときに定義する。また，ジョブ定義XMLファイルのDD要素のEURENCODE属性でEURのマッピングデータごとにエンコード種別を指定する。

オペランド

エンコード種別　〜＜任意文字列＞((1〜31文字))

エンコード種別を任意の文字で定義する。

この値は，ジョブ定義XMLファイルのDD要素のEURENCODE属性で指定する。

LANG環境変数値　〜＜任意文字列＞((1〜31文字))

エンコードに対応したLANG環境変数値を指定する。

ジョブ定義XMLファイルのDD要素のEURENCODE属性でEUR_LANGパラメータのエンコード種別を指定した場合，指定したDD要素のSYSOUTデータファイルをEURのコマンドで処理するときに，このLANG環境変数値が設定される。

注意事項

EUR_LANGパラメータは最大31枚指定できる。

同一エンコード種別を二重に定義した場合，設定ファイル解析エラーとなる。

EUR_PROGRAM（EURプログラムのパス定義）

形式

[EUR_PROGRAM {/opt/eurps/bin/eurps | /opt/eurpm_adp/bin/eurpmc}]

機能

EUR連携で使用するコマンドのパスを指定することで，連携するEURプログラムを指定する。この指定によってEUR Print Serviceと連携するかまたはEUR Print Managerと連携するかを選択できる。両方の指定を混在させることはできない。

オペランド

/opt/eurps/bin/eurps

EUR Print Serviceと連携した帳票印刷の場合に指定する。

/opt/eurpm_adp/bin/eurpmc

EUR Print Managerと連携した帳票印刷の場合に指定する。

上記以外の指定でもエラーにはならない。プログラムのファイル名がeurpsの場合EUR Print Serviceとの連携処理を行い，eurpmcの場合EUR Print Managerとの連携処理を行う。また，eurpsでもeurpmcでもないコマンドを指定した場合，そのコマンドを起動するが，コマンドの引数の作成処理などはEUR Print Serviceの処理を実行する。

EXEC_COND_NOSTEPNAME（COND属性ステップ名未指定時の演算対象定義）

形式

[EXEC_COND_NOSTEPNAME {STEPALL|STEPLAST}]

機能

EXEC要素のCOND属性にステップ名を指定しない場合，比較するジョブステップを定義する。

オペランド

EXEC_COND_NOSTEPNAME　〜{STEPALL｜STEPLAST}

STEPALL：ステップ名を指定しなかった場合，先行ジョブステップすべての終了コードと論理演算をする。

STEPLAST：ステップ名を指定しなかった場合，実行済みの最終ジョブステップの終了コードと論理演算をする。

注意事項

STEPLAST指定時に直前のジョブステップがCOND属性やIF要素で実行されなかった場合，演算対象にはならないでその前のジョブステップが対象となる。

STEPLAST指定時に直前のジョブステップがJSPEC機能のメインステップであった場合，メインステップが演算対象となる。

STEPLAST指定時にJSPEC機能のメインステップおよびサブステップでEXEC要素のCOND属性にステップ名を指定しなかった場合，そのメインステップおよびサブステップの直前のジョブステップが演算対象となる。

EXEC_COND_STEPSEARCH（COND属性および逆方向参照の検索範囲の定義）【AIX限定】

形式

[EXEC_COND_STEPSEARCH { BJEX | COMPATIV3 }]

機能

COND属性および逆方向参照の検索範囲を指定する。詳細については，「3.6.3　ジョブステップを条件付きで実行するときのステップ名の検索範囲」を参照のこと。

オペランド

EXEC_COND_STEPSEARCH　〜{BJEX｜COMPATIV3}

COND属性および逆方向参照でジョブステップ名だけを指定した場合の検索範囲を指定する。このパラメータの指定が省略されている場合，オペランドにBJEXが指定されたものとする。

BJEX：次のジョブステップ名の検索範囲をバッチジョブ実行システムで定義した範囲とする。

ジョブステップを条件付きで実行する場合

逆方向参照を行う場合

COMPATIV3：次のジョブステップ名の検索範囲をVOS3と同等にする。

ジョブステップを条件付きで実行する場合

逆方向参照を行う場合

EXEC_PARMSPLIT（EXEC要素のPARMSPLIT属性での省略値定義）

形式

[EXEC_PARMSPLIT {YES|NO}]

機能

ジョブ定義XMLファイルのEXEC要素のPARMSPLIT属性での省略値を定義する。

オペランド

EXEC_PARMSPLIT　〜{YES｜NO}

EXEC要素のPARM属性値が空白を含む場合，引数がどのようにプログラムに渡されるかを指定する。

YES：UNIXの一般的な引数インタフェースであるC言語インタフェースに従った形式を使用する場合に，YESを指定する。EXEC要素のPARM属性値が空白を含む場合，空白で区切られた複数の引数としてプログラムに渡される。

NO：VOS3から移行したCOBOLプログラムなどのVOS3インタフェースに従った形式を使用する場合に，NOを指定する。EXEC要素のPARM属性値が空白を含む場合，空白を含む1つの引数としてプログラムに渡される。

GDG_REGISTER_JOBRC_THRESHOLD（世代ファイルの世代管理ファイルへの登録タイミングの変更と登録させられる条件の定義）

形式

[GDG_REGISTER_JOBRC_THRESHOLD しきい値]

機能

ジョブステップで生成した世代ファイルの世代管理ファイルへの登録タイミングの変更と登録させられるジョブ終了コードをしきい値によって判定する。

TYPE="GDG"を指定したDD要素でDISP属性の第2オペランドに"KEEP"を指定している場合，"PASS"を指定した場合の動作を行う。

ジョブ終了時，ジョブ終了コードがしきい値未満の場合，TYPE="GDG"を指定したDD要素のDISP属性の第2オペランド値を"PASS"から"KEEP"に変更し，ファイルの保存と世代管理ファイルへの登録を行う。終了コードがしきい値以上の場合は，"PASS"を"DELETE"に変更しファイルの削除を行う。このとき，世代管理ファイルへの登録も行われない。

このしきい値によるファイルの登録・削除の対象となるのは，ジョブ中で新規に世代ファイルを生成するものだけである。ジョブ実行開始以前から存在する世代ファイルについては，"PASS"は"KEEP"に変更され，しきい値では削除しない。

オペランド

しきい値　〜＜符号なし整数＞((1〜255))

新規作成した世代ファイルの保存と世代管理ファイルへの登録可否をしきい値によって制御する。指定された「しきい値-1」の値までのジョブ終了コードでジョブが終了した場合は，世代ファイルの保存と世代管理ファイルへの登録を行い，「しきい値」以上の値のジョブ終了コードでジョブが終了した場合は，世代ファイルの保存と世代管理ファイルへの登録は行わない。

ISAMLIB_MODE（ISAMライブラリ（32ビット版または64ビット版）の定義）

形式

[ISAMLIB_MODE {M32|M64}]

機能

一時ISAMファイルを割り当てる場合に使用するISAMライブラリ（32ビット版または64ビット版）を定義する。

オペランド

ISAMLIB_MODE　〜{M32｜M64}

ISAMライブラリの32ビット版または64ビット版のどちらを使用するかを指定する。この指定を省略した場合，オペランドにM32が指定されたものとする。

M32：一時ISAMファイルを割り当てる場合にISAMライブラリの32ビット版を使用する。

M64：一時ISAMファイルを割り当てる場合にISAMライブラリの64ビット版を使用する。bjexecからISAMライブラリの64ビット版を使用するコマンド処理がサポートプログラムで実行される。

注意事項

このパラメータでM64を指定する場合，実行環境が64ビットOSで64ビットのISAMが組み込まれている必要がある。一時ISAMファイル使用時の動作方法を次の表に示す。

使用ISAM

ISAM(32)

ISAM(64)

ISAM(32)，ISAM(64)を併用

対象OS

Linux

Linux，

AIX

Linux

Linux，

AIX

Linux

Linux，

AIX

対象OSのビット数

(32)

(64)

(32)

(64)

(32)

(64)

ISAMLIB_MODE M32の指定あり

○

○

×

×

○

ISAM(32)

○

ISAM(32)

ISAMLIB_MODE M64の指定あり

×

×

−

○

−

○

ISAM(64)

（凡例）

○：使用できる。

×：使用できない。

−：64ビットのISAMは対象OSでは実行できない。

(32)：32ビットのISAM，LinuxまたはAIXを使用する。

(64)：64ビットのISAM，LinuxまたはAIXを使用する。

JOB_RCDEFINE（ジョブコントローラの終了コードの決定方法定義）

形式

[JOB_RCDEFINE {STEPMAX|STEPLAST}]

機能

ジョブコントローラの終了コードの決定方法を定義する。

オペランド

JOB_RCDEFINE　〜{STEPMAX｜STEPLAST}

ジョブコントローラの終了コードの決定方法を定義する。

この指定が省略されている場合，オペランドにSTEPMAXが指定されたものとする。

STEPMAX：ジョブコントローラの終了コードは，ジョブステップの最大の終了コードとなる。

STEPLAST：ジョブコントローラの終了コードは，最後に実行完了したメインステップの終了コードとなる。

注意事項

COND属性によってスキップしたジョブステップは，ジョブコントローラの終了コードに影響を与えない。

JP1/AJSによるジョブの強制終了を行った場合，JOB_RCDEFINEパラメータの指定に関係なく，ジョブの終了コードは255となる。

JOB_RCDEFINEパラメータにSTEPMAXを指定した場合，ジョブステップの終了コードの最大値が240より大きい場合，ジョブの終了コードは240とする。

JOB_RCDEFINEパラメータにSTEPLASTを指定した場合，最後に実行完了したメインステップの終了コードが240より大きい場合，ジョブの終了コードは240とする。

JOB_RCDEFINEパラメータにSTEPLASTを指定した場合，最後に実行完了したジョブステップの直後に指定したSETMAXRC要素だけが有効となる。その他のSETMAXRC要素は，ジョブステップの終了コードの最大値を書き換えたことを示すKAKC1909-Iは出力されるが，ジョブの終了コードには影響を与えない。例を次に示す。

ジョブ定義XMLファイル

JOBLOG

この例では，ジョブステップSTEP2_RC0の直後に指定したSETMAXRC要素でジョブの終了コードを16に設定しているが，最終的なジョブの終了コードに影響を与えない。ジョブステップSTEP4_RC0の直後に指定したSETMAXRC要素はジョブの終了コードを4に設定しており，これが最後に実行完了したジョブステップの直後に指定したSETMAXRC要素であるため，ジョブの終了コードとなる。

JOB_RCDEFINEパラメータにSTEPLASTを指定した場合，サブステップの終了コードはジョブコントローラの終了コードに影響を与えない。ただし，最後に実行完了したサブステップ直後のSETMAXRC要素は有効となる。

JOB_RCDEFINEパラメータにSTEPLASTを指定した場合，メインステップが1つも実行されないでジョブが正常終了したとき，ジョブの終了コードは0となる。

JOB_STATUS_DISPLAY（実行中のジョブ情報表示機能を使用するかどうかの定義）

形式

[JOB_STATUS_DISPLAY  { ENABLE | DISABLE }]

機能

実行中のジョブの情報を表示する機能を使用するかどうかを指定する。

オペランド

JOB_STATUS_DISPLAY　〜｛ENABLE｜DISABLE｝

bjexlsexjobコマンドを使用して，実行中のジョブの情報を表示する機能を使用するかどうかを指定する。

ENABLE：使用する。

DISABLE：使用しない。

注意事項

この指定を行った場合，実行中のジョブ情報を格納するための共用メモリが必要となる。

必要となる共用メモリの計算式は，リリースノートを参照のこと。

表示可能なジョブ数として，LOCK_JOBMLPXパラメータで指定したジョブ多重度を使用する。

LOCK_JOBMLPXで指定された多重度を超える場合，ジョブの実行は待たされる。

JOBLOG_CONVERT（ジョブログ出力時の文字コード変換定義）

形式

[JOBLOG_CONVERT {YES|NO}]

機能

ジョブログをstderrに出力する際に文字コードに変換するかを定義する。スプールジョブディレクトリ内のファイルの文字コードは変換しない。

オペランド

JOBLOG_CONVERT　〜{YES｜NO}

YES：ジョブログに出力する際にジョブ定義XMLファイルのencodingで指定した文字コードから環境変数LANGで指定した文字コードに変換して出力する。変換する文字コードの組み合わせを次の表に示す。

AIXの場合

encoding属性

環境変数LANG

Shift-JIS

EUC-JP

Shift-JIS

×

○

UTF-8

○

○

EUC-JP

○

×

ASCII

×

×

（凡例）

○：文字コードを変換する。

×：文字コードを変換しない。

Linuxの場合

encoding属性

環境変数LANG

UTF-8

C

Shift-JIS

○

×

UTF-8

×

×

（凡例）

○：文字コードを変換する。

×：文字コードを変換しない。

NO：ジョブログに出力する際に文字コードを変換しないで出力する。

注意事項

この機能は，日立コード変換が前提となる。

環境変数LANGにJP1/AJS-Agentの言語環境と同じ文字コードを設定すること。

ジョブ定義XMLファイルのencodingを省略した場合，文字コードを変換しない。

カタログドプロシジャのencodingは無視する。

JOBPARM_JSPECAN（ジョブステップ異常時の打ち切り定義）

形式

[JOBPARM_JSPECAN {YES|NO}]

機能

並列実行しているジョブステップの1つが異常終了した場合，実行が終了していないジョブステップを打ち切るかどうかを指定する。

オペランド

JOBPARM_JSPECAN　〜{YES｜NO}

JSPEC機能で並列実行したジョブステップが異常終了した場合，実行が終了していないジョブステップを打ち切るかどうかを指定する。

YES：実行が終了していないジョブステップを打ち切る場合にYESを指定する。ジョブコントローラは実行が終了していないジョブステップにSIGKILLを送って打ち切る。

NO：実行が終了していないジョブステップを打ち切らない場合はNOを指定する。

JP1_HOSTNAME（JP1が稼働する論理ホスト名定義）

形式

[JP1_HOSTNAME 論理ホスト名]

機能

物理ホストでバッチジョブ実行システムを稼働させ，論理ホストで稼働しているJP1と連携する場合，JP1の論理ホスト名を定義する。

オペランド

論理ホスト名　〜＜記号名称で指定できる文字と-（ハイフン）＞((1〜255文字))《バッチジョブ実行システムが稼働するサーバの物理ホスト名》

物理ホストでバッチジョブ実行システムを稼働させ，論理ホストで稼働しているJP1と連携する場合，JP1の論理ホスト名を指定する。このパラメータを省略した場合は，バッチジョブ実行システムが稼働するサーバでhostnameコマンドを実行したときに表示されるホスト名が指定されたものと見なす。バッチジョブ実行システムを論理ホストで稼働させる場合は，このパラメータは無視される。

バッチジョブ実行システムを物理ホストで稼働させるには，バッチジョブ実行システムのコマンドに-hオプションを指定しないで実行する。バッチジョブ実行システムを論理ホストで稼働させるには，バッチジョブ実行システムのコマンドに-hオプションを指定して実行する。詳細については，「4.10　クラスタシステムで運用する場合の設定」および「7.　コマンド」を参照すること。

このパラメータで指定したホスト上のJP1/Baseと通信できない場合，バッチジョブ実行システムの起動に時間を必要とする場合がある。

注意事項

'/'や'¥'など，UnixやWindowsのパス区切り文字をホスト名として指定しないこと。指定した場合はスプールジョブの転送時にエラーとなる。

JP1EVENT_JOBINFO（JP1イベントのジョブ情報の指定）

形式

[JP1EVENT_JOBINFO {BJEX|JP1AJS}]

機能

バッチジョブ実行システムが発行するJP1イベントに設定されるジョブの情報として，JP1/AJSの情報を使用するか，バッチジョブ実行システムの情報を使用するか指定する。バッチジョブ実行システムが発行するJP1イベントは次の文字コードで発行しており，JP1/AJSのジョブの情報と文字コードが異なる場合，文字化けすることがある。その場合，バッチジョブ実行システムのジョブの情報を使用することで文字化けしないで表示できる。

AIXの場合：シフトJIS

Linuxの場合：UTF-8

オペランド

JP1EVENT_JOBINFO　〜{BJEX｜JP1AJS}

BJEX：バッチジョブ実行システムが発行するJP1イベントに設定されるジョブの情報を"bjexec"とする。

JP1AJS：バッチジョブ実行システムが発行するJP1イベントに設定されるジョブの情報としてJP1/AJSの情報を使用する。

注意事項

このパラメータは設定ファイル解析に失敗した際に発行するJP1イベントには有効にならないことがある。

JP1EVENT_SUPPRESS_ID（出力抑止するJP1イベントのイベントID定義）

形式

[JP1EVENT_SUPPRESS_ID イベントID]

機能

JP1イベントの出力を抑止する。抑止したいJP1イベントのイベントIDを定義する。

オペランド

イベントID　〜＜16進数＞((00005C00〜00005CFF))

出力抑止したいJP1イベントのイベントIDを指定する。

複数のJP1イベントを抑止したい場合は，パラメータを複数指定する。

イベントIDを重複して指定した場合は，1つ指定した場合と同じ扱いとする。

指定可能範囲外のイベントIDを指定した場合はエラーとする。

指定可能範囲内で「10.6　JP1イベント一覧」および「10.7　JP1イベントの詳細」にないイベントIDを指定してもエラーとしない。無視する。

注意事項

障害監視ができなくなるため，メッセージのタイプコードがEのJP1イベントは抑止しないことを推奨する。

メッセージ制御機能を使用して出力するJP1イベント（イベントID：00005C20および00005C21）は抑止されない。

JP1FTP_RETRY_INTERVAL（印刷ジョブ転送のリトライ間隔の指定）

形式

[JP1FTP_RETRY_INTERVAL 印刷ジョブ転送のリトライ間隔]

機能

印刷ジョブ転送時に転送エラーが発生した場合に，再転送するまでのリトライ間隔を定義する。

オペランド

印刷ジョブ転送のリトライ間隔　〜＜符号なし整数＞((0〜1000000))《3600》

印刷ジョブ転送のリトライ間隔を秒で指定する。

このオペランドの値に0を指定した場合，スプールジョブ転送デーモンは直ちに転送処理を繰り返す。

注意事項

FTPログイン時のパスワード設定エラーなど，自動的に回復する可能性のない恒久的な設定誤りのときにはリトライを繰り返すことになるため，JP1/FTPの設定に注意すること。

このパラメータは，JP1FTP_RETRY_TIMESパラメータと組み合わせて使用し，運用に合わせて印刷ジョブ転送のリトライ間隔とリトライ回数を調整すること。

JP1FTP_RETRY_TIMES（印刷ジョブ転送のリトライ回数の指定）

形式

[JP1FTP_RETRY_TIMES 印刷ジョブ転送のリトライ回数]

機能

印刷ジョブ転送時に転送エラーが発生した場合に，再転送のリトライ回数を定義する。

オペランド

印刷ジョブ転送のリトライ回数　〜＜符号なし整数＞((0〜255))《0》

印刷ジョブ転送のリトライ回数を指定する。

このオペランドの値に0を指定した場合，無条件にリトライを繰り返す。

このオペランドの値に1以上を指定した場合，指定回数分で転送リトライを中断する。

リトライの中断後は，その他の印刷ジョブの転送を続行する。

転送を中断した印刷ジョブを再度転送したいときは，転送ディレクトリからbjextrjobコマンドで再転送する。

注意事項

このパラメータは，JP1FTP_RETRY_INTERVALパラメータと組み合わせて使用し，運用に合わせて印刷ジョブ転送のリトライ間隔とリトライ回数を調整すること。

JP1IM_MANAGER_CHKDELAY（イベント到達確認までの待ち時間の指定）

形式

[JP1IM_MANAGER_CHKDELAY イベント到達確認までの待ち時間]

機能

メッセージ制御機能のJP1イベント送信処理で，JP1イベント発行から最初のイベント到達確認を実施するまでの時間を指定できる。

なお，イベント到達確認については，「3.15.8　メッセージ制御機能でのイベント到達確認」を参照のこと。

オペランド

イベント到達確認までの待ち時間　〜＜符号なし整数＞((0〜3000))《200》

JP1/IM - Managerへのイベント到達確認を行うまでの待ち時間をミリ秒で指定する。

注意事項

イベントが到達するまでに時間が掛かる理由の1つに，ネットワーク・チューニング・パラメータの設定を行うnoコマンドのネットワーク・チューナブル・パラメータであるfasttimoに指定した値が影響することがある。このパラメータでは，fasttimoに指定した値以上を指定すること。

このパラメータに指定する値は，最初のイベント到達確認実施までの時間である。最初のイベント到達確認が失敗した場合は，3秒ごとに繰り返してイベント到達確認を実施する。通常メッセージ出力については，3回まで実施する。その後のリトライは行わないで，かつ異常終了させないでジョブを続行させる。応答要求メッセージについては，MESSAGE_RETRY_TIMEOUTパラメータの指定によって，リトライ時間を指定できる。

通信処理などで異常が発生した場合，バッチジョブ実行システムの実行ログに記録を残して，あとから障害解析ができるようにする。

JP1IM_MANAGER_HOST（JP1/IM - Managerが稼働するホスト名定義）

形式

[JP1IM_MANAGER_HOST JP1/IM - Managerが稼働するホスト名]

機能

JP1イベントを固定のマネージャホストに出力する。

オペランド

JP1/IM - Managerが稼働するホスト名　〜＜任意文字列＞((1〜255文字))《バッチジョブ実行システムが稼働するサーバの物理ホスト名》

JP1/IM - Managerが稼働する物理ホストまたは論理ホストのホスト名を指定する。指定したホストにJP1/IM - Viewを接続すると，JP1イベントを確認できる。

JP1/IM - Managerのホスト名については，JP1のマニュアルを参照のこと。このパラメータを省略した場合は，バッチジョブ実行システムが稼働するサーバでhostnameコマンドを実行したときに表示されるホスト名が指定されたものと見なす。

応答待ちイベントに対する応答は，このパラメータで指定したホストからだけ応答できる。

注意事項

JP1/IM - Managerが稼働していないホストの名称をこのパラメータに指定した場合，バッチジョブ実行システムが出力するJP1イベントがJP1/IM - Viewに表示されなくなる。

LOCK_DIR_RECURSIVE（排他制御機能適用時に再帰的にロックを確保するかの定義）

形式

[LOCK_DIR_RECURSIVE {YES|NO}]

機能

排他/共用制御適用時，ディレクトリに対する排他/共用要求時に再帰的にロックを確保するかどうかを定義する。

オペランド

LOCK_DIR_RECURSIVE 〜{YES｜NO}

排他/共用制御適用時，ディレクトリに対する排他/共用要求時に再帰的にロックを確保するかどうかを定義する。

このパラメータが省略されている場合，オペランドにYESが指定されたものとする。

YES：ディレクトリに対する排他/共用要求時，ディレクトリ配下のファイルおよびディレクトリに対し再帰的にロックを確保する。

NO：ディレクトリに対する排他/共用要求時，ディレクトリ直下のファイルに対してだけロックを確保する。

注意事項

LOCK_OPTIONでENABLEを指定していない場合，このパラメータを指定しても無視される。

LOCK_JOBMPLX（同時に実行できるジョブ数の定義）

形式

[LOCK_JOBMPLX ジョブ多重度数]

機能

次の機能で使用するジョブ多重度を定義する。

バッチジョブ実行システムから起動されたジョブで割り当てるDD要素に指定したファイルまたはディレクトリの排他/共用制御

実行中のジョブ情報表示機能

オペランド

ジョブ多重度数　〜＜数字＞((1〜255))《5》

ジョブ多重度（同時に実行できるジョブ数）を指定する。

このパラメータで指定したジョブ多重度を超えたジョブ数を同時期に実行した場合，このパラメータで指定したセマフォの確保ができないジョブは，KAKC1652-Wメッセージを出力し，セマフォ確保待ちとなる。セマフォ待ちが解除された場合，KAKC1653-Iメッセージを出力する。

LOCK_MAXFILE（排他/共用制御で使用する排他資源管理テーブル数の定義）

形式

[LOCK_MAXFILE ファイル数]

機能

排他/共用制御で使用する排他資源管理テーブル数を定義する。

オペランド

ファイル数　〜＜数字＞((1〜65535))《1275》

排他資源管理テーブルのエントリ数を指定する。

排他資源管理テーブルは，排他が必要なファイルおよびディレクトリを管理するためのテーブルであり，ジョブ実行時に排他が必要なファイルおよびディレクトリ1つに対して1エントリを使用する。このオペランドでは，システム運用中に同時に排他が必要となるファイルおよびディレクトリの最大数を指定する必要がある。

同一ジョブ内で指定した排他/共用制御の対象ファイル数が，このパラメータで指定した値を超えている場合，KAKC1728-Eメッセージを出力し，ジョブは実行中止となる。

ジョブ実行時，排他資源管理テーブルが不足するとKAKC1654-Wメッセージを出力し，ジョブ実行待ちとなる。ジョブ実行待ちが解除された場合，KAKC1655-Iメッセージを出力する。

LOCK_OPTION（排他/共用制御を使用するかの定義）

形式

[LOCK_OPTION {ENABLE|DISABLE}]

機能

排他制御機能またはジョブ間PREST機能を使用するかどうかを指定する。

オペランド

LOCK_OPTION　〜{ENABLE｜DISABLE}

排他制御機能またはジョブ間PREST機能を使用するかどうかを指定する。

ENABLE：排他制御機能を使用する。LOCK_JOBMPLXおよびLOCK_MAXFILEの値が有効になる。また，この指定をした場合は，ジョブ間PREST機能も使用できる。

DISABLE：排他制御機能を使用しない。LOCK_JOBMPLXおよびLOCK_MAXFILEの値は有効とならない。また，この指定をした場合は，ジョブ間PREST機能は使用できない。

ENABLEが指定されている場合に使用する共用メモリの見積もり計算式については，リリースノートを参照のこと。

LOCK_KEY_ID（排他制御機能および実行中のジョブ情報表示機能で使用するセマフォ，共有メモリのキー識別情報の定義）

形式

[LOCK_KEY_ID 識別情報]

機能

排他制御機能および実行中のジョブ情報表示機能で使用するセマフォ，共有メモリのIPCキーを生成するための識別情報を指定する。

オペランド

識別情報　〜＜符号なし整数＞((1-255))《1》

排他制御機能および実行中のジョブ情報表示機能で使用するセマフォ，共有メモリのIPCキーを生成するための識別情報を符号なし整数で指定する。セマフォ，共有メモリのIPCキーについては，「4.14　バッチジョブ実行システムにおけるSystemVセマフォ，共有メモリの管理」を参照のこと。論理ホスト構成で複数のバッチジョブ実行システムを稼働するとき，それぞれのシステムで異なる識別情報を指定することが望ましい。

LOCK_RELEASE（排他制御機能適用時の排他解除契機定義）

形式

[LOCK_RELEASE {JOB|STEP}]

機能

ファイルおよびディレクトリの排他/共用制御で，排他/共用制御の解除契機を定義する。

オペランド

LOCK_RELEASE 〜{JOB｜STEP}

ファイルおよびディレクトリの排他/共用制御で，排他/共用制御の解除をジョブ終了時に行うかジョブステップ終了時に行うかを定義する。

このパラメータが省略されている場合，オペランドにJOBが指定されたものとする。

JOB ：ジョブ終了時にジョブで使用したすべてのファイルおよびディレクトリの排他/共用制御を一括で解除する。

STEP：ジョブステップ終了時にジョブステップで使用したファイルおよびディレクトリのうち，以降のジョブステップで使用されないファイルおよびディレクトリの排他/共用制御を解除する。

ジョブ定義XMLファイルのEXEC要素のCOND属性や，IF要素でスキップされたジョブステップの場合も同様である。

なお，JSPEC機能で並列に実行されるジョブステップの場合，並列に実行されるジョブステップがすべて終了したときに，並列実行されたジョブステップで使用したファイルおよびディレクトリがまとめて解除される。

注意事項

LOCK_OPTIONでENABLEを指定していない場合，本パラメータを指定しても無視される。

STEPオペランドを指定した場合でも，JOBLIB DD要素で指定されたディレクトリはジョブ終了時まで解除されない。

LOG_DIR（実行ログ出力ディレクトリのパス名定義）

形式

[LOG_DIR パス名]

機能

多重実行するジョブのメッセージを実行ログとして1つのファイルに集める。この実行ログを出力するディレクトリのパス名を定義する。

オペランド

パス名　〜＜パス名＞((1〜512文字))《/opt/hitachi/bjex/log》

実行ログを出力するディレクトリのパス名を指定する。

注意事項

LOG_DIRパラメータはSPOOL_DIRパラメータと異なるファイルシステムに設定することを推奨する。

LOG_FILE_CNT（実行ログをバックアップする面数定義）

形式

[LOG_FILE_CNT 面数]

機能

実行ログをバックアップする面数を定義する。

オペランド

面数　〜＜符号なし整数＞((1〜64))《4》

実行ログをバックアップする面数を指定する。

LOG_FILE_SIZE（実行ログを出力するファイルサイズ定義）

形式

[LOG_FILE_SIZE ファイルサイズ]

機能

実行ログを出力するファイルサイズを定義する。

オペランド

ファイルサイズ　〜＜符号なし整数＞((1〜16))《2》

実行ログを出力するファイルサイズをMBで指定する。

MAX_RESPONSE_REQUEST（JP1/IM - Managerに同時に受け付けられる応答待ちイベント数定義）

形式

[MAX_RESPONSE_REQUEST 最大応答要求メッセージ数]

機能

JP1/IM - Managerに同時に受け付けられる応答要求メッセージ数を定義する。

指定値を超えた応答要求メッセージについては，すでに受け付けられた応答要求メッセージの応答後に受け付けられる。

オペランド

最大応答要求メッセージ数　〜＜符号なし整数＞((1〜100))《5》

JP1/IM - Managerに同時に受け付けられる応答要求メッセージ数を指定する。

注意事項

JP1/IM - Managerに滞留できる応答待ちイベントは2,000件である。そのため，JP1IM_MANAGER_HOSTパラメータで指定したJP1/IM - Managerに，応答待ちイベントを出力するホストでは，次に示す内容となるようにこのパラメータを指定する。

全ホスト※のMAX_RESPONSE_REQUESTパラメータ値の総和≦2,000

注※　JP1IM_MANAGER_HOSTパラメータが同一のホストを示す。

このパラメータの指定値を超えたことにより，応答要求メッセージが待たされている場合もMESSAGE_RETRY_TIMEOUTパラメータによる中断の対象となる。このため，このパラメータの指定値は，システムで同時に受け付ける応答要求メッセージの最大数より大きい値を指定することを推奨する。

MESSAGE_REPLACE_SPACE（半角空白に置き換える1バイトコードの定義）

形式

[MESSAGE_REPLACE_SPACE コード]

機能

メッセージ制御機能で半角空白に置き換える1バイトコードを定義する。

オペランド

コード　〜＜16進数＞((00〜FF))

半角空白に置き換える1バイトコードを指定する。

複数の1バイトコードを置き換える場合は，パラメータを複数指定する。

同じ1バイトコードを重複して指定した場合は，1つ指定した場合と同じ扱いとする。

COBOLのLOW-VALUEなど出力メッセージ中にNULL文字(X'00')文字が含まれているとメッセージ制御機能がエラーとなるが，「MESSAGE_REPLACE_SPACE 00」を定義することでエラーを防ぐことができる。

指定例

16進数の00とFFを半角空白に置き換える例を示す。

MESSAGE_REPLACE_SPACE 00
MESSAGE_REPLACE_SPACE FF

MESSAGE_RETRY_TIMEOUT（メッセージ制御機能でリトライを中断する定義）

形式

[MESSAGE_RETRY_TIMEOUT リトライ打ち切り時間]

機能

相手ホストのJP1/Baseへのイベント送信が完了しない場合，応答要求メッセージのイベント送信および到達確認のリトライを中断する。応答要求メッセージを発行してから指定した打ち切り時間までにイベントの送信および到達確認ができなかった場合に，処理を終了する。

ただし，JP1イベントAPIでリトライ不可能なエラーが発生した場合は無条件に処理を中断する。

なお，イベントの送信および到達確認の実施間隔は，それぞれ3秒である。

オペランド

リトライ打ち切り時間　〜＜符号なし整数＞((0-1440))《0》

メッセージ制御機能の応答要求メッセージのイベントの送信および到達確認について，リトライを打ち切るまでの時間を分単位で指定する。0を指定した場合は，リトライの打ち切りを行わない。

指定したリトライ打ち切り時間までイベントの送信および到達確認を行う。この間にイベント出力が完了しなかった場合，メッセージ制御機能はRC=6で終了する（COBOLプログラムは異常終了する）。

注意事項

このパラメータは，メッセージ制御機能のうち，応答要求メッセージについてだけ有効となる。

通常メッセージについては，パラメータの指定に関係なく，常にイベント送信および到達確認を3回まで実施する。この間に動作が完了しなかった場合，メッセージ制御機能はRC=0で終了する（COBOLプログラムは正常終了する）。

応答要求メッセージ数が，MAX_RESPONSE_REQUESTパラメータの指定値を超えて待たされている場合も中断の対象となる。したがって，このパラメータには応答要求メッセージに応答できる十分な時間を指定すること。

MSG_KEY_ID（メッセージ制御機能で使用するセマフォ，共有メモリのキー識別情報の定義）

形式

[MSG_KEY_ID 識別情報]

機能

メッセージ制御機能で使用するセマフォ，共有メモリのIPCキーを生成するための識別情報を指定する。

オペランド

識別情報　〜＜符号なし整数＞((1-255))《77》

メッセージ制御機能で使用するセマフォ，共有メモリのIPCキーを生成するための識別情報を符号なし整数で指定する。セマフォ，共有メモリのIPCキーについては，「4.14　バッチジョブ実行システムにおけるSystemVセマフォ，共有メモリの管理」を参照のこと。論理ホスト構成で複数のバッチジョブ実行システムを稼働するとき，それぞれのシステムで異なる識別情報を指定することが望ましい。

MSGCLASS_DEFAULT（JOB要素のMSGCLASS属性での省略値定義）

形式

MSGCLASS_DEFAULT 出力クラス名

機能

ジョブ定義XMLファイルのJOB要素のMSGCLASS属性での省略値を定義する。

オペランド

出力クラス名　〜＜クラス名＞((1〜31文字))

MSGCLASS属性の出力クラス名を指定する。

このパラメータの指定は必須とし，指定がない場合はエラーとする。

出力クラス名をSysoutClassパラメータで定義していない場合，設定ファイルエラーとなる。

PERMANENT_FILE_DIR（恒久ファイル用ディレクトリのパス名定義）

形式

[PERMANENT_FILE_DIR パス名]

機能

恒久ファイルを定義するDD要素のTYPE属性値がFILE，DIR，GDG，またはLIBの場合に，DSN属性の値が相対パス指定であると，ファイルが見つからない可能性があるため，恒久ファイルを検索するためのカレントとなるディレクトリのパス名を定義する。

ただし，DSN属性が次に示す場合は，このディレクトリから検索はしない。

先頭が"/"で始まる絶対パス

先頭が"./"で始まる相対パス

先頭が${BJEX_DIR_任意名}で始まる特定ディレクトリパス

オペランド

パス名　〜＜パス名＞((1〜512文字))《/var/opt/bjex/perm》

恒久ファイルを検索するディレクトリのパス名を指定する。

注意事項

ジョブ定義XMLファイルでのDD要素のDSN属性に指定された相対パスは，このパラメータに指定されたパスからの相対パスとなる。そのため，最終的なパスの長さが，OSの上限値を超えないように注意すること。

PERMISSION_DIR（PERMISSION要素のDIR属性での省略値定義）

形式

［PERMISSION_DIR ディレクトリのパーミッション］

機能

ジョブ定義XMLファイルのPERMISSION要素のDIR属性での省略値を定義する。

ジョブ定義XMLファイルでPERMISSION要素のDIR属性またはDD要素のFPERM属性を指定した場合は，それらの指定が有効になる。

オペランド

ディレクトリのパーミッション　〜＜8進数＞((0〜1777))《0700》

新規作成するディレクトリのパーミッションを指定する。指定方法はchmodコマンドに従う。

PERMISSION_FILE（PERMISSION要素のFILE属性での省略値定義）

形式

[PERMISSION_FILE ファイルのパーミッション]

機能

ジョブ定義XMLファイルのPERMISSION要素のFILE属性での省略値を定義する。

ジョブ定義XMLファイルでPERMISSION要素のFILE属性またはDD要素のFPERM属性を指定した場合は，それらの指定が有効になる。

オペランド

ファイルのパーミッション　〜＜8進数＞((0〜777))《600》

新規作成するファイルのパーミッションを指定する。指定方法はchmodコマンドに従う。

PERMISSION_SPOOL_STORE_JOB（保管するスプールジョブの権限の定義）

形式

[PERMISSION_SPOOL_STORE_JOB パーミッション]

機能

スプールジョブ保管機能を使用するとき，保管先のスプールジョブのディレクトリとファイルのパーミッションを指定する。省略した場合，保管するスプールジョブのディレクトリのパーミッションは0700で，SYSOUTデータファイル，スプールジョブ管理ファイルは元の属性を引き継ぐ。

オペランド

パーミッション　〜＜8進数＞((0〜1777))

保管するスプールジョブに設定する権限を指定する。指定方法はchmodコマンドに従う。

Stickyビットはスプールジョブのディレクトリにだけ有効であり，ファイルに対しては有効にならない。

PGM_RCABEND（ジョブステップを異常終了とするユーザプログラムの終了コードの定義）

形式

[PGM_RCABEND 終了コード[_終了コード]]

機能

ジョブステップを異常終了とするユーザプログラムの終了コードを定義する。

オペランド

終了コード　〜＜符号なし整数＞((0〜255))

ジョブステップを異常終了とする，ユーザプログラムの終了コードの値を指定する。指定する終了コードが複数ある場合，終了コードと終了コードの間を"_"で結んで昇順で指定する。

指定例

ユーザプログラムの終了コードが1および12以上の場合，ジョブステップを異常終了とする場合の設定ファイルの記述例を示す。

PGM_RCABEND  1
PGM_RCABEND  12_255

注意事項

ジョブステップがシグナルで異常終了したか，このパラメータによって異常終了したかを区別するには，JOBLOGに出力されるKAKC1932-Iメッセージ，またはJP1イベント（イベントID：00005C06）のエラー詳細で確認する。

このパラメータの指定によって，SETMAXRC要素の動作に影響を与えることはない。また，このパラメータによってジョブステップが異常終了した場合でも，該当するジョブステップより後ろにSETMAXRC要素が指定されていれば，SETMAXRC要素のVALUE属性値で指定した値がジョブステップの終了コードの最大値となる。

PROCEDURE_DIR（プロシジャライブラリのパス名定義）

形式

[PROCEDURE_DIR ディレクトリパス名 [プロシジャグループ名]]

機能

プロシジャライブラリ（カタログドプロシジャを格納するディレクトリ）のパス名とグループ名を定義する。最大255個指定でき，同一グループの定義は連結されたライブラリとして扱う。連結定義した場合，定義順にライブラリを検索する。

オペランド

ディレクトリパス名　〜＜パス名＞((1〜512文字))《/var/opt/bjex/proc》

カタログドプロシジャのディレクトリのパス名を指定する。

プロシジャグループ名　〜＜記号名称＞((1〜31文字))

登録するプロシジャグループ名を指定する。

同一グループ名のパラメータを複数指定した場合，連結されたディレクトリとして処理する。

また，省略した場合はグループ名なしのグループとして扱われ，明示的にプロシジャグループの指定がないときのデフォルトとして扱われる。

注意事項

ファイル連結している場合，ジョブ定義XMLファイルで指定したカタログドプロシジャファイルが，途中のディレクトリに存在しないとき，またはアクセス権限などのエラーがあったときでも検索を中止しないで，最後に指定されたディレクトリまで検索を続ける。

PROCGROUP_QUEUENAME（JP1/AJSのキュー名をプロシジャグループ名として使用する定義）

形式

[PROCGROUP_QUEUENAME {YES|NO}]

機能

JP1/AJSのキュー名をプロシジャグループ名として使用することを定義する。

この定義を有効にした場合，JP1/AJSのキュー名と一致するグループ名のプロシジャグループが定義しているとき，そのプロシジャグループのプロシジャライブラリを使用する。

オペランド

PROCGROUP_QUEUENAME　〜{YES｜NO}

JP1/AJSのキュー名をプロシジャグループ名として使用するかどうか指定する。

YES：JP1/AJSのキュー名をプロシジャグループ名として使用する。

NO：JP1/AJSのキュー名をプロシジャグループ名として使用しない。

注意事項

JP1/AJSのキュー名のプロシジャグループ名と一致しない場合，プロシジャグループは使用しないで，バッチジョブ実行システムの設定ファイルで定義したグループ名なしのカタログドプロシジャのディレクトリ下のカタログドプロシジャを使用する。

PROCGROUP_QUEUENAMEパラメータとJOBPARM要素でプロシジャグループが同時に指定されている場合，バッチジョブ実行システムはJOBPARM要素の指定内容を優先的に参照し，JP1/AJSのキュー名は参照しない。

JP1/AJSのキュー名が32文字以上の場合，先頭から31文字までをプロシジャグループ名として利用する。

RNW_FILE_METHOD（ファイル再作成の定義）

形式

[RNW_FILE_METHOD {REMAKE|TRUNC}]

機能

RNWを指定してファイルを再割り当てする場合のファイル再作成の方法を定義する。

オペランド

RNW_FILE_METHOD　〜{REMAKE｜TRUNC}

REMAKE：RNWを指定してファイルを再割り当てする場合，ファイルをいったん削除して再作成する。

TRUNC：RNWを指定してファイルを再割り当てする場合，ファイルを削除しないでファイルの内容を消すことでファイル容量を0バイトにする。

注意事項

RNW_FILE_METHODパラメータでREMAKEを指定した場合は，ファイルを再作成するためファイルの情報（所有者，権限，作成日付）が変更になる。RNW_FILE_METHODパラメータでTRUNCを指定した場合は，ファイルの内容は削除されるがファイルの情報は変更されない。

RNW_FILE_METHODパラメータでREMAKEを指定した場合は，ファイルを再作成するためファイルが削除できることが必要である。RNW_FILE_METHODパラメータでTRUNCを指定した場合は，ファイルの内容を変更するためファイルが書き込みできることが必要である。

SPOOL_DIR（スプールディレクトリのパス名定義）

形式

[SPOOL_DIR パス名]

機能

ジョブの実行結果（ジョブログおよびジョブステップのプログラムが出力したSYSOUTデータファイル）をジョブごとにディレクトリを作成して出力するスプールディレクトリのパス名を定義する。

オペランド

パス名　〜＜パス名＞((1〜128文字))《/var/opt/bjex/spool》

スプールディレクトリのパス名を指定する。

注意事項

SPOOL_DIRパラメータはLOG_DIRパラメータと異なるファイルシステムに設定することを推奨する。

SPOOL_JOB_STORE（ジョブ終了時にスプールジョブを保管する機能の定義）

形式

[SPOOL_JOB_STORE {YES|NO}]

機能

ジョブ終了時にスプールジョブを保管する機能の使用を定義する。

オペランド

SPOOL_JOB_STORE　〜{YES｜NO}

YES：ジョブ終了時にスプールジョブを保管する。

NO：ジョブ終了時にスプールジョブを保管しない。

SPOOL_STORE_DIRパラメータの指定がない場合，このパラメータの指定は無効になる。

SPOOL_JOB_TRANSFER（スプールジョブの転送定義）

形式

[SPOOL_JOB_TRANSFER {YES|NO}]

機能

スプールジョブを転送するかどうかを指定する。

NOを指定した場合，JP1/FTPがインストールされていないときでもbjexpdコマンドが動作する。また，ジョブ定義XMLファイルでHOLD=NOまたはbjexchjobコマンドで-Rオプションを指定した場合でも，印刷ジョブを作成しない。

オペランド

SPOOL_JOB_TRANSFER　〜{YES｜NO}

スプールジョブを転送するかどうかを指定する。

YES：スプールジョブを転送する。

NO：すべての出力クラスのSYSOUTデータを転送しない。

SPOOL_STORE_DIR（スプールジョブの保管先の定義）

形式

[SPOOL_STORE_DIR パス名]

機能

スプールジョブを保管するときの保管先のディレクトリのパス名を指定する。

オペランド

パス名　〜＜パス名＞((1〜128文字))

スプールジョブを保管する保管先ディレクトリのパス名を指定する。保管先のパスには1777のパーミッションを設定する必要がある。ただし，Stickyビットはシステムの運用方針に合わせて設定する。

SPOOL_STORE_DIRNAME（スプールジョブの保管先ディレクトリ名称の定義）

形式

[SPOOL_STORE_DIRNAME書式]

機能

スプールジョブを保管するときの保管先ディレクトリ名称を定義する。

オペランド

SPOOL_STORE_DIRNAME 書式　〜《%j_%h_%i_%u》

スプールジョブの保管先ディレクトリ名称を決定するための書式を指定する。

書式　〜変換指定子［_（アンダースコア）変換指定子］＊

書式には，次の表に示す変換指定子を使用し，各変換指定子を"_"（アンダースコア）で結んだ形で指定する。各変換指定子を重複して指定できない。

表8‒6　変換指定子と意味

変換指定子

意味※

必須/任意

%j

ジョブ名に変換する。

○

%h

ホスト名に変換する。

○

%i

ジョブ識別子に変換する。

◎

%u

ユーザ名に変換する。

○

%a

AJSJOBNAMEに変換する。

○

（凡例）

◎：指定は必須。

○：指定は任意。

注※　各値の内容については，「3.16.4　保管先ディレクトリの名称」を参照のこと。

指定例

保管先ディレクトリ名称を，ジョブ名_ホスト名_ジョブ識別子_ユーザ名_AJSJOBNAMEとする場合の記述例を示す。

SPOOL_STORE_DIRNAME  %j_%h_%i_%u_%a

保管先ディレクトリ名称を，AJSJOBNAME_ジョブ識別子_ホスト名とする場合の記述例を示す。

SPOOL_STORE_DIRNAME  %a_%i_%h

SPOOL_STORE_SUBDIR（スプールジョブの保管先のサブディレクトリの定義）

形式

[SPOOL_STORE_SUBDIR {DATE|DATEHOUR|NO}]

機能

スプールジョブを保管するときの保管先ディレクトリのサブディレクトリの作成方法を指定する。

オペランド

SPOOL_STORE_SUBDIR　〜{DATE｜DATEHOUR｜NO}

設定ファイルのSPOOL_STORE_DIRパラメータで指定したディレクトリ下に作成するサブディレクトリの作成方法を指定する。サブディレクトリのパーミッションは1777で作成する。このパラメータが省略されている場合，オペランドにNOが指定されたものとする。

DATE：スプールジョブ保管先のディレクトリの下にジョブ実行開始日を名前としたサブディレクトリ（"yyyymmdd"の形式）の下にスプールジョブを保管する。

DATEHOUR：スプールジョブ保管先のディレクトリの下にジョブ実行開始日＋ジョブ実行開始時間を名前としたサブディレクトリ（"yyyymmdd-hh00"の形式（hhの値は00〜23））の下にスプールジョブを保管する。

NO：サブディレクトリの作成をしないで，設定ファイルのSPOOL_STORE_DIRパラメータで指定した保管先のディレクトリ下に保管する。

注意事項

ジョブを投入した際，ジョブ間ファイル排他待ちが発生した場合は，排他待ちが解除された後の日付と時刻を使用してサブディレクトリを作成する。

STDERRCLASS_DEFAULT（標準エラー出力を格納するファイルの出力クラスの省略値定義）

形式

[STDERRCLASS_DEFAULT 出力クラス名]

機能

JOB要素のSTDERRCLASS属性と，EXEC要素のSTDERRCLASS属性を両方とも省略した場合の省略値を定義する。

オペランド

出力クラス名　〜＜クラス名＞((1〜31文字))

ユーザプログラムの標準エラー出力を格納するファイルの出力クラス名を指定する。この指定を省略した場合，出力クラスはジョブのメッセージクラスを仮定する。出力クラス名をSysoutClassパラメータで定義していない場合，KAKC0405-Eメッセージを出力して設定ファイルエラーとなる。

指定例

STDERRCLASS_DEFAULT A

STDOUTCLASS_DEFAULT（標準出力を格納するファイルの出力クラスの省略値定義）

形式

[STDOUTCLASS_DEFAULT 出力クラス名]

機能

JOB要素のSTDOUTCLASS属性と，EXEC要素のSTDOUTCLASS属性を両方とも省略した場合の省略値を定義する。

オペランド

出力クラス名　〜＜クラス名＞((1〜31文字))

ユーザプログラムの標準出力を格納するファイルの出力クラス名を指定する。STDOUTCLASS_DEFAULTパラメータの指定を省略した場合，出力クラスはジョブのメッセージクラスを仮定する。出力クラス名をSysoutClassパラメータで定義していない場合，KAKC0405-Eメッセージを出力して設定ファイルエラーとなる。

指定例

STDOUTCLASS_DEFAULT A

SYSOUT_APPEND_WRITE（SYSOUTデータファイルへの書き込みモード定義）

形式

[SYSOUT_APPEND_WRITE {YES|NO}]

機能

SYSOUTデータファイルへの書き込みモードを定義する。

SYSOUT_APPEND_WRITEパラメータは，EXEC要素のLANG属性に"COBOL"を指定したジョブステップに対して有効となる。

オペランド

SYSOUT_APPEND_WRITE　〜{YES｜NO}

COBOLプログラムがSYSOUTデータファイルへの書き込みを行うときの書き込みモードを定義する。

SYSOUT_APPEND_WRITEパラメータの指定が省略されている場合，オペランドにNOが指定されたものとする。

YES：COBOLプログラムはSYSOUTデータファイルに対して追加モードで書き込みを行う。

NO：COBOLプログラムは SYSOUTデータファイルに対してオープンで指定されたモードで書き込みを行う。

SysoutClass（出力クラスの属性値定義）

形式

<SysoutClass クラス名>
[CHARS {文字配列テーブル名|文字セットイメージ名}]
[COPIES 複写回数]
[COPYG グループ複写回数]
[DEST 出力先識別子]
[DUMMY {YES|NO}]
[ENCODE {SJIS|UTF8}]
[FCB FCB名称]
[FCDFLT デフォルト機能キャラクタ名]
[FORMS 書式番号]
[FTPCNTL スプールジョブ管理ファイル転送先ディレクトリ名]
[FTPDATA SYSOUTデータファイル転送先ディレクトリ名]
[FTYPE {1|2}]
[GAIJI1 レベル1外字名]
[HOLD {YES|NO}]
[JP1FTPCARD 伝送カード名]
[KEEP {YES|NO}]
[MODE {AN|K}]
[OVERC 適用枚数]
[OVERLAY 書式オーバレイ名]
[RECFM {A|M|N|X}]
[TRANSFER_EMPTY_FILE {YES|NO}]
[TRUNC {YES|NO}]
</SysoutClass>

機能

出力クラスの属性値を定義する。

オペランド

クラス名　〜＜記号名称＞((1〜31文字))

出力クラス名を指定する。JOB要素のMSGCLASS属性に指定するクラス名またはSYSOUTデータを定義するDD要素のTYPE属性値がSYSOUTの場合，SYSOUT属性に指定するクラス名となる。

CHARS {文字配列テーブル名｜文字セットイメージ名}　〜＜記号名称＞((1〜4文字))

文字セットイメージ名または文字配列テーブル名を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

COPIES 複写回数　〜＜符号なし整数＞((1〜255))

複写回数を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

COPYG グループ複写回数　〜＜符号なし整数＞((1〜255))

グループ複写回数を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

DEST 出力先識別子　〜＜記号名称＞((1〜31文字))

出力先識別子を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

DUMMY　〜{YES｜NO}

ジョブ実行後，スプールジョブを転送しないで削除するかどうかを指定する。

YES：HOLDおよびKEEPオペランド，またはDD要素のHOLDおよびKEEP属性の指定に関係なく，スプールジョブを転送しないで削除する。

NO：スプールジョブの転送と削除は，HOLDおよびKEEPオペランド，またはDD要素のHOLDおよびKEEP属性の指定に従う。

ENCODE　〜{SJIS｜UTF8}

ジョブ定義XMLファイルで指定がないときに仮定するSYSOUTデータファイルのエンコード種別を指定する。この指定はPDEに対しても意味がある指定である。

SJIS：シフトJISコード

UTF8：UTF-8コード

FCB FCB名称　〜＜記号名称＞((1〜4文字))

FCB名を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

FCDFLT デフォルト機能キャラクタ名　〜＜記号名称＞((1〜4文字))

デフォルト機能キャラクタイメージ名を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

FORMS 書式番号　〜＜記号名称＞((1〜4文字))

書式番号を指定する。

FTPCNTL スプールジョブ管理ファイル転送先ディレクトリ名　〜＜任意文字列＞((1〜128文字))

スプールジョブ管理ファイル転送先のディレクトリ名を指定する。

JP1FTPCARDオペランドの指定がある場合，このパラメータの指定は必須とし，指定がない場合はエラーとする。ただし，DUMMYオペランドにYESを指定している場合，このパラメータはJP1FTPCARDオペランドを指定していても省略できる。

FTPDATA SYSOUTデータファイル転送先ディレクトリ名　〜＜任意文字列＞((1〜128文字))

SYSOUTデータファイル転送先のディレクトリ名を指定する。

JP1FTPCARDオペランドの指定がある場合，このパラメータの指定は必須とし，指定がない場合はエラーとする。ただし，DUMMYオペランドにYESを指定している場合，このパラメータはJP1FTPCARDオペランドを指定していても省略できる。

FTYPE　〜{1｜2}

SYSOUTデータファイルの形式を指定する。

この指定はJOBLOG，SYSMSG，XML，STDOUT，およびSTDERRには無効であり，これらのファイルはテキストファイルとして処理される。

1：PDEファイル形式1

テキストファイルなどの任意のファイル形式

2：PDEファイル形式2

COBOL2002でPDEによる書式，行制御印刷を行うファイル形式

GAIJI1 レベル1外字名　〜＜記号名称＞((1〜4文字))

PDEと連携して外字フォント名を指定した印刷を行う場合に，レベル1外字名を指定する。レベル1外字の名称は，VOS3のレベル1外字イメージ名の指定に対応した機能であることに由来する。指定を省略した場合は，PDEの設定に従って印刷処理が行われる。

HOLD　〜{YES｜NO}

ジョブ実行後，SYSOUTデータを即時印刷するか，または出力保留を行い，あとからコマンドの指示によって印刷するかどうかを指定する。なお，EUR帳票印刷はこの指定に関係なく，ジョブ終了時に印刷する。

YES：出力保留にして即時印刷しない。

NO：出力保留にしないで，即時印刷する。

JP1FTPCARD 伝送カード名　〜＜任意文字列＞((1〜20文字))

スプールジョブを転送する場合に使用する伝送カード名を指定する。

このオペランドを省略した場合，この出力クラスのSYSOUTデータは転送しない。また，SPOOL_JOB_TRANSFERパラメータでNOを指定した場合は，すべての出力クラスのSYSOUTデータファイルを転送しない。この場合，エラーメッセージは出力しない。

KEEP　〜{YES｜NO}

SYSOUTデータファイルを出力後保存するかどうかを指定する。

YES：SYSOUTデータファイルをスプールジョブ転送サービスに転送指示後，スプールから削除しない（SYSOUTデータファイルを出力後保存属性にする）。

NO：SYSOUTデータファイルをスプールジョブ転送サービスに転送指示後，スプールから削除する（SYSOUTデータファイルを出力後保存属性にしない）。

MODE　〜{AN｜K}

プリンタモードを指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

AN：ノンインパクトプリンタモード

K：漢字プリンタモード

OVERC 適用枚数　〜＜符号なし整数＞((1〜255))

書式オーバレイ情報のイメージ名の適用枚数を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

OVERLAY 書式オーバレイ名　〜＜記号名称＞((1〜4文字))

書式オーバレイ情報のイメージ名を指定する。このオペランドの指定は，SYSOUTデータを印刷する場合に，PDEで有効となる。

RECFM　〜{A｜M｜N｜X}

SYSOUTデータの制御文字形式を指定する。

この指定はJOBLOG，SYSMSG，XML，STDOUT，およびSTDERRの設定には無効であり，これらのファイルは制御文字なしとして処理される（RECFM=Xと同等）。

A：ANSI制御文字。

M：機械制御文字。

N：制御文字なし。

X：RECFM属性を設定しない。RECFMの属性はPDEやPrinfinaMANAGERの設定に従う。

TRANSFER_EMPTY_FILE　〜{YES｜NO}

SYSOUTデータファイルを転送する場合，ファイルサイズが0バイトのファイルを転送するかどうかを指定する。SYSOUTデータをPDEと連携して印刷する場合，YESを指定してはならない。

YES：転送する。転送後はKEEP属性に従って削除または保存処理をする。

NO：転送しない。

TRUNC　〜{YES｜NO}

PDEファイル形式2のSYSOUTデータの行末の空白を削除するかどうかを指定する。この指定は，ほかの指定との整合性はチェックしない。また，PDEファイル形式2以外に指定しても無効であり，行末の空白は削除しない。

YES：行末の空白を削除する。

NO：行末の空白を削除しない。

注意事項

DUMMYオペランドにYESを指定している場合は，HOLDおよびKEEPオペランド，またはDD要素のHOLDおよびKEEP属性の指定は無効になる。スプールジョブはジョブ終了後に削除される。

TRANSFER_EMPTY_FILEオペランドは，DUMMYオペランド，HOLDオペランド，およびDD要素のHOLD属性と併用できる。バッチジョブ実行システムは，それぞれのオペランドや属性に従って動作する。

TEMP_FILE_DIR（一時ファイルディレクトリのパス名定義）

形式

[TEMP_FILE_DIR パス名]

機能

一時ファイルまたはPRESTファイルを格納するディレクトリのパス名を定義する。

一時ファイルとはジョブ中で作成され，ジョブ終了時にはすべて消去する暫定的に利用するファイルである。DD要素のTYPE属性値がTEMPまたはTEMPISAMである場合に，このパス名配下に一時ファイルを作成する。

DD要素のTYPE属性値がPRESTまたはTEMPPRESTである場合に，このパス名配下にPRESTファイルを作成する。

TYPE属性値にTEMP，TEMPISAM，またはTEMPPRESTを指定した場合に作成されるファイルの名称については次に示す個所を参照のこと。

TYPE属性値にTEMPを指定した場合に作成されるファイルの名称

「3.4.4　一時ファイル」

TYPE属性値にTEMPISAMを指定した場合に作成されるファイルの名称

「3.4.5　一時ISAMファイル」

TYPE属性値にTEMPPRESTを指定した場合に作成されるファイルの名称

「3.12.2(2)　ジョブステップ間PRESTファイル」

オペランド

パス名　〜＜パス名＞((1〜512文字))《/tmp》

一時ファイルまたはPRESTファイルを格納するディレクトリのパス名を指定する。

TEMP_FILE_DIR_XML_USE（一時ファイルディレクトリのパス名をDD要素のDSN属性で指定可能とする定義）

形式

[TEMP_FILE_DIR_XML_USE  ｛YES|NO｝]

機能

ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名称を，一時ファイルを格納するディレクトリとするかどうかを指定する。

オペランド

TEMP_FILE_DIR_XML_USE　〜｛YES｜NO｝

ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名称を，一時ファイルを格納するディレクトリとするかどうかを指定する。

このパラメータが省略されている場合，オペランドにNOを指定されたものとする。

YES：ジョブ定義XMLファイルのDD要素のDSN属性で指定したディレクトリ名称を，一時ファイル格納先ディレクトリパス名とする。ディレクトリパス名は，絶対パスで指定する必要がある。相対パスあるいはDSN属性の指定がない場合，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリパスを一時ファイル格納先ディレクトリパス名とする。

NO：一時ファイル格納先ディレクトリパス名は，設定ファイルのTEMP_FILE_DIRパラメータで指定したディレクトリパス名とする。

TRACE_DIR（トレースを出力するディレクトリのパス名定義）

形式

[TRACE_DIR パス名]

機能

トレースを出力するディレクトリのパス名を定義する。

オペランド

パス名　〜＜パス名＞((1〜512文字))《/opt/hitachi/bjex/trace》

トレースを出力するディレクトリのパス名を指定する。

TRACE_FILE_CNT（トレース面数の定義）

形式

[TRACE_FILE_CNT 面数]

機能

トレースを出力する面数を定義する。

オペランド

面数　〜＜符号なし整数＞((1〜64))《4》

トレースを出力する面数を指定する。通常は4を指定すること。

TRACE_FILE_SIZE（トレースファイルサイズの定義）

形式

[TRACE_FILE_SIZE ファイルサイズ]

機能

トレースを出力するファイルサイズを定義する。

オペランド

ファイルサイズ　〜＜符号なし整数＞((1〜16))《2》

トレースを出力するファイルサイズをMBで指定する。通常は2を指定すること。

TRACE_LEVEL（トレース出力レベルの定義）

形式

[TRACE_LEVEL トレースレベル]

機能

トレースを出力するレベルを定義する。

オペランド

トレースレベル　〜＜符号なし整数＞((0，10，20，30))《0》

トレースを出力するレベルを指定する。数値が大きいほど詳細なトレースを出力する。通常は0を指定すること。

設定ファイルの使用例

設定ファイルの使用例を次に示す。

9　ジョブ定義XMLファイル

バッチジョブ実行システムのジョブ定義XMLファイルの次に示す内容について説明する。

・ジョブ定義XMLファイルの文法

・ジョブ定義XMLファイル内に指定できる要素および要素内に指定できる属性

ジョブ定義XMLファイルの文法

ここでは，ジョブ定義XMLファイルの文法について説明する。

記述方法

ジョブ定義XMLファイルの記述方法を示す。

ジョブ定義XMLファイルは，W3C勧告「拡張可能なマーク付け言語（XML）1.0」REC-xml-980210のサブセットである。このマニュアルに特に記述がなければ，W3C勧告「拡張可能なマーク付け言語（XML）1.0」REC-xml-980210に従って記述する。ただし，日本語はコメント，CDATA，および日本語が使用できる属性値内だけで使用できる。

実体参照

ジョブ定義XMLファイルでは，次に示す文字を属性値に直接記述するのではなく，実体参照で記述しなければならない。また，要素の内容も，CDATAセクション（文字列「<![CDATA[と]]>」の囲み）を使用しない場合は，実体参照で記述しなければならない。

表9‒1　直接記述できない文字と実体参照

文字

実体参照

＆

＆amp;

<

＆lt;

>

＆gt;

'（シングルクォート）

＆apos;

"（ダブルクォート）

＆quot;

注　ジョブ定義XMLファイルでは，ユーザが任意の実体参照を定義して記述することはできない。

例

文字列AB&CD<EF>GH'IJ"と記述した場合，ジョブ定義XMLファイルでは次のように記述する。

記述したい文字列

　AB＆CD<EF>GH'IJ"

ジョブ定義XMLファイルでの記述

　AB＆amp;CD＆lt;EF＆gt;GH＆apos;IJ＆quot;

表記法

ジョブ定義XMLファイルの文法および使用例について次に示す。

文法

ジョブ定義XMLファイルの文法を次に示す。

使用例

ジョブ定義XMLファイルの例

入力ファイルUSER1.INPUTをバックアップファイルUSER1.BACKUPにコピーしたあと，入力ファイルUSER1.INPUTを入力にソートし，ソート結果をCOBOLプログラムの入力として帳票出力するプログラムを実行する場合の流れとジョブ定義XMLファイルの例（項番は項目の説明の番号と対応している）を次に示す。

図9‒1　帳票出力するプログラムを実行する場合の流れ

XML宣言を示す。

ジョブ定義XMLファイルのルート要素の開始を示す。

JOB要素の開始を示す。ジョブステップの終了コードが0でない場合にジョブは終了し，後続ジョブステップの実行を実施しないように指定する。

DD要素を示す。実行するプログラムの検索パスを指定する。

STEP要素の開始を示す。ジョブステップBACKUPを開始する。

EXEC要素の開始を示す。ジョブステップBACKUPで，CDATAセクションで示したプログラム（ファイルUSER1.INPUTをファイルUSER1.BACKUPにコピーする）を実行するように指定する。

CDATAセクションの内容を示す。

EXEC要素の終了を示す。

DD要素を示す。TYPE="FILE"は恒久ファイルを示す。コピー元ファイルとして恒久ファイルUSER1.INPUTを指定する。

DD要素を示す。TYPE="FILE"は恒久ファイルを示す。コピー先ファイルとして恒久ファイルUSER1.BACKUPを指定する。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップSORTを開始する。

EXEC要素の開始を示す。ジョブステップSORTで，CDATAセクションで示したソートプログラムSORT EE（exsort -pパラメータファイル）を実行するように指定する。

CDATAセクションの内容を示す。

EXEC要素の終了を示す。

DD要素を示す。TYPE="FILE"は恒久ファイルを示す。ソートプログラムの入力ファイル（パラメータファイルのfileオペランド値）を設定する。

DD要素を示す。TYPE="TEMP"は一時ファイルを示す。ソートプログラムの出力ファイルを指定する。DISP=",PASS"で，後続ジョブステップに渡すことを示す。

DD要素の開始を示す。TYPE="DATA"はCDATAセクションで指定したデータを一時ファイルに割り当てプログラムの入力データとすることを示す。ソートパラメータをCDATAセクションで指定する。

CDATAセクションの内容を示す。

DD要素の終了を示す。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップCOBOLを開始する。

EXEC要素を示す。ジョブステップCOBOLで，UAPプログラムの実行を指定する。UAPプログラムはCOBOL言語プログラムであることをLANG="COBOL"で示す。

DD要素を示す。TYPE="TEMP"は一時ファイルを示す。ジョブステップSORTで割り当てられた一時ファイルをUAPプログラムの入力データとして設定する。

DD要素を示す。TYPE="SYSOUT"はSYSOUTデータファイルを割り当てることを示す。UAPプログラムの出力データはSYSOUTデータファイルに出力する。

STEP要素の終了を示す。

JOB要素の終了を示す。

ルート要素の終了を示す。

カタログドプロシジャ実行のジョブ定義XMLファイルの例

カタログドプロシジャの使用例を次に示す（項番は項目の説明の番号と対応している）。

XML宣言を示す。

ジョブ定義XMLファイルのルート要素の開始を示す。

PROC要素の開始を示す。

STEP要素の開始を示す。

EXEC要素を示す。PARM属性の指定値を標準出力に出力するプログラムを指定する。

STEP要素の終了を示す。

PROC要素の終了を示す。

ルート要素の終了を示す。

カタログドプロシジャの呼び出しの使用例を次に示す（項番は項目の説明の番号と対応している）。

XML宣言を示す。

ジョブ定義XMLファイルのルート要素の開始を示す。

JOB要素の開始を示す。

STEP要素の開始を示す。ジョブステップSTEP1を開始する。

EXEC要素を示す。PARM属性の指定値を標準出力に出力するプログラムを指定する。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップSTEP2を開始する。

カタログドプロシジャSAMPLE2_PROC呼び出しのためのCALL要素を示す。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップSTEP3を開始する。

カタログドプロシジャSAMPLE2_PROC呼び出しのためのCALL要素の開始を示す。

呼び出されるカタログドプロシジャのEXEC要素の属性を変更するREPLACE要素の開始を示す。

変更対象のジョブステップを示すためのREPLACESTEP要素の開始を示す。

EXEC要素のPARM属性値の変更を示す。

REPLACESTEP要素の終了を示す。

REPLACE要素の終了を示す。

CALL要素の終了を示す。

STEP要素の終了を示す。

JOB要素の終了を示す。

ルート要素の終了を示す。

カタログドプロシジャ実行のジョブ定義XMLファイルの実行例を次に示す。

入力ストリームからのプロシジャ呼び出し例

入力ストリームからのプロシジャ呼び出しのためのジョブ定義XMLファイルの例を次に示す（項番は項目の説明の番号と対応している）。

XML宣言を示す。

ジョブ定義XMLファイルのルート要素の開始を示す。

JOB要素の開始を示す。

PROC要素の開始を示す。

STEP要素の開始を示す。

EXEC要素を示す。PARM属性の指定値を標準出力に出力するプログラムを指定する。

STEP要素の終了を示す。

PROC要素の終了を示す。

STEP要素の開始を示す。ジョブステップSTEP1を開始する。

EXEC要素を示す。PARM属性の指定値を標準出力に出力するプログラムを指定する。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップSTEP2を開始する。

カタログドプロシジャSAMPLE3_PROC呼び出しのためのCALL要素を示す。

STEP要素の終了を示す。

STEP要素の開始を示す。ジョブステップSTEP3を開始する。

プロシジャSAMPLE3_PROC呼び出しのためのCALL要素の開始を示す。

呼び出されるプロシジャのEXEC要素の属性を変更するREPLACE要素の開始を示す。

変更対象のジョブステップを示すためのREPLACESTEP要素の開始を示す。

EXEC要素のPARM属性値の変更を示す。

REPLACESTEP要素の終了を示す。

REPLACE要素の終了を示す。

CALL要素の終了を示す。

STEP要素の終了を示す。

JOB要素の終了を示す。

ルート要素の終了を示す。

入力ストリームからのプロシジャ呼び出しのためのジョブ定義XMLファイルの実行例を次に示す。

prolog（XMLの宣言）

形式

[version="XMLの仕様の版番号"]
[encoding="文字符号化方式名"]
[standalone="{yes|no}"]

機能

ジョブ定義XMLファイルでのXML宣言を文書の先頭に指定する。

属性

version="XMLの仕様の版番号"　〜＜名前トークン＞((1.0))《1.0》

XMLの仕様の版番号"1.0"を指定する。

encoding="文字符号化方式名"　〜＜名前トークン＞((Shift_JIS｜ASCII｜UTF-8｜EUC_JP))

XML文書内での文字の符号化方式の名前がEncNameであることを示す。

EncNameには，次に示す内容が指定できる。

Shift_JIS

シフトJISコード（ただし，Linuxの場合，日本語を使用できるのはコメントだけである）

ASCII【AIX限定】

ASCIIコード

UTF-8

UTF-8コード（ただし，AIXの場合，ASCIIの文字範囲だけ使用できる）

EUC_JP【AIX限定】

EUCコード

文字符号化方式名は上記を標準名とする。ただし，次に示す相違があっても同一と解釈する。

大文字と小文字

アンダースコア(＿)とハイフン(−)

standalone="{yes｜no}"

スタンドアロン文書宣言であることを示す。

yes

文書実体の外部に，XMLプロセサからアプリケーションへと渡される情報に影響するマーク付け宣言が存在しないことを示す。

no

外部マーク付け宣言が存在する，または存在する可能性があることを示す。外部にマーク付け宣言は存在しなければ，スタンドアロン文書宣言は意味を持たない。

ジョブ定義XMLファイルでは，外部にマーク付け宣言は存在しないので，スタンドアロン文書宣言は意味をもたない。このため，この属性は指定してもよいが，無視される。

注意事項

prologは文書の先頭に記述すること。

prologは省略できる。

encodingを省略した場合，ジョブ定義XMLファイルには，ASCII文字コードの範囲中の制御文字を除いた範囲（0x20〜0x7e）だけ使用できる。

encodingを省略した場合，ジョブログを出力する際，文字コード変換を実施しない。

BOMによる符号化方式の指定は無視する。

使用例

<?xml version="1.0" encoding="Shift_JIS" ?>

XMLジョブ制御要素一覧

バッチジョブ実行システムのXMLジョブ制御要素一覧を次の表に示す。

表9‒2　XMLジョブ制御要素一覧

XMLジョブ制御要素

定義内容

CALL

呼び出すプロシジャを定義する。

DD

ジョブまたはジョブステップで使用するファイルを定義する。

ELSE

IF要素と組み合わせてELSE節の開始を定義する。

ENDIF

IF要素と組み合わせてTHEN節およびELSE節の終わりを定義する。

EXEC

実行するプログラムを定義する。

HitachiBatchJobExec

ジョブ定義XMLファイルのルート要素であり，このファイルがジョブ定義XMLファイルであることを示す。また，ジョブ定義XMLファイルのバージョンや動作環境を定義する。

IF

条件式の判定結果でジョブステップの実行を制御する。

JOB

ジョブの属性を定義する。

JOBPARM

ジョブ単位の制御情報を定義する。

PERMISSION

新規作成するファイルまたはディレクトリのパーミッションを定義する。

PROC

プロシジャを定義する。

REPLACE

カタログドプロシジャまたは入出力ストリームプロシジャ内の先頭ジョブステップのDD要素，EXEC要素内の属性の追加，変更，または削除をする場合，変更内容を定義する。

REPLACESTEP

カタログドプロシジャまたは入出力ストリームプロシジャ内のDD要素，EXEC要素内の属性の追加，変更，または削除をする場合，その対象となるジョブステップを定義する。

SETENV

環境変数を定義する。

SETENVFILE

環境変数格納ファイルを定義する。

SETMAXRC

ジョブの途中で，先行ジョブステップの終了コードの最大値を任意の値で定義する。

SETSYMBOL

カタログドプロシジャまたは入力ストリームプロシジャ中で定義された記号パラメータに値を定義する。

STEP

実行するプログラムまたは呼び出すカタログドプロシジャを定義するとともに，それらを実行する場合の各要素の開始を定義する。

SYMBOL

PROC要素のプロシジャ内の記号パラメータに省略時の値を定義する。

XMLジョブ制御要素を定義する場合の注意事項を次に示す。

要素名，属性名，属性値，および要素の内容の大文字小文字は区別する

DD要素とEXEC要素以外に要素の内容が指定されている場合は無視する

ドキュメントの最上位（HitachiBatchJobExec要素の外部）に空白，タブ，および改行コード以外の文字を指定してはならない

CALL要素（プロシジャの呼び出し）

形式

NAME="プロシジャ名"

機能

呼び出すプロシジャを定義する。

CALL要素内には，次に示す順番で要素を含めることができる。

SETSYMBOL要素

複数回記述，または省略できる。

REPLACE要素

1回だけ記述，または省略できる。

属性

NAME="プロシジャ名"　〜＜記号名称＞((1〜31文字))

呼び出すカタログドプロシジャまたは入力ストリームプロシジャ名を指定する。

呼び出すカタログドプロシジャまたは入力ストリームプロシジャ名に同一名がある場合，入力ストリームプロシジャを優先する。

注意事項

CALL要素は，STEP要素内に1つだけ指定できる。ただし，同一STEP要素内にEXEC要素がある場合には指定できない。

使用例

カタログドプロシジャASMCGを実行する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
   <JOB NAME="ASM">
   <STEP NAME="STEP">
   <CALL NAME="ASMCG" >
   <SETSYMBOL NAME="PARM1" VALUE="/home/user1/"/>
   </CALL>
   </STEP>
   </JOB>
</HitachiBatchJobExec>

DD要素（ファイルの定義）

形式

[CHARS="文字セットイメージ名[,文字セットイメージ名]…"]
[CMT="注釈"]
[COPIES="複写回数"]
[COPYG="グループ複写回数"]
[DEST="SYSOUT出力先識別子"]
[DISP="[ {NEW|RNW|OLD|SHR|MOD} ][,{DELETE|KEEP|PASS} ][,{DELETE|KEEP} ]"]
[DSN=
   "{一時ファイル識別名
   |PREST識別名
   |一時ISAMファイル識別名
   |世代データ群パス名（相対世代番号｜日付世代番号）
   |ファイルパス名
   |ディレクトリパス名
   |*[.ジョブステップ名[.プロシジャステップ名]].DD名
   }"]
[ENCODE="{SJIS|UTF8}"]
[EURENCODE="EURエンコード種別"]
[EURFORM="EUR定義ファイル名"]
[FCB="FCB名"]
[FCDFLT="デフォルト機能キャラクタイメージ名"]
[FORMS="書式番号"]
[FTYPE="{1|2}"]
[FPERM="パーミッション"]
[GAIJI1="レベル1外字名称"]
[HOLD="{YES|NO}"]
[ISKEY="キー長,キー位置[,{C|I|L|F|D}]"]
[ISRECFM="{F|V}"]
[ISRECL="レコード長[,最小レコード長]"]
[KEEP="{YES|NO}"]
[MODE="{AN|K}"]
NAME="DD名"
[OPTCDJ="{YES|NO}"]
[OVERC="適用枚数[,適用枚数]…"]
[OVERLAY="書式オーバレイ情報のイメージ名[,書式オーバレイ情報のイメージ名]…"]
[RECFM="{A|M|N|X}"]
[RENAME="環境変数名"]
[SAMF="{YES|NO}"]
[SYSOUT="{クラス名|*}"]
[TYPE="{DATA|DUMMY|FILE|TEMP|TEMPISAM|PREST|TEMPPREST|GDG|LIB|SYSOUT|DIR}"]

機能

ジョブまたはジョブステップで使用するファイルを定義する。

属性

CHARS="文字セットイメージ名[,文字セットイメージ名]…"　〜＜記号名称＞((1〜4文字))

PDEで使用する文字セットイメージ名を指定する。

コンマで区切って4個まで指定できる。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

CMT="注釈"　〜＜任意文字列＞((1〜255))

任意の文字列を指定する。Prinfina MANAGER SPでセパレータなどに利用されるが，この場合は前後の空白は削除される。

COPIES="複写回数"　〜＜符号なし整数＞((1〜255))

PDEで使用するSYSOUTデータファイルの複写回数を指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

COPYG="グループ複写回数"　〜＜符号なし整数＞((1〜255))

PDEで使用するSYSOUTデータファイルをプリンタに出力する場合のグループ複写回数を指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

DEST="SYSOUT出力先識別子"　〜＜記号名称＞((1〜31文字))

PDEで使用するSYSOUTデータファイルの出力先を識別するための出力先識別子を指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

DISP="[ {NEW｜RNW｜OLD｜SHR｜MOD} ][,{DELETE｜KEEP｜PASS} ][,{DELETE｜KEEP} ]"

ファイルの状態および後処理に関する情報を指定する。DISP属性の省略値については，「3.4.2　ファイルの状態と後処理」を参照のこと。なお，排他/共用制御の詳細については，「3.13　ジョブ単位のファイルおよびディレクトリに対する排他/共用制御機能」を参照のこと。

第1パラメータ

ジョブステップ実行直前のファイルの状態を表す。

NEW

ファイルが該当するジョブステップ中で利用する。ジョブステップ開始前に0バイトのファイルを作成する。この作成時，DSN属性値に指定したファイルが存在する場合は，エラーとなりジョブは終了する。

RNW

ジョブステップ実行前にDSN属性値に指定したファイルがすでに存在する場合，該当するジョブを異常終了としないでそのファイルを新しく作成し直す。DSN属性値に指定されたファイルが存在する場合は，ファイルをいったん削除し，再度ファイルを生成する。DSN属性値に指定したファイルがない場合は，ファイルを生成する。

ディレクトリに対して指定した場合，ジョブ実行時にエラーとなって，ジョブが終了する。

なお，DSN属性値に指定されたファイルがシンボリックリンクのときは，リンク先のファイル実体の有無に関係なくシンボリックリンクをいったん削除し，新たに同じ名称のファイルを生成する。新たなシンボリックリンクが生成されるのではない点に注意する必要がある。

OLD

ファイルが該当するジョブステップ以前にすでに存在する場合，ほかのジョブとファイルを排他するときに指定する。ファイル排他が適用されていない場合や適用できないTYPE属性値の場合は，SHRパラメータ指定と同じになる。ジョブステップ開始前にファイルパスの存在の有無を確認するかどうかは，DD_EXISTCHECK_COBOLパラメータ，またはDD_EXISTCHECKパラメータの指定に従う。これらのパラメータの詳細については，「8.　設定ファイル」の「DD_EXISTCHECK_COBOL（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」，または「DD_EXISTCHECK（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」を参照のこと。

SHR

ファイルが該当するジョブステップ以前にすでに存在する場合，ほかのジョブとファイルを共用するときに指定する。ジョブステップ開始前にファイルパスの存在の有無を確認するかどうかは，DD_EXISTCHECK_COBOLパラメータ，またはDD_EXISTCHECKパラメータの指定に従う。これらのパラメータの詳細については，「8.　設定ファイル」の「DD_EXISTCHECK_COBOL（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」，または「DD_EXISTCHECK（DD要素に指定したファイルパスの存在確認要否を実施するための定義）」を参照のこと。

MOD

ファイルが該当するジョブステップ以前にすでに存在する場合，ファイル操作ユティリティまたはCOBOLプログラムがファイルに対して追加書きを行うときに指定する。

ファイルが該当するジョブステップ以前に存在しない場合は，DISPMOD_NOFILEパラメータの指定に従う。詳細については，「8.　設定ファイル」の「DISPMOD_NOFILE（DD要素のDISP属性にMODを指定したファイルが存在しない場合の処理の定義）」を参照のこと。

EXEC要素のLANG属性がCOBOLであり，かつDD要素のTYPE属性の値がFILE，TEMP，またはGDG（既存世代指定）である場合だけ使用できる。その他の値の場合は，次のとおり動作する。

・DD要素のTYPE属性の値がLIB，PREST，またはTEMPPRESTの場合は，SHRパラメータが指定されたものとして動作する。

・DD要素のTYPE属性の値がTEMPISAMの場合は，MODとして動作するが，書き込み動作はユーザプログラムに依存する。

・DD要素のTYPE属性の値がDIRの場合は，ジョブ定義XMLファイル解析エラーとなる。

第2パラメータ

ジョブステップが正常終了した場合のファイルの後処理を指定する。

DELETE

該当するジョブステップ終了後にファイルを削除する。

DSN属性値に指定されたファイルがシンボリックリンクのときは，リンク先の実体の有無に関係なくシンボリックリンクを削除する。シンボリックリンクがリンクしているファイルが削除されるのではない点に注意する必要がある。

KEEP

該当するジョブステップ終了後にファイルを保存する。ただし，ファイルを作成したジョブステップが異常終了した場合，第3パラメータにDELETEを指定していれば削除する。

PASS

一時ファイルおよび一時ISAMファイルでだけ使用できる。

ジョブステップでファイルを使用したあと，該当するファイルを後続ジョブステップで利用できるようにすること（パスすること）を指示する。

このパラメータで指定したファイルを受け取れるのは，後続ジョブステップ中のどれか1回だけである。したがって，受け取ったあと，さらにこれを後続ジョブステップにパスする場合は，そのつどDISP属性値でPASSパラメータを指定する必要がある。

このパラメータを指定した場合，第3パラメータに指定したパラメータに関係なくジョブステップ終了時（異常終了時も含む），該当するファイルをパスする。

第3パラメータ

ジョブステップが異常終了した場合のファイルの後処理を指定する。

第3パラメータは，第2パラメータ中のPASSパラメータを除いたものである。各パラメータの意味については，「第2パラメータ」を参照のこと。

DSN=

"{一時ファイル識別名

｜PREST識別名

｜一時ISAMファイル識別名

｜世代データ群パス名（相対世代番号｜日付世代番号）

｜ファイルパス名

｜ディレクトリパス名

｜*[.ジョブステップ名[.プロシジャステップ名]].DD名

}"

一時ファイル識別名　〜＜パス名＞

TYPE属性値にTEMPまたはTEMPPRESTを指定した場合，一時ファイルの識別名を指定する。実際のファイル名は，システムでユニークな名称を与える。ディレクトリ区切り文字の"/"（スラント）を含めた文字列を指定した場合，最後のディレクトリ区切り文字"/"（スラント）より後ろの文字列を一時ファイル識別名と判断する。

TYPE=TEMPの場合

「3.4.4(3)　一時ファイルを利用する場合の注意事項」で示した一時ファイルの名称が，プラットフォームで決められた最大長を超えるような一時ファイル識別名を指定してはならない。超えた場合は，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，一時ファイル識別名の長さと，JOB要素のNAME属性値の長さによって変わる。

TYPE=TEMPPRESTの場合

ジョブステップ間PRESTファイルの名称が，プラットフォームで決められた最大長を超えるような一時ファイル識別名を指定しないこと。超えた場合は，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，一時ファイル識別名，ジョブ識別子，およびJOB要素のNAME属性値の長さによって変わる。

ジョブステップ間PRESTファイルの名称の詳細については，「3.12.2(2)　ジョブステップ間PRESTファイル」を参照のこと。

PREST識別名　〜＜パス名＞

TYPE属性値にPRESTを指定した場合，ジョブ間PRESTの識別名を指定する。この識別名とバッチジョブ実行システムの一時ファイルディレクトリ内でユニークな名称を組み合わせて，ジョブ間PRESTファイル名とする。実際のファイル名はシステムでユニークな名称を与える。ディレクトリ区切り文字の"/"（スラント）を含めた文字列を指定した場合，最後のディレクトリ区切り文字"/"（スラント）より後ろの文字列をPREST識別名と判断する。

ジョブ間PRESTファイル名が，プラットフォームで決められた最大長を超えるようなPREST識別名は指定しないこと。超えた場合は，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，PREST識別名の長さによって変わる。

ジョブステップ間PRESTファイルの名称の詳細については，「3.12.2(2)　ジョブステップ間PRESTファイル」を参照のこと。

一時ISAMファイル識別名　〜＜パス名＞

TYPE属性値にTEMPISAMを指定した場合，一時ISAMファイルの識別名を指定する。実際のファイル名は，システムでユニークな名称を与える。ディレクトリ区切り文字の"/"（スラント）を含めた文字列を指定した場合，最後のディレクトリ区切り文字"/"（スラント）より後ろの文字列を一時ISAMファイル識別名と判断する。

「3.4.5　一時ISAMファイル」で示した一時ISAMファイルの名称が，プラットフォームで決められた最大長を超えるような一時ISAMファイル識別名は指定しないこと。超えた場合は，ジョブステップ実行開始時のファイル割り当て処理でエラーとなる。生成されるファイル名の長さは，一時ISAMファイル識別名の長さとJOB要素のNAME属性値の長さによって変わる。

世代データ群パス名（相対世代番号｜日付世代番号）　〜＜パス名＞((1〜1023文字))

TYPE属性値にGDGを指定した場合，世代データ群のパス名と世代ファイルの相対世代番号または日付世代番号を指定する。各世代ファイルに対して，次に示すユニークなファイルパス名を与える。

・相対世代番号

　世代データ群パス名.Gmmmm※

　注※　mmmmは世代番号を表す0001〜9999の整数である。

　相対世代番号は，0または符号を付けた1〜255の整数で指定する。ただし，0には符号を付けない。すでにある世代ファイルを参照する場合，最近作った世代ファイルに対して相対世代番号0を指定し，世代が古くなるに従い，相対世代番号を「−1，−2，−3，…」と指定する。

　また，新しく世代ファイルを作成する場合には，相対世代番号を作成順に「+1，+2，+3，…」と指定する。同一世代ファイルに対しては，同一ジョブ中で同じ相対世代番号を指定する。

・日付世代番号

　世代データ群パス名.Dyyyymmdd※1

　注※1　yyyyが西暦，mmは月，ddは日である。

　日付世代番号は，次の2種類で指定する。

　・EXDまたはEXD-n※2

　・Dyyyymmdd※3

　注※2　nは1〜511までの整数で指定する。

　注※3　yyyyはバッチジョブ実行日の西暦を指定する。mmは01〜12までを指定する。ddは01〜を指定する。ただし，yyyy に指定できる西暦は，DISP属性の第1パラメータがNEWの場合，バッチジョブ実行日の西暦の±2 年以内となる。例えば，バッチジョブ実行日が2013年6月15日の場合，2011年1月1日〜2015年12月31日まで指定可能となる。また，存在しない日を指定することはできない。

すでに存在する世代ファイルを参照する場合，EXD，EXD-n，またはDyyyymmddを指定する。EXDと指定すると，JP1/AJSのルートジョブネットの実行開始予定日に作成された世代ファイルを参照し，世代が古くなるにしたがって，「EXD-1，EXD-2，EXD-3，…」と指定する。Dyyyymmddと指定すると，世代データ群名.yyyymmddを参照する。また，新しく世代ファイルを作成する場合には，「EXD」または「Dyyyymmdd」を指定する。同一世代ファイルをEXD-nで指定する場合，同一ジョブ中でnに同一の数値を指定する。

ファイルパス名　〜＜パス名＞((1〜1023文字))

TYPE属性値にFILEを指定した場合，ファイルのパス名を指定する。

ディレクトリパス名　〜＜パス名＞((1〜1023文字))

TYPE属性値にLIBを指定した場合，ジョブから実行するコマンドとプログラムを格納したディレクトリのパス名を指定する。

TYPE属性値にDIRを指定した場合，ディレクトリのパス名を指定する。

*[.ジョブステップ名[.プロシジャステップ名]].DD名

ジョブステップ名　〜＜記号名称＞((1〜31文字))

プロシジャステップ名　〜＜記号名称＞((1〜31文字))

*[.ジョブステップ名[.プロシジャステップ名]].DD名で示すDD要素のDSN属性値を複写するように指定する。DD要素のTYPE属性値と，複写元DD要素のTYPE属性値はFILEにする必要がある。どちらか一方，または両方がFILEでない場合はエラーとなる。

ENCODE="{SJIS｜UTF8}"

SYSOUTデータファイルのエンコード種別を指定する。PDEと連携する場合に意味がある。

SJIS

ファイルをシフトJISのコードで作成する場合に指定する。

UTF8

ファイルをUTF-8のコードで作成する場合に指定する。

EURENCODE="EURエンコード種別"　〜＜任意文字列＞((1〜31文字))

作成するEURのマッピングデータのエンコード種別を指定する。

指定できるエンコード種別は設定ファイルのEUR_LANGパラメータで指定したエンコード種別だけである。

通常は指定する必要はなく，バッチジョブ実行システムのLANG環境変数とUAPのLANG環境変数が異なるときに指定する。指定を省略した場合，バッチジョブ実行システムのLANG環境変数を基にEURがデータファイルのエンコード種別を判断する。

EURENCODE属性は，EURFORM属性の指定がない場合は無効となる。

EURFORM="EUR定義ファイル名"　〜＜記号名称＞((1〜31文字))

EURで印刷するときに使用するEUR定義ファイル名を指定する。

バッチジョブ実行システムの設定ファイルでEUR_DEFINITION_FILE_DIRパラメータの指定をしない場合は無効となる。

FCB="FCB名"　〜＜記号名称＞((1〜4文字))

PDEで使用するFCB名を指定する。

この属性を省略した場合，JOBPARM要素のFCB属性が有効となる。JOBPARM要素のFCB属性を省略した場合は，SysoutClassパラメータの指定値が有効になる。

FCDFLT="デフォルト機能キャラクタイメージ名"　〜＜記号名称＞((1〜4文字))

PDEで使用するデフォルト機能キャラクタイメージ名を指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

FORMS="書式番号"　〜＜記号名称＞((1〜4文字))

PDEで使用する書式番号を指定する。

この属性を省略した場合，JOBPARM要素のFORMS属性が有効となり，JOBPARM要素のFORMS属性を省略した場合は，SysoutClassパラメータの指定値が有効となる。

FTYPE="{1｜2}"

SYSOUTデータファイルのファイル形式を指定する。

この指定を省略した場合，SysoutClassパラメータの指定値が有効になる。

この指定はJOBLOG，SYSMSG，XML，STDOUT，およびSTDERRには無効であり，これらのファイルはテキストファイルとして処理される。

1：PDEファイル形式1

テキストファイルなどの任意のファイル形式

2：PDEファイル形式2

COBOL2002でPDEによる書式，行制御印刷を行うファイル形式

FPERM="パーミッション"　〜＜8進数＞((0〜1777))

ファイルのパーミッションを指定する。指定方法は，chmodコマンドに従う。この指定をしない場合は，PERMISSION要素の属性に従う。

1000：ディレクトリにリンク許可を属性，またはファイルにsave-text 属性を設定する。

0400：バッチジョブ実行システムを起動したユーザへの読み取り属性を設定する。

0200：バッチジョブ実行システムを起動したユーザへの書き込み属性を設定する。

0100：バッチジョブ実行システムを起動したユーザへの実行または検索属性を設定する。

0040：バッチジョブ実行システムを起動したグループへの読み取り属性を設定する。

0020：バッチジョブ実行システムを起動したグループへの書き込み属性を設定する。

0010：バッチジョブ実行システムを起動したグループへの実行または検索属性を設定する。

0004：ほかのユーザへの読み取り属性を設定する。

0002：ほかのユーザへの書き込み属性を設定する。

0001：ほかのユーザへの実行または検索属性を設定する。

GAIJI1="レベル1外字名称"　〜＜記号名称＞((1〜4文字))

PDEで使用する外字名称を指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

HOLD="{YES｜NO}"

ジョブ実行後，SYSOUTデータファイルを即時印刷するか，または出力保留をし，あとからコマンドの指示によって印刷するかどうかを指定する。なお，EUR帳票印刷はこの指定に関係なく，ジョブ終了時に印刷する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

YES

出力保留にして，即時印刷しない。

NO

出力保留にしないで，即時印刷する。

ISKEY="キー長,キー位置[,{C｜I｜L｜F｜D}]"

TYPE属性にTEMPISAMを指定して一時ISAMファイルを作成する場合に，一時ISAMファイルのキー長，相対キー位置，およびキー属性を指定する。

なお，キー位置とキー長の合計はISRECL属性で指定するレコード長または最小レコード長以下にする必要がある。

キー長

キー属性に応じて，次に示すように指定する。

C（文字型）の場合：1〜255の範囲

I（2バイト整数型）の場合：2

L（4バイト整数型）の場合：4

F（計算機浮動型）の場合：4

D（計算機倍長型）の場合：8

キー位置

ISRECFM属性で指定するレコード種別に応じて，次に示すように指定する。

ISRECFM="F"の場合：0〜（ISRECL属性で指定するレコード長−1）の範囲

ISRECFM="V"の場合：0〜（ISRECL属性で指定する最小レコード長−1）の範囲

{C｜I｜L｜F｜D}

キー属性を次に示すどれかのパラメータで指定する。

C：文字型

I：2バイト整数型

L：4バイト整数型

F：計算機浮動型

D：計算機倍長型

ISRECFM="{F｜V}"

TYPE属性にTEMPISAMを指定して一時ISAMファイルを作成する場合に，一時ISAMファイルのレコード種別を指定する。

F

レコード種別が順編成固定長であることを示す。

V

レコード種別が可変長であることを示す。

ISRECL="レコード長[,最小レコード長]"

TYPE属性にTEMPISAMを指定して一時ISAMファイルを作成する場合に，一時ISAMファイルのレコード長を指定する。

また，ISRECFM属性にVを指定した場合は，最小レコード長も指定する必要がある。

なお，ISRECFM属性にFを指定した場合は，最小レコード長を指定しないこと。指定した場合は，ジョブ定義XMLファイルの解析時にエラーとなる。レコード長または最小レコード長は次に示す範囲で指定する。

レコード長

1〜65,503の範囲で指定する。

最小レコード長

1〜65,503の範囲で指定する。

なお，最小レコード長≦レコード長にする必要がある。

KEEP="{YES｜NO}"

SYSOUTデータファイルを出力後保存するかどうかを指定する。この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

YES

SYSOUTデータファイルをスプールジョブ転送サービスに転送指示後，スプールから削除しない（SYSOUTデータファイルを出力後保存属性にする）。

NO

SYSOUTデータファイルをスプールジョブ転送サービスに転送指示後，スプールから削除する（SYSOUTデータファイルを出力後保存属性にしない）。

MODE="{AN｜K}"

PDEで使用するプリンタモードを指定する。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

AN

ノンインパクトモード

K

漢字プリンタモード

NAME="DD名"　〜＜環境変数名＞((1〜31文字))

ジョブステップ内で，DD要素やDD要素で割り当てたファイルを識別する識別名を指定する。このDD名の先頭に文字列を付加した名称の環境変数に，割り当てたファイルのパス名を格納する。

付加する文字列はEXEC要素のプログラムがCOBOLの場合は"CBL_"となり，COBOL以外の場合は"DDN_"となる。

DD名にJOBLIBを指定した場合は，DSN属性値に指定した文字列を，PATH環境変数に追加する。追加した文字列は，ジョブ全体で有効となる。この場合，DD要素は，JOB要素内のSTEP要素外に指定する必要がある。また，TYPE属性値はLIBにする必要がある。

DD名にSTEPLIBを指定した場合は，DSN属性値に指定した文字列を，PATH環境変数に追加する。追加した文字列は，ジョブステップ内でだけ有効となる（次のジョブステップでは，PATH環境変数から除外する）。この場合，DD要素はSTEP要素内に指定する必要がある。また，TYPE属性値はLIBにする必要がある。

OPTCDJ="{YES｜NO}"

PDEで，行単位にフォントと文字ピッチを切り替える文字配列テーブルを変更するかどうかを指定する。

YES

行単位に使用する文字配列テーブルを変更する。

NO

行単位に使用する文字配列テーブルを変更しない。

OVERC="適用枚数[,適用枚数]…"　〜＜符号なし整数＞((1〜255))

PDEで使用する書式オーバレイの適用枚数を指定する。

コンマで区切って8個まで指定できる。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

OVERLAY="書式オーバレイ情報のイメージ名[,書式オーバレイ情報のイメージ名]…"　〜＜記号名称＞((1〜4文字))

PDEで使用する書式オーバレイ情報のイメージ名を指定する。

コンマで区切って8個まで指定できる。

VOS3から移行したCOBOLプログラムにAPPLY FORMS-OVERLAY指定がある場合，書式オーバレイ名をここで指定することで書式オーバレイ印刷ができる。ただし，ページごとの切り替えはできない。

この属性を省略した場合，SysoutClassパラメータの指定値が有効になる。

RECFM="{A｜M｜N｜X}"

PDEで使用する出力データに指定しているプリンタ制御文字の種別を指定する。

RECFM属性はJOBLOG，SYSMSG，XML，STDOUT，およびSTDERRの設定には無効であり，これらのファイルは制御文字なしとして処理される（RECFM=Xと同等）。

A

ANSI制御文字

M

機械制御文字

N

制御文字なし（ASCII制御文字）

X

RECFM属性を設定しない。この場合，PDEやPrinfinaMANAGERの設定に従う。

RENAME="環境変数名"　〜＜環境変数名＞((1〜31文字))

割り当てられたファイルのパス名を格納する環境変数名を変更する。この属性を省略した場合，環境変数名は，NAME属性で指定したDD名の先頭に"DDN_"または"CBL_"を付加した名称になる。

この属性は，COBOL2002の特殊なDD名称など，環境変数を"DDN_"または"CBL_"で開始しない名称にする必要がある場合に使用する。

RENAME属性に関する注意事項については，「3.4.7(4)　環境変数名を任意の名称に設定する方法」を参照のこと。

SAMF="{YES｜NO}"

ジョブ定義XMLファイルに記述したSYSINデータを，ジョブコントローラがCOBOLプログラムに渡す場合のデータの形式を指定する。

この属性を省略した場合，設定ファイルのDD_SAMFパラメータの指定値が有効になる。

この属性は，TYPE属性に"DATA"が指定されていて，かつ同一ジョブステップのEXEC要素のLANG属性に"COBOL"が指定されている場合にだけ指定できる。それ以外の場合は，ジョブ定義XMLファイルの解析エラーとなり，ジョブを実行しないで終了する。

YES

COBOLが順編成固定長ファイルとしてSYSINデータを入力する場合に，"YES"を指定する。ジョブコントローラは，SYSINデータをレコード長80バイトの順編成固定長ファイルに変換し，COBOLプログラムに渡す。1行が改行を除いて81バイト以上であり，81バイト目以降に空白以外の文字がある場合，ジョブ定義XMLファイルの解析エラーとなり，ジョブを実行しないで終了する。

NO

COBOLがテキスト編成ファイルとしてSYSINデータを入力する場合に，"NO"を指定する。ジョブコントローラは，ジョブ定義XMLファイルに記述したSYSINデータを変更しないで，COBOLプログラムに渡す。

SYSOUT="{クラス名｜*}"

SYSOUTデータファイルの出力に関する情報を指定する。

クラス名　〜＜記号名称＞((1〜31文字))

出力クラス名を指定する。このクラス名は，あらかじめ設定ファイルに定義しておく必要がある。

*

ジョブ要素で指定したMSGCLASS属性の出力クラス名と同じクラスを割り当てる。ジョブ要素でMSGCLASS属性を指定していない場合は，設定ファイルのMSGCLASS_DEFAULTパラメータで指定したクラスを割り当てる。

TYPE="{DATA｜DUMMY｜FILE｜TEMP｜TEMPISAM｜PREST｜TEMPPREST｜GDG｜LIB｜SYSOUT｜DIR}"

割り当てるファイル種別を指定する。

この属性を省略した場合，SYSOUT属性を指定していればTYPE="SYSOUT"が仮定され，SYSOUT属性を指定していなければTYPE="FILE"が仮定される。

DATA

DD要素の内容に，ジョブステッププログラムへの入力データがある。

DUMMY

ダミーファイルを割り当てる。

DUMMY_FILE_TYPEパラメータにDEVNULLを指定した場合，/dev/nullを割り当てる。

DUMMY_FILE_TYPEパラメータにTEMPを指定した場合，DD要素でTYPE="DUMMY"の代わりにTYPE="TEMP"が指定されたものとして一時ファイルを割り当てる。

詳細については，「3.4.6　ダミーファイル」を参照のこと。

FILE

恒久ファイルを割り当てる。

TEMP

一時ファイルを割り当てる。

TEMPISAM

一時ISAMファイルを割り当てる。

PREST

ジョブ間にわたって有効なジョブ間PRESTファイルを割り当てる。ただし，LOCK_OPTIONパラメータにENABLEを指定していない場合，この属性にPRESTを指定するとジョブ定義XMLファイルの解析エラーとなる。

TEMPPREST

ジョブ内でだけ有効なジョブステップ間PRESTファイルを割り当てる。

GDG

世代ファイルを割り当てる。

LIB

JOBLIB/STEPLIBを割り当てる。

SYSOUT

SYSOUTデータファイルを割り当てる。

DIR

ディレクトリを割り当てる。

内容

TYPE属性値に"DATA"を指定した場合，SYSINデータ（シェルスクリプトのヒアドキュメント相当，ジョブステッププログラムへの入力データをインライン記述したもの）をこの要素の内容に指定する。複数行からの構成または＜や"や＆の文字が含まれている場合は，記述するデータは<![CDATA[!と!]]>で囲んで指定する。記述するデータの詳細については，「3.10　SYSINデータの読み込み」を参照のこと。

注意事項

ファイルを連結する場合を除いて，同一のJOBまたはSTEP要素内には，同じNAME属性値のDD要素を複数指定しないこと。

直前のDD要素のNAME属性値と同じNAME属性値のDD要素を指定した場合，ファイルの連結と判断する。

NAME属性値が同一のDD要素が，JOB要素またはSTEP要素内で連続していない場合，ジョブはエラーとなる。

JOB要素内のSTEP要素外に指定できるDD要素は，NAME属性値にJOBLIBを指定した場合だけである。

NAME属性値にJOBLIBまたはSTEPLIBを指定した場合，TYPE属性値にLIBを指定しなければならない。

DD要素内の属性の追加，変更，または削除のために，DD要素をREPLACE要素内およびREPLACESTEP要素内に指定した場合は，NAME属性と追加，変更，または削除する属性の属性名と属性値を指定する。削除の場合は属性値に””を指定する。

DD要素を追加するために，DD要素をREPLACE要素内およびREPLACESTEP要素内に指定する場合は，追加するDD要素全体を指定する。

DD要素を削除するために，DD要素をREPLACE要素内またはREPLACESTEP要素内に指定する場合は，NAME属性値とTYPE属性値でDUMMYを指定する。TYPE属性値でDUMMYを指定した場合，NAME以外の属性値は無効となる。

TYPE属性値が"LIB"の場合にDISP属性を指定した場合でも，指定値に関係なくDISP="SHR"と見なして処理する。

TYPE属性値が"TEMP"および"TEMPISAM"以外の場合，DISP属性の第2パラメータにPASSを指定することはできない。

RECFM属性はVOS3の行制御の種別を指定する項目であり，印刷データの形式に合わせて指定する必要がある。VOS3から移行したCOBOLプログラムでは次に示す内容を考慮して指定をする必要がある。

PDEファイル形式1を使用する場合

WRITE指定の場合

印刷データに付加している制御コードに合わせて指定する。通常はVOS3のJCL（Job Control Language）で指定していた値と同じ値を指定する。また，COBOLプログラムの移行時に実行時環境変数CBLD_ファイル名（SELECT句に指定するファイル名）にSAMAADVを設定する必要がある。

RECFM="A"の場合，印刷制御文字を16進で指定しているときは，ASCIIコードに変換する必要がある。

WRITE　ADVANCING指定の場合

COBOLプログラムの移行時に印刷データの先頭に制御文字の領域を定義している場合は，コンパイラオプションで制御文字の領域を無効にする。また，RECFM＝"N"を指定する。

WRITE　POSITIONING指定の場合

COBOLプログラム移行時にPOSITIONINGはADVANCING　1 LINEと扱われるため，必要に応じてADVANCING指定に変更する必要がある。また，RECFM＝"N"を指定する。

DISPLAY　UPON SYSOUT,DISPLAY　UPON SYSLST指定の場合

UPON SYSLSTは指定しないこと。また，COBOLプログラムにWITH NO ADVANCINGの指定がある場合，削除する必要がある。

RECFM＝"N"を指定する。

PDEファイル形式2を使用する場合

WRITE指定の場合

印刷データに付加している制御コードに合わせて指定する。通常はVOS3のJCLで指定していた値と同じ値を指定する。

RECFM="A"の場合，印刷制御文字を16進で指定しているときは，ASCIIコードに変換する必要がある。

WRITE　ADVANCING指定の場合

COBOLプログラムの移行時に印刷データの先頭に制御文字の領域を定義している場合は，コンパイラオプションで制御文字の領域を無効にする。また，RECFM="N"を指定する。

WRITE　POSITIONING指定の場合

コンパイラオプションで制御文字の領域を無効にする。また，RECFM="M"を指定する。

DISPLAY　UPON SYSOUT,DISPLAY　UPON SYSLST指定の場合

PDEファイル形式2には対応していないので，PDEファイル形式1の場合と同様の指定をする。

DD要素を定義するとき，TYPE属性の値によって指定必須の属性，指定不可の属性，省略できる属性が，それぞれ排他的関係として決められている。指定必須の属性を指定しない，あるいは指定不可の属性を指定するとエラーとなる。DD要素の属性の排他的関係一覧を次の表に示す。表の列はTYPE属性の値を，行は各属性を表しており，TYPE属性の値に対して各属性の指定の可否を表している。

表9‒3　DD要素の属性の排他的関係一覧

DD要素の属性

DD要素のTYPE属性

FILE

DIR

GDG

TEMP

DATA

DUMMY

SYSOUT

LIB

TEMPISAM

PREST

TEMPPREST

NAME

○

○

○

○

○

○

○

○

○

○

○

DSN

○

○

○

△

×

×

×

○

△

○

○

DISP

△

△

△

△

×

×

×

△

△

△

△

FPERM

△

△

△

×

×

×

×

×

×

△

×

SYSOUT

×

×

×

×

×

×

○

×

×

×

×

CHARS

×

×

×

×

×

×

△

×

×

×

×

CMT

×

×

×

×

×

×

△

×

×

×

×

COPIES

×

×

×

×

×

×

△

×

×

×

×

COPYG

×

×

×

×

×

×

△

×

×

×

×

DEST

×

×

×

×

×

×

△

×

×

×

×

ENCODE

×

×

×

×

×

×

△

×

×

×

×

EURENCODE

×

×

×

×

×

×

△

×

×

×

×

EURFORM

×

×

×

×

×

×

△

×

×

×

×

FCB

×

×

×

×

×

×

△

×

×

×

×

FCDFLT

×

×

×

×

×

×

△

×

×

×

×

FORMS

×

×

×

×

×

×

△

×

×

×

×

FTYPE

×

×

×

×

×

×

△

×

×

×

×

GAIJI1

×

×

×

×

×

×

△※1

×

×

×

×

HOLD

×

×

×

×

×

×

△

×

×

×

×

KEEP

×

×

×

×

×

×

△

×

×

×

×

MODE

×

×

×

×

×

×

△

×

×

×

×

OPTCDJ

×

×

×

×

×

×

△

×

×

×

×

OVERC

×

×

×

×

×

×

△

×

×

×

×

OVERLAY

×

×

×

×

×

×

△

×

×

×

×

RECFM

×

×

×

×

×

×

△

×

×

×

×

ISKEY

×

×

×

×

×

×

×

×

○※2

×

×

ISRECFM

×

×

×

×

×

×

×

×

○※2

×

×

ISRECL

×

×

×

×

×

×

×

×

○※2

×

×

RENAME

△

△

△

△

△

△

△

×

△

△

△

SAMF

×

×

×

×

△

×

×

×

×

×

×

（凡例）

○：必ず指定する。

△：指定を省略できる。

×：指定できない。

注※1

省略した場合はSysoutClassパラメータの指定値が有効になる。

注※2

一時ISAMファイルを作成する場合は必ず指定する。DISP="SHR"またはDISP="OLD"による一時ISAMファイルの割り当て時に指定した場合は，無効となる。ただし，属性値のチェックは行われる。DISP="MOD"の場合は，先行ジョブステップでPASSされていない一時ISAMファイルには必ず指定する。

プロシジャ内のDD要素は，属性の追加および削除をしたあとに，排他関係をチェックする。ただし，TYPE属性を置き換えた場合は，すでに存在する指定不可の属性は，指定されていないものと判断する。そのため，排他関係にある属性を明示的に削除する必要はない。

次に示す文字列は，特別な意味を持つDD名として将来バッチジョブ実行システムが使用する可能性がある。そのため，これらの値をNAME属性に指定してはならない。指定した場合はエラーとなる。

AJOBLIB，ASTEPLIB，SYSUDUMP，SYSABEND，SYSNDUMP，SYSCHK，SYSCKEOV，JOBCAT，STEPCAT，KANJLIB，IMGLIB，SYSMAPLB

CALL要素を定義したジョブステップ内にDD要素を定義しても，そのDD要素は無視する。

ファイル連結できないTYPE属性を指定したDD要素を連結した場合は，警告メッセージを出力してジョブを続行する。詳細については，「3.4.3　ファイルの連結処理」を参照のこと。

同一のDSN属性で複数の一時ファイルを作成し，PASS指定することは，誤りの原因となるため，使用しないこと。

DSN属性にファイル名を指定する場合は，ファイル名の末尾にパス区切り文字（'/'）を指定しないこと。指定した場合はエラーとなる。

DISP属性の第1パラメータにMODを指定し，COBOLプログラムが入力としてオープンした場合，オープンの指定どおり入力ファイルとして使用する。この場合，ファイル連結指定をすることもできる。

使用例

1枚目にだけ書式オーバレイモジュール「FOPA」を使用し出力する場合の使用例を次に示す。

<DD NAME="EXA2" TYPE="SYSOUT" SYSOUT="*" OVERLAY="FOPA" OVERC="1"/>

ELSE要素（IF要素に対する分岐）

形式

指定できる属性はない。

機能

IF要素と組み合わせて使用し，THEN節の終わりとELSE節の開始を指定する。

ELSE要素は省略できる。ELSE要素を指定しない場合，ELSE節はなく，IF要素から対応するENDIF要素までがTHEN節となる。

属性

なし。

注意事項

SETSYMBOL，REPLACEまたはREPLACESTEPの置き換えの対象外である。

使用例

ELSE要素を使用した例については，「3.7.2　ジョブステップの実行制御の使用例」を参照のこと。

ENDIF要素（ジョブステップの実行制御の終了）

形式

指定できる属性はない。

機能

IF要素と組み合わせて使用し，THEN節またはELSE節の終わりを示す。

IF要素を指定した場合，ENDIF要素を指定する必要がある。

属性

なし。

注意事項

SETSYMBOL，REPLACEまたはREPLACESTEPの置き換えの対象外である。

使用例

ENDIF要素を使用した例については，「3.7.2　ジョブステップの実行制御の使用例」を参照のこと。

EXEC要素（プログラムの実行）

形式

[COND="
   [(]しきい値, 演算符号 [,ジョブステップ名[,プロシジャステップ名]] [)]
   [,(しきい値, 演算符号 [,ジョブステップ名[,プロシジャステップ名]])]+
   [,{EVEN|ONLY}] "]
[Group="Javaバッチアプリケーション実行時のスケジュールグループ名"]
[JSPEC="{YES|NO}"]
[LANG="{COBOL|JP1Script|Java}"]
[Option="{Javaのクラスパス｜Javaのシステムプロパティ}"]
[PGM="{＊|コマンド名|スクリプトファイル名|
   Javaアプリケーションクラス名}"]
[PARM="{引数|mainメソッドに渡す引数}"]
[PARMSPLIT="{YES|NO}"]
[STDOUTCLASS="クラス名"]
[STDERRCLASS="クラス名"]

機能

実行するプログラムとプログラムを実行する条件を定義する。

属性

COND="

[(]しきい値, 演算符号 [,ジョブステップ名[,プロシジャステップ名]] [)]

[,(しきい値, 演算符号 [,ジョブステップ名[,プロシジャステップ名]])]+

[,{EVEN｜ONLY}] "

先行する全ジョブステップまたは特定のジョブステップの終了コードや，異常終了した先行ジョブステップの有無によって，このジョブステップを実行するかどうかを決定するための条件を指定する。

しきい値　〜＜符号なし整数＞((0〜255))

先行する全ジョブステップまたは特定のジョブステップの終了コードと比較するしきい値を指定する。1つでも条件を満たした場合，該当するジョブステップをスキップする。

演算符号　〜(({EQ｜NE｜GT｜GE｜LT｜LE}))

演算符号の意味を次に示す。

EQ：しきい値は終了コードと等しい。

NE：しきい値は終了コードと等しくない。

GT：しきい値は終了コードより大きい。

GE：しきい値は終了コードより大きいか等しい。

LT：しきい値は終了コードより小さい。

LE：しきい値は終了コードより小さいか等しい。

ジョブステップ名　〜＜記号名称＞((1〜31文字))

判定対象となる終了コードを返すジョブステップ名を指定する。ただし，該当するジョブステップがプロシジャ中のジョブステップの場合には，ジョブステップ名としてプロシジャを呼び出したCALL要素のジョブステップ名を指定したあと，続いてプロシジャステップ名を指定する。

プロシジャステップ名を指定しないでジョブステップ名だけ記述した場合，ジョブコントローラは次の順序でジョブステップ名を検索する。

AIXの場合

ジョブ定義XMLファイルの先頭から，プロシジャ外のジョブステップ名を検索する。

Linuxの場合

該当するプロシジャ内のジョブステップ名を検索し，見つからない場合はジョブ定義XML ファイルの先頭から，プロシジャ外のジョブステップ名を検索する。

プロシジャステップ名　〜＜記号名称＞((1〜31文字))

該当するジョブステップがプロシジャ中のジョブステップの場合に，判定対象となる終了コードを返すプロシジャ中のSTEP要素に指定したジョブステップ名を指定する。

EVEN

先行したジョブステップのどれかが異常終了したかどうかに関係なく，無条件にこのジョブステップを実行する。

ONLY

先行したジョブステップのどれかが異常終了した場合に，このジョブステップを実行する。

Group="Javaバッチアプリケーション実行時のスケジュールグループ名"　〜＜グループ名＞((1〜63))

Javaバッチアプリケーション実行時，ジョブスケジューリング機能を使用する場合に，CTMがバッチアプリケーションの実行をスケジューリングするときに割り当てるバッチサーバのスケジュールグループを指定する。スケジュールグループ名は，usrconf.cfg（バッチアプリケーション用オプション定義ファイル）でも指定できる。

デフォルト値はJOBGROUPとなる。スケジュールグループ名の指定の優先順位は次のとおりになる。

コマンドライン

usrconf.cfg（バッチアプリケーション用オプション定義ファイル）

デフォルト値

詳細については，マニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」を参照のこと。

JSPEC="{YES｜NO}"

ジョブステップを並列実行する場合に，そのジョブステップの種類を指定する。

YES

並列実行するサブステップに指定する。ジョブの最終ジョブステップにこの属性を指定しても無視される（ジョブの最終ジョブステップは必ずメインステップとなる）。

NO

メインステップに指定する。先行するジョブステップにJSPEC＝"YES"の指定がなければ，このジョブステップは並列実行しない。

LANG="{COBOL｜JP1Script｜Java}"

COBOL

COBOL2002でコンパイルしたプログラムを実行する場合，実行するプログラム言語"COBOL"を指定する。プログラム言語がCOBOL以外の場合は指定しないこと。

この属性の指定によって，ジョブステップ内のDD要素で指定したDD要素名から生成する環境変数に"CBL_"を付加し，"CBL_"+"DD要素名"という名称に変換する。

この属性を省略した場合，ジョブステップ内のDD要素で指定したDD要素名から生成する環境変数に"DDN_"を付ける。

JP1Script

JP1/Scriptを実行する場合，実行するプログラム言語として"JP1Script"を指定する。JP1/Script以外を実行する場合は指定しないこと。この属性の指定によって，PGM属性にスクリプトファイル名を指定し，PARM属性に位置変数とオプションを指定する。この指定によってスクリプトファイル名，位置変数，オプションを引数とするJP1/Script実行コマンドsptxeを実行する。

Java

Cosminexus 08-00以降でバッチアプリケーションを実行する場合，実行するプログラム言語として"Java"を指定する。プログラム言語がJava以外の場合は指定しないこと。この属性の指定によって，PGM属性にJavaアプリケーションクラス名，PARM属性にmainメソッドに渡す引数，Group属性にスケジュールグループ名，Option属性にJavaオプションを引数とするバッチアプリケーション実行コマンドcjexecjobを実行する。

Option="{Javaのクラスパス｜Javaのシステムプロパティ}"　〜＜任意文字列＞((1〜1022))

Javaのクラスパス

-cpまたは-classpathオプションを指定する。ジョブコントローラは，この属性に指定されたオプションを，そのままJavaオプションとしてcjexecjobコマンドに渡す。

複数のクラスパスを異なる手段で指定した場合の検索順は次のとおりになる。

1. usrconf.cfg（バッチサーバ用オプション定義ファイル）

2. コマンドライン引数

3. usrconf.cfg（バッチアプリケーション用オプション定義ファイル）

Javaのシステムプロパティ

cjexecjobコマンドに渡す，Java実行環境のシステムプロパティを指定する。同じキーのシステムプロパティを指定した場合，あとに指定したプロパティが優先される。同じキーのシステムプロパティを異なる手段で指定した場合の優先順位は次のとおりになる。

1. コマンドライン引数

2. usrconf.properties（バッチアプリケーション用ユーザプロパティファイル）

3. usrconf.cfg（バッチアプリケーション用オプション定義ファイル）

4. usrconf.properties（バッチサーバ用ユーザプロパティファイル）

5. usrconf.cfg（バッチサーバ用オプション定義ファイル）

詳細については，マニュアル「Cosminexus アプリケーションサーバ V8 リファレンス コマンド編」を参照のこと。

PGM="{＊｜コマンド名｜スクリプトファイル名｜Javaアプリケーションクラス名}"

実行するプログラムを指定する。この属性は，REPLACE要素内でEXEC要素を置換する場合にだけ省略できる。

＊

実行するプログラム，コマンド，シェルスクリプトの名称と，その引数を要素の内容に指定していることを示す。

コマンド名〜＜任意文字列＞((1〜64文字))

実行するプログラム，コマンド，シェルスクリプトの名称を指定する。

スクリプトファイル名〜＜任意文字列>((1〜1023文字))

JP1/Scriptのスクリプトファイル名を指定する。

Javaアプリケーションクラス名〜＜任意文字列>((1〜1023文字))

パッケージ名を含めたJavaアプリケーションクラス名を指定する。

PARM="{引数｜mainメソッドに渡す引数}"　〜＜任意文字列＞((1〜958文字))

引数

実行するプログラムに与える引数を指定する。ただし，PGM属性が"＊"の場合は指定しても無視する。

文字列中に空白を含む場合は，この属性が指定されたEXEC要素のPARMSPLIT属性の指定に従い，プログラムにどのように引数を与えるかを決定する。

LANG="JP1Script"の場合はJP1/Scriptに渡す引数としてsptxeの位置変数とオプションを指定する。位置変数とオプションは，空白で区切って指定する。この場合は，PARMSPLIT属性の指定は無視される。

メソッドに渡す引数

LANG="Java"の場合はJavaアプリケーションのmainメソッドに渡す引数を指定する。

PARMSPLIT="{YES｜NO}"

PARM属性値が空白を含む場合，プログラムにどのように引数を与えるかを指定する。この属性を省略した場合，設定ファイルのEXEC_PARMSPLITパラメータの指定値が有効になる。

YES

UNIXの一般的な引数インタフェースであるC言語インタフェースに従った形式を使用する場合に，YESを指定する。PARM属性値が空白を含む場合，空白で区切られた複数の引数としてプログラムに渡される。

NO

VOS3から移行したCOBOLプログラムなどのVOS3インタフェースに従った形式を使用する場合に，NOを指定する。PARM属性値が空白を含む場合，空白を含む1つの引数としてプログラムに渡される。

EXEC要素のPARMSPLIT属性と設定ファイルのEXEC_PARMSPLITパラメータの指定によるPARM属性の扱いを次の表に示す。

表9‒4　EXEC要素のPARMSPLIT属性と設定ファイルのEXEC_PARMSPLITパラメータの指定によるPARM属性の扱い

EXEC_PARMSPLITパラメータ

PARMSPLIT属性

YES

NO

省略

YESまたは省略

分割する※1。

分割しない※2。

分割する※1。

NO

分割する※1。

分割しない※2。

分割しない※2。

注※1　空白で分割した複数の引数とする。

注※2　空白を含む1つの引数とする。

STDOUTCLASS="クラス名"　〜＜記号名称＞((1〜31文字))

ユーザプログラムの標準出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は，JOB要素のSTDOUTCLASS属性で指定された出力クラスとなる。

出力クラス名をSysoutClassパラメータで定義していない場合は，KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

STDERRCLASS="クラス名"　〜＜記号名称＞((1〜31文字))

ユーザプログラムの標準エラー出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は，JOB要素のSTDERRCLASS属性で指定された出力クラスとなる。

出力クラス名をSysoutClassパラメータで定義していない場合は，KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

内容

PGM属性値に"＊"を指定した場合，この要素の内容に，<![CDATA[!と!]]>で囲んで，プログラム名，引数など，シェルスクリプトを指定する。プログラム名や引数に，属性値の引用符内の文字列に指定できない＜，"，または＆の文字が含まれている場合に，この要素の内容に記述する。

JP1/AJSで起動したJP1/ASのスクリプトから実行するときは，JP1/AJSが環境変数SHELLにJP1/ASを設定することがあるので，PGM属性値に"＊"を指定した場合，注意が必要である。詳細は，「表5-1　JP1/AJSからバッチジョブを起動した場合の強制終了の方法と制限事項」を参照のこと。

注意事項

EXEC要素は，STEP要素内に1つだけ指定できる。ただし，同一STEP要素内にCALL要素がある場合には指定できない。

COND属性の注意事項を次に示す。

条件パラメータにジョブステップ名およびプロシジャステップ名を記入していない場合，先行するすべてのジョブステップが判定の対象となる。

条件パラメータで指定したジョブステップ名およびプロシジャステップ名が先行するジョブステップ中に2つ以上ある場合，該当するジョブステップ中の先頭が判定の対象となる。

条件パラメータは，EVENまたはONLYを含めて8つまで指定できる。

1つの条件パラメータだけ記入する場合，両端の括弧"（　）"を省略できる。

EVENまたはONLYは，必ずしも条件パラメータの最後に記入しなくてもよい。

EXEC要素とJOB要素の両方でCOND属性を指定した場合，JOB要素で指定した条件を満たすと，EXEC要素で指定した条件を満たさないときも，後続のジョブステップを実行しない。

指定した先行するジョブステップが条件付き実行によってすでに実行がスキップされている場合，COND属性は無視される。

自ジョブステップと並列実行するジョブステップを参照しても無効となる。

空白で分割した複数の引数としてプログラムに渡される場合，次に示すような引数に空白を含む指定はできない。

引数１：　AAA
引数２：　BBB△CCC

このような指定をしたい場合は，PGM属性に"*"を指定してシェルスクリプトを記述し，シェルの仕様に従って空白を含む引数を指定する。

<EXEC PGM="*">
<![CDATA[
!
program△AAA△"BBB△CCC"
!
]]>
</EXEC>

使用例

プログラムPROG1を実行する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
   <JOB NAME="JOB1">
   <STEP NAME="STEP">
   <EXEC PGM="PROG1" />
   </STEP>
   </JOB>
</HitachiBatchJobExec>

また，シェルとして実行する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
   <JOB NAME="JOB1">
   <STEP NAME="STEP">
   <EXEC PGM='*'>
   <![CDATA[
    !
   PROG1
    !
   ]]>
   </EXEC>
   </STEP>
   </JOB>
</HitachiBatchJobExec>

HitachiBatchJobExec要素（ジョブ定義XMLファイルの宣言）

形式

[os="os種別"]
[version="メジャーバージョン番号.マイナーバージョン番号"]

機能

ジョブ定義XMLファイルのルート要素であり，このファイルがジョブ定義XMLファイルであることを示す。また，ジョブ定義XMLファイルのバージョンや動作環境を定義する。

属性

os="os種別" 〜＜任意文字列＞((1〜31文字))

ジョブ定義XMLファイルに指定したジョブを実行するOS種別を指定する。

指定は任意である。また，指定した内容のチェックを行わない。

例

unix

ジョブ定義XMLファイルをUNIXシステムで実行することを指定する。

windows

ジョブ定義XMLファイルをWindowsシステムで実行することを指定する。

version="メジャーバージョン番号.マイナーバージョン番号" 〜＜任意文字列＞((3〜4文字))

ジョブ定義XMLファイルのDTDのメジャーバージョン番号とマイナーバージョン番号を指定する。

指定は任意である。また，指定した内容のチェックを行わない。

例

1.4

ジョブ定義XMLファイルのDTDのバージョン番号が1.4であることを指定する。

バッチジョブ実行システムのバージョンとversion属性に指定する値の対応を次の表に示す。

表9‒5　バッチジョブ実行システムのバージョンとversion属性に指定する値の対応

バッチジョブ実行システムのバージョン

version属性に指定する値

AIX

Linux

08-05以降

1.4

1.3

08-00

1.3

1.2

07-61

1.2

−

07-60

1.1

1.1

01-00〜07-50

1.0

−

（凡例）

−：該当するOSではこのバージョンのバッチジョブ実行システムをサポートしていない。

注意事項

HitachiBatchJobExec要素はジョブ定義XMLファイルのルート要素であり，ファイル中（XML宣言よりあと）に指定している必要がある。また，同一ファイル中には複数指定しないこと。

HitachiBatchJobExec要素内には，JOB要素またはPROC要素のどちらかを必ず指定すること。

使用例

<HitachiBatchJobExec version="1.3" os="unix">

IF要素（ジョブステップの実行制御の開始）

形式

OP="条件式"

機能

ジョブステップのリターンコードを判定し，条件が成立した場合，THEN節のジョブステップを実行する。条件が成立しない場合はELSE節のジョブステップを実行する。IF要素の使用の規則を次に示す。

IF要素はELSE要素とENDIF要素と組み合わせて使用する。

IF要素からELSE要素までをTHEN節と呼ぶ。また，ELSE要素からENDIF要素までをELSE節と呼ぶ。

ELSE要素は省略できる。ELSE要素を省略した場合，ELSE節は存在しないためIF要素からENDIF要素までがTHEN節となる。

THEN節またはELSE節内のジョブステップからステップリスタートを実行できない。

属性

OP="条件式"　〜((1〜2048文字))

判定条件を記述する。

条件式　〜{単一条件式｜NOT 条件式｜条件式{AND｜OR}条件式｜(条件式)}

複数の単一条件式を，論理積"AND"，論理和"OR"，否定"NOT"，括弧"(　)"で組み合わせたものである。

条件式は入れ子（ネスト）にすることができる。論理符号の優先順位は次のとおりになる（優先順位は1が最も高い）。

括弧"(　)"：優先的に条件式を判定する。

否定"NOT"：条件式が不成立の場合に真となる。

論理積"AND"：2つの条件式の両方が成立した場合に真となる。

論理和"OR"：2つの条件式のどちらかが成立した場合に真となる。

単一条件式　〜(*｜?｜[ジョブステップ名[.プロシジャステップ名]],演算符号,[リターンコード])

対象のジョブステップを実行するかどうかを判定するための条件の最小単位である。

*｜?｜ジョブステップ名[.プロシジャステップ名]

条件の判定対象のジョブステップを指定する。

*

演算符号に，EQ，NE，GT，GE，LT，LEのどれかを指定した場合，

リターンコードが最大値のジョブステップが条件に一致するか判定する。SETMAXRC要素で変更した値は判定されない。

演算符号に，AB，NAのどちらかを指定した場合，

実行済みのジョブステップのすべてが条件に一致するか判定する。

?

実行済みのジョブステップのどれかが条件に一致するか判定する。

ジョブステップ名[.プロシジャステップ名]

特定のジョブステップを判定する。

ジョブステップ名を検索する場合，ジョブの先頭から検索して最初に見つかったジョブステップを判定の対象にする。該当するジョブステップがカタログドプロシジャの内か外であるかや実行済みであるかどうかには関係はない。また，後続のジョブステップ名は指定できない。

ジョブステップ名：　〜＜記号名称＞((1〜31文字))

　ジョブステップ名を指定する。

プロシジャステップ名：　〜＜記号名称＞((1〜31文字))

　プロシジャ内のジョブステップのリターンコードを参照するときはプロシジャのジョブステップ名を指定する。

　カタログドプロシジャ内でジョブステップ名だけを指定した場合，CALL要素で呼び出したときのジョブステップ名を使用して「ジョブステップ名.プロシジャステップ名」と解釈する。このため，同一カタログドプロシジャを複数回呼び出す場合は，それぞれのCALL要素で呼び出したときのジョブステップ名はジョブ内で固有にする必要がある。固有でない場合は同一の「ジョブステップ名.プロシジャステップ名」が複数存在するため，先頭のジョブステップの情報を参照することになる。

省略

判定対象を省略した場合，直前のジョブステップを判定対象にする。

判定対象のジョブステップが実行されていない場合，そのジョブステップのリターンコードは0，かつ異常終了しなかったと仮定して処理する。

判定方法がEXおよびNXのときは*または?は指定できない。

演算符号　〜{EQ｜NE｜GT｜GE｜LT｜LE｜EX｜NX｜AB｜NA}

判定方法を指定する。

EQ：ジョブステップのリターンコード＝OP属性で指定したリターンコード

NE：ジョブステップのリターンコード≠OP属性で指定したリターンコード

GT：ジョブステップのリターンコード>OP属性で指定したリターンコード

GE：ジョブステップのリターンコード>=OP属性で指定したリターンコード

LT：ジョブステップのリターンコード<OP属性で指定したリターンコード

LE：ジョブステップのリターンコード<=OP属性で指定したリターンコード

EX：指定したジョブステップを実行した。

NX：指定したジョブステップを実行していない。

AB：ジョブステップが異常終了した。

NA：ジョブステップが異常終了しなかった。

リターンコード　〜＜符号なし整数＞((0〜255))

比較するリターンコード値を指定する。

演算符号がEX，NX，AB，NAのどれかのとき，この指定は無視される。

注意事項

SETSYMBOL，REPLACEまたはREPLACESTEPの置き換えの対象外である。

論理積"AND"または論理和"OR"のあとにNOTを指定した条件を記述する場合，NOTを指定した条件は次に示すように括弧"(　)"で囲わなければならない。

（例1）正しい記述方法の例

<IF OP="(STEP01,LE,1)AND(NOT(STEP02,EQ,2) )"/>

（例2）誤った記述方法の例

<IF OP="( STEP01,LE,1)AND NOT(STEP02,EQ,2) "/>

次の例に示すような矛盾する条件式を記述しても，シンタクス上のエラーがない場合は判定を実施し，処理を続行する。

（例）矛盾した条件指定の例

<IF OP="(STEP01,EX,)AND(STEP01,NX,)"/>・・・STEP01を実行した，かつSTEP01を実行していない。

通常，先行するジョブステップが異常終了すると，判定条件が成立していても後続のジョブステップはスキップされる。ただし，演算符号がABおよびNAのIF要素内およびそれに対応するELSE要素内のすべてのジョブステップは，判定条件が成立していれば実行される。判定条件によるジョブステップの動作例を次に示す。

判定条件によるジョブステップの動作例

使用例

IF要素を使用した例については，「3.7.2　ジョブステップの実行制御の使用例」を参照のこと。

JOB要素（ジョブの属性と終了条件の定義）

形式

NAME="ジョブ名"
[COND="[(]条件コード,演算符号[)] [,(条件コード,演算符号)]+"]
[MSGCLASS="クラス名"]
[STDOUTCLASS="クラス名"]
[STDERRCLASS="クラス名"]

機能

ジョブの初期値となる属性と終了条件を定義する。

ジョブ要素内には，次に示す順番で要素を含めることができる。要素の順番が適切でない場合，ジョブは実行されずにエラーとなる。

JOBPARM要素

1回だけ記述，または省略できる。

PERMISSION要素

1回だけ記述，または省略できる。

DD要素または，SETENV要素

複数回記述，または省略できる。

DD要素は，NAME属性がJOBLIB，およびTYPE属性がLIBであるDD要素を記述できる。

PROC要素

複数回記述，または省略できる。

STEP要素とSETMAXRC要素の繰り返し

複数回記述する。ただし，SETMAXRC要素は省略できる。

IF，ELSEおよびENDIF要素

SETMAXRC要素の次に記述，または省略できる。

属性

NAME="ジョブ名"　〜＜記号名称＞((1〜31文字))

ジョブを識別するためのジョブ名を指定する。

COND="[(]条件コード,演算符号[)] [,(条件コード,演算符号)]+"

ジョブステップの終了コードによって，ジョブの実行を打ち切る条件を指定する。

条件コード　〜＜符号なし整数＞((0〜255))

ジョブステップの終了コードと比較するしきい値を指定する。1つでも条件を満たすとジョブは終了し，後続ジョブステップを実行しない。

演算符号　〜(({EQ｜NE｜GT｜GE｜LT｜LE}))

演算符号の意味を次に示す。

EQ：しきい値は終了コードと等しい。

NE：しきい値は終了コードと等しくない。

GT：しきい値は終了コードより大きい。

GE：しきい値は終了コードより大きいか等しい。

LT：しきい値は終了コードより小さい。

LE：しきい値は終了コードより小さいか等しい。

MSGCLASS="クラス名"　〜＜記号名称＞((1〜31文字))

ジョブログやシステムから出力されるメッセージの出力クラスを指定する。また，DD要素でSYSOUT="＊"を指定した場合の出力クラスになる。省略した場合，またはジョブ定義XMLファイルにエラーがあり，この属性を正しく解析できなかった場合，MSGCLASS_DEFAULTパラメータで指定されたクラスになる。

STDOUTCLASS="クラス名"　〜＜記号名称＞((1〜31文字))

EXEC要素のSTDOUTCLASS属性を省略した場合のユーザプログラムの標準出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は，設定ファイルのSTDOUTCLASS_DEFAULTパラメータを仮定する。

出力クラス名をSysoutClassパラメータで定義していない場合は，KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

STDERRCLASS="クラス名"　〜＜記号名称＞((1〜31文字))

EXEC要素のSTDERRCLASS属性を省略した場合のユーザプログラムの標準エラー出力を格納するファイルの出力クラスを指定する。この属性を省略した場合は，設定ファイルのSTDOUTCLASS_DEFAULTパラメータを仮定する。

出力クラス名をSysoutClassパラメータで定義していない場合は，KAKC1124-Eメッセージを出力してジョブ定義XMLファイルエラーとなる。

注意事項

COND属性での条件パラメータは8つまで指定できる。条件パラメータを1つだけ指定する場合は，外側の括弧"(　)"を省略できる。

JOB要素とEXEC要素の両方でCOND属性を指定した場合，JOB要素で指定した条件を満たすと，EXEC要素で指定した条件を満たさないときも，後続のジョブステップを実行しない。

使用例

JOB要素の直下に指定できるすべての要素を指定したジョブの例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version = "1.3" os="unix" >
  <JOB NAME="JOB1" COND="0,LT" MSGCLASS="A">
    <JOBPARM FCB="FCB1"/>
    <PERMISSION FILE="755"/>
    <DD NAME="JOBLIB" TYPE="LIB" DSN="DIR1" DISP="SHR"/>
    <DD NAME="JOBLIB" TYPE="LIB" DSN="DIR2" DISP="SHR"/>
    <SETENV NAME="ENV1" VALUE="VALUE1"/>
    <SETENV NAME="ENV2" VALUE="VALUE2"/>
    <PROC NAME="PROC1">
      <STEP>
        <EXEC PGM="PROG1"/>
      </STEP>
    </PROC>
    <PROC NAME="PROC2">
      <STEP>
        <EXEC PGM="PROG2"/>
      </STEP>
    </PROC>
    <STEP NAME="STEP1">
      <EXEC PGM="PROG2"/>
    </STEP>
    <STEP NAME="STEP2">
       <CALL NAME="PROC1"/>
       <DD NAME="DD2" TYPE="FILE" DSN="DSN1" DISP="NEW,DELETE"/>
    </STEP>
    <SETMAXRC VALUE="0"/>
    <STEP NAME="STEP3">
       <EXEC PGM="PROG3"/>
       <DD NAME="DD3" TYPE="SYSOUT" SYSOUT="A"/>
    </STEP>
  </JOB>
</HitachiBatchJobExec>

JOBPARM要素（ジョブ単位の制御情報の定義）

形式

[FCB="FCB識別子"]
[FORMS="書式番号"]
[PROCLIB="プロシジャグループ名"]
[ROOM="仕分け番号"]

機能

ジョブ単位の制御情報を定義する。

属性

FCB="FCB識別子"　〜＜記号名称＞((1〜4文字))

JOB要素内の各DD要素のFCB属性値に，FCB名の指定がない場合のFCB名を指定する。

FORMS="書式番号"　〜＜記号名称＞((1〜4文字))

JOB要素内の各DD要素のSYSOUT属性値に書式番号指定がない場合に与える初期値の書式番号を指定する。

PROCLIB="プロシジャグループ名"　〜＜記号名称＞((1〜31文字))

使用するプロシジャライブラリのグループ名を指定する。

使用されるカタログドプロシジャは，設定ファイルで指定したカタログドプロシジャのプロシジャグループの定義に従う。この指定がない場合，デフォルトのグループ名なしのプロシジャグループを使用するか，PROCGROUP_QUEUENAMEパラメータでYESを指定した場合には，JP1/AJSのキュー名からプロシジャグループ名を決定する。

定義したグループが設定ファイルに定義されていない場合は，デフォルトのグループを仮定する。

ROOM="仕分け番号"　〜＜記号名称＞((1〜4文字))

PDEで使用する仕分け番号を指定する。

注意事項

JOBPARM要素は，JOB要素内に指定すること。

使用例

ジョブの仮定値としてFCB名をFCB1，仕分け番号を1とする場合の使用例を次に示す。

：
<JOB NAME="DBJNL">
<JOBPARM FCB="FCB1" ROOM="1"/>
：

PERMISSION要素（ファイルまたはディレクトリのパーミションの定義）

形式

[DIR="ディレクトリのパーミッション"]
[FILE="ファイルのパーミッション"]

機能

新規作成するファイル，ジョブ間PRESTファイル，またはディレクトリのパーミッションを定義する。この要素を指定しない場合は，設定ファイルのPERMISSION_DIRパラメータおよびPERMISSION_FILEパラメータの指定に従う。DD要素のFPERM属性を指定した場合は，その指定が有効になる。

属性

DIR="ディレクトリのパーミッション"　〜＜8進数＞((0〜1777))

新規作成するディレクトリのパーミッションを指定する。指定方法はchmodコマンドに従う。

FILE="ファイルのパーミッション"　〜＜8進数＞((0〜777))

新規作成するファイルまたはジョブ間PRESTファイルのパーミッションを指定する。指定方法はchmodコマンドに従う。

注意事項

PERMISSION要素は，次に示す場合は有効とならない。

新規作成以外のファイル

一時ファイル

一時ISAMファイル

ジョブログ

SYSOUT

ジョブステップ間PRESTファイル

使用例

ジョブが作成する新規ファイルの権限の仮定値として，ファイルには644，ディレクトリには750の属性を設定する場合の使用例を次に示す。

：
<JOB NAME="SAMPLE" >
<PERMISSION FILE="644" DIR="750" />
：

PROC要素（プロシジャの定義）

形式

NAME="プロシジャ名"

機能

プロシジャを定義する。プロシジャは，頻繁に使用する一連の要素を毎回指定することの手間を省くことと，要素記述量を減少させて誤りを少なくするために用いる。CALL要素のNAME属性値にプロシジャ名を指定することによって内容が展開され，展開された内容が指定したものと同等に扱われる。

PROC要素内には，次に示す順番で要素を含めることができる。

SYMBOL要素

複数回記述，または省略できる。

STEP要素

1回以上記述する。

SETMAXRC要素

STEP要素の次に記述，または省略できる。

IF，ELSEおよびENDIF要素

SETMAXRC要素の次に記述，または省略できる。

属性

NAME="プロシジャ名"　〜＜記号名称＞((1〜31文字))

定義するカタログドプロシジャまたは入力ストリームプロシジャのプロシジャ名を指定する。

注意事項

カタログドプロシジャの場合は，同一ファイル内にPROC要素を1つだけ指定し，JOB要素は指定しない。PROC要素は，HitachiBatchJobExec要素内に指定する。

入力ストリームプロシジャの場合は，PROC要素を複数指定できる。この場合，PROC要素をJOB要素中の最初のSTEP要素より前に指定する。ただし，同じNAME属性でPROC要素を複数指定しないこと。

JOB要素がない場合，PROC要素を複数指定するとエラーとなる。

バッチジョブ実行システムは，REPLACE要素を適用したあとでプロシジャを解析する。例えば，DSN属性として*.OLDSTEP.DDNAMEを指定したDD要素に対して，REPLACE要素でDSN属性を*.NEWSTEP.DDNAMEに置き換えている場合，バッチジョブ実行システムはDSN属性部分を*.NEWSTEP.DDNAMEに置き換えてからプロシジャを解析する。

使用例

プログラムPROG1をカタログドプロシジャとして定義する場合の使用例を次に示す。

<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
   <PROC NAME="ASMCG">
   <STEP NAME="STEP">
   <EXEC PGM="PROG1" />
   </STEP>
   </PROC>
</HitachiBatchJobExec>

REPLACE要素（DD要素またはEXEC要素の属性の変更内容の定義）

機能

カタログドプロシジャまたは入出力ストリームプロシジャ内の先頭ジョブステップのDD要素，EXEC要素内の属性の追加，変更，または削除をする場合，変更内容を定義する。

REPLACE要素内には，次に示す順番で要素を含めることができる。

EXEC要素

1回だけ記述，または省略できる。

DD要素

複数回記述できる。または省略できる。

REPLACESTEP要素

複数回記述できる。または省略できる。

属性

なし。

注意事項

EXEC/DD要素内の属性値の置換

REPLACE要素内に，置き換えするEXEC/DD要素と，置き換えする属性を記述する。プロシジャ内の先頭ジョブステップ以外のジョブステップを置き換えする場合は，REPLACESTEP要素を利用する。EXEC要素のPGM属性およびDD要素のNAME属性は置き換えできない。

EXEC/DD要素内の属性値の追加

PROC要素内のEXEC/DD要素内に，属性として定義されていない属性を追加する場合は，置き換えと同様に，追加するEXEC/DD要素と属性を記述する。REPLACE要素内に，EXEC/DD要素を追加した場合，プロシジャ内の先頭のジョブステップに対して追加する。

EXEC/DD要素内の属性値の削除

PROC要素内のEXEC/DD要素内に属性として定義されている属性を削除する場合は，削除するEXEC/DD要素と属性を記述し，その属性値をNULLとする。REPLACE要素内にEXEC/DD要素を記述した場合，プロシジャ内の先頭のジョブステップに対して削除する。DD要素自体を削除する場合，TYPE属性にDUMMYを指定する。

使用例

カタログドプロシジャUTILITYの，DD名がSYSPRINTのDD要素の出力先を/opt/var/sysoutに変更する場合の使用例を次に示す。

：
<CALL NAME="UTILITY">
   <REPLACE>
      <DD NAME="SYSPRINT" TYPE="FILE" DSN="/opt/var/sysout"/>
   </REPLACE>
</CALL>

REPLACESTEP要素（DD要素またはEXEC要素の属性を変更対象とするジョブステップの定義）

形式

NAME="ジョブステップ名"

機能

カタログドプロシジャまたは入出力ストリームプロシジャ内のDD要素，EXEC要素内の属性の追加，変更，または削除をする場合，その対象となるジョブステップを定義する。

REPLACESTEP要素内には，次に示す順番で要素を含めることができる。

EXEC要素

1回だけ記述，または省略できる。

DD要素

複数回記述できる。または省略できる。

属性

NAME="ジョブステップ名"　〜＜記号名称＞((1〜31文字))

属性の追加，変更，または削除をするジョブステップ名を指定する。

注意事項

EXEC要素のPGM属性およびDD要素のNAME属性は置き換えできない。

バッチジョブ実行システムは，REPLACESTEP要素を適用したあとでプロシジャを解析する。例えば，ジョブステップ名としてOLDSTEPを指定したCOND属性に対して，REPLACESTEP要素でジョブステップ名部分をNEWSTEPに置き換えている場合，バッチジョブ実行システムはジョブステップ名部分をNEWSTEPに置き換えてからCOND属性を解析する。

使用例

カタログドプロシジャUTILITYのSTEP1にあるEXEC要素のPARM属性を削除する場合の使用例を次に示す。

：
<CALL NAME="UTILITY">
<REPLACE>
   <REPLACESTEP NAME="STEP1">
      <EXEC PARM="" />
   </REPLACESTEP>
</REPLACE>
</CALL>

SETENV要素（環境変数の定義）

形式

NAME="環境変数名"
VALUE="環境変数設定値"

機能

環境変数を定義する。

属性

NAME="環境変数名"　〜＜環境変数名＞((1〜255文字))

設定する環境変数名を指定する。

VALUE="環境変数設定値"　〜＜任意文字列＞((0〜1023文字))

環境変数に設定する値を指定する。

注意事項

同一のJOBまたはSTEP要素内には，SETENV要素を255個まで指定できる。

同一のJOBまたはSTEP要素内には，NAME属性値が同じSETENV要素を複数指定しないこと。

SETENV要素をJOB要素内のSTEP要素外に指定した場合，その環境変数はジョブ全体で有効となる。

SETENV要素をSTEP要素内に指定した場合，その環境変数はそのジョブステップ内でだけ有効となる。

CALL要素を定義したジョブステップ内に，SETENV要素を定義しても，そのSETENV要素は無視する。

使用例

環境変数MAILに/usr/spool/mail/userを設定する場合の使用例を次に示す。

：
<SETENV NAME="MAIL" VALUE="/usr/spool/mail/user"/>
：

SETENVFILE要素（環境変数格納ファイルの定義）

形式

DDNAME="環境変数格納ファイルを定義しているDD要素のDD名"

機能

環境変数格納ファイルを定義する。

属性

DDNAME="環境変数格納ファイルを定義しているDD要素のDD名"　〜<環境変数名>((1〜31文字))

環境変数格納ファイルを定義しているDD要素のDD名を指定する。

同一STEP要素内に複数のSETENVFILE要素を指定した場合，指定した順に環境変数を設定する。

なお，同じ環境変数名を複数指定している場合，最後に指定した環境変数値が設定される。

また，DD名で示される環境変数格納ファイルが連結されている場合，ファイルの連結順に環境変数が設定される。

環境変数格納ファイルとして世代データ群名を指定した場合，指定した世代群に登録されているすべての世代ファイルが連結されて，環境変数が設定される。

注意事項

同一のSTEP要素内には，SETENVFILE要素を複数指定できる。

同一のSTEP要素内に，DDNAME属性値が同じSETENVFILE要素を複数指定した場合，最後に指定したSETENVFILE要素が有効となる。

SETENVFILE要素で指定したDD名を持つDD要素が見つからない場合，XML解析時にエラーとなる。

CALL要素を定義したジョブステップ内にSETENVFILE要素を定義しても，そのSETENVFILE要素は無視する。

同一のSTEP要素内に，SETENV要素と共に指定した場合，SETENV要素は指定したジョブステップ内だけ有効となり，後続ジョブステップには有効とならない。

使用例

環境変数格納ファイルをDD名"ENVFILE"で指定する場合の使用例を次に示す。

：
<DD NAME="ENVFILE" TYPE="FILE" DSN="Envvarfile" DISP="SHR" />
<SETENVFILE DDNAME="ENVFILE" />
：

SETMAXRC要素（ジョブステップの終了コードの最大値，または最終ジョブステップの終了コードの変更）

形式

VALUE="最大終了コード"

機能

設定ファイルのJOB_RCDEFINEパラメータがSTEPMAXの場合

ジョブの途中で，ジョブコントローラの終了コードであるジョブステップの終了コードの最大値を変更する。

設定ファイルのJOB_RCDEFINEパラメータがSTEPLASTの場合

ジョブコントローラの終了コードである最後に実行完了したメインステップの終了コードを変更する。

SETMAXRC要素は，先行ジョブステップの終了コードを無視したい場合や，JP1/AJSのジョブ終了判定で，しきい値による判定をしたい場合などに指定する。

属性

VALUE="最大終了コード"　〜＜符号なし整数＞((0〜255))

設定ファイルのJOB_RCDEFINEパラメータがSTEPMAXの場合

先行ジョブステップの終了コードの最大値を指定する。

設定ファイルのJOB_RCDEFINEパラメータがSTEPLASTの場合

最終ジョブステップの終了コードを変更する。

注意事項

SETMAXRC要素は，STEP要素のあとに記述する。SETMAXRC要素の直前のジョブステップ終了後，終了コードの最大値を変更する。

SETMAXRC要素の直前のジョブステップをCOND属性の条件でスキップした場合であっても，終了コードの最大値を変更する。IF要素でスキップした場合は終了コードの最大値は変更しない。

SETMAXRC要素で指定した終了コードは，COND属性およびIF要素の判定では使用しない。

設定ファイルのJOB_RCDEFINEパラメータにSTEPLASTを指定した場合，最後に実行完了したジョブステップの直後に指定したSETMAXRC要素だけが有効となる。その他のSETMAXRC要素は，ジョブステップの終了コードの最大値を書き換えたことを示すKAKC1909-Iメッセージは出力されるが，ジョブの終了コードには影響を与えない。

JSPEC機能を用いてジョブステップを並列実行する場合，SETMAXRC要素はメインステップの直後に指定すること。複数のサブステップの直後にSETMAXRC要素を指定した場合，最終的にどのSETMAXRC要素の指定が有効になるかはサブステップの終了順序に依存し，最後に完了したサブステップの直後に指定したSETMAXRC要素が有効になる。

使用例

SETMAXRC要素で先行ジョブステップの終了コードを無視する場合の使用例を次に示す。

SETMAXRC要素より先に記述したジョブステップSTEP01，およびSTEP02の終了コードがどのような値であっても，ジョブステップの終了コードの最大値を0に変更する。STEP01またはSTEP02の終了コードが，STEP03の終了コードより大きい場合であっても，STEP03の終了コードがジョブの終了コードとなる。

<STEP NAME="STEP01" >
：
</STEP>
<STEP NAME="STEP02" >
：
</STEP>
<SETMAXRC VALUE="0" />
<STEP NAME="STEP03" >
：
</STEP>

SETSYMBOL要素（記号パラメータの値の定義）

形式

NAME="記号パラメータ名"
VALUE="記号パラメータ設定値"

機能

カタログドプロシジャまたは入力ストリームプロシジャ中で定義した記号パラメータに値を定義する。PROC要素内の記号パラメータ（"#｛記号パラメータ名｝"）がある場合，記号パラメータ名が一致するSYMBOL要素内のVALUE属性値で置き換える。置き換えができるのは，EXEC要素とDD要素およびSETENV要素の中の属性値（""で囲まれている中）である。ただし，EXEC要素のPGM属性とDD要素のNAME属性およびSETENV要素のNAME属性は置き換えできない。

属性

NAME="記号パラメータ名"　〜＜記号名称＞((1〜31文字))

値を設定する記号パラメータ名を指定する。

VALUE="記号パラメータ設定値"　〜＜任意文字列＞((0〜255文字))

記号パラメータに設定する値を指定する。

注意事項

プロシジャ中の要素の属性値に，記号パラメータの記述目的以外で「#{…}」，または「#{}｝」は記述できない。

同一CALL要素内に，NAME属性値が同じSETSYMBOL要素を複数指定した場合，最後に指定したVALUE属性値が有効となる。

使用例

カタログドプロシジャの呼び出し時にPARM1を置き換える場合の使用例を次に示す。

<CALL NAME="ASMCG" >
<SETSYMBOL NAME="PARM1" VALUE="/home/user1/"/>
</CALL>

STEP要素（ジョブステップの定義）

形式

[NAME="ジョブステップ名"]

機能

実行するプログラムまたは呼び出すプロシジャを定義するとともに，これらを実行する場合の各要素の開始を定義する。

STEP要素内には，次に示す順番で要素を含めることができる。

EXEC要素，またはCALL要素

必ずどちらか一方を指定する。

DD要素，SETENV要素，またはSETENVFILE要素

複数回記述，または省略できる。ただし，このジョブステップ内にCALL要素を指定した場合は，DD要素，SETENV要素，またはSETENVFILE要素を指定しても無視する。

属性

NAME="ジョブステップ名"　〜＜記号名称＞((1〜31文字))

該当するジョブステップ名を指定する。

注意事項

STEP要素は，JOB要素内またはPROC要素内に指定すること。

同一JOB要素内には，STEP要素を255個まで指定できる。ただし，STEP要素内にCALL要素がある場合は，そのSTEP要素は含めずに代わりにCALL要素のNAME属性が示すプロシジャ内のSTEP要素数を含める必要がある。

使用例

ジョブステップ名にSTEP01というジョブステップを定義する場合の使用例を次に示す。

<STEP NAME="STEP01" >
：
</STEP>

SYMBOL要素（記号パラメータの定義）

形式

NAME="記号パラメータ名"
[VALUE="記号パラメータ値"]

機能

PROC要素のプロシジャ内の記号パラメータに省略時の値を定義する。

置き換えができるのは，EXEC要素，DD要素およびSETENV要素の中の属性値（""で囲まれている中）である。ただし，EXEC要素のPGM属性とDD要素およびSETENV要素のNAME属性は置き換えできない。

属性

NAME="記号パラメータ名"　〜＜記号名称＞((1〜31文字))

プロシジャ内のSYMBOL要素以外の要素・要素の内容に現れる記号パラメータの先頭の「#{」と末尾の「}」とを取ったものである。記号パラメータをプロシジャ中のEXEC要素やDD要素中で定義するとき，記号パラメータの前に「#{」を，あとに「}」を付けて指定する。

例　#{ABC}

なお，XML中に記号パラメータの記述目的以外で「#{…}」または「#{}｝」は記述できない。

VALUE="記号パラメータ値"　〜＜任意文字列＞((0〜255文字))《NULL》

PROC要素内にSYMBOL要素を指定した場合，プロシジャ中に現れる"#{記号パラメータ}"と置き換える文字列の省略値を指定する。

注意事項

SYMBOL要素は，PROC要素内に255個まで指定できる。

同一PROC要素内にNAME属性値が同じSYMBOL要素を複数指定した場合，最初に指定したVALUE属性値が有効となる。

使用例

カタログドプロシジャPARMの記号パラメータPARM1の仮定値を，/USER/SYS1/と定義する場合の使用例を次に示す。

<PROC NAME="PARM">
   <SYMBOL NAME="PARM1" VALUE="/USER/SYS1/" />
   <STEP NAME="CHANGE">
      <EXEC PGM="COPY" PARM="#{PARM1}DATA" />
   </STEP>
</PROC>

10　メッセージと終了コード

この章では，バッチジョブ実行システムが出力するメッセージおよび終了コードについて説明する。

10.1　メッセージの形式

10.1.1　メッセージの出力形式

出力するメッセージの形式を次に示す。

KAKCnnnn-t メッセージテキスト
KAKDnnnn-t メッセージテキスト

KAKCおよびKAKD

バッチジョブ実行システムのメッセージであることを示す。

nnnn

メッセージ番号を示す。

t

タイプコードを次の表に示す。メッセージに対する処置の指標を示すものであり，次に示す種類がある。

表10‒1　タイプコード

タイプコード

種類

意味

E

エラー（Error）

各ライブラリ，コマンド，サーバの機能が働かない障害が起きたことを示す。

定義誤り，コマンドのオペランド指定誤りによって，動作できないことを示す。

W

警告（Warning）

メッセージ出力後，処理は続けられる。

I

情報（Information）

ユーザに情報を知らせる。

なお，ジョブログに出力するメッセージには時刻・ジョブ識別子を与える。詳細については，「3.1.3(2)　ジョブログ出力機能」を参照のこと。

10.1.2　メッセージの記載形式

出力するメッセージの記載形式を次に示す。

英語メッセージテキストは，標準出力，標準エラー出力，JOBLOG，SYSMSG，または実行ログに出力するメッセージテキストを示す。JP1イベント日本語メッセージテキストは，JP1イベントで送るメッセージテキストを示す。メッセージテキストは，メッセージの出力先によって英語メッセージテキストとJP1イベント日本語メッセージテキストの両方を記載している場合と，どちらか一方だけを記載している場合がある。

メッセージテキスト中のゴシックで書かれている部分は，表示内容が変わる個所を示す。

メッセージはメッセージID順に記載している。記載形式の例を次に示す。

メッセージID

英語メッセージテキスト

JP1イベント日本語メッセージテキスト

メッセージの説明文

(Ｓ)システムの処置を示す。

(Ｏ)メッセージが出力された場合に，オペレーターの取る処置を示す。

10.1.3　メッセージ番号の割り当て

(1)　KAKCで始まるメッセージ番号の割り当て

KAKCで始まるメッセージ番号の割り当てを次の表に示す。

表10‒2　KAKCで始まるメッセージ番号の割り当て

メッセージ番号

用途および内容

0001〜0299

基本稼働情報

0300〜0399

コマンド引数関連メッセージ

0400〜0699

初期設定ファイル関連メッセージ

0700〜0899

ジョブログファイル関連メッセージ

0900〜1099

XMLパーサ関連メッセージ

1100〜1599

ジョブ定義XMLファイル文法関連メッセージ

1600〜1899

アロケータ関連メッセージ

1900〜2199

ジョブステッププロセス実行関連メッセージ

2200〜2499

メッセージ処理関連メッセージ

3000〜3999

スプールジョブ転送デーモン関連メッセージ

4000〜4199

世代コマンド関連メッセージ

4200〜4599

スプールジョブ管理コマンドメッセージ

5000〜5199

メッセージ制御ライブラリメッセージ

8000〜8999

トレース用

(2)　KAKDで始まるメッセージ番号の割り当て

KAKDで始まるメッセージ番号の割り当てを次の表に示す。

表10‒3　KAKDで始まるメッセージ番号の割り当て

メッセージ番号

用途および内容

1000〜1499

bjexu_pcopy関連メッセージ

2000〜2499

bjexu_scopy関連メッセージ

3000〜3499

bjexu_ismutおよびbjexu_ismut64関連メッセージ

10.1.4　システム管理者への指示

運用中にトラブルが発生した場合には，「6.　障害対策」を参照してログ情報を採取し，初期調査をすること。

トラブル要因の初期調査をする場合は，OSのログ情報（UNIXの場合はsyslogなど）や，バッチジョブ実行システムおよびJP1が出力する各種ログ情報を参照する。これらのログ情報でトラブル発生時間帯の内容を参照して，トラブルの回避および対処をすること。

トラブルが発生するまでの操作方法などは記録しておき，同時にできるだけ再現性の有無を確認すること。

【Linux限定】

トラブル要因の初期調査が迅速に行えるように適切なcore出力設定をすること。

10.1.5　メッセージの出力

設定ファイルの同一行，およびジョブ定義XMLファイルの同一要素に，複数の誤りがある場合，KAKC0432-Eメッセージなど，文法エラーを示す同一メッセージIDのメッセージを複数出力することがある。

10.2　メッセージの出力先一覧

バッチジョブ実行システムが出力する各メッセージの出力先一覧を次に示す。

10.2.1　KAKCで始まるメッセージの出力先一覧

KAKCで始まるメッセージの出力先一覧を次の表に示す。

表10‒4　KAKCで始まるメッセージの出力先一覧

メッセージIDの範囲

stdout

stderr

JOBLOG

SYSMSG

実行ログ

JP1

KAKC0001-E

−

○

○

○

○

−

KAKC0002-W，KAKC0003-W

−

○

−

−

−

−

KAKC0004-I

−

−

−

−

○

−

KAKC0005-E

−

○※5

○※5

○※5

○※5

−

KAKC0006-E〜KAKC0012-E

−

○

−

−

○

−

KAKC0013-E

−

−

−

−

−

○

KAKC0060-E

−

○

−

−

−

−

KAKC0080-I

−

○

−

−

○

−

KAKC0090-I

−

○

−

−

−

−

KAKC0091-I，KAKC0092-I

−

−

○

−

○

○

KAKC0093-E〜KAKC0095-E

−

○

−

−

−

−

KAKC0096-E〜KAKC0098-I

−

○

○

−

○

○

KAKC0099-I

−

○

−

−

−

−

KAKC0100-E

−

−

−

−

−

○

KAKC0101-E

−

○

○

−

○

○

KAKC0103-E，KAKC0105-E

−

○

−

−

−

−

KAKC0110-E，KAKC0112-I

−

○

○

−

○

−

KAKC0199-E〜KAKC0202-E

−

○

−

−

○※1

−

KAKC0210-E〜KAKC0238-E

−

○

−

−

○

−

KAKC0299-E

−

○

○

○

○

−

KAKC0300-I〜KAKC0702-E

−

○

−

−

−

−

KAKC0703-E

−

○

−

−

○

−

KAKC0704-E〜KAKC0706-E

−

○

−

−

−

−

KAKC0707-I

−

−

−

○

−

−

KAKC0709-E〜KAKC0712-E

−

−

−

○

○

−

KAKC0719-I〜KAKC0724-I

−

○

−

−

−

−

KAKC0730-E

−

○

−

−

○

−

KAKC0800-E〜KAKC0802-E

−

○

−

−

−

−

KAKC0803-E

−

○

−

○

○

−

KAKC0804-E

−

○

−

−

−

−

KAKC0805-E

−

○

−

○

○

−

KAKC0900-I〜KAKC1625-E

−

−

−

○

−

−

KAKC1626-E，KAKC1627-I

−

○※5

−

○※5

−

−

KAKC1628-E〜KAKC1648-E

−

−

−

○

−

−

KAKC1650-W〜KAKC1655-I

−

○

○

−

○

○

KAKC1660-E〜KAKC1691-E

−

−

−

○

−

−

KAKC1717-E〜KAKC1719-E

−

○

−

−

−

−

KAKC1720-E〜KAKC1723-E

−

○

−

○※1

○※1

−

KAKC1724-E，KAKC1725-E

−

○

−

○

○

−

KAKC1726-E

−

○

○

○

○

−

KAKC1727-E

−

○

○

−

○

−

KAKC1728-E

−

○

−

○

○

−

KAKC1729-E

−

○

○

−

○

−

KAKC1731-E〜KAKC1734-E

−

○

−

○

○

−

KAKC1800-I，KAKC1801-E

−

−

−

○

−

−

KAKC1900-E，KAKC1901-E

−

○※2

−

−

○

−

KAKC1902-W〜KAKC1905-E

−

○

○

−

○

−

KAKC1906-I〜KAKC1911-E

−

−

○

−

○

−

KAKC1912-W

−

−

−

−

○

−

KAKC1915-I〜KAKC1922-E

−

−

○

−

○

−

KAKC1923-W

−

○

○

−

○

−

KAKC1932-I

−

−

○

−

−

−

KAKC1942-W，KAKC1943-W

−

○

○

−

○

−

KAKC1950-E，KAKC1951-E

−

○

−

−

○

−

KAKC2201-E〜KAKC2205-E

−

○

−

−

○

−

KAKC2206-E

−

○

−

−

−

−

KAKC2207-E

−

○

−

−

○

−

KAKC2208-E，KAKC2209-E

−

○※7

−※7

−

−

−

KAKC2211-E

−

○※7

−※7

−

−

−

KAKC2213-E

−

○※7

−※7

−

−

−

KAKC2214-E

−

○

−

−

○

−

KAKC2215-E

−

○※7

−※7

○※7

−

−

KAKC2300-E

−

○

−

−

−

−

KAKC2301-E〜KAKC2499-E

−

○

−

−

○

−

KAKC3000-I

○

○

−

−

○

○

KAKC3001-I

−

○

−

−

○

○

KAKC3002-E

○

○

−

−

○

○

KAKC3003-E

−

○

−

−

○

○

KAKC3004-E

−

−

−

−

○

○

KAKC3006-I

−

○

−

−

○

−

KAKC3007-W〜KAKC3009-E

○

○

−

−

○

−

KAKC3010-I〜KAKC3019-E

−

−

−

−

○

−

KAKC3020-E〜KAKC3027-E

−

○

−

−

○

−

KAKC3028-E

−

−

−

−

○

−

KAKC3029-E，KAKC3099-E

−

○

−

−

○

−

KAKC3031-E

−

○

−

−

○

○

KAKC3120-E〜KAKC3129-E

−

−

−

−

○

−

KAKC3130-I

−

−

−

−

○

○

KAKC3199-E

−

−

−

−

○

−

KAKC3204-I

−

−

−

−

○

○

KAKC3220-E〜KAKC3261-I

−

−

−

−

○

−

KAKC3400-I，KAKC3402-E

○

○

−

−

−

−

KAKC3412-E

−

−

−

−

−

○

KAKC3415-E，KAKC3416-E

−

○

−

−

−

−

KAKC3508-I

−

−

−

−

○

○

KAKC3522-E，KAKC3542-W

−

○

−

−

○

−

KAKC3543-E，KAKC3544-E

−

○

−

−

○

−

KAKC3602-E

○

○

−

−

○

−

KAKC3700-I〜KAKC3799-I

○

−

−

−

−

−

KAKC3820-E〜KAKC3999-E

−

○

−

−

−

−

KAKC4000-E〜KAKC4005-E

−

−

−

○

○

−

KAKC4010-I，KAKC4011-I

−

○

−

−

−

−

KAKC4020-E，KAKC4021-E

−

○

−

○

○

−

KAKC4022-E，KAKC4023-E

−

○

−

−

−

−

KAKC4024-E〜KAKC4026-E

−

−

−

○

○

−

KAKC4050-E〜KAKC4075-E

−

○

−

○

○

−

KAKC4076-E〜KAKC4599-E

−

○

−

−

−

−

KAKC4600-I

○

−

−

−

−

−

KAKC4624-E

−

○

−

−

−

−

KAKC5000-E

−

−

○

−

○

−

KAKC5001-I

−

−

○

−

○

○※6

KAKC5002-I，KAKC5003-I

−

−

−

−

○

−

KAKC5005-E

−

−

○

−

○

−

KAKC5006-E

−

−

○

○

−

−

KAKC5008-I

−

−

−

−

○

○

KAKC5009-E，KAKC5010-E

−

−

−

−

○

−

KAKC5011-E

−

−

○

−

○

−

KAKC5012-I，KAKC5013-I

−

−

○

○

○

−

KAKC5014-I

−

−

−

−

○

−

KAKC5015-E

−

−

○

−

○

−

KAKC5016-I

−

−

−

−

○

−

KAKC5017-E

−

−

○

−

○

−

KAKC5018-I

−

−

−

−

○

−

KAKC5019-E，KAKC5020-E

−

−

○

−

○

−

KAKC5021-E

−

−

○

−

−

−

KAKC5100-I〜KAKC5102-E

○

−

−

−

−

−

KAKC5205-E

−

○

−

−

−

−

KAKC5208-E

−

−

−

−

−

○

KAKC5309-E，KAKC5323-E

○

−

−

−

○

○※3

KAKC5362-E，KAKC5370-I

○

−

−

−

−

○※4

KAKC5371-E

○

−

−

−

○

○※4

KAKC5372-E

○

−

−

−

○

○※3

KAKC5380-I，KAKC5381-I

−

−

−

−

○

−

KAKC5390-I〜KAKC5399-E

○

−

−

−

−

○※4

KAKC5407-E

−

○

−

−

−

−

KAKC5408-I

−

−

−

−

−

○

KAKC5409-E〜KAKC5499-E

−

○

−

−

−

−

（凡例）

stdout：標準出力を示す。

stderr：標準エラー出力を示す。

JOBLOG：ジョブログを示す。

SYSMSG：システムメッセージを示す。

実行ログ：ログを示す。

JP1：JP1イベントを示す。

○：出力する。

−：出力しない。

注※1　コマンド実行時は出力しない。

注※2　ジョブステップごとの標準エラーに出力する。

注※3　アダプタコマンドが出力するメッセージ。JP1/IMに応答される。

注※4　アダプタコマンドが出力するメッセージ。JP1/IMの画面に表示される。

注※5　ISAMLIB_MODE設定パラメータの指定によって出力先が異なる。

　KAKC0005-Eメッセージ

　・M64を指定した場合は，stderrにだけ出力される。

　・M32を指定した場合は，出力指示の通りの出力となる。

KAKC1626-EとKAKC1627-Iメッセージ

　・M64を指定した場合は，stderrにだけ出力される。

　・M32を指定した場合は，SYSMSGにだけ出力される。

注※6　環境変数BJEX_DISPLAY_REPLYの指定によって出力するかどうかが異なる。

詳細については，「3.15.7　DISPLAY文によるJP1イベント出力の抑止機能」を参照のこと。

注※7　出力するプロセスによって出力先が異なる。

ジョブコントローラプロセスが出力した場合は，出力指示どおりの出力となる。

ジョブステッププロセスが出力した場合は，JOBLOGにだけ出力される。

10.2.2　KAKDで始まるメッセージの出力先一覧

KAKDで始まるメッセージの出力先一覧を次の表に示す。

表10‒5　KAKDで始まるメッセージの出力先一覧

メッセージIDの範囲

stdout

stderr

SYSPRINT

実行ログ

JP1

KAKD1001-E〜KAKD1006-E

−

○

○

−

−

KAKD1009-I

−

−

○

−

−

KAKD1010-E〜KAKD1091-E

−

○

○

−

−

KAKD1100-I〜KAKD1105-I

−

−

○

−

−

KAKD1110-E〜KAKD1130-E

−

○

○

−

−

KAKD1131-I

−

−

○

−

−

KAKD1137-E

−

○

○

−

−

KAKD1147-I〜KAKD1153-I

−

−

○

−

−

KAKD2001-E〜KAKD2005-E

−

○

○

−

−

KAKD2009-I

−

−

○

−

−

KAKD2010-E〜KAKD2091-E

−

○

○

−

−

KAKD2100-I

−

−

○

−

−

KAKD2101-E

−

○

○

−

−

KAKD2102-I

−

−

○

−

−

KAKD2103-E〜KAKD2121-E

−

○

○

−

−

KAKD2130-I

−

−

○

−

−

KAKD2131-E〜KAKD2137-E

−

○

○

−

−

KAKD2138-I〜KAKD2140-I

−

−

○

−

−

KAKD2150-E

−

○

○

−

−

KAKD3001-E〜KAKD3007-E

−

○

○

−

−

KAKD3009-I

−

−

○

−

−

KAKD3010-E〜KAKD3093-E

−

○

○

−

−

KAKD3100-I〜KAKD3102-I

−

−

○

−

−

KAKD3105-E〜KAKD3136-E

−

○

○

−

−

KAKD3137-W

−

○

○

−

−

KAKD3138-I

−

−

○

−

−

KAKD3139-E〜KAKD3145-E

−

○

○

−

−

（凡例）

stdout：標準出力を示す。

stderr：標準エラー出力を示す。

SYSPRINT：DD名が"SYSPRINT"のDD要素で指定した出力先を示す。

実行ログ：ログを示す。

JP1：JP1イベントを示す。

○：出力する。

−：出力しない。

10.3　syslogに出力するメッセージの一覧

バッチジョブ実行システムがsyslogに出力するメッセージの一覧を次の表に示す。

表10‒6　バッチジョブ実行システムがsyslogに出力するメッセージの一覧

メッセージID

ファシリティ

レベル

KAKC3000-I

LOG_USER

LOG_NOTICE

KAKC3001-I

KAKC3002-E

KAKC3003-E

KAKC3004-E

KAKC3031-E

KAKC3412-E

10.4　システムコールのエラー情報

バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報に対する原因と対策を次の表に示す。表にないエラーについては，使用しているOSのマニュアルを参照すること。

なお，次の表ではAIXでのエラー番号を記載している。

バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報の内容だけを記載しているため，詳細についてはメッセージで表示されたエラー番号に該当するニモニックを使用しているOSのerrno定義ファイル（errno.h）で調べること。

さらに，エラーとなったシステムコールについては，OSのマニュアルを参照し，該当するニモニックのエラーが返った原因を特定する。

表10‒7　代表的なシステムコールのエラー情報に対する原因と対策

エラー番号

エラー詳細

ニモニック

考えられる主な原因

対策

2

No such file or directory

ENOENT

ファイル，またはディレクトリが見つからない。

ファイルの存在を確認すること。

5

I/O error

EIO

入出力エラーが発生した。

OSまたはハードウェアの情報に従うこと。

6

No such device or address

ENXIO

ファイルに対するアクセス権がない。

デバイスが存在するか，またはデバイスが有効化しているか確認すること。デバイスが有効化されていない場合は，有効化すること。それ以外の原因の場合は，使用しているOSのマニュアルを参照すること。

7

Arg list too long

E2BIG

処理プログラムの引数または環境変数用の領域が不足している。

処理プログラムの引数を確認する。

DD要素，SETENV要素，SETENVFILE要素を見直し，不要な要素を削除する。

11

Resource temporarily unavailable

EAGAIN

次のどちらかの原因が考えられる。

プロセスの数が多過ぎる，または一時的なメモリ不足が発生している。

メッセージキューが満杯である。

再度実行しても繰り返し発生する場合は，不要なプロセスを停止させること。

スプールジョブ転送デーモンを起動する。

12

Not enough space

ENOMEM

次のどちらかの原因が考えられる。

スワップ領域，または仮想メモリ不足のため，プロセスを新しく生成できない。

プロセスの数が多過ぎる，または一部のプロセスが大量のメモリを消費している。

スワップ領域または仮想メモリが足りない場合は，拡張すること。拡張できない場合は，不要なプロセスを停止させること。

一部のプロセスが大量のメモリを消費している場合は，該当するプロセスをいったん停止できないか検討すること。

13

Permission denied

EACCES

アクセス権限が不正である。

ファイルに対するアクセス権限が正しいか確認すること。

14

Bad address

EFAULT

アクセスできない領域に書き込みしようとした。書き込みしようとしたディスクが切り離されたおそれがある。

系切り替えに伴うディスクの切り替え中の場合は，問題ないので無視すること。誤ってディスクを切り離してしまった場合は，該当するファイルをバックアップから回復する，または初期化してから使用すること。それ以外の場合は，システム管理者に連絡すること。

17

File exists

EEXIST

作成しようとしたファイルはすでに存在する。

ファイル名を変更して再度実行する，または既存のファイルが不要であれば，削除してから再度実行すること。

22

Invalid argument

EINVAL

メモリ管理情報の不正を検知した。

システム管理者に連絡すること。

23

File table overflow

ENFILE

ファイルのオープン数がシステムの上限を超えた。

OSのオペレーティングシステムパラメータ（カーネルパラメータ）の，システムでオープンできるファイル最大数（maxuproc＊nofiles＊）の指定値を大きくすること。

24

Too many open files

EMFILE

該当するプロセスでオープンしているファイル数が多い。

OSのオペレーティングシステムパラメータ（カーネルパラメータ）の，プロセスでオープンできるファイル数の最大nofiles）の値を大きくすること。

27

File too large

EFBIG

ファイルの大きさがシステム制限値を超えた。

使用するファイルサイズを見直すこと。

28

No space left on device

ENOSPC

ファイルシステムに十分な空き領域がない。

空き領域を確保すること。

86

File name too long

ENAMETOOLONG

ファイルの名前が長過ぎる。

ファイルの名前を見直すこと。

10.5　メッセージ一覧

バッチジョブ実行システムが出力するメッセージと対処方法について説明する。

KAKC0001-E

Memory shortage. DETAIL=保守情報

メモリ不足が発生した。保守情報は，8けたの16進数で表示する。保守情報は，システムの内部状態を示す情報である。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。システム管理者は，メモリ見積もりを見直す。

KAKC0002-W

Environment variable "環境変数名" is not specified.

環境変数名で示す環境変数が取得できない。

環境変数名がAJS_BJEX_STOPである場合，JP1/AJSからバッチジョブ実行システムを起動するためのジョブの定義，あるいはサブミットジョブの場合，jpqjobsubコマンドの指定が適切でない。JP1/AJSから起動していない場合やJP1/AJSからJP1/ASを経由して起動した場合，本メッセージが出力されても問題ないため，(O)に示す対処をとる必要は無い。

(Ｓ)処理を続行する。

環境変数名がAJS_BJEX_STOPである場合，JP1/AJSからバッチジョブ実行システムのジョブを強制終了すると，バッチジョブ実行システムの終了処理が行われない。

(Ｏ)バッチジョブ実行システムを起動するJP1/AJSのジョブ定義で，環境変数AJS_BJEX_STOP=TERMを指定する。環境変数AJS_BJEX_STOP=TERMは，JP1/AJSのジョブ定義で指定する必要がある。

サブミットジョブの場合，jpqjobsubコマンドで-env AJS_BJEX_STOP=TERMを指定する。

問題が解決しない場合，システム管理者に連絡する。

KAKC0003-W

Value of environment variable "環境変数名" must be "環境変数値".

環境変数名で示す環境変数の値が環境変数値でない。

環境変数名がAJS_BJEX_STOPである場合，値がTERMでない。JP1/AJSでのジョブの定義，またはサブミットジョブの場合，jpqjobsubコマンドの指定が適切でない。

(Ｓ)処理を続行する。

環境変数名がAJS_BJEX_STOPで，環境変数値がTERMである場合，JP1/AJSからバッチジョブ実行システムのジョブを強制終了した場合，バッチジョブ実行システムの終了処理が行われない。

(Ｏ)バッチジョブを起動するJP1/AJSのジョブ定義で，環境変数AJS_BJEX_STOP=TERMを指定する。環境変数AJS_BJEX_STOP=TERMは，JP1/AJSのジョブ定義で指定する必要がある。

サブミットジョブの場合，jpqjobsubコマンドで-env AJS_BJEX_STOP=TERMを指定する。

問題が解決しない場合，システム管理者に連絡する。

KAKC0004-I

Jobid=バッチジョブ実行システムのジョブ識別子, JP1NBQSQueueName=環境変数値, JP1JobID=JP1ジョブ番号

起動したジョブのJP1/AJSのジョブの情報とバッチジョブ実行システムが与えたジョブ識別子を表示する。

バッチジョブ実行システムのジョブ識別子：このジョブのバッチジョブ実行システムが与えるジョブ識別子

環境変数値：このジョブのJP1NBQSQueueName環境変数の値

JP1ジョブ番号：このジョブのJP1/AJSが与えたJP1ジョブ番号

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0005-E

Failed to load ISAM library. reason=エラー詳細

ジョブ定義XMLファイルに一時ISAMファイルの割り当て要求のDD要素が指定されたが，ISAMライブラリがロードできない。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を調べ，ISAM製品が正しくインストールされているか確認する。

KAKC0006-E

Failed to load CodeConv library. reason=エラー詳細

設定ファイルにコード変換を必要とする機能が指定されたが，日立コード変換ライブラリがロードできない。

(Ｓ)処理を続行する。ただし，ジョブログをstderrに出力時，文字コードの変換を実施しない。

(Ｏ)エラー詳細を調べ，日立コード変換製品が正しくインストールされているか確認する。

KAKC0010-E

Message queue open failed. reason=エラー詳細

スプールジョブ転送デーモンへの通知で使用するメッセージキューに対するmq_open関数でエラー詳細を示すエラーが発生した。

このメッセージは，ジョブ開始時に出力する場合はstderrに出力し，ジョブ終了時に出力する場合はstderrと実行ログに出力する。

(Ｓ)処理を続行する。

(Ｏ)スプールジョブ転送デーモンが起動していることを確認する。問題が解決しない場合はシステム管理者に連絡する。

このメッセージを出力したジョブのスプールジョブは，スプールジョブ転送デーモンによって処理されない。bjexlsjobコマンドの-fオプションで状態を表示した場合は，管理から漏れている（−）または実行中（X）となる。このスプールジョブを印刷する場合は，bjexchjobコマンドの-Sオプションで回復処理をしたあと，印刷を指示する必要がある。

KAKC0011-E

Failed to send a message to message queue. reason=エラー詳細

スプールジョブ転送デーモンへの通知で使用するメッセージキューへのデータ追加処理で利用するmq_send関数でエラー詳細を示すエラーが発生した。

このメッセージは，ジョブ開始時に出力する場合はstderrに出力し，ジョブ終了時に出力する場合はstderrと実行ログに出力する。

(Ｓ)処理を続行する。

(Ｏ)スプールジョブ転送デーモンが起動していることを確認する。問題が解決しない場合はシステム管理者に連絡する。

このメッセージを出力したジョブのスプールジョブは，スプールジョブ転送デーモンによって処理されない。bjexlsjobコマンドの-fオプションで状態を表示した場合は，管理から漏れている（−）または実行中（X）となる。このスプールジョブを印刷する場合は，bjexchjobコマンドの-Sオプションで回復処理をしたあと，印刷を指示する必要がある。

KAKC0012-E

Message queue close failed. reason=エラー詳細

スプールジョブ転送デーモンへの通知で使用するメッセージキューへのデータ追加処理で利用するmq_close関数でエラー詳細を示すエラーが発生した。

このメッセージは，ジョブ開始時に出力する場合はstderrに出力し，ジョブ終了時に出力する場合はstderrと実行ログに出力する。

(Ｓ)処理を続行する。

(Ｏ)スプールジョブ転送デーモンが起動していることを確認する。問題が解決しない場合はシステム管理者に連絡する。

KAKC0013-E

スプールジョブ転送サービスへの通知に失敗しました

スプールジョブ転送デーモンへの通知で使用するメッセージキューに対する処理でエラーが発生した。

(Ｓ)処理を続行する。

(Ｏ)KAKC0010-EまたはKAKC0011-Eのメッセージに示す問題を解決する。このメッセージを出力したジョブのスプールジョブは，スプールジョブ転送デーモンによって処理されない。bjexlsjobコマンドの-fオプションで状態を表示した場合は，管理から漏れている（−）または実行中（X）となる。このスプールジョブを印刷する場合は，bjexchjobコマンドの-Sオプションで回復処理をしたあと，印刷を指示する必要がある。

KAKC0060-E

BJEX_DIR ID "環境変数名" putenv failed.

設定ファイルのBJEX_DIRの処理で，環境変数名に示す環境変数の設定に失敗した。

環境変数名に示す環境変数がすでに設定されている場合も，このメッセージを出力する。

(Ｓ)処理を終了する。

(Ｏ)環境変数名で示す環境変数をすでに設定していないか確認する。環境変数名で示す環境変数をすでに設定している場合，環境変数名で示す環境変数の設定を削除する，または設定ファイルのBJEX_DIR_xxxの名称に変更する。設定パラメータのBJEX_DIR_xxxの名称を変更する場合は，ジョブ定義XMLファイル内の名称も変更する必要がある。

問題が解決しない場合はシステム管理者に連絡する。

KAKC0080-I

Grid job started. UGPSM_DATAID=環境変数値

環境変数UGPSM_DATAIDの環境変数値で示すグリッドジョブを開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0090-I

HitachiBatchJobExec started.

ジョブコントローラが処理を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0091-I

ジョブ名 Job started.

ジョブ（JP1/AJSのジョブ情報：ジョブ名）を開始します

ジョブを開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0092-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] Step started.

ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）を開始します

ジョブステップを開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0093-E

bjexec received terminate request.

ジョブコントローラに対する終了要求を受け取った。

(Ｓ)ジョブコントローラは，ジョブステップのプロセスグループにSIGKILLを送り，ファイルの後始末などの必要な後処理を実行してから終了する。

(Ｏ)ユーザプログラムが作成した資源を必要に応じて後始末する。

KAKC0094-E

bjexec is ended because of terminate request of second times.

ジョブコントローラで2回目の終了要求のシグナルを受け取った。

(Ｓ)ジョブコントローラは，即時に終了する。一時ファイルの削除やファイルの後始末などの後処理を行わない。スプールにあるジョブの出力も自動的には印刷しない。

(Ｏ)必要があれば，bjexchjobコマンドでスプールにあるジョブの状態を変更して出力する。

KAKC0095-E

bjexec ended abnormally.

ジョブコントローラが異常終了した。

(Ｓ)一時ファイルの削除やファイルの後始末などの後処理を行わない。スプールにあるジョブの出力も自動的に印刷しない。

(Ｏ)必要があれば，bjexchjobコマンドでスプールにあるジョブの状態を変更して出力する。

KAKC0096-E

ジョブ名.ジョブステップ名[.プロシジャステップ名] Step ended abnormally. rc=終了コード status=状態コード E-Time=実行時間s C-Time=CPU時間s

ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）が異常終了しました

ジョブステップが異常終了した。

終了コード：ジョブステップが異常終了したときの終了コードである。詳細については，「10.8　終了コード」を参照のこと。

状態コード：ジョブステップが終了したときのシグナルコードである。PGM_RCABENDパラメータによって異常終了した場合は0が出力される。

実行時間：ジョブステッププロセスが実際に実行していた実時間である（秒単位）。

CPU時間：ジョブステッププロセスが使用したCPU時間である（秒単位）。

(Ｓ)処理を続行する。

(Ｏ)異常終了したジョブステップで実行するプログラムに問題がないか確認する。

KAKC0097-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] Step ended. rc=終了コード E-Time=実行時間s C-Time=CPU時間s

ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）が終了しました

ジョブステップが終了した。

終了コード：各ジョブステップの終了コードである。終了コードは，ジョブステップで実行したプログラムの，main関数のreturn文で指定された式，またはexit関数で指定された状態コードである。

実行時間：ジョブステッププロセスが実際に実行していた実時間である（秒単位）。

CPU時間：ジョブステッププロセスが使用したCPU時間である（秒単位）。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0098-I

ジョブ名 Job ended. rc=終了コード E-Time=実行時間s C-Time=CPU時間s [MaxRSS=最大RSSKB]

ジョブ（JP1/AJSのジョブ情報：ジョブ名）が終了しました

ジョブが終了した。

終了コード：設定ファイルのJOB_RCDEFINEパラメータでSTEPMAXを指定した場合は，各ジョブステップが終了した際の最大終了コードである。設定ファイルのJOB_RCDEFINEパラメータでSTEPLASTを指定した場合は，最後に実行完了したメインステップの終了コードである。詳細については，「10.8　終了コード」を参照のこと。

実行時間：全ジョブステッププロセスが実際に実行していた実時間の合計である（秒単位）。gettimeofday関数で求めたジョブステップの開始時刻と終了時刻の差で求めた参考値である。

CPU時間：全ジョブステッププロセスの利用した合計CPU時間である（秒単位）。times関数のリターン情報である構造体tms内のtms_cutimeとtms_cstimeの和で求めた参考値である。

【AIX限定】

最大RSS：各ジョブステップの最大実メモリとジョブコントローラの最大実メモリを合計した値である（KB単位）。getrusage関数のリターン情報である構造体rusage内のru_maxrssの値で求めた参考値である。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0099-I

HitachiBatchJobExec ended. rc=終了コード

ジョブコントローラが処理を終了する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0100-E

bjexecの起動処理でエラーが発生しました

ジョブコントローラの起動処理中に，JP1イベントの拡張属性のエラー詳細に示すエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細および一緒に出力されるほかのメッセージを参照してエラーの原因を取り除き，ジョブを再実行する。

KAKC0101-E

ジョブ名 An error occurred during execution of job.

ジョブ（JP1/AJSのジョブ情報：ジョブ名）の実行中にエラーが発生しました

ジョブコントローラがジョブ実行中にエラーを検知した。

(Ｓ)処理を続行する。

(Ｏ)一緒に出力されるほかのメッセージを参照してエラーの原因を取り除き，ジョブを再実行する。

KAKC0103-E

コマンド名 received terminate request.

コマンド名のコマンドで終了要求のシグナルを受け取った。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC0105-E

コマンド名 ended abnormally.

コマンド名のコマンドが異常終了した。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC0110-E

Restart step name is not found. stepname=ジョブステップ名[.プロシジャステップ名]

リスタートステップ名が見つからない。または，リスタートステップとして指定できないジョブステップを指定した。

(Ｓ)処理を中断する。

(Ｏ)リスタートステップ名が正しいか確認する。

KAKC0112-I

Job is restarted from specified step. stepname=ジョブステップ名[.プロシジャステップ名]

ジョブはジョブステップ名[.プロシジャステップ名]からリスタートする。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0199-E

Failed to execute a command. (jobid=ジョブ識別子, error=理由)

コマンド実行処理でエラーが発生した。

ジョブ識別子：コマンド実行が必要になったジョブのジョブ識別子

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

コマンド名:create sub process:エラー理由

サブプロセスの生成に失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:wait process:エラー理由

サブプロセスの終了待ちに失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:rc=リターンコード

コマンドがリターンコードで終了した。

コマンド名:sub process:abnormal terminated

サブプロセスがシグナルなどで終了した。

コマンド名:sub process(setgid):エラー理由

サブプロセスがグループidの設定に失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:sub process(setuid):エラー理由

サブプロセスがユーザidの設定に失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:sub process(setenv(LANG=環境変数値)):エラー理由

サブプロセスでLANG環境変数の設定に失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:sub process(execv):エラー理由

サブプロセスがコマンドの起動に失敗した。エラー理由はerrnoから求めた文字列である。

(Ｓ)コマンド実行処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC0200-E

Failed to store spool job. (jobid=ジョブ識別子, error=理由)

スプールジョブの保管処理でエラーが発生した。

ジョブ識別子：スプールジョブのジョブ識別子

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

spool job control file:エラー理由

スプールジョブ管理ファイルでエラーが発生した。エラー理由はerrnoから求めた文字列である。

failed to create sub process

サブプロセスの生成に失敗した。

failed to wait sub process

サブプロセスの待ち処理に失敗した。

command terminated by error

コマンドがエラーで終了した。

open spool job dir:エラー理由

スプールジョブディレクトリのオープンでエラーが発生した。エラー理由はerrnoから求めた文字列である。

(Ｓ)スプールジョブの保管処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC0201-E

Failed to change spool job permission. (jobid=ジョブ識別子, error=理由)

保管したスプールジョブの権限設定に失敗した。

ジョブ識別子：失敗したスプールジョブのジョブ識別子

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

failed to create sub process

サブプロセスの生成に失敗した。

failed to wait sub process

サブプロセスの待ち処理に失敗した。

command terminated by error

コマンドがエラーで終了した。

open spool job store dir:エラー理由

保管先のスプールジョブディレクトリのオープンでエラーが発生した。エラー理由はerrnoから求めた文字列である。

(Ｓ)スプールジョブの保管処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC0202-E

Failed to create spool job store directory. (jobid=ジョブ識別子, error=理由)

保管先のスプールジョブディレクトリ作成処理でエラーが発生した。

ジョブ識別子：スプールジョブのジョブ識別子

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

failed to create sub process

サブプロセスの生成に失敗した。

failed to wait sub process

サブプロセスの待ち処理に失敗した。

command terminated by error

コマンドがエラーで終了した。

上記以外

errnoから求めた文字列である。

(Ｓ)スプールジョブの保管処理を中断する。

(Ｏ)保管先に同一ディレクトリ名のスプールジョブが存在する場合は，そのスプールジョブを削除してジョブの再実行，またはbjexchjob -Cコマンドを入力する。上記以外の場合はシステム管理者に連絡する。

KAKC0210-E

I/O error occurred, EUR definition file. (jobid=ジョブ識別子,

step number=ジョブステップ番号, DDNAME=dd名, EURFORM=EUR定義ファイル名,

error=理由)

EUR定義ファイルの読み込み処理でエラーが発生した。

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

not a file

通常のファイルではない。

file is swapped

オープン前後でファイルが同一ではない。

上記以外

errnoから求めた文字列である。

(Ｓ)該当するSYSOUTデータファイルの処理を中断する。

(Ｏ)EUR定義ファイルが正しいかチェックする。

KAKC0211-E

Specified EURENCODE is not defined in configuration file. (jobid=ジョブ識別子,

step number=ジョブステップ番号, DDNAME=dd名, EURFORM=EUR定義ファイル名,

EURENCODE=EURエンコード種別)

EUR連携処理でDD要素に定義したEURエンコード種別が設定ファイルに定義されていない。

(Ｓ)該当するSYSOUTデータファイルの処理を中断する。

(Ｏ)システム管理者に連絡する。

システム管理者は，ジョブ実行時の設定ファイルがジョブ実行時から変更されていないか確認する。確認した結果，設定ファイルを修正，またはジョブ定義XMLファイルの指定を変更してジョブを再度実行する。

KAKC0212-E

Failed to open spool job control file. (jobid=ジョブ識別子)

EUR連携処理でスプールジョブ管理ファイルのオープン処理でエラーが発生した。

ジョブの実行が正常に処理されないで，スプールジョブ管理ファイルが正しく作成されていないおそれがある。

(Ｓ)該当するスプールジョブの処理を中断する。

(Ｏ)ジョブが正常に終了しているか確認する。

KAKC0213-E

EUR command start error. (jobid=ジョブ識別子, step number=ジョブステップ番号,

DDNAME=dd名, EURFORM=EUR定義ファイル名, error=理由)

EURのeurpsコマンドの起動処理に失敗した。

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

over limits of command arguments

コマンドの引数の上限（126）を超えた。

over limits of EUR definition file size

EUR定義ファイルサイズの上限を超えた。

(Ｓ)該当するSYSOUTデータファイルの処理を中断する。

(Ｏ)EUR定義ファイルを見直す。

KAKC0214-E

EUR command error. (jobid=ジョブ識別子, step number=ジョブステップ番号,

DDNAME=dd名, EURFORM=EUR定義ファイル名, error=理由)

EURのeurpsコマンドがエラーで終了した。

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

failed to create sub process

EURのサブプロセスの生成に失敗した。

failed to wait sub process

EURのサブプロセスの待ち処理に失敗した。

command terminated by error

EURのeurpsコマンドがエラーで終了した。

(Ｓ)該当するSYSOUTデータファイルの処理を中断する。

(Ｏ)EUR定義ファイルを見直す。また，EURのeurpsコマンドのメッセージまたはログを調査する。原因が不明の場合はシステム管理者に連絡する。

KAKC0215-I

EUR_DEFINITION_FILE_DIR is not defined. EUR print process is skipped.

設定ファイルにEUR_DEFINITION_FILE_DIRの指定がない。

EURの印刷処理をスキップした。

(Ｓ)処理を終了する。

(Ｏ)設定ファイルの指定を見直す。

KAKC0220-E

Environment variable "環境変数名" is not specified.

環境変数名で示す環境変数が指定されていない。

環境変数名がJP1_HOSTNAMEである場合，JP1/AJSから起動されていないおそれがある。

(Ｓ)処理を終了する。

(Ｏ)JP1/AJSから起動されているか確認する。

KAKC0236-E

String size of environment variable "環境変数名" value is invalid.

環境変数名で示す環境変数の値が長過ぎる。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して環境変数の値を見直す。

KAKC0238-E

Invalid char is included in environment variable "環境変数名" value.

環境変数名で示す環境変数の値に使用できない文字が含まれている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して環境変数の値を見直す。

KAKC0299-E

Internal error occurred. Detail=保守情報

メモリ確保で内部矛盾が発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC0300-I

Usage: コマンド名　コマンド引数

コマンド名で示すコマンドの指定が誤っている。

(Ｓ)処理を終了する。

(Ｏ)コマンド名を正しく指定して実行する。

KAKC0301-E

Option "オプション名" value is not specified.

オプション名の指定値が誤っている。

(Ｓ)処理を中断する。

(Ｏ)オプション名を正しく指定する。

KAKC0302-E

Option "オプション名" was unknown.

不正なオプション名を指定している。

(Ｓ)処理を中断する。

(Ｏ)オプション名を正しく指定する。

KAKC0303-E

XML file name is not specified.

ジョブ定義XMLファイルの指定がない。

(Ｓ)処理を中断する。

(Ｏ)ジョブ定義XMLファイルを指定して再入力する。

KAKC0304-E

Option オプション名 is specified with other exclusive option.

オプション名に不当な指定値がある。

(Ｓ)処理を中断する。

(Ｏ)オプション名を正しく指定して再入力する。

KAKC0305-E

Option オプション名 is invalid.

不正なオプション名を指定している。

(Ｓ)処理を中断する。

(Ｏ)オプション名を正しく指定して再入力する。

KAKC0306-E

Option "オプション名" value is invalid.

オプション名の指定値が誤っている。

(Ｓ)処理を中断する。

(Ｏ)オプション名を正しく指定して再入力する。

KAKC0307-E

The option is not specified.

必要なオプションが指定されていない。

(Ｓ)処理を終了する。

(Ｏ)必要なオプションを指定して再入力する。

KAKC0309-I

プログラム名 version is バージョン文字列.

プログラム名で示すコマンドのバージョンをバージョン文字列に示す。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC0310-E

Too many operands.

指定したオプションが多過ぎる。

(Ｓ)処理を中断する。

(Ｏ)コマンドとオプションを正しく指定する。

KAKC0311-E

One or more necessary options for コマンド名 are missing.

コマンド処理に必要なオプション，パラメータが不足している。

(Ｓ)処理を終了する。

(Ｏ)必要なオプション，パラメータを指定して再入力する。

KAKC0336-E

String size of option "オプション名" value is invalid.

オプション名の指定値が長過ぎる。

(Ｓ)処理を終了する。

(Ｏ)オプション名を正しく指定して再入力する。

KAKC0338-E

Invalid char is included in option "オプション名" value.

オプション名の指定値に使用できない文字が含まれている。

(Ｓ)処理を終了する。

(Ｏ)オプション名を正しく指定して再入力する。

KAKC0400-I

Parsing of config file "ファイル名" is started.

ファイル名で示す設定ファイルの解析を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0401-E

Config file open failed. reason="エラー詳細"

エラー詳細で示す原因によって，設定ファイルのオープンに失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に設定ファイルが読み込みできるように，権限などの問題がないか確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC0402-E

Config file read error. reason="エラー詳細"

エラー詳細で示す原因によって，設定ファイルの読み込みに失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に設定ファイルが読み込みできるように，権限などの問題がないか確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC0403-E

Config file name too long.

設定ファイルのファイル名が長過ぎる。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，/opt/hitachi/bjex/conf配下の設定ファイルに問題ないか確認する。

KAKC0404-E

The required element "パラメータ" is missing in config file.

設定ファイルに記述が必須であるパラメータが定義されていない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0405-E

パラメータ名 "クラス名" is not defined.

設定ファイルのパラメータ名で示すパラメータに記述された"クラス名"がSysoutClass名として定義されていない。

パラメータ名には，次のどれかが出力される。

MSGCLASS_DEFAULT：設定ファイルのMSGCLASS_DEFAULTパラメータ

STDOUTCLASS_DEFAULT：設定ファイルのSTDOUTCLASS_DEFAULTパラメータ

STDERRCLASS_DEFAULT：設定ファイルのSTDERRCLASS_DEFAULTパラメータ

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0406-E

Failed to get host name. reason="エラー詳細"

エラー詳細で示す原因によって，動作しているサーバのホスト名の取得時にエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，ネットワーク上のホスト名を確認する。

KAKC0407-E

"ファイル名" is not an ordinary file.

ファイル名で示すファイルは通常のファイルではない。

(Ｓ)処理を終了する。

(Ｏ)ファイルを確認する。

KAKC0409-I

Parsing of config file "ファイル名" ended. code=終了コード

ファイル名で示す設定ファイルの解析を終了した。

終了コードが0の場合，設定ファイルの解析処理は正常に終了した。

終了コードが0以外の場合，設定ファイルに誤りがある，または，設定ファイルの解析でエラーが発生した。

(Ｓ)終了コードが0の場合，処理を続行する。

終了コードが0以外の場合，処理を終了する。

(Ｏ)設定ファイルの誤りを修正する。または，設定ファイルの解析で発生したエラーの原因を解決する。

KAKC0411-E

Line size exceeds limits. line=行番号

設定ファイルの行番号で示す行の解析中に改行コードを見つけられない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0414-E

ETag "タグ名" is not specified.

設定ファイルのタグ名で示すパラメータの終了タグが見つからなかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0420-E

Tag name is not specified. line=行番号

設定ファイルの行番号で示す行にパラメータが見つからなかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0422-E

Unrecognized Tag name is specified. line=行番号

設定ファイルの行番号で示す行に認識できないパラメータが見つかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0425-E

Tag format is invalid. line=行番号

設定ファイルの行番号で示す行は，記述形式に誤りがある。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0426-E

There are extra words after ">". line=行番号

設定ファイルの行番号で示す行のパラメータの終端（＞）以降に不当な文字が見つかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0427-E

ETag is not match with STag "Tag名". line=行番号

設定ファイルの行番号で示す行のTag名で示すパラメータの先頭と終端が不一致である。なお，パラメータの先頭が省略されている場合，Tag名は空文字列となる。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0429-E

Nested tags are found. line=行番号

設定ファイルの行番号で示す行で，パラメータがネストして定義されている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0430-E

SysoutClass "クラス名" is specified more than once. line=行番号

設定ファイルの行番号で示す行のSysoutClassは，クラス名で示すクラス名が重複して指定されている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0431-E

Parameter name is invalid. line=行番号

設定ファイルの行番号で示す行に不当なパラメータ名が見つかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0432-E

Parameter value of "パラメータ名" is invalid. line=行番号

設定ファイルの行番号で示す行のパラメータ名が認識できない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0433-E

Parameter value of "パラメータ名" is missing. line=行番号

設定ファイルの行番号で示す行のパラメータ名のオペランドが存在しない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0434-E

Parameter "パラメータ名" is specified multiple. line=行番号

設定ファイルの行番号で示す行のパラメータ名が，重複して定義されている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0435-E

Number of parameter "パラメータ名" exceed limit. line=行番号

設定ファイルの行番号で示す行のパラメータ名が，定義できる上限を超えている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0436-E

String size of parameter "パラメータ名" value is invalid. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定した値が長過ぎる。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0437-E

Value scope of parameter "パラメータ名" value is invalid. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定した値が範囲外である。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0438-E

Wrong char is included in parameter "パラメータ名" value. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定した行内に，不当な文字コードが含まれている。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0439-E

Directory "パラメータ名" must be specified in absolute path. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定したファイルパス名を，絶対パスで指定する。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0441-E

Directory of "パラメータ名" is not exist. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定したディレクトリは存在しない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0442-E

Parameter value of "パラメータ名" is not directory. line=行番号

設定ファイルの行番号で示す行のパラメータ名で指定したディレクトリは，ディレクトリではない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0444-E

There are too many value for "パラメータ名". line=行番号

設定ファイルの行番号で示す行のパラメータ名のオペランドが多く，不当な文字列が含まれている可能性がある。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0445-E

Default Directory of "パラメータ名" does not exist : "ディレクトリ名"

設定ファイルの定義がないためデフォルトを仮定したが，パラメータ名のディレクトリ名は存在しない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，バッチジョブ実行システムを再インストールする。

KAKC0446-E

Default Directory of "パラメータ名" is not valid directory : "ディレクトリ名"

設定ファイルの定義がないためデフォルトを仮定したが，パラメータ名のディレクトリ名はディレクトリではない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，ディレクトリ構成を確認する。

KAKC0449-E

The required directory "ディレクトリ名" does not exist.

バッチジョブ実行システムに必須であるディレクトリ名が存在しない。ディレクトリ名に"/opt/jp1_fts"が表示される場合は，JP1/FTPがインストールされていない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，バッチジョブ実行システムを再インストールする。JP1/FTPがインストールされていない場合は，インストールする。

KAKC0450-E

The required directory "ディレクトリ名" is not valid directory.

バッチジョブ実行システムに必須である，ディレクトリ名はディレクトリではない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，ディレクトリ構成を確認する。

KAKC0453-E

The required element "パラメータ名" is missing in SysoutClass "クラス名". line=行番号

クラス名で示すSysoutClass内に，必須であるパラメータ名の指定がない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡して，設定ファイルを見直す。

KAKC0456-E

Parameter value of "パラメータ名" is specified multiple. line=番号

パラメータ名で指定した値が二重に定義されている。

(Ｓ)処理を終了する。

(Ｏ)設定ファイルの指定を見直す。

KAKC0700-E

Could not create the job directory. reason=エラー詳細

スプールディレクトリ配下にジョブのためのディレクトリ作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0701-E

"ファイル名" open failed. reason=エラー詳細

スプールジョブディレクトリ内のファイル名で表示されるファイルのオープンに失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0702-E

Joblog file I/O error. reason=エラー詳細

スプールジョブディレクトリ内のジョブログファイルの書き込みに失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0703-E

"ファイル名" does not exist.

スプールジョブディレクトリ内にファイル名で表示されるファイルが存在しない。

(Ｓ)処理を終了する。

(Ｏ)ファイル名を見直す。

KAKC0704-E

Failed to get the current date.

日付の取得に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC0705-E

Failed to get host name.

ホスト名の取得に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC0706-E

Failed to create "ファイルパス". reason=エラー詳細

ファイルパスの作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0707-I

MSGCLASS is "メッセージクラス名".

このジョブのメッセージクラスは"メッセージクラス名"である。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0709-E

Failed to create stdout file path.

ジョブステッププログラムの標準出力を格納するファイルのパス作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC0710-E

Failed to create stderr file path.

ジョブステッププログラムの標準エラー出力を格納するファイルのパス作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC0711-E

Failed to create stdout file "ファイル名". reason=エラー詳細

ジョブステッププログラムの標準出力を格納するファイルの作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0712-E

Failed to create stderr file "ファイル名". reason=エラー詳細

ジョブステッププログラムの標準エラー出力を格納するファイルの作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0719-I

STEP ステップ番号,ジョブステップ名[.プロシジャステップ名],出力先

このメッセージのあとに，ジョブステップの出力先の内容を出力する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0720-E

Failed to open jobid file. reason=エラー詳細

ジョブ識別子管理ファイルのオープンに失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0721-E

Jobid file I/O error. reason=エラー詳細

ジョブ識別子管理ファイルの入出力に失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0722-E

Failed to allocate Jobid.

このジョブに固有のジョブ識別子を与えられなかった。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。前後に出力されたメッセージから原因を取り除く。

KAKC0723-E

Failed to lock jobid file. reason=エラー詳細

ジョブ識別子管理ファイルを排他しようとしたが失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0724-I

Jobid was assigned. Jobid=ジョブ識別子

ジョブ識別子を割り当てた。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0730-E

Failed to convert joblog. (rc=終了コード,errno=エラー番号,function=関数名)

ジョブログを標準エラー出力に出力する際，コード変換に失敗した。エラーが発生した日立コード変換関数名およびエラー番号が出力される。

(Ｓ)コード変換前の内容を出力し，処理を続行する。

(Ｏ)エラーの原因を取り除く。

KAKC0800-E

Failed to create the .sysout. reason=エラー詳細

スプールジョブ管理ファイルを作成しようとしたが失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0801-E

The .sysout lock error. reason=エラー詳細

スプールジョブ管理ファイルを排他しようとしたが失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0802-E

The .sysout open failed. reason=エラー詳細

スプールジョブ管理ファイルをオープンしようとしたが失敗した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0803-E

The .sysout I/O error. reason=エラー詳細

スプールジョブ管理ファイルで入出力エラーが発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。エラー詳細の原因を取り除いて再実行する。

KAKC0804-E

Failed to get the current time used for STARTTIME in the .sysout.

スプールジョブ管理ファイルのSTARTTIMEに使用する現在時刻の取得に失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC0805-E

Failed to get the current time used for ENDTIME in the .sysout.

スプールジョブ管理ファイルのENDTIMEに使用する現在時刻の取得に失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC0900-I

Parsing of xml file "ファイル名" started.

ファイル名で示すジョブ定義XMLファイルの解析処理を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC0901-E

Xml file "ファイル名" open failed. reason="エラー詳細"

エラー詳細で示す原因によって，ファイル名で示されるジョブ定義XMLファイルのオープンに失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に，ジョブ定義XMLファイルが読み込みできるよう，権限などの問題がないか確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC0902-E

Xml file "ファイル名" read error. reason="エラー詳細"

エラー詳細で示す原因によって，ファイル名で示されるジョブ定義XMLファイルの読み込み中にエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に，ジョブ定義XMLファイルが読み込みできるよう，権限などの問題がないか確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC0904-E

Root Element must be "ルート要素名". elementNo=番号

番号で示すタグの解析中にルート要素を見つけたが，ルート要素名には"ルート要素名"を指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを確認し，ルート要素名には"ルート要素名"を指定する。

KAKC0905-E

Root Element is specified multiple. elementNo=番号

番号で示すタグの解析中にルート要素を見つけたが，ルート要素が重複して定義されている。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ルート要素が1つだけとなるように修正して，ジョブを再実行する。

KAKC0906-E

Specified encoding attribute value is invalid.

指定したエンコーディングは使用できない。

(Ｓ)ジョブ定義XMLファイルの解析処理を終了する。

(Ｏ)ジョブ定義XMLファイルのXML宣言でのencoding属性値を正しく修正してジョブを再実行する。

KAKC0908-E

"ファイル名" is not an ordinary file.

ファイル名で示すファイルは特殊なファイルである。

(Ｓ)処理を終了する。

(Ｏ)ファイル名に通常のファイルを指定し，ジョブを再実行する。

KAKC0909-I

Parsing of xml file "ファイル名" ended. code=終了コード

ファイル名で示されるジョブ定義XMLファイルの解析処理が完了した。

終了コードが0の場合，ジョブ定義XMLファイルの解析は正常終了した。

終了コードが0以外の場合，ジョブ定義XMLファイルに誤りがある，または，ジョブ定義XMLファイルの解析処理でエラーが発生した。

(Ｓ)終了コードの値によって，次のとおり処理を続行または終了する。

終了コードが0の場合，処理を続行する。

終了コードが0以外の場合，処理を終了する。

(Ｏ)終了コードが0以外の場合，ジョブ定義XMLファイルの誤りを修正する。または，ジョブ定義XMLファイルの解析処理で発生したエラーの原因を解決する。

KAKC0911-E

End of file encountered in element/comment/CDATA.

ジョブ定義XMLファイルの解析処理中に，要素，コメント，またはCDATAセクションの途中でファイルの終端を検出した。それぞれのタグの終了文字列を，正しく記述する必要がある。

要因として，次のことが考えられる。

"element"の場合

要素の終了を表す>，/>，?>が見つからない。要素の終了位置にこれらを記述する必要がある。

"comment"の場合

コメントの終了を表す-->が見つからない。コメントの終了位置に-->を記述する必要がある。

"CDATA"の場合

CDATAセクションの終了を表す]]>が見つからない。CDATAセクションの終了位置に]]>を記述する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0912-E

Prolog is not Xml declaration. elementNo=番号

番号で示すprolog（ジョブ定義XMLファイルの先頭部分）がXML宣言（＜？xml・・・？＞）ではない。

ジョブ定義XMLファイルの先頭の＜？で始まるタグは，XML宣言である必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルの先頭の＜？で始まるタグを記述する場合は，XML宣言を記述する。修正後，ジョブを再実行する。

KAKC0913-E

The root element is required.

ジョブ定義XMLファイルのルート要素がない。

このエラーは，ジョブ定義XMLファイル内に開始タグ，または空要素タグが1つも存在しないときに発生する。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ルート要素を定義してジョブを再実行する。

KAKC0918-E

Semicolon is required at the end of the EntityRef. elementNo=番号

番号で示すタグで実体参照をしているが，セミコロン（；）がない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，実体参照をしている個所の正しい位置に，セミコロンを記述してジョブを再実行する。

KAKC0919-E

Undefined entity is referred. elementNo=番号

番号で示すタグで実体参照をしているが，amp，lt，gt，apos，quotなどで決められた名称以外である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，実体参照の名称をamp，lt，gt，apos，quotなどの決められた名称に修正してジョブを再実行する。

KAKC0920-E

Element name is not specified. elementNo=番号

番号で示すタグの要素名がない。

このエラーは，要素の開始記号<，</，<?の直後の文字が要素名として使用できる文字でない場合に発生する。要素名として使用できる文字は，英字，数字，'.'，'-'，'_'，':'である。

要因として，次のことが考えられる。

要素での開始記号の直後の文字が空白

< JOB NAME="JOB00">，</ JOB>，<? xml version="1.0" encoding="Shift-JIS" ?>

要素での開始記号の直後の文字が不当文字

<%JOB NAME="JOB00">，</%JOB>，<?%xml version="1.0" encoding="Shift-JIS" ?>

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0921-E

Element name is invalid. elementNo=番号

番号で示すタグの要素名に誤りがある。

このエラーは，要素名の直後の文字が空白でなく，かつ要素名として使用できる文字でない場合に発生する。要素名として使用できる文字は，英字，数字，'.'，'-'，'_'，':'である。

要因として，次のことが考えられる。

要素名の直後の文字が不当文字

<JOB% NAME="JOB00">，</JOB%>，<?xml% version="1.0" encoding="Shift-JIS" ?>

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0922-E

Unrecognized element "要素名" is specified in the element "要素名". elementNo=番号

番号で示すタグの要素名で表示された未サポートの要素名がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，正しい要素名を指定してジョブを再実行する。

KAKC0923-E

The required element "要素名1" is missing from the element "要素名2". elementNo=番号

番号で示すタグに，要素名2中に記述する必須の要素名1がない。

要素名1の出力には，次のようなケースがある。

"要素A"

要素Aを記述する必要がある。

"要素A｜要素B"

要素A，または要素Bのどちらかを記述する必要がある。'｜'は選択を表す。

"要素A,要素B"

要素A，要素Bの両方を，この順序で記述する必要がある。','は順序の定められた並びを示す。

"要素A,[要素B]"

要素A，要素Bをこの順序で記述可能だが，記述する必要があるのは要素Aだけであり，要素Bは記述してもしなくてもよい。'['，']'は指定が任意であることを示す。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要素名2中に要素名1を記述してジョブを再実行する。

KAKC0924-E

The element "要素名1" is specified multiple in the element "要素名2". elementNo=番号

番号で示すタグの要素名1を見つけたが，要素名2中には重複定義ができない。

要素名1の出力には，次のようなケースがある。

"要素A"

要素Aが重複定義されている。

"要素A｜要素B"

要素A，または要素Bが重複定義されている。'｜'は選択を表す。

要素Aと要素Bが1つずつ定義されている場合もこのケースに該当するため，どれかを一回だけ定義する必要がある。

"要素A,要素B"

要素A，要素Bの両方がこの順序で並んだものが，重複定義されている。','は順序の定められた並びを示す。

要素Aと要素Bが1つずつ定義されている場合は正しい記述であり，このケースには該当しない。

"要素A,[要素B]"

要素A，要素Bがこの順序で並んだものが重複定義されている。'['，']'は指定が任意であることを示す。

要素Aが複数定義されていて，要素Bが定義されていない場合も，このケースに該当する。要素Aを1回，要素Bを1回以下定義する必要がある。

要素Aと要素Bが1つずつ定義されている場合は正しい記述であり，このケースには該当しない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要素名2中に要素名１が重複しないよう修正してジョブを再実行する。

KAKC0925-E

E|EmptyElement/Prolog/Comment tag format is invalid. elementNo=番号

番号で示す要素，XML宣言，またはコメントのタグ形式に誤りがある。

要因として，次のことが考えられる。

"E｜EmptyElement tag"の場合

タグの開始が</かつ終了が/>となっている。該当するタグが終了タグである場合は，タグの終了を>に，空要素タグである場合は，タグの開始を<に修正する必要がある。

"Prolog tag"の場合

タグの開始が<?だが，タグの終了が?>ではない。該当するタグがXML宣言，または処理命令PIであるならば終了タグを?>に，それ以外のタグであるなら開始タグを<または</に修正する必要がある。

"Comment tag"の場合

コメント中に文字列--があり，かつその後ろが>ではない。コメント終了を表す-->以外で，コメント中に文字列--を記述しないよう修正する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0926-E

ETag of the element "要素名" is not specified.

要素名を解析したが，終了タグが指定されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要素名の終了タグを指定してジョブを再実行する。

KAKC0927-E

ETag of the element "要素名" is not match with STag. elementNo=番号

番号で示すタグの要素名を解析したが，タグの開始と終了が不一致である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要素名のタグの開始と終了が一致するよう修正してジョブを再実行する。

KAKC0929-E

Extra element "要素名1" is specified in the element "要素名2". elementNo=番号

番号で示すタグの要素名1を解析したが，要素名2中には定義できない要素である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，正しい要素を定義してジョブを再実行する。

KAKC0930-E

Attribute name is not specified in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，属性名が見つからなかった。

このエラーは，属性名を記述しなければいけない個所に，属性名として使用できない文字が出現したときに発生する。

要因として，次のことが考えられる。

属性名の先頭に不当な文字を記述している

<DD NAME="ERRDD" %DSN="INPUT.FILE" />：属性名の先頭に不当な文字

属性間などに不当な文字を記述している

<DD NAME="ERRDD" % DSN="INPUT.FILE" />：属性間に不当な文字

<DD % NAME="ERRDD" DSN="INPUT.FILE" />：要素名のあとに不当な文字

<DD NAME="ERRDD" DSN="INPUT.FILE" % />：要素内末尾に不当な文字

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0931-E

Attribute name "属性名" is invalid in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，属性名が見つかったが，属性名に誤りがある。

このエラーは，属性名の直後の文字が空白でも'='でもなく，かつ属性名として使用できる文字でない場合に発生する。属性名として使用できる文字は，英字，数字，'.'，'-'，'_'，':'である。

要因として，次のことが考えられる。

属性名の直後の文字が不当文字

<JOB NAME%="JOB00">，<JOB NAME% = "JOB00">

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0932-E

Unrecognized attribute "属性名" is specified in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，未サポートの属性名が見つかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，正しい属性名を指定してジョブを再実行する。

KAKC0933-E

The required attribute "属性名" is missing in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，属性名で示す必須の属性が見つからなかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名で示す必須の属性を指定してジョブを再実行する。

KAKC0934-E

The attribute "属性名" is specified multiple in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，複数回の属性名が見つかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要素内に属性名が複数回指定されていないよう修正してジョブを再実行する。

KAKC0935-E

The attribute "属性名" format is invalid in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，属性名が見つかったが，属性の指定形式に誤りがある。

要因として，次のことが考えられる。

属性名の後ろに空白が続き，その後ろは要素の終了記号>，/>，?>である

<JOB NAME >，<EXEC PGM />，<?xml version ?>

属性名の後ろに空白が続き，その後ろが'='でないケース

<JOB NAME A >，<EXEC PGM % />，<?xml version 1?>

属性名の後ろに'='があるが，その後ろが要素の終了記号>，/>，?>である

<JOB NAME=>，<EXEC PGM =/>，<?xml version =?>

属性名の後ろに'='があるが，その後ろが空白だけである

<JOB NAME= >，<EXEC PGM = />，<?xml version = ?>

属性名の後ろに'='があるが，その後ろが引用符でない

<JOB NAME=JOB00" >，<EXEC PGM= UP00' />，<?xml version = 1.0" ?>

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，要因に応じて対処してジョブを再実行する。

KAKC0937-E

Delimiter space between some attributes is not specified in the element "要素名". elementNo=番号

番号で示すタグの要素名を解析中に，属性と属性の間がスペースで区切られていない属性を見つけた。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性と属性の間をスペースで区切ってジョブを再実行する。

KAKC0940-E

The value of the attribute "属性名" is an invalid format. elementNo=番号

番号で示すタグの属性名の値が不当な形式である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性で指定できる値を指定してジョブを再実行する。

KAKC0941-E

String size of the attribute "属性名" value is invalid. elementNo=番号

番号で示すタグの属性名の値が不当な長さの文字列である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の値として指定できる長さの文字列を指定してジョブを再実行する。

KAKC0942-E

Value scope of the attribute "属性名" value is invalid. elementNo=番号

番号で示すタグの属性名の値が範囲外数値である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の値として指定できる範囲の数値を指定してジョブを再実行する。

KAKC0943-E

Invalid char is found in value of attribute "属性名". elementNo=番号

番号で示すタグの属性名の値が利用できない文字コードを含んでいる。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の値として利用できる文字コードを指定してジョブを再実行する。

KAKC0944-E

The attribute "属性名" value is invalid. elementNo=番号

番号で示すタグの属性名の値が利用できない文字列である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の値として利用できる文字列を指定してジョブを再実行する。

KAKC0945-E

Too many positional parameters. attribute="属性名" elementNo=番号

番号で示すタグの属性名の値が，コンマ（，）などで必要以上に複数指定されている。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の値として指定できる個数を指定してジョブを再実行する。

KAKC0946-E

Positional parameter is missing. attribute="属性名" elementNo=番号

番号で示すタグの属性名の値にコンマ（，）などで指定する場合に，必須となる値が指定されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性に必須の値を指定して，ジョブを再実行する。

KAKC0947-E

Invalid format for positional parameter. attribute="属性名" elementNo=番号

番号で示すタグの属性名の値が，コンマ（，）などで指定する場合に，括弧のフォーマットが不正である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，「9.　ジョブ定義XMLファイル」に従い，各属性の正しい括弧のフォーマットで値を指定してジョブを再実行する。

KAKC1100-I

Parsing of proc file "ファイル名" started.

ファイル名で示されるカタログドプロシジャの解析処理を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1101-E

Proc "プロシジャ名" not found. elementNo=番号

番号で示すタグの解析中に，プロシジャ名で示すカタログドプロシジャが見つからなかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ジョブ内に定義した入力ストリームプロシジャのPROC要素のNAME属性，またはプロシジャライブラリに存在するカタログドプロシジャファイル名（".xml"は記述しない）をCALL要素のNAME属性に指定する。修正後，ジョブを再実行する。

KAKC1102-E

Step "ジョブステップ名" not found. elementNo=番号

番号で示すタグの解析中にジョブステップ名で示すジョブステップを置換しようとしたが，該当するジョブステップが見つからなかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，REPLACESTEP要素のNAME属性にプロシジャ中に存在するジョブステップ名を指定して，ジョブを再実行する。

KAKC1103-E

EXEC entity cannot be replaced. elementNo=番号

番号で示すタグの解析中にEXEC要素の内容（シェルスクリプト）を置換しようとしたが，EXEC要素の内容は置換できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，EXEC要素の内容（シェルスクリプト）を置換しないよう修正して，ジョブを再実行する。

KAKC1104-E

The DD element with NAME="NAME属性値" is specified more than once. elementNo=番号

番号で示すタグの解析中に，NAME属性値で示す名称の重複したDD要素が見つかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを次に従って修正し，ジョブを再実行する。

JOB要素内のDD要素の場合

JOB要素内のDD要素にはNAME="JOBLIB"かつTYPE="LIB"を指定しなければならないため，それ以外のDDを修正する。

STEP要素内のDD要素の場合

同一ジョブステップ内では，NAME属性が重複しないよう修正する。ただし，DD要素を連結したい場合は，NAME属性が同一のDD要素を連続して定義する。間に他のNAME属性を指定したDD要素を定義してはならない。

KAKC1105-E

Cataloged procedure xml cannot execute direct.

カタログドプロシジャは直接実行できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)bjexecコマンドの引数に指定するファイル名には，JOB要素を含む通常のジョブ定義XMLファイルを指定する。ただし，-cオプションを指定した場合は，引数にカタログドプロシジャのファイルを指定してもよい。この場合，カタログドプロシジャのシンタクスチェックだけ行って処理を終了する。

KAKC1106-E

procedure nest error. elementNo=番号

番号で示すタグの解析中にプロシジャをネストして定義しているのが見つかったが，プロシジャをネストして定義することはできない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，プロシジャ中のジョブステップには，CALL要素を定義しないよう修正してジョブを再実行する。

KAKC1107-E

Step "ジョブステップ名" in cond attribute is not found. elementNo=番号

番号で示すタグの解析中にCOND属性が見つかったが，属性値に指定したジョブステップ名が見つからない。

ジョブステップ名：ジョブステップ名が表示される場合と，ジョブステップ名.プロシジャステップ名が表示される場合がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，COND属性の値にジョブステップ名を指定する場合は，ジョブ中またはプロシジャ中に存在するジョブステップ名を指定して，ジョブを再実行する。

KAKC1109-I

Parsing of proc file "ファイル名" ended. code=終了コード

ファイル名で示されるカタログドプロシジャの解析処理を終了した。

終了コードが0の場合，カタログドプロシジャの解析は正常終了した。

終了コードが0以外の場合，カタログドプロシジャに誤りがある。または，カタログドプロシジャの解析処理でエラーが発生した。

(Ｓ)終了コードの値によって，次の処理を続行または終了する。

終了コードが0の場合，処理を続行する。

終了コードが0以外の場合，処理を終了する。

(Ｏ)終了コードが0以外の場合，カタログドプロシジャの誤りを修正する。または，カタログドプロシジャの解析処理で発生したエラーの原因を解決する。

KAKC1110-E

The number of steps exceeded ジョブステップ数上限値.

ジョブ中のプロシジャステップを含むジョブステップ数がジョブステップ数上限値を超えた

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ジョブ中のプロシジャを含むジョブステップ数がジョブステップ数上限値を超えないように修正して，ジョブを再実行する。

KAKC1111-E

PGM attribute of EXEC element cannot be replaced. elementNo=番号

番号で示すタグの解析中に，PGM属性を置換する指定があったが，PGM属性は置換できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PGM属性を置換しないように修正して，ジョブを再実行する。

KAKC1112-E

Directory ID format is invalid. elementNo=番号

番号で示すタグ内でパス名置換用識別子を利用しているが，指定形式に誤りがある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，パス名置換用識別子を正しい形式に修正してジョブを再実行する。

KAKC1113-E

Directory ID "パス名置換用識別子" includes invalid character. elementNo=番号

番号で示すタグ内でパス名置換用識別子を利用しているが，利用できない文字を含んでいる。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，設定ファイルで定義したパス名置換用識別子を記述してジョブを再実行する。

KAKC1114-E

Directory ID "パス名置換用識別子" is too long. elementNo=番号

番号で示すタグ内でパス名置換用識別子を利用しているが，長さが不当である。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，設定ファイルで定義したパス名置換用識別子を記述してジョブを再実行する。

KAKC1115-E

Directory ID "パス名置換用識別子" is not defined. elementNo=番号

番号で示すタグ内でパス名置換用識別子を利用しているが，パス名置換用識別子が定義されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，設定ファイルで定義したパス名置換用識別子を記述してジョブを再実行する。

KAKC1117-E

Attribute "属性名" must be specified with TYPE="ファイル種別". elementNo=番号

番号で示すタグ内のDD要素に，ファイル種別で示す属性で必須の属性（属性名）が定義されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名で示す必須の属性を指定，またはTYPE属性を正しく指定してジョブを再実行する。

KAKC1118-E

Attribute "属性名" must not be specified with TYPE="ファイル種別". elementNo=番号

番号で示すタグ内のDD要素に，ファイル種別で示す属性で背反の属性（属性名）が定義されている。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名で示す背反の属性を削除，またはTYPE属性を正しく指定してジョブを再実行する。

KAKC1119-E

Invalid back reference in the DSN attribute. elementNo=番号

番号で示すタグ内のDD要素でDSN属性の逆方向参照を解析したが，文法誤りによって正しく参照ができない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，逆方向参照の文法誤りを取り除いてジョブを再実行する。

KAKC1120-E

The step specified in back reference is not found. elementNo=番号

番号で示すタグ内のDD要素でDSN属性の逆方向参照を解析したが，対象となるジョブステップが見つからなかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ジョブステップ名にはジョブ中，またはプロシジャ中に存在するジョブステップ名を指定して，ジョブを再実行する。

KAKC1121-E

DDNAME "DD名" in back reference is not found. elementNo=番号

番号で示すタグ内のDD要素でDSN属性の逆方向参照を解析したが，DD名で示す対象となるDD要素が見つからなかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，DD名には同一ジョブステップ，または指定したジョブステップに存在するDD名を指定して，ジョブを再実行する。

KAKC1122-E

This DD must specify NAME="JOBLIB" and TYPE="LIB". elementNo=番号

番号で示すタグ内のDD要素は，NAME="JOBLIB"およびTYPE="LIB"を指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，JOB要素中に指定するDD要素は，すべてNAME="JOBLIB"およびTYPE="LIB"を指定するように修正して，ジョブを再実行する。

KAKC1123-E

NAME="JOBLIB" cannot be specified for this DD. elementNo=番号

番号で示すタグ内のJOBLIB属性のDD要素は，STEP要素内には定義できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，STEP要素内にNAME="JOBLIB"を指定したDD要素を定義しないように修正してジョブを再実行する。

KAKC1124-E

SysoutClass "クラス名" is not defined in Config File. elementNo=番号

番号で示すタグ内のクラス名で示す値は，SysoutClassとして設定ファイルに定義されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，設定ファイルで定義したSysoutClassのクラス名を指定してジョブを再実行する。

KAKC1125-E

Sysin data is invalid. Delimiter is not found. elementNo=番号

番号で示すタグ内のSYSINデータの区切りが判断できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，SYSINデータの開始と終了位置に！を記述するように修正してジョブを再実行する。

KAKC1126-E

Sysin data is invalid. End of delimiter is not found. elementNo=番号

番号で示すタグ内のSYSINデータの終端が判断できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，SYSINデータの終了位置に！を記述するように修正してジョブを再実行する。

KAKC1127-E

Exec script is invalid. Delimiter is not found. elementNo=番号

番号で示す要素の内容（スクリプト）の区切りが判断できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，スクリプトの開始と終了位置に！を記述するように修正してジョブを再実行する。

KAKC1128-E

Exec script is invalid. End of delimiter is not found. elementNo=番号

番号で示す要素の内容（スクリプト）の終端が判断できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，スクリプトの終了位置に！を記述するように修正してジョブを再実行する。

KAKC1130-E

Value of Symbol Parameter "記号パラメータ名" is not specified. elementNo=番号

番号で示すタグの解析中に記号パラメータ名を処理しようとしたが，記号パラメータが定義されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，プロシジャ中にSYMBOL要素で記号パラメータ名を定義する，またはCALL要素中にSETSYMBOL要素で記号パラメータ名を定義する。

KAKC1131-E

Invalid char is found in the Symbol Parameter "記号パラメータ名". elementNo=番号

番号で示すタグの解析中に記号パラメータ名を処理しようとしたが，記号パラメータとして処理できない文字が含まれている。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，記号パラメータとして利用できる文字で記述するように修正してジョブを再実行する。

KAKC1132-E

Proc file “ファイル名” 関数名 error reason=“エラー詳細” elementNo=番号

カタログドプロシジャXMLファイルを関数名で示す関数で確認しようとしたが，エラー詳細で示すエラーが発生した。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)エラー詳細を基にカタログドプロシジャXMLファイルが読み込みできるように，権限などの問題がないか確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC1133-E

Attribute "PGM" is not specified. elementNo=番号

番号で示すタグ内にPGM属性が指定されていない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PGM属性を指定してジョブを再実行する。

KAKC1134-E

Specified step "ジョブステップ名" is already replaced. elementNo=番号

番号で示すタグの解析中にジョブステップ名で示すジョブステップが見つかったが，このジョブステップは置換済みのため置換できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，一回のプロシジャ呼び出しで，特定のジョブステップを複数回置換することがないように修正してジョブを再実行する。

KAKC1135-E

TYPE="LIB" must be specified with NAME="JOBLIB" or "STEPLIB". elementNo=番号

番号で示すタグ内のDD要素で，TYPE="LIB"はNAME="JOBLIB"またはNAME="STEPLIB"の場合に指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，NAME属性をJOBLIB，STEPLIBに修正する，またはTYPEをLIB以外に修正して，ジョブを再実行する。

KAKC1136-E

"DD名" cannot be specified for NAME. elementNo=番号

番号で示すタグ内のDD要素で，DD名で示す文字列はNAME属性の値に指定できない。

DD要素のNAME属性に指定できない名称：AJOBLIB，ASTEPLIB，SYSUDUMP，SYSABEND，SYSNDUMP，SYSCHK，SYSCKEOV，JOBCAT，STEPCAT，KANJLIB，IMGLIB，SYSMAPLB

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，DD要素のNAME属性に指定できないDD名を指定しないように修正して，ジョブを再実行する。

KAKC1137-E

NAME="STEPLIB" must be specified with TYPE="LIB". elementNo=番号

番号で示すタグ内のDD要素で，NAME="STEPLIB"はTYPE="LIB"の場合に指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，NAME属性をSTEPLIB以外に修正する，またはTYPEをLIBに修正してジョブを再実行する。

KAKC1138-E

The SETENV element with NAME="NAME属性値" is specified more than once. elementNo=番号

番号で示すタグの解析中にNAME属性値で示す名称の重複したSETENV要素が見つかった。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，JOB要素内またはSTEP要素内では，SETENV要素のNAME属性が重複しないように修正する。

KAKC1139-E

JOB element cannot be specified in cataloged procedure. elementNo=番号

番号で示すタグ内の解析中にJOB要素が見つかったが，カタログドプロシジャ中にJOB要素を指定することはできない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，カタログドプロシジャ中にJOB要素を定義しないように修正して，ジョブを再実行する。

KAKC1140-E

TYPE is invalid in DD element of back reference. elementNo=番号

番号で示すタグの解析中に，逆方向参照を指定したDD要素が見つかったが，TYPE属性の値が不正である。

逆方向参照を指定したDD要素は，TYPE属性に"FILE"以外を指定してはならない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，逆方向参照を指定したDD要素のTYPE属性を修正してジョブを再実行する。

KAKC1141-E

TYPE is invalid in target DD element of back reference. elementNo=番号

番号で示すタグの解析中に，逆方向参照を指定したDD要素が見つかったが，逆方向参照の対象となるDD要素のTYPE属性の値が不正である。

逆方向参照の対象となるDD要素は，TYPE属性に"FILE"，"DATA"，"TEMP"以外を指定してはならない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，逆方向参照の対象となるDD要素のTYPE属性を修正してジョブを再実行する。

KAKC1142-W

The DD with TYPE="TYPE属性値" can not be concatenated. elementNo=番号

番号で示すタグでTYPE="TYPE属性値"のDD要素を連結指定しているが，TYPE="TYPE属性値"のDD要素は連結できない。

(Ｓ)処理を続行する。

(Ｏ)実行するプログラムの入出力仕様を確認し，TYPE="TYPE属性値"を指定したDD要素を連結しているのが誤りであれば修正する。

KAKC1143-E

Minimum record length cannot be specified for attribute "ISRECL". elementNo=番号

番号で示すタグのISRECL属性に最小レコード長は指定できない。

最小レコード長は，ISRECFM属性でVを指定した場合にだけ指定できる。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISRECFM属性の指定をVに修正するか，またはISRECL属性に指定した最小レコード長を削除してジョブを再実行する。

KAKC1144-E

Minimum record length is not specified for attribute "ISRECL". elementNo=番号

番号で示すタグのISRECL属性に最小レコード長の指定がない。

ISRECFM属性でVを指定した場合は，ISRECL属性に最小レコード長を指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISRECFM属性をFに修正するか，またはISRECL属性に最小レコード長を指定してジョブを再実行する。

KAKC1145-E

Minimum record length specified for attribute "ISRECL" is bigger than the record length. elementNo=番号

番号で示すタグのISRECL属性で指定した最小レコード長がレコード長より大きい。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISRECL属性で指定する最小レコード長がレコード長以下になるように修正してジョブを再実行する。

KAKC1146-E

Key position specified for attribute "ISKEY" is out of range. elementNo=番号

番号で示すタグのISKEY属性で指定したキー位置が範囲を超えている。

ISKEY属性で指定するキー位置は，ISRECL属性で指定するレコード長または最小レコード長より小さい値にする必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISKEY属性で指定するキー位置がISRECL属性で指定するレコード長または最小レコード長より小さい値となるように修正してジョブを再実行する。

KAKC1147-E

Specified key extends beyond or is not within the record. attribute="ISKEY" elementNo=番号

番号で示すタグのISKEY属性で指定したキー位置+キー長が範囲を超えている。

ISKEY属性で指定するキー位置とキー長の合計は，ISRECL属性で指定するレコード長または最小レコード長以下にする必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISKEY属性で指定するキー位置とキー長の合計がISRECL属性で指定するレコード長または最小レコード長以下の値となるように修正して，ジョブを再実行する。

KAKC1148-E

Specified DD element must contain all of attributes "ISKEY", "ISRECFM" and "ISRECL". elementNo=番号

番号で示すタグのDD要素にISKEY，ISRECFM，およびISRECL属性をすべて指定する必要がある。

一時ISAMファイルを作成するDD要素の場合は，ISKEY，ISRECFM，およびISRECL属性を必ず指定すること。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，ISKEY，ISRECFM，およびISRECL属性を指定してジョブを再実行する。

KAKC1149-E

Attribute "属性名" must be specified with LANG="プログラム言語" of EXEC element. elementNo=番号

番号で示すタグ内に属性名で示す属性が指定されているが，EXEC要素のLANG="プログラム言語"と同時に指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名で示す属性，またはLANG属性を正しく指定してジョブを再実行する。

KAKC1151-E

DISP=",DELETE" cannot be specified for the same DSN attributes between parallelly-executed job steps. elementNo=番号

番号で示すタグの解析中に，DISP=",DELETE"を指定したDD要素が見つかったが，並列実行するジョブステップ間の同一ファイルにDISP=",DELETE"の指定はできない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，並列実行するジョブステップ間の同一ファイルにDISP=",DELETE"を指定しないように修正して，ジョブを再実行する。

KAKC1152-E

DISP="SHR," must be specified for the same DSN attributes between parallelly-executed job steps. elementNo=番号

番号で示すタグの解析中に，DISP="SHR"以外を指定したDD要素が見つかったが，並列実行するジョブステップ間の同一ファイルではDISP="SHR,"を指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，並列実行するジョブステップ間の同一ファイルではDISP="SHR,"を指定するように修正する。または並列実行を終了して，ジョブを再実行する。

KAKC1153-E

TYPE="属性値" cannot be specified for sub step between parallelly-executed job steps. elementNo=番号

番号で示すタグの解析中に，TYPE="属性値"を指定したDD要素が見つかったが，並列実行するジョブステップのサブステップにはTYPE="属性値"の指定はできない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，並列実行するジョブステップのサブステップにTYPE="属性値"を指定しないよう修正して，ジョブを再実行する。

KAKC1154-W

COND attribute of sub step in parallelly-executed job steps is ignored. elementNo=番号

番号で示すタグの解析中に，COND属性を指定したEXEC要素が見つかったが，無効な条件式を指定している可能性がある。

このメッセージは，並列実行するジョブステップのEXEC要素のCOND属性に，次に示す条件式を指定した場合に出力される。

このCOND属性を指定したジョブステップと並列に実行するジョブステップの名称を指定している。

EVEN，ONLY，またはジョブステップの名称を指定しない条件式を指定している。

ただし，EVEN，ONLY，またはジョブステップの名称を指定しない条件式を指定した場合，このCOND属性を指定したジョブステップと並列実行しない先行ジョブステップが存在すれば，その条件式は無効とはならない。

(Ｓ)処理を続行する。

(Ｏ)ジョブ定義XMLファイルを見直し，COND属性に指定した条件式に誤りがないかどうか確認する。誤りがあればジョブ定義XMLファイルを修正してジョブを再実行し，正しいジョブステップが実行されているかどうかを確認する。

KAKC1155-E

SYSIN record length is too long. elementNo=番号

番号で示すタグ内のSYSINデータのレコード長が長過ぎる。SYSINデータ中に，81バイト目以降に空白・改行以外の文字が含まれている行がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，SYSINデータの各行の81バイト目以降に空白・改行以外の文字を含まないよう修正する。修正後，ジョブを再実行する。

KAKC1156-E

属性名="属性値" can be specified only when パラメータのオペランド名 is specified for parameter パラメータ名. elementNo=番号

番号で示すタグ内に属性名="属性値"が指定されているが，属性名="属性値"は，設定ファイルのパラメータ名がパラメータのオペランド名の場合にしか指定できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルまたは設定ファイルを見直し，ジョブを再実行する。

KAKC1157-E

Number of job steps using the PREST file exceeds the limit. elementNo=番号

番号で示すタグの解析中にPRESTファイルの組み合わせが上限を超えた。

ジョブ間PRESTファイルは，入力側と出力側の関係が1対1になっている必要がある。ジョブ間PRESTファイルを，並列実行するジョブステップ間に3つ以上指定しないこと。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PRESTファイルの組み合わせが間違っていないか確認する。ジョブ間PRESTファイルを並列実行するジョブステップ間に3つ以上指定しないように，ジョブ定義XMLファイルを修正する。修正後，ジョブを再実行する。

KAKC1158-E

Number of job steps using the PREST file is not 2. elementNo=番号

番号で示すタグの解析中に，PRESTファイルの組み合わせの数が2でないPRESTファイルが存在した。

ジョブステップ間PRESTファイルは，入力側と出力側の関係が1対1となっている必要がある。ジョブステップ間PRESTファイルは，並列実行するジョブステップ間に2つ指定する必要がある。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PRESTファイルの組み合わせが間違っていないか確認する。ジョブステップ間PRESTファイルを並列実行するジョブステップ間に2つ指定するように，ジョブ定義XMLファイルを修正する。修正後，ジョブを再実行する。

KAKC1159-E

The same temporary file cannot be used between parallelly-executed job steps. elementNo=番号

番号で示すタグの一時ファイルは，並列実行するジョブステップに，一時ファイル識別名が同一の一時ファイル，一時ISAMファイルが指定されているため使用できない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，一時ファイル識別名を修正する。修正後，ジョブを再実行する。

KAKC1160-I

Specified DISP was changed to "SHR,KEEP,KEEP". elementNo=番号

番号で示すタグのDISP属性値を"SHR,KEEP,KEEP"に変更した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1161-E

PREST file is used by serially-executed job steps. elementNo=番号

番号で示すタグのPRESTファイルは，並列実行しないジョブステップ間で使用している。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PRESTファイルの組み合わせ相手が間違っていないか確認する。必要な場合はジョブ定義XMLファイルを修正する。修正後，ジョブを再実行する。

KAKC1162-E

PREST file is used within the same job step. elementNo=番号

番号で示すタグで表示しているPRESTファイルは，同一ジョブステップ内で使用している。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，PRESTファイルの組み合わせ相手が間違っていないか確認する。必要な場合はジョブ定義XMLファイルを修正する。修正後，ジョブを再実行する。

KAKC1164-E

Attribute "属性名" must be specified with LANG="LANG属性値". elementNo=番号

番号で示すタグ内の解析中に属性名で示す属性が見つかったが，この属性はLANG="LANG属性値"のときだけ指定できる。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名で示す属性を削除，またはLANG="LANG属性値"を指定してジョブを再実行する。

KAKC1165-E

属性名="属性値" must not be specified with LANG="LANG属性値". elementNo=番号

番号で示すタグ内の解析中に属性名="属性値"で示す属性が見つかったが，LANG="LANG属性値"のときは指定することができない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，属性名="属性値"，またはLANG="LANG属性値"を修正してジョブを再実行する。

KAKC1166-E

EURENCODE "エンコード種別" is not defined in Config File. elementNo=番号

指定されたエンコード種別は設定ファイルで定義していない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルの指定が正しいかを見直す。

KAKC1167-W

Specified value "属性値" of attribute "属性名" is overridden to "適用属性値" for LANG="LANG属性値". elementNo=番号

番号で示すタグ内の解析中に属性名="属性値"で示す属性値が見つかったが，LANG="LANG属性値"の場合は属性値を指定しても適用属性値が仮定される。

(Ｓ)処理を続行する。

(Ｏ)ジョブ定義XMLファイルを見直す。必要な場合は，属性値を変更するか，または正しいLANG="LANG属性値"を指定してジョブを再実行する。

KAKC1168-E

DDNAME "DD名" in SETENVFILE element is not found. elementNo=番号

番号で示すSETENVFILE要素で指定したDD名を定義するDD要素が見つからない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，DD名を正しく修正してジョブを再実行する。

KAKC1169-E

The TYPE attribute of the DD element to define the environment variable file is invalid. elementNo=番号

番号で示すSETENVFILE要素で指定したDD名を定義するDD要素のTYPE属性が不当である。

(Ｓ)ジョブ定義XMLファイルの解析処理後の処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，DD要素を正しく修正してジョブを再実行する。

KAKC1175-I

Environment variable %{環境変数名} was replaced to "環境変数値".

環境変数名で示すXMLファイル環境変数の値を環境変数値に置換した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1180-E

DISP="DISP属性値" cannot be specified with TYPE="TYPE属性値". elementNo=番号

番号で示すタグのDISP属性値にDISP属性値を指定しているが，TYPE="TYPE属性値"と同時に指定することはできない。

(Ｓ)処理を続行する。

(Ｏ)ジョブ定義XMLファイルを見直し，DISP属性，またはTYPE属性に誤りがないかどうかを確認する。

KAKC1185-W

Specified procedure group is not defined in a configuration file, default group is assumed.

指定されたプロシジャグループは設定ファイルに定義されていないので，デフォルトのグループを仮定した。

(Ｓ)処理を続行する。

(Ｏ)デフォルトグループ名が仮定されて問題がある場合は，JOBPARM要素のPROCGROUP属性の値，またはJP1のキュー名が設定ファイルに定義されているか見直す。

KAKC1186-E

Specified step name is not found. "ジョブステップ名[.プロシジャステップ名]"elementNo=番号

番号で示すタグで指定したステップ名が見つからない，または指定できないジョブステップである。

ジョブステップ名[.プロシジャステップ名]：IF要素のOP属性で指定したジョブステップ名，プロシジャステップ名を表示する。カタログドプロシジャで指定したジョブステップ名はジョブステップ名.プロシジャステップ名の形式で表示する。

(Ｓ)処理を終了する。

(Ｏ)指定したジョブステップ名を見直す。

KAKC1187-E

Incorrect combination of the elements. elementNo=番号

番号で示すタグで指定した要素の組み合わせが正しくない。

(Ｓ)処理を終了する。

(Ｏ)対で指定が必要な要素の指定が不足していないかどうかを見直す。

KAKC1188-E

Incorrect order of the elements. elementNo=番号

番号で示すタグで指定した要素の指定順序が正しくない。

(Ｓ)処理を終了する。

(Ｏ)指定した要素の指定順序が正しいかどうかを見直す。

KAKC1189-E

This element can not be used in JSPEC. elementNo=番号

番号で示すタグで指定した要素はJSPEC機能を使用した並列実行するジョブステップ間では使用できない。

(Ｓ)処理を終了する。

(Ｏ)指定した要素の指定位置が正しいかどうかを見直す。

KAKC1190-I

TYPE:"type値" assumed in DD element of back reference. elementNo=番号

番号で示すダグの解析中に，逆方向参照を指定したDD要素が見つかったため，TYPE属性値を"type値"に変更した。

(Ｓ)ジョブ定義XMLファイルの解析処理を続行する。

(Ｏ)なし。

KAKC1191-E

TYPE is invalid in DD element of back reference between parallelly-executed job steps. elementNo=番号

番号で示すタグの解析中，逆方向参照を指定したDD要素が見つかったが，並列実行するジョブステップでは指定できないTYPE属性値が指定された。

並列実行するジョブステップで逆方向参照する場合，参照先のTYPE属性に"FILE"以外を指定してはならない。

(Ｓ)ジョブ定義XMLファイルの解析処理後に処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直し，逆方向参照の対象となるDD要素のTYPE属性を修正してジョブを再実行する。

KAKC1600-I

ジョブ名 Job allocated.

ジョブ名で示すジョブのファイル割り当てを開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1601-I

ジョブ名.ジョブステップ名 Step allocated.

ジョブ名とジョブステップ名で示すジョブステップのファイル割り当てを開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1602-I

DD名, DISP指定値, ファイル名

DD名はファイル名で示すファイルをDISP指定値として割り当てた。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1603-I

DD名, DISP指定値, ファイル名[, size=｛ファイルサイズ｜unknown｝]

DD名はファイル名で示すファイルをDISP指定値として解放した。ファイルサイズを「ファイルサイズ」で示す（バイト単位）。ファイルサイズはDD要素のTYPE属性に"FILE"，"TEMP"，"GDG"，"SYSOUT"を指定した場合に表示される。シンボリックリンクを指定した場合のファイルサイズは，シンボリックリンクに含まれるパス名の長さを表示する。DD要素のDSN属性に索引順編成ファイルを指定した場合や，ファイルが存在しないなどの理由でファイルサイズを求めることができない場合は，「unknown」を表示する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1604-I

ファイルパス is deleted.

DISP指定で"ファイルパス"に示すファイルを削除した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1605-I

ファイルパス is not deleted due to "エラー詳細".

DISP指定で"ファイルパス"を削除したが，"エラー詳細"に示すエラーが発生した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1609-E

DD "DD 名" failed to {allocate | deallocate} temporary ISAM file.

DD名で示す一時ISAMファイルの割り当てまたは割り当て解除に失敗した。

このメッセージは，設定ファイルに"ISAMLIB_MODE M64"を指定して一時ISAMファイルの割り当てまたは割り当て解除に失敗した場合に出力される。また，次のメッセージのどれかがstderrに出力される。

KAKC0005-E

KAKC1626-E

KAKC1627-I

(Ｓ)メッセージテキストに"allocate"が表示されている場合，処理を終了する。メッセージテキストに"deallocate"が表示されている場合，処理を続行する。

(Ｏ)使用する環境でISAMライブラリの64ビット版の使用が適切であるか，実行環境は正しく設定されているかどうかを確認する。エラー要因を取り除いて必要ならばジョブを再実行する。

KAKC1610-E

DD "DD名" failed to allocate.

DD名で示すファイルの割り当てに失敗した。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルで指定したファイル名の指定を見直す。

KAKC1611-E

DD "DD名" create failed. reason="エラー詳細"

DD名で示すファイルを作成するためにオープンしたが，エラー詳細によって失敗した。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1612-E

DD "DD名" putenv failed.

DD名で示すDD要素またはSETENV要素の環境変数の作成に失敗した。

"DD名"には，DD要素またはSETENV要素で指定したNAME属性に指定した名称が表示される。

DD要素でTYPE="LIB"属性指定の場合は，"DD名"に"PATH"と表示される。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1613-E

DD "DD名" file is already exists.

DD名で示すファイルはすでに存在する。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1614-E

DD "DD名" file does not exist.

DD名で示すファイルが存在しない。またはサブステップでPASSしたファイルを後続ジョブステップへ引き継ごうとした。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1615-E

DD "DD名" stat error. reason="エラー詳細".

DD名で示すファイルをstat関数で確認しようとしたが，エラー詳細で示すエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1616-E

The DSN of DD "DD名" is already allocated directory.

DD名で示すディレクトリはすでに存在する。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1617-E

The DSN of DD "DD名" is already allocated file.

DD名で示すディレクトリはすでに存在する。または指定したディレクトリではない可能性がある。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1618-E

DD "DD名" create error reason="エラー詳細".

DD名で示すファイルを作成しようとしたが，エラー詳細で示すエラーが発生した。

DD名で示すファイルがシンボリックリンクの場合，ファイルの実体が存在しないかマウントされていないと，エラー詳細に“File exists”が表示される。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1619-E

DD "DD名" environment variable PATH exceeded the maximum.

DD名で示すJOBLIB，STEPLIBをPATH環境変数に設定しようとしたが，設定する値が長過ぎ，または存在しないパス（ディレクトリ）を指定した可能性がある。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1620-E

"RNW" is not specified.

ディレクトリはRNW指定のため動作できない。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1625-E

An error occurred during SYSIN data output processing. reason="エラー詳細".

入力データの書き込み処理で，"エラー詳細"に示すエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC1626-E

Failed to create temporary ISAM file defined by DD "DD名". （errno=エラー番号,function=ISAM関数名,file name=一時ISAMファイル名）

DD名で示す一時ISAMファイルの作成に失敗した。エラーが発生したISAM関数名，ISAM関数のエラー番号（iserrno）および一時ISAMファイル名が出力される。

(Ｓ)処理を終了する。

(Ｏ)マニュアル「索引順編成ファイル管理 ISAM」を参照し，ISAM関数名，エラー番号からエラー原因を求め，取り除く。システムコールのエラー番号の場合はエラー情報を調べ，原因を取り除く。

KAKC1627-I

Failed to delete temporary ISAM file "一時ISAMファイル名". （errno=エラー番号,function=ISAM関数名）

一時ISAMファイル名で示す一時ISAMファイルの削除に失敗した。エラーが発生したISAM関数名およびISAM関数のエラー番号（iserrno）が出力される。

(Ｓ)処理を続行する。

(Ｏ)ジョブ終了後，一時ISAMファイルを格納するディレクトリ内を確認し，一時ISAMファイル名で示す一時ISAMファイルが存在する場合は削除する。なお，一時ISAMファイルは次に示す物理ファイルで構成される。

キー定義ファイル

一時ISAMファイル名で示す名称に拡張子".DEF"が付加された名称である。

キーファイル

一時ISAMファイル名で示す名称に拡張子".K01"が付加された名称である。

データファイル

一時ISAMファイル名で示す名称に拡張子".DAT"が付加された名称である。

KAKC1628-E

Failed to create temporary ISAM file. File already exists. （DD name=DD名称,file name=一時ISAMファイル名）

一時ISAMファイル名で示す一時ISAMファイルがすでに存在しているため，一時ISAMファイルの作成に失敗した。

(Ｓ)処理を終了する。

(Ｏ)一時ISAMファイルを格納するディレクトリ内を確認し，一時ISAMファイル名で示す一時ISAMファイルが存在する場合は削除して再実行する。なお，一時ISAMファイルは次に示す物理ファイルで構成される。

キー定義ファイル

一時ISAMファイル名で示す名称に拡張子".DEF"が付加された名称である。

キーファイル

一時ISAMファイル名で示す名称に拡張子".K01"が付加された名称である。

データファイル

一時ISAMファイル名で示す名称に拡張子".DAT"が付加された名称である。

KAKC1629-E

DD "DD名" "属性名｜オペランド名" putenv failed.

DD名で示すDD要素の属性名で示す属性値，または設定ファイルのSysoutClassパラメータで指定したオペランド名で示すオペランドで指定した値を設定する環境変数の作成に失敗した。

"DD名"には，DD要素で指定したNAME属性に指定した名称が表示される。

属性名またはオペランド名の表示を次に示す。

FTYPE：SYSOUTデータファイルのファイル形式

RECFM：制御文字の種別

TRUNC：行末空白削除

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルまたは設定ファイルを見直す。

KAKC1630-E

DD "DD名" truncate failed. reason="エラー詳細"

DD名で示すファイルを0バイトにしようとしたが，エラー詳細によって失敗した。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1640-I

DD "DD名", DISP: "disp変更値" assumed.

DISP属性値が不当なため，disp変更値に変更した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1641-I

DD "DD名"，DISP："disp変更値" assumed because of "パラメータ名".

DISP属性値をパラメータ名の設定によってdisp変更値に変更した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1648-E

DD "DD名" must contain all of attributes "ISKEY", "ISRECFM" and "ISRECL"

because DISP "MOD" was changed to "NEW".

DD名で示す一時ISAMファイルのDD要素は，DISP属性を"MOD"から"NEW"に変更したため，ISKEY，ISRECFM，およびISRECL属性がすべて指定されている必要がある。

(Ｓ)処理を終了する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKC1650-W

Waiting for locking a file.

ロック確保待ちが発生しました

ファイルのロック確保待ちが発生した。ロック確保待ちの状態は，bjexlslockコマンドで確認できる。

(Ｓ)ファイルのロックが確保されるまでジョブを待たせる。

(Ｏ)ロック待ち時間が長時間となっている場合，ジョブスケジュールの見直しをする。

KAKC1651-I

Quit waiting for locking a file.

ロック待ちは解除されました

KAKC1650-Wで示すファイルのロック確保待ちは解除された。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1652-W

Waiting for locking a semaphore.

ジョブ実行待ちが発生しました

ジョブの実行数が設定ファイルのLOCK_JOBMPLXで指定したジョブ多重度を超えたため，ジョブの実行待ちを行った。

(Ｓ)ジョブの実行数がジョブ多重度より小さくなるまでジョブを待たせる。

(Ｏ)ジョブの実行待ち時間が長時間となっている場合，ジョブスケジュールの見直しをする。

KAKC1653-I

Quit waiting for locking a semaphore.

ジョブ実行待ちは解除されました

KAKC1652-Wで示すジョブ多重度によるジョブの実行待ちを解除した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1654-W

Waiting for lock resource control table.

排他資源管理テーブルの空き待ちが発生しました

ロック獲得中またはロック待ち中のファイル合計数が，設定ファイルのLOCK_MAXFILEで指定したファイル数を超えたため，排他資源の空き待ちが発生した。

(Ｓ)排他資源管理テーブルに空きができるまでジョブを待たせる。

(Ｏ)設定ファイルのLOCK_MAXFILEの指定を見直す。

KAKC1655-I

Quit waiting for lock resource control table.

排他資源管理テーブルの空き待ちが解除されました

KAKC1654-Wで示す排他資源管理テーブルの空き待ちは解除された。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1660-E

DD "DD名" does not exist. file path=ファイルパス

DD名で示すDD要素で指定したファイルパスのファイルが存在しない。

(Ｓ)処理を終了する。

(Ｏ)ファイル名の指定を見直す。

KAKC1680-I

DD "DD名" Specified DISP "MOD" was changed to "NEW" because file does not exist.

DD名で示すファイルはDISP属性値に"MOD"を指定しているが，ファイルが存在しないためNEWに変更した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1690-I

DD "DD名" was truncated to 0 byte.

DD名で示すファイルを削除しないでファイルを0バイトにした。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1691-E

DD "DD名" referenced DD element is not allocated.

DD名で示すDD要素で参照しているDD要素は割り当て未完了であるため参照できない。

(Ｓ)処理を終了する。

(Ｏ)参照先のDD要素が正しいかを見直し，割り当て済みのDD要素を参照するようにジョブ定義XMLファイルを修正してジョブを再実行する。

KAKC1717-E

There is no running job.

実行中のジョブは存在しない。

(Ｓ)処理を終了する。

(Ｏ)指定を確認し，必要な場合はコマンドを再入力する。

KAKC1718-E

No resource is allocated with the specified file or path name.

指定されたファイルパス名での資源確保は行われていない。

(Ｓ)処理を終了する。

(Ｏ)指定を確認し，必要な場合はコマンドを再入力する。

KAKC1719-E

Specified file or path name is not found.

表示対象となるファイル名およびパス名が見つからない。

(Ｓ)処理を終了する。

(Ｏ)指定を確認し，必要な場合はコマンドを再入力する。

KAKC1720-E

Failed to acquire a semaphore set identifier. （code=保守情報,error message=エラー詳細）

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中にセマフォ集合識別子の取得に失敗した。

このメッセージが出力された場合，次に示すことが考えられる。

bjexec実行で表示した場合

bjexec実行するのに先立ち，bjexpdの起動が行われていない。

bjexlslock実行で表示した場合

bjexlslock実行するのに先立ち，bjexpdの起動が行われていない。または排他制御機能を使用するための設定ファイルの指定（LOCK_OPTIONパラメータでENABLEを指定）が行われていない。

bjexlsexjob実行で表示した場合

bjexlsexjob実行するのに先立ち，bjexpdの起動が行われていない。または実行中のジョブ情報表示機能を使用するための設定ファイルの指定（JOB_STATUS_DISPLAYパラメータでENABLEを指定）が行われていない。

(Ｓ)処理を中止する。

(Ｏ)コマンド実行に先立ち，bjexpdを起動しておく。

排他制御機能を使用する場合，設定ファイルの指定（LOCK_OPTIONパラメータでENABLEを指定）をする。

実行中のジョブ情報表示機能を使用する場合，設定ファイルの指定（JOB_STATUS_DISPLAYパラメータでENABLEを指定）をする。

上記以外の要因の場合，システム管理者に連絡する。

KAKC1721-E

Failed to create a semaphore set. （code=保守情報,error message=エラー詳細）

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中にセマフォ集合の生成に失敗した。

(Ｓ)処理を中止する。

(Ｏ)システム管理者に連絡する。

KAKC1722-E

An error occurred during initialization of a semaphore. （code=保守情報,error message=エラー詳細）

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中にセマフォの初期化処理でエラーが発生した。

(Ｓ)処理を中止する。

(Ｏ)システム管理者に連絡する。

KAKC1723-E

An error occurred during initialization of the shared memory. （code=保守情報,error message=エラー詳細）

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中に共用メモリの初期化処理でエラーが発生した。

(Ｓ)処理を中止する。

(Ｏ)システム管理者に連絡する。

KAKC1724-E

An error occurred while locking a file. （code=保守情報,error message=エラー詳細,elementNo=番号）

番号で示すタグのDD要素で，ファイルのロック確保処理中にエラーが発生した。

(Ｓ)処理を中止する。

(Ｏ)DSN属性で指定したパス名に誤りがないか見直す。

KAKC1725-E

An error occurred while unlocking a file. （code=保守情報,error message=エラー詳細）

ファイルのロック解除処理中にエラーが発生した。

(Ｓ)処理を中止する。

(Ｏ)システム管理者に連絡する。

KAKC1726-E

Access to the shared memory occurred while terminating the exclusion control function.

排他/共用制御の計画停止処理中のため，共用メモリへのアクセスは禁止されている。

(Ｓ)ジョブの実行を中止する。

(Ｏ)排他/共用制御が使用可能となるまでジョブの入力を延期するか，または排他/共用制御を使用可能にしてからジョブを入力する。

KAKC1727-E

More than two PREST files were used at the same time.

PRESTファイルの共用使用数が2を超えた。

(Ｓ)ジョブの実行処理を終了する。

(Ｏ)共用できるジョブの多重実行となるように，実行スケジュールを見直す。

KAKC1728-E

Number of files for exclusion control exceeds the limit.

この実行環境で，一度に管理できないファイル数を指定している。

(Ｓ)処理を中止する。

(Ｏ)一度に扱う排他対象ファイル数が多過ぎる。または環境設定値が小さ過ぎるため，指定値を見直して再実行するか，もしくは環境設定値を大きくする。

KAKC1729-E

Length of file path exceeds 1023 characters.

指定したファイルパスは1,023文字を超えている。

(Ｓ)コマンド処理を中止する。

(Ｏ)指定を見直し，必要な場合はコマンドを再入力する。

KAKC1731-E

Duplicate error was detected while checking host name of the shared memory. (ホスト名)

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中，共用メモリのホスト名の確認で，他プロセスのものと重複しているのが検出された。物理ホストで実行したときは，ホスト名に物理ホスト名が表示される。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリが重複しないようLOCK_KEY_IDパラメータで，識別情報を設定する。

KAKC1732-E

Duplicate error was detected while checking identifier of the shared memory. (ホスト名)

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中，共用メモリの識別情報の確認で，他プロセスのものと重複しているのが検出された。物理ホストで実行したときは，ホスト名に物理ホスト名が表示される。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリが重複しないようLOCK_KEY_IDパラメータで，識別情報を設定する。

KAKC1733-E

Duplicate error was detected while checking spool filepath of the shared memory.(ホスト名)

ファイルの排他/共用制御または実行中のジョブ情報表示機能の処理中，共用メモリのスプールのファイル名の確認で，他プロセスのものと重複しているのが検出された。物理ホストで実行したときは，ホスト名に物理ホスト名が表示される。

セマフォ，共有メモリの確保時に内部的に使用するキーが重複しないように，キー生成時に使用する識別情報をあらかじめ重複しないように指定する。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリが重複しないようLOCK_KEY_IDパラメータで，識別情報を設定する。

KAKC1734-E

An error occurred during lock release processing. (function=関数名, error="エラー詳細")

ジョブステップ終了時の排他/共用制御の解除処理で，エラーが発生した。

スプールジョブ転送デーモンが停止した可能性がある。

(Ｓ)ジョブステップ終了時の排他/共用制御の解除処理を行わず，以降のジョブステップの実行を打ち切る。

(Ｏ)システム管理者に連絡する。システム管理者は，スプールジョブ転送デーモンの状態を確認する。

KAKC1800-I

Environment variable file is applied. Enviroment variable count=環境変数数

SETENVFILE要素で指定した環境変数格納ファイルを適用した。環境変数数で，適用した環境変数数を示す。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1801-E

An error occurred during environment variable file processing. （file="ファイル名", function=関数名, error=エラー詳細）

SETENVFILE要素で指定した環境変数格納ファイル処理中にエラーが発生した。

(Ｓ)ジョブの実行を中止する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC1900-E

Step program is not found.

ジョブステップを実行しようとしたが，EXEC要素で指定したプログラムが見つからなかった。

(Ｓ)処理を続行する。

(Ｏ)ジョブ定義XMLファイルを確認する。

KAKC1901-E

Step program could not be executed. reason=エラー詳細

ジョブステップを実行しようとしたが，エラー詳細で示すエラーが発生し，EXEC要素で指定したプログラムを実行できなかった。

(Ｓ)処理を続行する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC1902-W

Step program stopped by SIGSTOP.

ジョブステップで実行中のプログラムが，SIGSTOPシグナルによって休止した。

(Ｓ)処理を続行する。

(Ｏ)実行中のプログラムを確認する。

KAKC1903-W

Send SIGKILL to process group of step. step=ジョブステップ名[.プロシジャステップ名]

ジョブステップのプロセスグループに対してSIGKILLシグナルを送り，処理を打ち切った。

(Ｓ)次のどちらかの場合，ジョブを打ち切る。

JOB要素のCOND属性の条件を満たしたため，JOBPARM_JSPECANパラメータによるジョブステップの打ち切りを行う場合

JP1/AJSからジョブを強制終了した場合

上記以外の場合，ジョブステップの打ち切り後にジョブを続行する。

(Ｏ)なし。

KAKC1904-E

Failed to create step process. reason=エラー詳細

ジョブステップのプログラムを実行したとき，エラー詳細で示すエラーが発生し，プロセスを生成できなかった。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC1905-E

Failed to wait for step process. pid=ジョブステップPID, reason=エラー詳細

ジョブステップのプログラムの終了コードを取得しようとしたとき，エラー詳細で示すエラーが発生し，プロセスの完了を待つことができなかった。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC1906-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] The value of COND attribute of JOB element was met.

JOB要素のCOND属性で指定した条件が成立したため，後続のすべてのジョブステップをスキップした。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1907-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] Step was skipped because the value of COND attribute of EXEC element was met.

EXEC要素のCOND属性で指定した条件が成立したため，ジョブステップをスキップした。ジョブステップで実行したユーザプログラムが異常終了すると，後続ジョブステップのうちCOND属性にEVENまたはONLYが指定されていないジョブステップをスキップする。この場合，スキップするジョブステップに対して，COND属性の指定有無に関わらずこのメッセージが出力される。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1908-W

ジョブ名 The maximum value of return code exceeds 240.

ジョブステップの終了コードの最大値が240を超えた。

このメッセージは，JOB_RCDEFINEパラメータにSTEPMAXを指定した場合，またはJOB_RCDEFINEパラメータの指定を省略した場合にだけ出力される。

(Ｓ)処理を続行する。

(Ｏ)このコードで問題ないか確認する。

KAKC1909-I

ジョブ名 The maximum value of return code was changed by SETMAXRC element. rc=終了コード

終了コードがSETMAXRC要素によって書き換えられた。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1910-E

Invalid C-Time.

C-Timeが不正である。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC1911-E

Invalid E-Time.

E-Timeが不正である。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC1912-W

Failed to copy a user message. （file=ファイル名, function=保守情報, error=エラー内容）

ジョブログに出力する処理で障害が発生したため，アプリケーションが出力したユーザからのメッセージをジョブログに出力できなかった。考えられる要因を次に示す。

ディスクの容量が満杯になったため，ジョブログに出力できなかった。

スプールディレクトリ内のファイルまたはディレクトリに対して不当な操作を行ったため，ジョブログに出力できなかった。

(Ｓ)処理を続行する。

(Ｏ)アプリケーションが出力したユーザからのメッセージをジョブログに出力する必要がある場合，ディスクの容量またはスプールディレクトリの書き込み権限などを確認し，ジョブを再実行する。

KAKC1915-I

Job ID of Java application was assigned. Job ID=CosminexusのJavaバッチアプリケーションのジョブID

バッチアプリケーションへジョブIDを割り当てた。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1917-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] Step was skipped because the condition of IF element(要素番号) was met.

IF要素で指定した条件が成立したため，ジョブステップをスキップした。

要素番号：要因となったIF要素の要素番号

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC1918-W

ジョブ名 The last value of return code exceeds 240.

最後に実行完了したメインステップの終了コードが240を超えた。

このメッセージは，JOB_RCDEFINEパラメータにSTEPLASTを指定した場合にだけ出力される。

(Ｓ)処理を続行する。

(Ｏ)このコードで問題ないか確認する。

KAKC1922-E

Failed to terminate step process. (step=ジョブステップ名[.プロシジャステップ名], function=関数名, detail=詳細情報)

ジョブステップ名で示すジョブステップのプロセスを強制終了しようとしたが，エラーが発生したため強制終了できなかった。

(Ｓ)処理を終了する。

KAKC1923-W

Step process was terminated. (step=ジョブステップ名[.プロシジャステップ名])

ジョブステップ名で示すジョブステップのプロセスを強制終了した。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC1932-I

ジョブ名.ジョブステップ名[.プロシジャステップ名] PGM_RCABEND parameter is applied. rc=終了コード

ジョブステップが終了コードで終了したため，PGM_RCABENDパラメータが適用された。ジョブステップは異常終了となる。

(Ｓ)処理を続行する。

(Ｏ)ジョブステップの実行結果に問題がないか確認する。

KAKC1942-W

Send シグナル名 to プログラム名 process group of step. step=ジョブステップ名[.プロシジャステップ名]

ジョブステップのプログラム名のプロセスグループに対してシグナル名で示すシグナルを送り，処理を打ち切った。

(Ｓ)次のどちらかの場合，ジョブを打ち切る。

JOB要素のCOND属性の条件を満たしたため，JOBPARM_JSPECANパラメータの指定によってジョブステップを終了する場合

JP1/AJSからジョブを強制終了した場合

上記以外の場合，ジョブステップを終了してからジョブを続行する。

(Ｏ)なし。

KAKC1943-W

Parallelly-executed steps are terminated. reason=理由

JOBPARM_JSPECANパラメータによって理由で示す理由で実行中のジョブステップを終了させる。

理由

意味

error during preliminary processing

アロケートエラーやプロセス生成エラーなど，UAPプロセス生成前のエラー

abnormal termination

シグナルによるジョブステップの異常終了

COND attribute of JOB element in effect

JOB要素のCOND属性によるジョブの打ち切り

(Ｓ)JOB要素のCOND属性による打ち切りの場合，処理を終了する。それ以外の場合，処理を続行する。

(Ｏ)必要であれば，理由やこのメッセージの前後に実行ログに出力されたメッセージから原因を調べ，取り除き，ジョブを再実行する。

KAKC1950-E

bjexec support program is not found.

bjexecから起動指示されたサポートプログラムが見つからなかった。

(Ｓ)処理を続行する。

(Ｏ)バッチジョブ実行システムが正しくインストールされているかどうかを確認する。

KAKC1951-E

bjexec support program could not be executed. reason= エラー詳細

bjexecから起動指示されたサポートプログラムは，エラー詳細で示すエラーが発生し，実行できなかった。

(Ｓ)処理を続行する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。実行環境が適切ではない場合（64ビットアプリケーションを32ビット環境で実行しようとしたなど）は，設定ファイルの定義を見直す。

KAKC2201-E

The message is too long. msgid=メッセージ番号

メッセージ番号（KAKCに続く番号）に示すメッセージは，テキストが長いためすべてのテキストを出力できない。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC2202-E

Output to JOBLOG failed. msgid=メッセージID

メッセージIDに示すメッセージは，ジョブログへの出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC2203-E

Output to SYSMSG failed. msgid=メッセージID

メッセージIDに示すメッセージは，システムメッセージへの出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC2204-E

Output to stdout failed. msgid=メッセージID

メッセージIDに示すメッセージは，標準出力への出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC2205-E

Output to stderr failed. msgid=メッセージID

メッセージIDに示すメッセージは，標準エラー出力への出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC2206-E

Output to log failed. msgid=メッセージID

メッセージIDに示すメッセージは，実行ログへの出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルの実行ログに対する指定を見直す。

KAKC2207-E

Output to trace failed. msgid=メッセージID

メッセージIDに示すメッセージは，トレースへの出力を失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのトレースに対する指定を見直す。

KAKC2208-E

Initialization of log failed. code=保守情報, reason=エラー原因

実行ログの初期化に失敗した。

(Ｓ)次のとおりとなる。

ジョブコントローラの場合，処理を続行する。起動したジョブでは実行ログへメッセージを出力しない。

スプールジョブ転送デーモンの場合，処理を終了する。

(Ｏ)コマンドやジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡し，設定ファイルの実行ログに対する指定を見直す。

KAKC2209-E

Initialization of trace failed. code=保守情報1, os_code=保守情報2

トレースの初期化に失敗した。

(Ｓ)次のとおりとなる。

ジョブコントローラの場合，処理を続行する。起動したジョブではトレースへメッセージを出力しない。

スプールジョブ転送デーモンの場合，処理を終了する。

(Ｏ)コマンドやジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡し，設定ファイルのトレースに対する指定を見直す。保守情報2が11,13 の場合，別プロセスがトレースを排他していることが原因のため，排他しているプロセスを見直す。

KAKC2211-E

The file size or the number of files used by trace is invalid.

トレースの設定に誤りがある。

(Ｓ)次のとおりとなる。

ジョブコントローラの場合，処理を続行する。起動したジョブではトレースへメッセージを出力しない。

スプールジョブ転送デーモンの場合，処理を終了する。

(Ｏ)コマンドやジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡し，設定ファイルのトレースに対する指定を見直す。

KAKC2213-E

The file path used by trace is invalid.

トレースの出力先の設定に誤りがある。

(Ｓ)次のとおりとなる。

ジョブコントローラの場合，処理を続行する。起動したジョブではトレースへメッセージを出力しない。

スプールジョブ転送デーモンの場合，処理を終了する。

(Ｏ)コマンドやジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡し，設定ファイルのトレースに対する指定を見直す。

KAKC2214-E

Failed to get the current time.

現在時刻を求めることができない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC2215-E

Failed to open log. code=保守情報1, reason=エラー原因, os_code=保守情報2

実行ログのオープンに失敗した。

(Ｓ)実行ログのオープンをリトライする。10回リトライしてもオープンできなかった場合，次のとおりとなる。

ジョブコントローラの場合，処理を続行する。起動したジョブでは実行ログへメッセージを出力しない。

スプールジョブ転送デーモンの場合，処理を終了する。

(Ｏ)コマンドやジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡する。保守情報2が11,13の場合，別プロセスが実行ログを排他していることが原因のため，排他しているプロセスを見直す。

KAKC2300-E

Initialization of JP1Event failed. function=関数名()

JP1イベントの初期化処理でエラーが発生した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2301-E

Send processing of JP1Event failed. function=関数名()

JP1イベントの送信処理でエラーが発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2302-E

Termination processing of JP1Event failed. function=関数名()

JP1イベントの終了処理でエラーが発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2303-E

The event server of JP1/Base is not running.

JP1が稼働していないため，イベントが送れない。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2310-E

Parameter is invalid.

JP1イベントの処理で不正な情報を設定した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2311-E

The library of JP1Event is not found.

JP1のイベントを発行しようとしたが，JP1/Baseのプログラムが見つからない。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2312-E

Memory is insufficient.

JP1のイベントを発行しようとしたが，メモリが不足している。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC2313-E

A system error occurred.

JP1のイベントを発行しようとしたが，システムエラーが発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2314-E

Initialization is not completed.

JP1のイベントを発行しようとしたが，JP1とのインタフェースが初期化されていない。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2315-E

Failed to connect to the event service.

JP1のイベントを発行しようとしたが，イベントサービスに接続できない。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2316-E

An I/O error occurred.

JP1のイベントを発行しようとしたが，入出力エラーが発生した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2317-E

The number of opened files exceeds the maximum.

JP1のイベントを発行しようとしたが，オープンしているファイルが多く，イベントが発行できない。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2318-E

The specified attribute has already been registered.

JP1イベントに設定しようとした拡張属性が重複した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。なお，JP1イベントは発行するが，設定されない拡張属性がある。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2319-E

The specified attribute is not registered.

JP1イベントに定義されていない拡張属性を設定した。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。JP1イベントは発行するが，設定されない拡張属性がある。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2320-E

The number of specified extended attributes exceeds the maximum.

JP1イベントに設定できる拡張属性数を超えている。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。JP1イベントは発行するが，設定されない拡張属性がある。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2321-E

The total length of the extended attributes exceeds the maximum.

JP1イベントに設定できる拡張属性の容量を超えている。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。JP1イベントは発行するが，設定されない拡張属性がある。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2322-E

The sequence of functions is invalid.

JP1のイベントを発行しようとしたが，イベント発行手順を誤っている。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。JP1/Base側に問題がないか確認する。

KAKC2400-E

Initialization is not completed. output=出力先 msgid=メッセージID dest=保守情報1 setDest=保守情報2

メッセージIDに示すメッセージの出力を行ったが，初期化されていないため出力できない。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC2499-E

Message id "メッセージ番号" is not defined.

メッセージ番号で示すメッセージはマニュアルに存在しない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC3000-I

The bjexpd started. [The .hold file was initialized.] [The old pid was PID.]

bjexpdが起動しました

スプールジョブ転送サービスが起動した。syslogへの出力時には，KAKC3007-W，KAKC3008-Wで示されるメッセージと同じ詳細メッセージが付与されることがある。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3001-I

The bjexpd stopped.

bjexpdが終了しました

スプールジョブ転送サービスが終了した。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC3002-E

An attempt to start bjexpd failed. [The bjexpd could not start because another one is already running.]

bjexpdが起動できません

スプールジョブ転送サービスの起動に失敗した。syslogへの出力時には，KAKC3009-Eで示されるメッセージと同じ詳細メッセージが付与されることがある。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)原因を取り除き，再起動する。

KAKC3003-E

Error was detected while stopping the bjexpd.

bjexpdが異常終了しました

スプールジョブ転送サービスが異常終了した。または，終了処理中にエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)原因を取り除き，再起動する。

KAKC3004-E

An error occurred during JP1/FTP processing.

bjexpdでJP1/FTPエラーが発生しました

スプールジョブの転送時，転送エラーが発生した。

(Ｓ)JP1FTP_RETRY_INTERVALパラメータで指定された時間を待ったあと，転送処理をリトライする。

処理を続行する。ただし，エラー状態から回復するまでの間，転送は行われない。

(Ｏ)このメッセージの前後に実行ログに出力されたメッセージから原因を調査して，エラー原因を取り除く。

KAKC3006-I

The bjexpd will now start. （pid=PID,uid=UID,gid=GID,username=ユーザ名）

bjexpdが起動を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3007-W

The .hold file was initialized.

スプール管理ファイルを再作成した。

(Ｓ)処理を続行する。

(Ｏ)bjexchjobコマンドを使用して，保存してあるスプールジョブの再登録をする。

KAKC3008-W

The old pid was PID.

前回bjexpdが異常終了時のpidを表示する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3009-E

The bjexpd could not start because another one is already running.

bjexpdはすでに起動している。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)必要であればすでに起動しているbjexpdを止めてコマンドを再入力する。

KAKC3010-I

File transfer of spool job data file ended successfully. （転送開始日,転送開始時刻,転送終了日,転送終了時刻,ユーザ名,ジョブ名,ジョブ識別子,DD名,出力クラス,DEST名,サイズ,転送先ファイル名称）

SYSOUTデータファイルの転送に成功した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3011-I

The transfer file information: （転送開始日,転送開始時刻,転送終了日,転送終了時刻,trno=伝送番号,trcno=接続番号,size=サイズ,cmpsize=圧縮サイズ）

スプールジョブの転送に成功した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3012-E

File transfer of spool job data file failed. （転送開始日,転送開始時刻,転送終了日,転送終了時刻,ユーザ名,ジョブ名,ジョブ識別子,DD名,出力クラス,DEST名,サイズ,転送先ファイル名称）

SYSOUTデータファイルの転送に失敗した。

(Ｓ)処理を続行する。

(Ｏ)転送先サーバが起動されていない，またはビジー状態であるなどの可能性がある。エラー情報を調べ，原因を取り除く。bjexchjobコマンドで再度印刷指示にする。

KAKC3013-E

The transfer error file information: （転送開始日,転送開始時刻,転送終了日,転送終了時刻,trno=伝送番号,trcno=接続番号,kind=エラー種別,place=場所,func=モジュール,system=システムコール名称,errno=エラー番号,msg=メッセージ）

スプールジョブの転送に失敗した。

(Ｓ)処理を続行する。

(Ｏ)転送先サーバが起動されていない，またはビジー状態であるなどの可能性がある。

伝送番号以下で示す転送に関するエラー情報とJP1/FTPの履歴情報（ftshistoryコマンドなどで表示可）からエラーの要因を調査し取り除く。JP1/FTPの履歴情報の取得，表示方法や表示内容については，JP1のマニュアルを参照のこと。bjexchjobコマンドで再度印刷指示にする。

KAKC3019-E

The specified JP1/FTP card name was not found. （伝送カード名）

スプールジョブの転送に使用する伝送カードが登録されていない。

(Ｓ)処理を続行する。

(Ｏ)エラー情報を調べ，原因を取り除く。bjexchjobコマンドで再度印刷指示にする。

KAKC3020-E

An error occurred during file processing. （機能名 error 対象名-エラー詳細）

スプールジョブ転送サービスでファイル操作エラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3021-E

An error occurred during dynamic link processing. （機能名 error -エラー詳細）

スプールジョブ転送サービスでダイナミックリンクエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3022-E

An error occurred during message queue processing. （機能名 error -エラー詳細）

スプールジョブ転送サービスでメッセージキューエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。コマンド実行時に発生した場合，必要ならコマンドを再投入する。

設定ファイルで定義するスプールディレクトリのパス名をメッセージキュー名として利用しており，次に示す原因が考えられる。

mq_open error -No such file or directory

スプールジョブ転送サービスが起動していない。

または，起動時の設定ファイルと現時点の設定ファイルでスプールディレクトリのパス名に相違がある。

その他

機能名はシステムの関数名であり，システム関数のエラーメッセージから原因を調査する。

KAKC3023-E

An error occurred during signal processing. （機能名 error 対象名-エラー詳細）

スプールジョブ転送サービスでシグナルエラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3024-E

An error occurred during signal processing. （機能名 error 対象名）

スプールジョブ転送サービスでシグナルエラーが発生した。

機能名，および対象名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3025-E

An error occurred during signal processing. （機能名 error -エラー詳細）

スプールジョブ転送サービスでシグナルエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3026-E

An error occurred during signal processing. （機能名 error）

スプールジョブ転送サービスでシグナルエラーが発生した。

機能名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3027-E

An error occurred during process processing. （機能名 error 対象名-エラー詳細）

スプールジョブ転送サービスでプロセスエラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。コマンド実行時に発生した場合，必要ならコマンドを再投入する。

機能名はシステムの関数名であり，システム関数のエラーメッセージから原因を調査する。

KAKC3028-E

An error occurred during waitpid processing. （機能名 error waitpid()の戻り値-エラー詳細）

スプールジョブ転送サービスでwaitpidエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。コマンド実行時に発生した場合，必要ならコマンドを再投入する。

機能名はシステムの関数名であり，システム関数のエラーメッセージから原因を調査する。

KAKC3029-E

An error occurred. （機能名 error -エラー詳細）

スプールジョブ転送サービスでシステム関数エラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

このメッセージは，エラー通知として出力できる出力先に出力するが，エラー発生のタイミングによって，一部の出力先にしか出力されないことがある。

(Ｓ)処理を終了する。

(Ｏ)エラー原因を調べ，原因を取り除き，再起動する。

KAKC3031-E

The spool directory which bjexpd used was made again. (file:ファイル/ディレクトリ名 old:旧inode番号,new:新inode番号)

スプールジョブ転送デーモンで使用しているスプールディレクトリが再作成されたため，ファイルの排他制御機能，実行中のジョブ情報表示機能およびメッセージ制御機能が正しく動作できない。

"ファイル/ディレクトリ名"で，再作成されたファイルまたはディレクトリ名を示す。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，スプールジョブ転送デーモンを停止し，再起動する。

メッセージは，スプールディレクトリの再作成を検知後一度だけ出力される。以降，bjexpdを再起動するまでは出力されない。

KAKC3099-E

An internal error occurred. （機能名 error 発生場所-対象名）

スプールジョブ転送サービスで内部エラーが発生した。

機能名，発生場所，および対象名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

KAKC3120-E

An error occurred during file processing. （機能名 error,jobid=ジョブ識別子,対象名-エラー詳細）

スプールジョブ転送サービスでファイルエラーが発生した。

機能名，ジョブ識別子，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を続行する。

(Ｏ)エラー情報を調べ，原因を取り除く。bjexchjobコマンドで再度印刷指示をする。コマンド実行時に発生した場合，必要ならコマンドを再投入する。

機能名はシステムの関数名または処理名であり，エラーメッセージから原因を調査する。

KAKC3123-E

An error occurred during JP1/FTP API processing. （JP1/FTP API名 error,jobid=ジョブ識別子,エラー番号-エラー詳細）

スプールジョブ転送サービスでJP1/FTP APIエラーが発生した。

(Ｓ)処理を続行する。

(Ｏ)JP1/FTP API名，エラー番号，またはエラー詳細からJP1/FTPのマニュアルを参照し，エラー情報を調べ，原因を取り除く。ただし，リソース不足や論理矛盾など回復困難なエラーの場合は，スプールジョブ転送サービスを再起動したあとで，バッチジョブを再実行するか，bjextrjobコマンドで明示的に印刷ジョブの再転送を行うこと。

また，次のエラー番号の場合はシステム管理者に連絡する。

805306124（FTS_API_ERROR_NOTSOCK）

805306128（FTS_API_ERROR_LOGIC）

KAKC3129-E

An error occurred. （機能名 error,jobid=ジョブ識別子,エラー詳細）

スプールジョブ転送サービスでシステム関数エラーが発生した。

機能名，ジョブ識別子，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を続行する。

(Ｏ)エラー情報を調べ，原因を取り除く。bjexchjobコマンドで再度印刷指示をする。

KAKC3130-I

Transfer retry times exceeded limit. （jobid=ジョブ識別子,file name=転送先ファイル名称）

スプールジョブの再転送回数が指定のリトライ回数を超えました。

ジョブ識別子で示すスプールジョブの転送時に転送先ファイル名称で示すファイルの転送エラーが発生し，設定ファイルで定義したリトライ回数を超えた。

(Ｓ)該当するスプールジョブの転送を中断し，別ジョブの処理を続行する。

(Ｏ)このメッセージの前後に実行ログに出力されたメッセージ（KAKC3013-EやKAKC3123-E）から原因を調査し，エラー原因を取り除く。bjextrjobコマンドで印刷ジョブの再転送を行う。

KAKC3199-E

An internal error occurred. （機能名 error,jobid=ジョブ識別子,発生場所-対象）

スプールジョブ転送サービスで内部矛盾エラーが発生した。

機能名，ジョブ識別子，発生場所，および対象はエラー情報を示す。

(Ｓ)処理を続行する。

(Ｏ)メモリ不足やスプールジョブ管理ファイルが壊れている可能性がある。システム管理者に連絡する。

また，設定ファイルがスプールジョブ転送サービス起動時，ジョブ実行時，またはbjexchjobコマンド入力時で異なっている。この場合，スプールジョブ転送サービスを停止して，ジョブ実行時の設定ファイルでスプールジョブ転送サービスを再起動する。その後，必要ならコマンドを再入力する。

KAKC3204-I

File transfer of spool job was stopped.

スプールジョブのファイル転送が中断されました

スプールジョブの転送時，JP1/FTPでエラーが発生した。

(Ｓ)処理を続行する。転送中のスプールジョブの処理は中断される。

(Ｏ)このメッセージの前後に実行ログに出力されたメッセージから原因を調査し，エラー原因を取り除く。

KAKC3220-E

An error occurred during file processing. （機能名 error 対象名-エラー詳細）

スプールジョブ転送サービスでファイル操作エラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を続行する。

(Ｏ)エラー情報を調べ，原因を取り除く。bjexchjobコマンドで再度印刷指示をする。

機能名はシステムの関数名であり，システム関数のエラーメッセージから原因を調査する。

KAKC3240-E

A spool job was not deleted because the size of .sysout was not zero. （スプールジョブ管理ファイル名称）

スプールジョブ管理ファイルのサイズが0ではないので，スプールジョブを削除しない。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC3241-W

The size of .sysout is zero. （スプールジョブ管理ファイル名称）

スプールジョブ管理ファイルのサイズが0なので，スプールジョブを転送しない。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3243-W

The spool job files is not transfer.（スプールジョブ管理ファイル名称）

スプールジョブを転送しない設定のため，スプールジョブを転送しない。

SPOOL_JOB_TRANSFERパラメータでスプールジョブを転送しない指定がされているが，ジョブ定義XMLファイルの指定もしくはクラスの定義で転送先が指定されている，またはbjexchjobコマンドを入力した。

(Ｓ)処理を続行する。

(Ｏ)設定ファイル，ジョブ定義XMLファイル，または運用を見直す。

KAKC3249-E

The .sysout name is invalid. （発生場所,詳細コード）

スプールジョブ管理ファイルの名称が不当である。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡する。

KAKC3250-I

The 対象名 process was created. （pid=PID）

子プロセスを生成した。対象名は，conv, transである。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3251-I

The 対象名 process ended normally. （pid=PID, cause=要因）

子プロセスが終了した。対象名は，conv, trans, cpである。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3252-E

The 対象名 process ended abnormally. （pid=PID,signal no=シグナル番号）

シグナルによって，子プロセスが異常終了した。対象名は，conv, trans，cpである。

(Ｓ)処理を続行する。

(Ｏ)原因を取り除いたあと，必要ならばbjexchjobコマンドを入力して，スプールジョブを転送する。

KAKC3260-I

The bjexpd received a message from the message queue. （ジョブID,コード）

bjexpdに対する要求を受信した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3261-I

The bjexpd received a signal. （コード）

bjexpdが終了要求のシグナルを受信した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3400-I

The specified parameters in the configuration file were correct.

設定ファイルのチェックが正常に終了した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3402-E

The specified parameters in the configuration file were incorrect.

設定ファイルのチェックでエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除く。

KAKC3412-E

An error occurred while bjexpd is writing log. (err code=エラーコード, err text=エラー発生時に出力しようとしていたメッセージ)

スプールジョブ転送デーモンの実行ログ情報出力処理でエラーが発生した。

このメッセージは，実行ログ出力エラー発生時に一度だけ出力される。以降，実行ログ出力エラーが発生しても，スプールジョブ転送デーモンを再起動するまでこのメッセージは出力されない。

(Ｓ)スプールジョブ転送デーモンの実行ログ出力処理を停止する。

(Ｏ)実行ログファイルのあるディスクの状態を確認し，容量不足が発生していれば不要なファイルを削除して空き領域を確保する。その後，bjexpdctlコマンドでスプールジョブ転送デーモンの停止，再起動を行う。

KAKC3415-E

The specified parameters in the configuration file were incorrect.

設定ファイルのチェックでエラーが発生した。

-hオペランドで指定した論理ホスト名に対応する設定ファイルが読み込めない場合も表示される。

(Ｓ)bjexdpctlコマンドを終了する。

(Ｏ)このメッセージとともに出力されているメッセージからエラー情報を調べ，原因を取り除く。

KAKC3416-E

An error occurred during shared memory processing. (エラー情報)

bjexpdctlコマンドの処理中に，共有メモリの操作でエラーが発生した。

(Ｓ)bjexdpctlコマンドを終了する。

(Ｏ)メッセージ中のエラー情報を調べ，原因を取り除く。

KAKC3508-I

Response request is cancelled. （ジョブ識別子, ステップ番号, JP1/AJSのホスト名）

応答要求をキャンセルしました。 （ジョブ識別子, ステップ番号, JP1/AJSのホスト名）

応答要求をキャンセルした。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3522-E

An error occurred during shared memory processing. （機能名 error -エラー情報）

スプールジョブ転送サービスで，共有メモリエラーが発生した。

機能名，およびエラー情報はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再起動する。

機能名はシステムの関数名であり，システム関数のエラーメッセージから原因を調査する。

KAKC3542-W

対象名 is already exists.

スプールジョブ転送サービスが，共有メモリまたはセマフォを作成しようとしたが，すでに作成されている。対象名は，Shared memory objectまたはNamed semaphoreである。

(Ｓ)すでに作成されている共有メモリまたはセマフォを使用して処理を続行する。

(Ｏ)スプールジョブ転送サービスが異常終了したあとの再起動であることを確認する。スプールジョブ転送サービスが異常終了していない場合，他機能の共有メモリまたはセマフォを使用しているため，バッチジョブ実行システムの運用を中止する。

KAKC3543-E

Duplicate error was detected while checking identifier of the shared memory. (ホスト名)

スプールジョブ転送サービスで，共有メモリの管理情報が他プロセスと重複している。

(Ｓ)スプールジョブ転送サービスは終了する。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリの重複が発生しないよう，MSG_KEY_IDパラメータで，識別情報を設定する。

KAKC3544-E

Duplicate error was detected while checking identifier of the shared memory. (ホスト名) key=キー情報

スプールジョブ転送サービス終了時，共有メモリの管理情報が他プロセスのものと重複している。

(Ｓ)共用メモリの管理情報を残したまま，スプールジョブ転送サービスは終了する。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリの重複が発生しないよう，MSG_KEY_IDパラメータで，識別情報を設定する。

KAKC3602-E

Directory "パラメータ名" is used by other bjexpd.

パラメータ名で指定したファイルパス名は，ほかのホストのスプールジョブ転送サービスが使用している。

(Ｓ)コマンドを終了する。

(Ｏ)設定ファイルを見直す。

KAKC3700-I

The bjexpd will now start.

スプールジョブ転送サービスを起動する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3701-I

The bjexpd will now stop.

スプールジョブ転送サービスを終了する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3703-E

The bjexpd is not running.

スプールジョブ転送サービスが動作していない。

(Ｓ)処理を終了する。

(Ｏ)スプールジョブ転送サービスを起動しているかを確認する。

KAKC3709-E

The bjexpd cannot start because another one is already running.

スプールジョブ転送サービスはすでに動作している。

(Ｓ)処理を終了する。

(Ｏ)必要であればすでに起動しているbjexpdを止めてコマンドを再入力する。

KAKC3710-I

The bjexpd is running.

スプールジョブ転送デーモンは起動している。

スプールジョブ転送プロセスがリトライ待ちにならずに動作中であることを示す。

また，status_logオプションを指定した場合，実行ログ出力も動作中であることを示す。

(Ｓ)処理を終了する。

(Ｏ)メッセージを参照して，スプールジョブ転送デーモンの状況を把握する。

KAKC3711-I

The bjexpd is not running.

スプールジョブ転送デーモンは起動していない。

(Ｓ)処理を終了する。

(Ｏ)メッセージを参照して，スプールジョブ転送デーモンの状況を把握する。

KAKC3712-I

Logging by bjexpd is inactive.

スプールジョブ転送デーモンの実行ログ出力が停止している。

(Ｓ)処理を終了する。

(Ｏ)実行ログファイルのあるディスクの状態を確認し，容量不足が発生していれば不要なファイルを削除して空き領域を確保する。その後，bjexpdctlコマンドでスプールジョブ転送デーモンの停止，再起動を行う。

KAKC3713-E

The bjexpd could not stop because job is running.

ジョブ詳細内容

bjexpdctlコマンドでスプールジョブ転送デーモンの停止が指定されたが，実行中のジョブが存在するためスプールジョブ転送デーモンを停止できなかった。

2行目以降に示すジョブ詳細内容には，bjexlslockコマンドとbjexlsmsgコマンドの実行結果を表示する。

(Ｓ)処理を終了する。

(Ｏ)実行中のジョブを終了させてからbjexpdctlコマンドを再実行する。

KAKC3714-W

The bjexpd will terminate.

ジョブ詳細内容

スプールジョブ転送デーモンを強制停止する。

2行目以降に示すジョブ詳細内容には，強制停止直前のbjexlslockコマンドとbjexlsmsgコマンドの実行結果を表示する。実行中のジョブが存在しない場合はジョブ詳細内容を表示しない。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC3715-W

The bjexpd is waiting for JP1FTP_RETRY_INTERVAL time to expire. (伝送カード名,リトライ待ち開始日,リトライ待ち開始時刻)

bjexpdのスプールジョブ転送プロセスは，伝送カード名で示す伝送カードに登録された伝送先とのコネクション確立でエラーになり，リトライ待ち開始日，リトライ待ち開始時刻から，JP1FTP_RETRY_INTERVALで指定した時間が経過するのを待っている。

(Ｓ)処理を続行する。

(Ｏ)JP1/FTPを起動していない場合，JP1/FTPを起動し，bjexpdctlコマンドにftp_connectオペランドを指定して実行し，スプールジョブ転送プロセスの待ち状態を解除する。

KAKC3716-I

A transmission process tried reconnection. (card name=伝送カード名)

bjexpdctlコマンドでスプールジョブ転送プロセスの伝送カード名で示す伝送先とのコネクション待ちが解除され，再度コネクションを確立を試みた。

(Ｓ)スプールジョブ転送プロセスは待ち状態が解除され，伝送先とのコネクション確立を試みる。

(Ｏ)statusオペランドを指定してbjexpdctlコマンドを実行し，スプールジョブ転送プロセスの待ち状態が解除されていることを確認する。

KAKC3799-I

Usage: bjexpdctl [-h LogicalHostName] {start|stop[ -f]|status|status_log|conftest|ftp_connect|help}

bjexpdctlコマンドのusage情報を表示する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC3820-E

An error occurred during file processing. （機能名 error,jobid=ジョブ識別子,対象名-エラー詳細）

スプールジョブ転送サービスで異常が発生した。

機能名，ジョブ識別子，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)機能名が「open」かつエラー詳細が「Device busy」の場合，スプールジョブ転送サービスによる処理中の場合がある。

この場合は，時間を置いて再度実行する。その他の場合はシステム管理者に連絡する。

KAKC3829-E

An error occurred. （機能名 error -エラー詳細）

スプールジョブ転送サービスで異常が発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC3998-E

An error occurred during bjexpd signal handler processing.

スプールジョブ転送サービスでシグナルハンドラが異常終了した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC3999-E

The bjexpd ended abnormally because of an unexpected exception.

スプールジョブ転送サービスが異常終了した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC4000-E

Gdg name is not specified.

コマンド引数に，世代データ群名の指定がない。

(Ｓ)処理を終了する。

(Ｏ)コマンド引数を見直す。

KAKC4001-E

Gdg name path is too long.

世代データ群パス名文字列長が最大長を超えている。

(Ｓ)処理を終了する。

(Ｏ)世代データ群パス名文字列長を見直す。

KAKC4002-E

Gdg name path is invalid.

世代データ群名の記述に誤りがある。

(Ｓ)処理を終了する。

(Ｏ)世代データ群名を見直す。

KAKC4003-E

Gdg relative number is invalid.

相対世代番号の記述に誤りがある。

(Ｓ)処理を終了する。

(Ｏ)相対世代番号を見直す。

KAKC4004-E

Gdg file of relative number 世代相対番号 is not exist.

世代相対番号の世代ファイルが存在しない。

(Ｓ)処理を終了する。

(Ｏ)相対世代番号を見直す。

KAKC4005-E

New gdg file could not be created because there is already a file with generation 9999.

9,999を超えて世代ファイルを作成できない。

(Ｓ)処理を終了する。

(Ｏ)世代管理方法を見直す。

KAKC4010-I

"世代ファイル名" was registered successfully.

世代ファイル名の登録で,"世代ファイル名"の世代ファイル情報を登録した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC4011-I

"世代ファイル名" was unregistered successfully.

世代ファイル名の削除で,"世代ファイル名"の世代ファイル情報を削除した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC4020-E

世代群名 gdg file could not be added to a new generation because there is already a file with generation 9999.

世代群名で示す世代群に対して，新しいファイルを追加したが，世代番号が9,999を超えてしまうため，新しいファイルを追加できない。

(Ｓ)処理を終了する。

(Ｏ)世代群名で示す世代群はNOSCRATCHが設定された世代群であるため，9,999を超える世代番号の世代ファイルを生成できない。このため，世代群内のファイルの見直しをするか，またはSCRATCH設定（-l最大世代数の指定で設定される）に変更し，旧世代を自動削除できるようにする。

KAKC4021-E

世代群名[（相対世代番号｜日付世代番号）] gdg file of the specified generation data group is not found.

世代群名[（相対世代番号｜日付世代番号）]で示す世代ファイルを参照しようとしたが，該当する世代ファイルは見つからない。

または，指定した世代群には世代ファイルが1つも登録されていない。

(Ｓ)処理を終了する。

(Ｏ)参照する世代ファイルの参照指定が正しいか確認する。

または，指定した世代群に世代ファイルの登録が行われているか確認する。

KAKC4022-E

世代群名 could not be unregistered.

世代群名で示す世代群の削除をしようとしたが，次に示す理由で削除できない。

世代群として指定された世代ファイルには世代管理ファイルが存在しないため，世代群として扱えない。

指定された世代群に少なくとも1つ以上の世代ファイルの登録がある。

指定された世代群は存在しない。

(Ｓ)処理を終了する。

(Ｏ)

世代管理ファイルが存在しない場合

指定された世代群名が正しくないため，正しい世代群名を指定する。

世代ファイルが1つ以上登録された世代群の場合

登録されている世代ファイルをすべて削除してから，世代群の削除を実行する。

世代群が存在しない

世代群名の指定が正しいか確認する。

KAKC4023-E

Duplicate gdg name 世代群名.

世代群名で示す世代群の登録をしようとしたが，すでに同一の世代群名が存在している。

(Ｓ)処理を終了する。

(Ｏ)世代群名の指定が正しいか確認する。

KAKC4024-E

Specification of only gdg name with TYPE="GDG" is not supported.

TYPE=GDGを指定した"世代群名"単一指定の割り当てはサポートしていない。

(Ｓ)処理を終了する。

(Ｏ)世代ファイルの割り当て時は，相対世代番号を指定する。

KAKC4025-E

Specified generation number caused an internal error in management of generation file names.

指定した相対世代番号によって生成した世代ファイル名に世代管理上の矛盾が発生した。

(Ｓ)処理を終了する。

(Ｏ)世代管理ファイルに登録されていない世代ファイルが残存しているため，不要な世代ファイルを削除したあと再実行する。

KAKC4026-E

Duplicate generation file number for the specified DD "DD名".

DD名で指定した世代ファイル番号は重複している。

(Ｓ)処理を終了する。

(Ｏ)正しい世代ファイルの番号を指定し，再実行する。

KAKC4050-E

Gdg management file open failed. reason="エラー詳細"

世代管理ファイルをオープンしたが，エラー詳細によって失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC4051-E

Gdg management file I/O error. reason="エラー詳細"

世代管理ファイルの入出力がエラー詳細によって失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC4052-E

Gdg management file delete error. reason="エラー詳細"

世代管理ファイルの削除がエラー詳細によって失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いて再実行する。

KAKC4053-E

Gdg management file not found this directory. "世代管理ファイル設定パス名"

世代管理ファイル設定パス名で示す世代管理ファイルがない。

世代管理ファイルには，次の2つがある。どちらも存在しないか，どちらかが存在しない場合にもこのメッセージは出力される。

"世代管理ファイル名.gdg"

".世代管理ファイル名.gdg"

(Ｓ)処理を終了する。

(Ｏ)指定した世代群名，世代管理ファイル設定パス名が正しいかどうかを確認する。

指定が正しい場合，指定した世代群の世代管理ファイルの存在状態を確認し，世代管理ファイルを回復し，再実行する。

指定が誤っていた場合，正しい世代群名，世代管理ファイル設定パス名を指定して再実行する。

指定した世代群の生成を忘れていた場合，bjexgdgコマンドで生成後，再実行する。

KAKC4058-I

The gdg command processing ended. rc=終了コード

世代管理ファイルの処理が終了コードで終了した。

終了コード：bjexgdgコマンドまたはbjexhkgdgコマンドの終了コード

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC4059-E

Gdg management file syntax error. line=行番号

世代管理ファイルの行番号で示す行でエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)世代ファイルを初期化，または回復して再実行する。

KAKC4060-E

An error occurred by reading of a gdg management file. "世代管理ファイルコード" was not found.

世代管理ファイルの解析処理で，管理情報として必要な"世代管理ファイルコード"が見つからなかった。

(Ｓ)処理を終了する。

(Ｏ)世代管理ファイルの内容を確認する。間違った世代データ群を指定している場合は，正しい世代データ群名を指定し再実行する。

KAKC4061-E

Specification of "GDGFILEnnnn" is invalid, or number of registered gdg files specified by "INFILE" is larger than the actual number of registered gdg files.

世代管理ファイルの解析処理で，GDGFILEnnnn（nnnnは相対世代番号指定機能では0001〜0255，日付世代番号指定機能では0001〜0511の数値）の指定に誤りがある。または"INFILE"で設定されている登録数が実際の世代ファイル登録数より大きい値となっている。

(Ｓ)処理を終了する。

(Ｏ)世代管理ファイルの内容を確認する。

KAKC4062-E

By an error to show in a "エラー詳細", deletion of "ファイル名" was not possible.

"エラー詳細"に示すエラーによって，"ファイル名"の削除ができなかった。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いたあとに，コマンドを再入力する。

KAKC4063-E

Renaming of the file "世代管理ファイル名" failed because of the following reason: "エラー詳細".

"世代管理ファイル名"のファイル名変更処理が"エラー詳細"に示す理由でエラーとなった。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細の原因を取り除いたあとに，コマンドを再入力する。

KAKC4064-E

Check generation number. DSN=世代ファイル名

世代ファイル名の絶対世代番号を世代管理ファイルに登録することで，絶対世代番号が0000〜0999の世代ファイル番号，1000〜8999の世代ファイル番号，および9000〜9999の世代ファイル番号を持つようになるため，登録されている絶対世代番号の見直しが必要となった。

(Ｓ)処理を中止する。

(Ｏ)世代管理ファイルに登録されている絶対世代番号群の中で，最古の世代番号群に含まれるすべての世代番号を世代管理ファイルから削除し，必要に応じてジョブを再実行する。

KAKC4065-E

Check generation management file. FILE=世代管理ファイル名

世代管理ファイル名の読み出し処理で，読み出した世代管理ファイルには絶対世代番号が0000〜0999の世代ファイル番号，1000〜8999の世代ファイル番号，および9000〜9999の世代ファイル番号を持っているため，登録されている絶対世代番号の見直しが必要である。

(Ｓ)処理を中止する。

(Ｏ)世代管理ファイルに登録されている絶対世代番号群の中で，最古の世代番号群に含まれるすべての世代番号を世代管理ファイルから削除し，必要に応じてジョブを再実行する。

KAKC4066-E

Specified EXDATE relative number is invalid.

日付世代番号指定機能でDSN属性の括弧内にEXDを指定して世代ファイルを作成する際，括弧内に−，＋を指定した。または，（EXD-n）と指定した場合に，nが指定上限値または有効桁数を超えている。または，EXDに負の整数以外を付けて指定した。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)DSN属性の括弧内にEXDを指定する場合，＋を指定しない。また，DISP="NEW"指定のとき，−を指定しない。もしくは，EXDに付けた整数の指定を見直し，再実行する。

KAKC4067-E

DD "DD 名" gdg file of EXDATE is already exists.

DD名で示すDD要素で日付世代番号指定機能の世代ファイルの作成を指定したが，すでに存在する世代ファイルであるため，作成できない。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)すでに存在するファイルを指定しないように，DSN属性の括弧内の記述を見直す。または，DD要素のDISPを”OLD”に記述を変更し，再実行する。

KAKC4068-E

Gdg file of EXDATE is specified by gdg relative number.

日付世代番号指定機能の世代ファイルに，相対世代番号を指定した。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)DSN属性の括弧内の指定をEXD，EXD-n，Dyyyymmddのいずれかに修正し，再実行する。

KAKC4069-E

Gdg file of relative number is specified by EXDATE number.

相対世代番号指定機能の世代ファイルにEXDまたはDyyyymmddを指定した。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)DSN属性の括弧内の指定を相対世代番号に修正し，再実行する。

KAKC4070-E

Specified EXDATE absolute number is invalid.

日付世代番号指定機能でDSN属性の括弧内にDyyyymmddを指定した際，日付の指定が誤っている。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)DSN属性の括弧内にDyyyymmdd指定する場合，不当な文字や日付を指定していないか確認する。

KAKC4071-E

世代群名(日付世代番号) gdg file is already exist, but gdg file of EXDATE is not registered.

世代群名（日付世代番号）で示す世代ファイルはすでに存在しているが，世代管理ファイルに登録されていない。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)世代管理されていない世代ファイルを削除したあと再実行する。

KAKC4072-E

世代群名(日付世代番号) gdg file is registered, but gdg file of EXDATE is not exist.

世代群名（日付世代番号）で示す世代ファイルは世代管理ファイルに登録されているが，実体が存在しない。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)ジョブ定義XMLファイルのDD要素で，DISP=”DELETE”を指定してジョブを再実行し，世代管理ファイルから世代ファイル名の世代管理情報を削除する。

KAKC4073-E

Environment variable AJSEXDATE is not specified.

環境変数AJSEXDATEが取得できない。

世代ファイル機能の日付世代番号指定機能を使用して，DSN属性の括弧内にEXDを指定したが，JP1/AJSから起動されていないおそれがある。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)JP1/AJS から起動されているか確認する。

KAKC4074-E

Invalid char is included in environment variable AJSEXDATE value.

環境変数AJSEXDATEに使用できない文字が含まれている。

(Ｓ)ジョブステップを続行せずに処理を終了する。

(Ｏ)システム管理者に連絡して環境変数の値を見直す。

KAKC4075-E

The required function LOCK_OPTION is missing in function EXDATE.

日付世代番号指定機能を使用するためにはLOCK_OPTIONの機能の有効化指定が必要である。

(Ｓ)コマンド処理を中断する。

(Ｏ)パラメータの指定に矛盾が無いか指定値を見直す。

KAKC4076-E

Specified generation data group of EXDATE.

bjexhkgdgコマンドで日付世代番号指定機能による世代データ群を指定した。日付世代番号指定機能による世代データ群を指定することはできない。

(Ｓ)コマンド処理を中断する。

(Ｏ)相対世代番号指定機能の世代データ群を指定する。

KAKC4077-E

Specified gdg relative number for generation data group of EXDATE.

日付世代番号指定機能の世代データ群に相対世代番号を指定した。

(Ｓ)コマンド処理を中断する。

(Ｏ)相対世代番号または日付世代番号を指定しないで再入力する。

KAKC4210-E

The specified spool job does not exist. （jobid = ジョブ識別子）

指定したジョブ識別子のスプールジョブは存在しない。

(Ｓ)該当するスプールジョブの操作を中断し，別ジョブの処理を続行する。

(Ｏ)正しいジョブ識別子を指定して，コマンドを再入力する。

KAKC4211-E

The spool job is not ready for operation or display. （jobid = ジョブ識別子, status = 状態）

指定したジョブ識別子のスプールジョブはstatusで示す状態のため，表示および操作ができない。

statusに表示する状態とその意味を次に示す。

状態

意味

HOLD

出力保留状態

NOHOLD

スプールジョブ転送デーモンで処理中の状態

EXEC

実行中

ERROR

エラー状態

NONE

ジョブは存在しない状態

UNKNOWN

管理状態が正しくない（スプール管理ファイルに異常がある状態）

(Ｓ)該当するスプールジョブの操作を中断し，別ジョブの処理を続行する。

(Ｏ)指定したジョブ識別子のスプールジョブがコマンドで処理できる状態のスプールジョブとして存在することをbjexlsjobコマンドで再確認し，正しいジョブ識別子を指定してコマンドを再入力する。

ただし，状態にUNKNOWNが表示される場合，スプール管理ファイルに異常があるため，運用を停止してスプール管理ファイルを再作成する必要がある。

KAKC4212-E

The specified spool job does not exist. （jobname = ジョブ名）

指定したジョブ名のスプールジョブは，スプールジョブが存在しなかった。または，スプールジョブは存在するが，コマンドで指定した処理条件に該当しないなどの理由で見つからなかった。

指定したジョブ名のすべてについてこのメッセージを出力した場合，KAKC4214-Eメッセージも総括として出力する。

(Ｓ)処理を終了する。

(Ｏ)指定したジョブ名のスプールジョブが存在するか，処理条件（ジョブ実行開始時刻が指定範囲内であるか）があっているかをbjexlsjobコマンドで再確認して，正しいジョブ名を指定したコマンドを再入力する。

KAKC4214-E

No spool job exists.

コマンドで処理するスプールジョブは1つも存在しないため，コマンドは何も処理できていない。

(Ｓ)処理を終了する。

(Ｏ)処理できるスプールジョブが最低でも1つ存在することをbjexlsjobコマンドで確認して，コマンドを再入力する。

KAKC4215-E

No sysout file exists in spool job. （jobid = ジョブ識別子, jobname = ジョブ名）

表示できるsysoutは1件も存在しない。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)該当ジョブにSYSOUTデータが存在するか確認する。

KAKC4216-E

A spool job is incomplete. （jobid = ジョブ識別子, jobname = ジョブ名）

ジョブ識別子およびジョブ名で示すスプールジョブは不完全なジョブである（スプールジョブ管理ファイルが未完成の状態である）。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)該当ジョブの実行時に異常がないか調査する。最後に実行が完了したジョブステップまでのSYSOUTデータは転送可能である。

KAKC4220-E

Spool job storage options are not enabled.

スプールジョブ保管機能が有効になっていないので，この機能は利用できない。

(Ｓ)コマンドを終了する。

(Ｏ)設定ファイルを変更してコマンドを再入力する。

KAKC4300-E

An error occurred while opening a spool control file. （error message = エラー詳細）

スプール管理ファイルのオープンに失敗した。

(Ｓ)処理を終了する。

(Ｏ)スプールディレクトリ内のファイル（.hold）に異常がないかエラー詳細を基に調査する。障害を取り除いたあとに，コマンドを再入力する。

KAKC4301-E

The file was not found. （file name = ファイル名）

スプール管理ファイルが存在しない。

(Ｓ)処理を終了する。

(Ｏ)スプールディレクトリ内のファイル（.hold）に異常がないか調査する。障害を取り除いたあとに，コマンドを再入力する。

KAKC4302-E

An error occurred while reading a spool control file. （error message = エラー詳細）

スプール管理ファイルの読み込みに失敗した。

(Ｓ)処理を終了する。

(Ｏ)スプールディレクトリ内のファイル（.hold）に異常がないかエラー詳細を基に調査する。障害を取り除いたあとに，コマンドを再入力する。

KAKC4303-E

The spool job file has already been removed. （jobid = ジョブ識別子, jobname = ジョブ名）

ジョブ識別子およびジョブ名で示すスプールジョブのファイルは削除済みである。

(Ｓ)処理を続行する。

(Ｏ)スプールジョブが削除されていることを確認する。削除されていない場合は，再度コマンドを入力する。

KAKC4304-E

An error occurred while removing a spool job. （jobid = ジョブ識別子, jobname = ジョブ名, process = 処理, error message = エラー詳細）

ジョブ識別子およびジョブ名で示すスプールジョブの削除処理でエラーが発生した。

処理はエラーになった関数名または処理と対象を表す。なお，対象がない場合もある。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に原因を調査する。障害を取り除いたあとに，コマンドを再入力する。処理がlock spool jobの場合，ほかで該当するスプールジョブを処理中の可能性がある。この場合は，必要ならほかの処理が終了するのを待ってから，コマンドを再投入する。

KAKC4305-E

A spool job file could not be removed. （jobid = ジョブ識別子, jobname = ジョブ名, file name = ファイル名）

ジョブ識別子およびジョブ名で示すスプールジョブのファイル削除でエラーが発生した。

引き続き，詳細を示すメッセージKAKC4303-E，KAKC4304-Eを出力する。

(Ｓ)処理を続行する。

(Ｏ)障害を取り除いたあとに，必要ならば，コマンドを再入力する。

KAKC4306-E

A spool job has been skipped. （jobid = ジョブ識別子, jobname = ジョブ名）

ジョブ識別子およびジョブ名で示すスプールジョブは処理対象の範囲外であり，処理をスキップした。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)指定したジョブが処理対象か確認する。必要ならば，コマンドを再入力する。

KAKC4307-E

The spool control file is too large.

スプール管理ファイルのサイズが大きい。スプール管理ファイルが破壊されている場合は再作成が必要である。

(Ｓ)処理を終了する。

(Ｏ)障害を取り除いたあとに，コマンドを再入力する。

KAKC4308-E

The spool control file is too small.

スプール管理ファイルのサイズが小さい。

ほかの処理と競合している場合に発生することがある。

(Ｓ)処理を終了する。

(Ｏ)コマンドを再入力する。コマンドを何度か再入力しても同一現象になる場合は，スプール管理ファイルが破壊されているおそれがあるため，再作成が必要である。

KAKC4309-E

An error occurred while writing to a spool control file. （error message = エラー詳細）

スプール管理ファイルの書き込みに失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に原因を調査する。

スプールジョブの管理が正しく行われていない可能性があるため，bjexchjob -Sコマンドで回復処理を実行する。または，運用を停止してスプール管理ファイルの再作成をする必要がある。障害を取り除いたあとに，コマンドを再入力する。

KAKC4310-E

An error occurred while opening a spool job control file. （jobid = ジョブ識別子）

ジョブ識別子で指定したスプールジョブ管理ファイルのオープンに失敗した。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)該当ジョブのスプールジョブ管理ファイルに異常がないか，メモリは十分あるかを確認する。障害を取り除いたあと，コマンドを入力する。

KAKC4311-E

The spool job control file has no contents. （jobid = ジョブ識別子）

ジョブ識別子で指定したスプールジョブ管理ファイルは空のファイルである。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)該当ジョブのスプールジョブ管理ファイルに異常がないか確認する。障害を取り除いたあと，コマンドを入力する。また，スプールジョブ管理ファイルが破壊されている場合は，該当スプールジョブを強制削除して，ジョブを再実行する。

スプールジョブ管理ファイルが破壊されている場合，該当するスプールジョブを強制削除して，ジョブを再実行する。

KAKC4312-E

An error occurred while removing a sysout. （jobid = ジョブ識別子, jobname = ジョブ名, step number = ステップ番号, DD name = DD名称, error message = エラー詳細）

ジョブ識別子およびジョブ名で指定したスプールジョブのSYSOUTデータファイルの削除に失敗した。

(Ｓ)処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

エラー詳細がunknown fileの場合，SYSOUTデータファイルは該当するスプールジョブのファイルではなく，スプールジョブ管理ファイルが破壊されているか，スプールディレクトリ名を変更したなどのおそれがある。

KAKC4313-E

The spool transfer directory is not accessible. （dir name = 転送ディレクトリ, error message = エラー詳細）

SYSOUTデータファイルの転送ディレクトリにアクセスできない。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4314-E

The spool job control file is not accessible. （jobid = ジョブ識別子, error message = エラー詳細）

スプールジョブ管理ファイルにアクセスできない。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4315-E

An error occurred while changing attribute of a spool job. （jobid = ジョブ識別子, jobname = ジョブ名）

スプールジョブの属性変更処理に失敗した。

(Ｓ)該当するスプールジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)メモリが不足していないか，スプールジョブ管理ファイルに問題がないか確認する。障害を取り除いたあとに，コマンドを再入力する。

KAKC4316-E

An error occurred while getting status of a spool job file. （jobid = ジョブ識別子, error message = エラー詳細）

スプールジョブ管理ファイル，またはスプールジョブディレクトリの情報取得でエラーが発生した。

(Ｓ)該当するスプールジョブの処理を中断，または続行する。その後，ほかのスプールジョブがあった場合は処理する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4317-E

An error occurred while updating a spool job control file. （jobid = ジョブ識別子, jobname = ジョブ名, process = 処理）

スプールジョブ管理ファイルでエラーが発生した。なお，削除処理で発生した場合は，スプールジョブは削除されているおそれがある。

(Ｓ)処理を続行する。

(Ｏ)スプールジョブ管理ファイルに問題がないか調査する。削除処理でスプールジョブが削除されずに残っている場合は，強制削除する。

KAKC4318-E

Spool job cannot be removed. （jobid = ジョブ識別子, jobname = ジョブ名, reason = 理由）

スプールジョブ削除処理でエラーが発生した。

理由

意味

probably alive

-aで指定した秒数以前の時刻以降に更新されているため，ジョブが実行中の可能性がある。

(Ｓ)該当するジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)ジョブが実行中の場合は，ジョブが終了してからコマンドを入力する。ジョブが実行中でない場合は，一定時間待ったあとに，コマンドを再度入力する。

KAKC4319-E

The spool job is busy. (jobid = ジョブ識別子)

スプールジョブは，ほかで使用中のため処理できない。

(Ｓ)該当するジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)一定時間待ってからコマンドを再度入力する。

KAKC4320-E

An error occurred while opening message queue. （error message = エラー詳細）

メッセージキューのオープンでエラーが発生した。

スプールジョブ転送デーモンが起動されていない可能性がある。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。エラー詳細がNo such file or directoryの場合は，スプールジョブ転送デーモンを起動していない。または，設定ファイルに指定したスプールディレクトリのパス名が，スプールジョブ転送デーモン起動時とコマンド投入時点で異なる。

KAKC4321-E

An error occurred while sending message queue. （ jobid = ジョブ識別子, jobname = ジョブ名, error message = エラー詳細）

メッセージキューへのメッセージ送信でエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4322-E

An error occurred while closing message queue. （error message = エラー詳細）

メッセージキューのクローズでエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4360-E

An error occurred while changing a spool job status. （jobid = ジョブ識別子, jobname = ジョブ名, error code = エラーコード, error details = 詳細コード）

スプールジョブの印刷指示処理でエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)障害を取り除いたあとに，コマンドを再入力する。

エラーコードを基に次のことを調査する。

スプールジョブ管理ファイルに異常がないか。

スプールジョブ転送デーモンは起動しているか。

ジョブ実行時の設定ファイルと現在の設定ファイルの指定が同一であるか。

メモリは不足していないか。

KAKC4361-E

A spool job could not be recovered. （jobid = ジョブ識別子, reason = 理由）

スプールジョブの回復処理に失敗した。

理由：probably alive処理中の可能性があり，回復処理を中断した。

(Ｓ)該当するジョブの処理を中断して，別ジョブの処理を続行する。

(Ｏ)ジョブが実行中の場合，回復処理は不要である。ジョブが実行中でない場合には，一定時間待ってからコマンドを再度入力する。

KAKC4362-E

The recovery process of spool job aborted. （jobid = ジョブ識別子, jobname = ジョブ名）

スプールジョブの回復処理のサブプロセスでエラーが発生した。

サブプロセスはシグナルなどで中断したおそれがある。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)再度コマンドを入力する。

KAKC4363-E

An error occurred while recovering spool job. （jobid = ジョブ識別子, jobname = ジョブ名, process = 処理, error message = エラー詳細）

スプールジョブの回復処理でエラーが発生した。

処理

意味

fopen

スプールジョブ管理ファイルのオープン処理に失敗した。

lock spool job

スプールジョブのロック処理に失敗した（ジョブが実行中のおそれがある）。

mp-open

メッセージキューのオープンに失敗した（エラー詳細がNo such file or directoryの場合は，スプールジョブ転送デーモンが起動していない。または，スプールジョブ転送デーモン起動時の設定ファイルと現時点の設定ファイルで，スプールディレクトリのパス名が一致していない）。

mq-send

メッセージキューのメッセージ送信に失敗した。

mq-close

メッセージキューのクローズに失敗した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。なお，ジョブ実行中の場合には，回復処理は不要である。

KAKC4430-E

The specified file name is incorrect.

関数にファイル名の指定がない。

(Ｓ)関数の処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC4431-E

The specified address of buffer is incorrect.

関数に指定されたバッファアドレスが不当である。

(Ｓ)関数の処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC4500-E

An error occurred in the time routine. （error message = エラー詳細）

時刻を求める処理でエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行，または処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC4501-E

An error occurred in the mktime routine.

時刻変換処理でエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC4502-E

An error occurred in the setuid routine. （jobid = ジョブ識別子, jobname = ジョブ名, error message = エラー詳細）

ユーザID設定処理でエラーが発生した。該当するスプールジョブを操作する権限がないおそれがある。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4504-E

An error occurred in the setgid routine. （jobid = ジョブ識別子, jobname = ジョブ名, error message = エラー詳細）

グループID設定処理でエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。該当するスプールジョブを操作する権限がないおそれがある。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4506-E

An error occurred in the fork routine of chjob command. （error message = エラー詳細）

プロセスの生成でエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4507-E

An error occurred in the waitpid routine of chjob command. （error message = エラー詳細）

プロセスの終了待ちでエラーが発生した。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)エラー詳細を基に調査して，障害を取り除いたあとに，コマンドを再入力する。

KAKC4508-E

An error occurred during the release process.

スプールジョブの印刷指示処理でエラーが発生した。シグナルなどでサブプロセスが中断したおそれがある。

(Ｓ)該当ジョブの処理を中断し，別ジョブの処理を続行する。

(Ｏ)コマンドを再入力する。

KAKC4509-E

Insufficient memory. （object = 対象）

対象で示す領域のメモリ確保に失敗した。

(Ｓ)関数処理を中断する。

(Ｏ)システム管理者に連絡する。

KAKC4560-E

The specified option is invalid. （option = オプションコード）

不当なオプションコードまたはオプションコード値が指定された。

(Ｓ)処理を終了する。

(Ｏ)正しい指定をする。

KAKC4561-E

The specified jobid is invalid. （jobid = ジョブ識別子）

不当なジョブ識別子が指定された。

ジョブ識別子を範囲指定した場合，その大小関係が正しくない。

(Ｓ)処理を終了する。

(Ｏ)正しい指定をする。

KAKC4562-E

A jobid is not specified.

ジョブ識別子の指定がない。

(Ｓ)処理を終了する。

(Ｏ)ジョブ識別子を指定する。

KAKC4563-E

The option is incomplete.

必要なオプションの指定がない。

(Ｓ)処理を終了する。

(Ｏ)正しい指定をする。

KAKC4564-E

The number of items exceeded limit. （item = 該当項目）

指定項目が上限を超えた。

該当項目はエラーになった項目を最大8文字表示する。

(Ｓ)処理を終了する。

(Ｏ)項目数を減らして，コマンドを再入力する。

KAKC4566-E

The specified jobname is invalid. （jobname = ジョブ名）

不当なジョブ名が指定された。

(Ｓ)処理を終了する。

(Ｏ)正しい指定をする。

KAKC4567-E

A jobname is not specified.

ジョブ名の指定がない。

(Ｓ)処理を終了する。

(Ｏ)ジョブ名を指定する。

KAKC4599-E

Unsupported value is specified for the LANG environment variable. （LANG = 環境変数値）

サポートされていないLANG環境変数値が設定されている。

(Ｓ)処理を終了する。

(Ｏ)サポートされたLANG環境変数値を設定する。

KAKC4600-I

EXECUTION JOB INFORMATION DATE=情報表示日付 TIME=情報表示時刻

bjexlsexjobコマンドで，実行中のジョブ情報を表示する日付と時刻を表示する。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC4624-E

An error occurred during the access of the /proc file. pid=プロセス番号 (code=保守情報,error message=エラー詳細）

実行中のジョブ情報表示機能の処理中にpidで示すプロセス情報の取得中にエラーが発生した。

(Ｓ)エラーが発生したプロセスの情報取得を中止し，次のプロセスの情報を表示する。

(Ｏ)システム管理者に連絡する。

KAKC5000-E

The number of response message exceeds the limit.

応答待ちイベントの出力数が上限を超えた。

(Ｓ)出力できるまでリトライを繰り返す。リトライ中はこのメッセージを出力しない。

(Ｏ)MAX_RESPONSE_REQUESTパラメータの設定を見直す。

KAKC5001-I

応答 （ジョブ識別子, ジョブステップ番号, ホスト名, 応答者, 保守情報）

応答待ちイベントに対して応答が入力された。

応答：入力された応答

ジョブ識別子：応答対象プロセスのジョブ識別子

ジョブステップ番号：応答対象プロセスのジョブステップ番号

ホスト名：JP1_HOSTNAMEパラメータで指定したホスト名

ただし，バッチジョブ実行システムのコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

応答者：JP1/IM - Viewから応答を入力したユーザのJP1ユーザID

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5002-I

Message library started.

メッセージ制御機能のライブラリが処理を開始した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5003-I

Message library ended. （rc=終了コード）

メッセージ制御機能のライブラリが終了コードで処理を終了した。

終了コード：「付録D　メッセージ制御機能のエラー情報」に示す，戻り値の値

(Ｓ)ライブラリの呼び出し元に処理を返す。

(Ｏ)なし。

KAKC5005-E

An error occurred during shared memory processing. （errno=エラー番号,function=保守情報）

応答待ちイベントの処理中に，共有メモリの操作でエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)bjexpdを起動して，ジョブを再実行する。

KAKC5006-E

Duplicate error was detected while checking identifier of the shared memory.

メッセージ制御機能のライブラリで使用する共有メモリの管理情報が他プロセスのものと重複している。

(Ｓ)ライブラリの呼び出し元に処理を返す。

(Ｏ)システム管理者に連絡する。

システム管理者は，共有メモリの重複が発生しないよう，MSG_KEY_IDパラメータで，識別情報を設定する。

KAKC5008-I

Response request is cancelled. （ジョブ識別子, ステップ番号, ホスト名）

応答要求をキャンセルしました （ジョブ識別子, ステップ番号, ホスト名）

応答待ちイベントをキャンセルした。

ジョブ識別子：このジョブのジョブ識別子

ステップ番号：このジョブステップのステップ番号

ホスト名：JP1_HOSTNAMEパラメータで指定したホスト名

ただし，バッチジョブ実行システムのコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5009-E

Output to JOBLOG failed.

JOBLOGへの出力に失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC5010-E

Output to SYSMSG failed.

SYSMSGへの出力に失敗した。

(Ｓ)処理を続行する。

(Ｏ)システム管理者に連絡し，設定ファイルのスプールディレクトリに対する指定を見直す。

KAKC5011-E

An error occurred during JP1Event processing. （errno=エラー番号,function=保守情報）

JP1イベントの処理中にエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)JP1/Baseが起動していることを確認する。問題が解決しない場合は，システム管理者に連絡する。

KAKC5012-I

メッセージ （ジョブ識別子, ステップ番号, ホスト名, メッセージ識別子, 保守情報）

メッセージ制御機能によって出力したJP1イベントの内容を示す。

なお，このメッセージと同時にKAKC5011-EまたはKAKC5020-Eが出力されている場合はJP1イベントの出力が失敗しているが，出力しようとしていた内容をこのメッセージで示す。

メッセージ：メッセージ制御機能に入力されたメッセージ

ジョブ識別子：このジョブのジョブ識別子

ステップ番号：このジョブステップのステップ番号

ホスト名：JP1_HOSTNAMEパラメータで指定したホスト名

ただし，バッチジョブ実行システムのコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

メッセージ識別子：メッセージごとに割り当てる識別子

(Ｓ)処理を続行する。

(Ｏ)KAKC5011-EまたはKAKC5020-Eメッセージが出力されている場合は，それぞれの処置を行う。

KAKC5013-I

メッセージ （ジョブ識別子, ステップ番号, ホスト名, メッセージ識別子, 保守情報）

メッセージ制御機能によって応答待ちイベントを出力した。

メッセージ：メッセージ制御機能に入力されたメッセージ

ジョブ識別子：このジョブのジョブ識別子

ステップ番号：このジョブステップのステップ番号

ホスト名：JP1_HOSTNAMEパラメータで指定したホスト名

ただし，バッチジョブ実行システムのコマンドで-hオプションを指定した場合，設定ファイルのJP1_HOSTNAMEパラメータは無視され，論理ホスト名が有効になる。詳細については，「7.　コマンド」を参照すること。

メッセージ識別子：メッセージごとに割り当てる識別子

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5014-I

Descriptor of JP1Event was acquired successfully. （host=ホスト名）

JP1イベントを発行するためのJP1イベントの記述子の取得に成功した。

ホスト名：ジョブコントローラが稼働するホスト名

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5015-E

Failed to acquire the descriptor of JP1Event. （errno=保守情報,host=ホスト名）

JP1イベントを発行するためのJP1イベントの記述子の取得に失敗した。

保守情報：JP1イベント処理のエラー情報

ホスト名：ジョブコントローラが稼働するホスト名

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5016-I

JP1Event was sent to the event service successfully.

JP1/BaseのイベントサービスへのJP1イベントの送信に成功した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5017-E

Failed to send the JP1Event to the event service. （errno=エラー番号）

JP1/BaseのイベントサービスへのJP1イベントの送信に失敗した。

(Ｓ)処理を終了する。

(Ｏ)エラー番号のエラーの原因を取り除き，ジョブを再実行する。

KAKC5018-I

Transmission of JP1Event was checked successfully. （dest=転送先ホスト名）

JP1/IMが稼働するホストへのJP1イベントの転送確認に成功した。

転送先ホスト名：JP1IM_MANAGER_HOSTパラメータで指定した転送先ホスト名

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5019-E

Failed to check transmission of JP1Event. （errno=保守情報,dest=転送先ホスト名,seqno=発行元イベントDB内通し番号）

JP1/IMが稼働するホストへのJP1イベントの転送確認に失敗した。

保守情報：JP1イベント処理のエラー情報

転送先ホスト名：JP1IM_MANAGER_HOSTパラメータで指定した転送先ホスト名

発行元イベントDB内通し番号：JP1/Baseの発行元イベントDB内通し番号

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5020-E

Timeout occurred while processing message library.

メッセージ制御機能でタイムアウトが発生した。

次に示す要因が考えられる。

JP1/Baseのイベントサービスが起動していない。

応答要求メッセージの出力数がMAX_RESPONSE_REQUESTパラメータの指定値を超えている。

(Ｓ)処理を終了する。

(Ｏ)問題を解決し，ジョブを再実行する。

KAKC5021-E

Initialization of log failed. code=保守情報, reason=エラー原因, os_code=保守情報2

実行ログの初期化に失敗した。

(Ｓ)処理を続行する。実行したメッセージ制御機能での実行ログへメッセージを出力しない。

(Ｏ)ジョブを再実行する。何度か再実行しても同一現象になる場合は，システム管理者に連絡する。保守情報2が11，13の場合，別プロセスが実行ログを排他していることが原因のため，排他しているプロセスを見直す。

KAKC5100-I

Successfully copied Adapter_HITACHI_BJEX_MESSAGE.conf

メッセージ制御機能で使用するAdapter_HITACHI_BJEX_MESSAGE.confを，JP1/Baseのディレクトリに格納した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5101-E

JP1/Base is not installed

JP1/Baseがインストールされていないため，メッセージ制御機能で使用するAdapter_HITACHI_BJEX_MESSAGE.confを，JP1/Baseのディレクトリに格納できなかった。

(Ｓ)処理を終了する。

(Ｏ)JP1/Baseをインストールする。

KAKC5102-E

Failed to copy Adapter_HITACHI_BJEX_MESSAGE.conf

メッセージ制御機能で使用するAdapter_HITACHI_BJEX_MESSAGE.confを，JP1/Baseのディレクトリに格納できなかった。

(Ｓ)処理を終了する。

(Ｏ)root権限で再実行する。

KAKC5205-E

The output of the message failed. rc=戻り値, error=エラー番号, place=場所

メッセージ出力に失敗した。

戻り値とエラー番号はマニュアルの「付録D　メッセージ制御機能のエラー情報」を参照すること。

場所は内部情報である。

(Ｓ)処理を終了する。

(Ｏ)原因を取り除いて再実行する。

KAKC5208-E

The response message is undefined. Please respond again. （ジョブ識別子，ステップ番号，ホスト名，メッセージ識別子，保守情報）

応答されたメッセージは未定義です。再度応答してください。 （ジョブ識別子，ステップ番号，ホスト名，メッセージ識別子，保守情報）

bjexm_messageコマンドに応答したメッセージは定義されていない。

(Ｓ)再度，応答要求メッセージを出力する。

(Ｏ)応答要求メッセージに対して，正しい応答を入力する。

KAKC5309-E

An error occurred. （機能名 error）

内部エラーが発生した。

機能名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5323-E

An error occurred during signal processing. （機能名 error 対象名-エラー詳細）

アダプタコマンドでシグナルエラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5362-E

Non-ASCII character is found in a response.

応答データ中にASCII文字以外が指定された。

(Ｓ)処理を終了する。

(Ｏ)ASCII文字で応答する。

KAKC5370-I

Response message was accepted.

応答メッセージを受信した。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC5371-E

The bjex message function is busy.

バッチジョブ実行システムの処理がビジー状態である。

(Ｓ)処理を終了する。

(Ｏ)時間を空けて，再度応答メッセージに応答する。

KAKC5372-E

A message is not found.

応答メッセージは存在しない。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5380-I

Received data from JP1: 受信データ

メッセージ制御機能がJP1からデータを受信した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5381-I

Sent status info to JP1: 送信データ

メッセージ制御機能がJP1にデータを送信した。

(Ｓ)処理を続行する。

(Ｏ)なし。

KAKC5390-I

bjexmessage.adapter completed because signal is detected.

アダプタコマンドが，終了シグナルを受信して終了した。

(Ｓ)処理を終了する。

(Ｏ)なし。

KAKC5397-I

Signal handler processing completed.

アダプタコマンドが，シグナルを受信した。

(Ｓ)処理を終了する。

(Ｏ)coreが出力されているため，システム管理者に連絡する。

KAKC5398-E

An error occurred during bjexmessage.adapter signal handler processing.

アダプタコマンドがシグナルを受信したが，シグナルハンドラの処理でエラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5399-E

The bjexmessage.adapter ended abnormally because of an unexpected exception.

アダプタコマンドが，異常終了した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5407-E

Non-ASCII character is found in a response.

bjexchmsgコマンドで，応答メッセージ中にASCII文字以外を指定した。

(Ｓ)処理を終了する。

(Ｏ)ASCII文字で応答する。

KAKC5408-I

応答要求をキャンセルしました。 （ジョブ識別子, ステップ番号, JP1/AJSのホスト名）

bjexchmsgコマンドで応答が入力されたまたは取り消されたため，応答要求をキャンセルした。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5409-E

No valid response request was found.

bjexchmsgコマンドで，応答の入力または応答要求の取り消しが指定されたが，指定された応答要求が存在しない。

(Ｓ)処理を終了する。

(Ｏ)bjexlsmsgコマンドで-nオプションに指定した番号に誤りがないか確認し，正しい番号を指定する。

KAKC5410-E

A system call error occurred. （機能名 error -エラー詳細）

システムコールエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)エラー情報を調べ，原因を取り除き，再度実行する。

KAKC5423-E

An error occurred during signal processing. （機能名 error 対象名-エラー詳細）

bjexchmsgコマンドまたはbjexlsmsgコマンドでシグナルエラーが発生した。

機能名，対象名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5424-E

An error occurred during signal processing. （機能名 error 対象名）

bjexchmsgコマンドまたはbjexlsmsgコマンドでシグナルエラーが発生した。

機能名，および対象名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5425-E

An error occurred during signal processing. （機能名 error -エラー詳細）

bjexchmsgコマンドまたはbjexlsmsgコマンドでシグナルエラーが発生した。

機能名，およびエラー詳細はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5426-E

An error occurred during signal processing. （機能名 error）

bjexchmsgコマンドまたはbjexlsmsgコマンドでシグナルエラーが発生した。

機能名はエラー情報を示す。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5429-E

An error occurred. （保守情報）

内部エラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5498-E

An error occurred during コマンド名 signal handler processing.

bjexchmsgまたはbjexlsmsgコマンドのシグナルハンドラの処理で，エラーが発生した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKC5499-E

The コマンド名 ended abnormally because of an unexpected exception.

bjexchmsgまたはbjexlsmsgコマンドが異常終了した。

(Ｓ)処理を終了する。

(Ｏ)システム管理者に連絡する。

KAKD1001-E

Memory shortage.

必要とする作業領域や入出力バッファを割り当てることができない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)システム管理者に連絡する。システム管理者は，メモリ見積もりを見直す。

KAKD1002-E

Environment variable "環境変数名" is invalid.

環境変数名で示す環環境変数の設定値が正しくない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。

KAKD1003-E

File defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

DD要素SYSPRINTでエラーが発生した場合は，このメッセージに続いてKAKD1091-Eメッセージを出力し，RC=4で続行する。

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD1004-E

File defined by "環境変数名" I/O error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルの入出力中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD1005-E

File "ファイルパス名" defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるパス名またはファイル名のファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD1006-E

File "ファイルパス名" defined by "環境変数名" I/O error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるパス名またはファイル名のファイルの入出力中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD1009-I

Line=行番号 text="テキスト".

制御文の行番号とテキストを出力する。

(Ｓ)処理を継続する。（RC=0）

KAKD1010-E

Length of the previous line exceeded the limit.

制御文のうち，直前のKAKD1009-Iメッセージが示す行の文字数が最大文字数を超えた。

(Ｓ)制御文の解析処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の行を分割して最大文字数以下にしたのち再実行する。

KAKD1011-E

No following line after continuation mark.

制御文の直前のKAKD1009-Iメッセージが示す行の継続行がない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1012-E

Unmatched parenthesis.

制御文の直前のKAKD1009-Iメッセージが示す行のオペランドの括弧が閉じられていない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文の括弧を閉じる。

同時にKAKD1013-Eメッセージが出力されているときは，制御文の引用符の指定が原因の場合があるので，引用符の指定を見直す。

KAKD1013-E

Unmatched quotation.

制御文の直前のKAKD1009-Iメッセージが示す行のオペランドの引用符が閉じられていない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文の引用符を閉じる。

KAKD1021-E

Command name is invalid.

誤った制御文を直前のKAKD1009-Iメッセージが示す行に指定した。または，制御文の使用方法に誤りがある。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1031-E

Operand name "オペランド名" is invalid.

誤ったオペランド名を指定した。または，オペランドの使用方法に誤りがある。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1032-E

Operand name "オペランド名" is not specified.

オペランド名で示す必須オペランドが指定されていない。

SELECT文のオペランドが指定されていないときは，オペランド名に"GROUP or MEMBER"が表示される。

指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1033-E

Operand name "オペランド名" is inconsistent.

オペランド名で示すオペランドの指定に矛盾がある。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1041-E

Parameter value "パラメータ値" of operand name "オペランド名" is invalid.

オペランド名で示すオペランドに誤ったパラメータ値を指定した。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1042-E

Parameter value of operand name "オペランド名" is not specified.

オペランド名で示すオペランドの必須パラメータが指定されていない。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1043-E

The DD element with NAME="環境変数名" is not specified.

ジョブ定義XMLファイルのDD要素には，NAME="環境変数名"に対応するDD要素が指定されていない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素にNAME="環境変数名"で示す環境変数名に対応するDD要素を指定する。

KAKD1044-E

The sequence of Command name "コマンド名" is invalid.

コマンド名が示すコマンドの指定順序が誤っている。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1045-E

Parameter value of operand name "オペランド名" is invalid.

オペランド名で示すオペランドに誤ったパラメータ値を指定した。INDDコマンドの指定誤りのときも，このメッセージが出力される。指定内容は，直前のコマンドのKAKD1009-Iメッセージが示す制御文に出力される。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1046-E

Pathname "パス名" defined by "環境変数名" is too long.

環境変数名で示す環境変数に設定されているパス名の長さが，指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD1047-E

File name "ファイル名" defined by MEMBER is too long.

MEMBERオペランドで指定したファイル名で示すファイルの名称の長さが，指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)MEMBERオペランドの指定値を見直す。

KAKD1048-E

Combined pathname "パス名" is too long.

ジョブ定義XMLファイルのDD要素で指定したパス名とMEMBERオペランドで指定したファイル名を連結したパス名で示す名称の長さが，指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素とMEMBERオペランドの指定値を見直す。

KAKD1090-E

SYSPRINT DD element missing.

ジョブ定義XMLファイルのDD要素には，SYSPRINTのDD要素が指定されていない。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=4）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD1091-E

SYSPRINT cannot be opened.

ジョブ定義XMLファイルで指定したSYSPRINTのDD要素をオープンできなかった。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=4）

直前のエラーメッセージのリターンコードを無効にし，RC=4で処理を継続する。

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD1100-I

File "ファイル名" is copied.[ -> "新ファイル名"]

ファイル名で示すファイルのコピー処理が終了した。

新ファイル名を指定してコピーしたときは，コピーした新ファイル名が表示される。

(Ｓ)処理を続行する。（RC=0）

KAKD1102-I

All files defined by "環境変数名1" is copied to "環境変数名2" or skipped.

環境変数名1で示す環境変数に設定されているディレクトリ配下のファイルを環境変数名2で示すディレクトリ配下に複製する処理が終了した。

コピーステップが終了すると，出力される。処理中にエラーを検出し，処理をスキップしていることがあるので，エラーが発生しているときは，内容を確認する。

(Ｓ)処理を続行する。（RC=0）

(Ｏ)エラーが発生しているときは，ジョブ定義XMLファイルのDD要素または制御文を見直す。

KAKD1105-I

File "ファイル名" is not copied because same name file found.

ファイル名で示すファイルは，コピー先のディレクトリに同一ファイル名のファイルが存在したためコピーしなかった。

(Ｓ)処理を続行する。（RC=0）

KAKD1110-E

Failed to copy file "ファイル名". reason="エラー詳細".

ファイル名で示すファイルのコピーがエラー詳細で示すエラーによって失敗した。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素または制御文を見直す。

KAKD1112-E

Some file defined by "環境変数名1" cannot be copied to "環境変数名2".

環境変数名1で示す環境変数に設定されているディレクトリ配下のファイルを環境変数名2で示す環境変数に設定されているディレクトリ配下に複製中に，幾つかのファイルの複製処理に失敗した。

(Ｓ)処理を続行する。（RC=4）

(Ｏ)ジョブ定義XMLファイルのDD要素または制御文を見直す。

KAKD1120-E

"環境変数名" is not directory.

環境変数名で示す環境変数に設定されているパス名は，ディレクトリでない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。

KAKD1121-E

SELECT or EXCLUDE is not allowed.

SELECT文またはEXCLUDE文の指定はできない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1122-E

OUTDD or INDD keyword not found.

OUTDDまたはINDDのキーワードの指定がない。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1130-E

File "ファイル名" not found.

SELECT文で指定されたファイル名が見つからなかった。

(Ｓ)処理を続行する。（RC=4）

(Ｏ)入力ファイルまたはSELECT文のMEMBERオペランドを調べて見直す。

KAKD1131-I

No files copied from input directory defined by "環境変数名".

環境変数名で示す環境変数に設定されている入力ディレクトリからは，ファイルをコピーできなかった。

(Ｓ)処理を続行する。（RC=0）

KAKD1137-E

Unable to specify duplicate file names "ファイル名" in same copy step.

1つのコピーステップでファイル名を重複して指定しているので，ファイルをコピーできなかった。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=8）

(Ｏ)制御文を見直す。

KAKD1147-I

End of job - return code is "終了コード".

ジョブステップの終了を示す。終了コードで示す値が，このジョブステップ内で最も大きい値である。

(Ｓ)ジョブステップを終了する。（RC=0）

KAKD1151-I

Job terminated (error occurred).

bjexu_pcopyを実行したジョブステップで何らかのエラーが発生したことを示す。

(Ｓ)ジョブステップを終了する。（RC=0）

(Ｏ)このメッセージに先行するエラーメッセージを調べる。

KAKD1153-I

All files were already in place.

すべてのファイルはすでに存在するので，コピー処理を終了した。

(Ｓ)コピーオペレーションを打ち切り，次のコピーオペレーションを実行する。（RC=0）

(Ｏ)制御文を見直す。

KAKD2001-E

Memory shortage.

必要とする作業領域や入出力バッファを割り当てることができない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)システム管理者に連絡する。システム管理者は，メモリ見積もりを見直す。

KAKD2003-E

File defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

DD要素SYSPRINTでエラーが発生した場合は，このメッセージに続いてKAKD1091-Eメッセージを出力し，RC=4で続行する。

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD2004-E

File defined by "環境変数名" I/O error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルの入出力中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD2005-E

File "ファイルパス名" defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるパス名またはファイル名のファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD2009-I

Line=行番号 text="テキスト".

制御文の行番号とテキストを出力する。

(Ｓ)処理を継続する。（RC=0）

KAKD2010-E

Length of the previous line exceeded the limit.

制御文の文字数が最大文字数を超えた。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の行を分割して最大文字数以下にしたあと再実行する。

KAKD2011-E

No following line after continuation mark.

直前のコマンドのKAKD2009-Iメッセージが示す制御文の継続行がない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2012-E

Unmatched parenthesis.

直前のコマンドのKAKD2009-Iメッセージが示す制御文のオペランドの括弧が閉じられていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の括弧を閉じる。

同時にKAKD2013-Eメッセージが出力されているときは，制御文の引用符の指定が原因の場合があるので，引用符の指定を見直す。

KAKD2013-E

Unmatched quotation.

直前のコマンドのKAKD2009-Iメッセージが示す制御文のオペランドの引用符が閉じられていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の引用符を閉じる。

KAKD2021-E

Command name is invalid.

誤った制御文を直前のコマンドのKAKD2009-Iメッセージが示す制御文に指定した。または，コマンドの使用方法に誤りがある。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2031-E

Operand name "オペランド名" is invalid.

誤ったオペランド名を指定した。または，オペランドの使用方法に誤りがある。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2032-E

Operand name "オペランド名" is not specified.

オペランド名で示す必須オペランドが指定されていない。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2041-E

Parameter value "パラメータ値" of operand name "オペランド名" is invalid.

オペランド名で示すオペランドに誤ったパラメータ値を指定した。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2042-E

Parameter value of operand name "オペランド名" is not specified.

オペランド名で示すオペランドの必須パラメータが指定されていない。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2043-E

The DD element with NAME="環境変数名" is not specified.

ジョブ定義XMLファイルのDD要素には，NAME="環境変数名"に対応するDD要素が指定されていない。

(Ｓ)コマンド処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素にNAME="環境変数名"に対応するDD要素を指定する。

KAKD2044-E

The sequence of Command name "コマンド名" is invalid.

コマンド名が示すコマンドの指定順序が誤っている。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

INPFILE文を制御文の最初に指定する必要がある。

OUTFILE文は，INPFILE文の次に指定する必要がある。

GENERATE文は，INPFILE文またはOUTFILE文のあとに指定する必要がある。

KAKD2045-E

Parameter value of operand name "オペランド名1"[ or "オペランド名2"] is invalid.

"オペランド名1"または"オペランド名2"で示すオペランドのどちらかに誤ったパラメータ値を指定した。指定内容は，直前のコマンドのKAKD2009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2046-E

Pathname "パス名" defined by "環境変数名" is too long.

環境変数名で示す環境変数に設定されているパス名の長さが指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD2047-E

File name "ファイル名" defined by MEMBER is too long.

MEMBERオペランドで指定したファイル名で示すファイルの名称の長さが指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)MEMBERオペランドの指定値を見直す。

KAKD2048-E

Combined pathname "パス名" is too long.

ジョブ定義XMLファイルのDD要素で指定したパス名とMEMBERオペランドで指定したファイル名を連結したパス名で示す名称の長さが指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素とMEMBERオペランドの指定値を見直す。

KAKD2090-E

SYSPRINT DD element missing.

ジョブ定義XMLファイルのDD要素には，SYSPRINTのDD要素が指定されていない。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=4）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2091-E

SYSPRINT cannot be opened.

ジョブ定義XMLファイルで指定したSYSPRINTのDD要素をオープンできなかった。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=4）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2100-I

Copied "ファイル名1"->"ファイル名2".

ファイル名1で示すファイルをファイル名2で示すファイルにコピーする処理が完了した。

(Ｓ)処理を継続する。（RC=0）

KAKD2101-E

Copied failed "ファイル名1"->"ファイル名2".

ファイル名1で示すファイルをファイル名2で示すファイルにコピーする処理に失敗した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素または制御文を見直す。

KAKD2102-I

Processing ended after last IDENT operand found.

RECORD文のIDENTオペランドで最後に指定したグループ識別文字列を検出したので，入力データセットを最後まで入力しないで処理を終了した。

(Ｓ)処理を終了する。（RC=0）

KAKD2103-E

Processing member needs IDENT operand.

MEMBER文とMEMBER文との間にIDENTオペランドを指定したRECORD文がない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2104-E

Same member name is specified more than once.

MEMBER文のNAMEオペランド値に，同じ名称を複数回指定した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2105-E

There is an error in specification order of "MEMBER" and "RECORD".

MEMBER文とRECORD文の指定順序に誤りがある。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2106-E

File "ファイルパス名" defined by "環境変数名" stat error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるファイルのステータス情報取得時，エラー詳細で示されるエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。またはファイルシステムをチェックする。

KAKD2107-E

File "ファイル名" is not copied because same name file was found.

ファイル名で示すファイルと同じ名称のファイルがすでに存在するので，コピーできなかった。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2108-E

Unable to specify duplicate filepath "ファイルパス名" for SYSUT1 and SYSUT2.

ジョブ定義XMLファイルのDD要素SYSUT2で指定したファイルパス名が，SYSUT1で指定したファイルと実体が同じである。SYSUT1とSYSUT2に同じファイルを指定することはできない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2109-E

Missing IDENT operand for nonterminal RECORD statement.

最後のRECORD文でないにもかかわらず，IDENTオペランドの指定がない。

(Ｓ)コマンド処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2120-E

"ファイルパス名" specified by SYSUT1 is not a file.

ジョブ定義XMLファイルのDD要素SYSUT1で指定したファイルパス名で示す実体がファイルではない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2121-E

"ファイルパス名" specified by SYSUT2 is not a file.

ジョブ定義XMLファイルのDD要素SYSUT2で指定したファイルパス名で示す実体がファイルではない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2130-I

Copied last file "ファイル名1"->"ファイル名2".

ジョブ定義XMLファイルのDD要素SYSUT1に連結された最後のファイル名1で示すファイルをファイル名2で示すファイルにコピーする処理が終了した。

(Ｓ)処理を終了する。（RC=0）

KAKD2131-E

Output record length exceeded max record length of file specified by SYSUT2.

ジョブ定義XMLファイルのDD要素SYSUT1で指定したファイルのレコード長とSYSUT2で指定した出力ファイルのレコード長の関連に矛盾を検出した。

入力ファイルのレコード長より出力ファイルのレコード長を大きくする必要がある。SYSUT1で指定した入力ファイルの指定誤りか，OUTFILE文のRECLENオペランドで指定した最大レコード長の誤りが考えられる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD2132-E

Output record length does not reach the min record length of file specified by SYSUT2.

ジョブ定義XMLファイルのDD要素SYSUT1で指定したファイルから入力したレコード長がSYSUT2で指定した出力ファイルの最小レコード長より小さい。

入力ファイルのレコード長は，出力ファイルの最小レコード長以上の長さでなければならない。SYSUT1で指定した入力ファイルの指定誤りか，OUTFILE文のMINLENオペランドで指定した最小レコード長の誤りが考えられる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD2133-E

Input position and/or length specified by "オペランド名" is invalid.

オペランド名で示すオペランドで指定した入力位置と入力する情報の長さで示すフィールドが，入力レコードまたは入力論理レコードのフィールド外を指定している。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD2134-E

Output position and/or length specified by "オペランド名" is invalid.

オペランド名で示すオペランドで指定した出力位置と出力する情報の長さで示すフィールドが，出力レコードの範囲外を指定している。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD2135-E

An error occurred while reading the file specified by SYSUT1.

ジョブ定義XMLファイルのDD要素SYSUT1で指定したファイルを読み込み中にエラーを検出した。入力ファイルの指定誤りか，INPFILE文の指定誤りが考えられる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

入力ファイルに空（ゼロバイト）ファイル（ダミーファイルを含む）を指定し，ジョブ定義XMLファイルで入力ファイルに可変長順編成ファイルを指定して形式変換しようとしたときも出力される。単純複写するか，ジョブ定義XMLファイルで入力ファイルに固定長順編成ファイルを指定する。

KAKD2136-E

DD concatenation is not allowed for PREST file.

PRESTファイルをDD連結することはできない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD2137-E

Field length and field information length do not match in FIELD operand.

FIELDオペランドの指定で，フィールド長とフィールド情報の長さが異なる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD2138-I

End of file. output records=出力レコード数.

ファイルの終わりを検出した。出力レコード数で示す，レコードを出力した。

単純複写の場合は，65537バイト/レコードで出力したレコード数が表示される。

(Ｓ)処理を打ち切る。（RC=0）

KAKD2139-I

"仮定値" is assumed as output record length.

出力レコード長として，仮定値を仮定した。

(Ｓ)処理を継続する。（RC=0）

KAKD2140-I

Truncate input record to 80 bytes.

RECORD文による複写で，入力レコードの長さを80バイトに切り詰めた。

(Ｓ)処理を継続する。（RC=0）

KAKD2150-E

An error occurred while reading the file specified by SYSUT2.

ジョブ定義XMLファイルのDD要素SYSUT2で指定したファイルを読み込み中にエラーを検出した。出力ファイルの指定誤りか，OUTFILE文の指定誤りが考えられる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3001-E

Memory shortage.

必要とする作業領域や入出力バッファを割り当てることができない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)システム管理者に連絡する。システム管理者は，メモリ見積もりを見直す。

KAKD3002-E

Environment variable "環境変数名" is invalid.

環境変数名で示す環境変数の設定値が正しくない。次の原因が考えられる。

REPRO文で指定した入力または出力ファイルのDD要素が定義されていない。

REPRO文で指定した入力ファイルのファイル種別はDD連結できない。

REPRO文で指定した出力ファイルをDD連結している。

REPRO文で指定した出力ファイルのDD要素のファイル種別が不正である。

REPRO文のOUTDDオペランドとCOPYDDオペランドで指定したファイルの種別が一致していない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。

KAKD3003-E

File defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3004-E

File defined by "環境変数名" I/O error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルの入出力中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

SYSPRINTのDD要素でエラーが発生した場合は，このメッセージに続いてKAKD3091-Eメッセージを出力し，RC=4で続行する。

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3005-E

File "ファイルパス名" defined by "環境変数名" open failed. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるパス名またはファイル名のファイルのオープン中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3007-E

File defined by "環境変数名" I/O error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルの入出力中にエラー詳細で示すエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3009-I

Line=行番号 text="テキスト".

制御文の行番号とテキストを出力する。

(Ｓ)処理を継続する。（RC=0）

KAKD3010-E

Length of the previous line exceeded the limit.

制御文の文字数が最大文字数を超えた。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の行を分割して最大文字数以下にしたあと再実行する。

KAKD3011-E

No following line after continuation mark.

直前のコマンドのKAKD3009-Iが示す制御文の継続行がない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3012-E

Unmatched parenthesis.

直前のコマンドのKAKD3009-Iが示す制御文のオペランドの括弧が閉じていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の括弧を閉じる。

同時にKAKD3013-Eメッセージが出力されている場合は，制御文の引用符が原因のときがあるため，引用符の指定を見直す。

KAKD3013-E

Unmatched quotation.

直前のコマンドのKAKD3009-Iが示す制御文のオペランドの引用符が閉じていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文の引用符を閉じる。

KAKD3021-E

Command name is invalid.

誤ったコマンド名を直前のコマンドのKAKD3009-Iが示す制御文に指定した。または，コマンドの使用方法に誤りがある。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3031-E

Operand name "オペランド名1"[[, "オペランド名2"] or "オペランド名3"] is invalid.

"オペランド名1"，"オペランド名2"，または"オペランド名3"で示すオペランドのどれかに誤ったオペランドを指定した。または，オペランドの使用方法に誤りがある。指定内容は，KAKD3009-Iが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3032-E

Operand name "オペランド名1"[ or "オペランド名2"] is not specified.

"オペランド名1"または"オペランド名2"で示す必須オペランドが指定されていない。指定内容は，直前のコマンドのKAKD3009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3041-E

Parameter value "パラメータ値" of operand name "オペランド名" is invalid.

オペランド名で示すオペランドに誤ったパラメータ値を指定した。指定内容は，直前のコマンドのKAKD3009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3042-E

Parameter value of operand name "オペランド名" is not specified.

オペランド名で示すオペランドの必須パラメータが指定されていない。指定内容は，直前のコマンドのKAKD3009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3043-E

The DD element with NAME="環境変数名" is not specified.

ジョブ定義XMLファイルのDD要素には，NAME="環境変数名"に対応するDD要素が指定されていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素にNAME="環境変数名"のDD要素を指定する。

KAKD3044-E

The sequence of Command name "コマンド名" is invalid.

コマンド名が示すコマンドの指定順序が誤っている。指定内容は，直前のコマンドのKAKD3009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

INPFILE文を制御文の最初に指定する必要がある。

OUTFILE文は，INPFILE文の次に指定する必要がある。

REPRO文は，OUTFILE文のあとに指定する必要がある。

KAKD3045-E

Parameter value of operand name "オペランド名1"[ or "オペランド名2"] is invalid.

"オペランド名1"または"オペランド名2"で示すオペランドのどちらかに誤ったパラメータ値を指定した。指定内容は，直前のコマンドのKAKD3009-Iメッセージが示す制御文に出力される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)制御文を見直す。

KAKD3046-E

Pathname "パス名" defined by "環境変数名" is too long.

環境変数名で示す環境変数に設定されているパス名の長さが指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3048-E

Combined pathname "パス名" is too long.

ジョブ定義XMLファイルのDD要素で指定したパス名と複写元のファイル名を連結したパス名で示す名称の長さが指定できる上限値を超えている。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素の指定値を見直す。

KAKD3090-E

SYSPRINT DD element missing.

ジョブ定義XMLファイルのDD要素には，SYSPRINTのDD要素が指定されていない。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=0）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3091-E

SYSPRINT cannot be opened.

ジョブ定義XMLファイルで指定したSYSPRINTのDD要素をオープンできなかった。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=0）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3092-E

SYSPRINT I/O error. reason="エラー詳細"

SYSPRINTへの出力中にエラー詳細で示すエラーが発生した。

(Ｓ)SYSPRINTにはメッセージを出力しないで処理を継続する。（RC=4）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3093-E

Required statement is not specified in SYSIN.

SYSINに必須の制御文が指定されていない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3100-I

｛Copied｜Converted｜Merged｝ "ファイル名1"->"ファイル名2".

ファイル名1で示すファイルをファイル名2で示すファイルにコピーする処理が完了した。複写時は"Copied"，変換時は"Converted"，また併合時は"Merged"が表示される。

(Ｓ)処理を継続する。（RC=0）

KAKD3101-I

ISAM file "ファイル名" was created successfully.

ファイル名で示す索引順編成ファイルの作成が完了した。

(Ｓ)処理を継続する。（RC=0）

KAKD3102-I

ISAM file "ファイル名" was erased successfully.

ファイル名で示す索引順編成ファイルの削除が完了した。

(Ｓ)処理を継続する。（RC=0）

KAKD3105-E

Attributes of files specified by COPYDD operand and OUTDD operand do not match.

REPROコマンドのCOPYDDオペランドで指定したファイルの属性が，OUTDDオペランドで指定したファイルの属性と異なる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3106-E

File "ファイルパス名" defined by "環境変数名" stat error. reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるファイルのステータス情報の取得時，エラー詳細で示されるエラーが発生した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3107-E

File "ファイル名" is not copied because same name file was found.

ファイル名で示すファイルと同じ名称のファイルがすでにあるので，コピーできなかった。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3108-E

Unable to specify duplicate filepath "ファイルパス名" for "環境変数名1" and "環境変数名2".

ジョブ定義XMLファイルのDD要素の環境変数名2で指定したファイルパス名が，環境変数名1で指定したファイルと実体が同じである。環境変数名1と環境変数名2に同じファイルを指定できない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3109-E

An error occurred while ｛copying｜converting｜merging｝ file: "ファイル名1"->"ファイル名2".

ファイル名1で示すファイルをファイル名2で示すファイルにコピーする処理中にエラーが発生し，コピー処理に失敗した。複写時は"copying"，変換時は"converting"，また併合時は"merging"が表示される。レコードの途中までしか出力できなかったときに出力される。その他の要因があるときは，エラーの内容を示すメッセージが続けて出力される。

(Ｓ)コピー処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素または制御文を見直す。または，ファイルシステムをチェックする。

KAKD3120-E

"ファイルパス名" specified by "環境変数名" is not a file.

環境変数名で示す環境変数に設定されているファイルパス名で示す実体がファイルではない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3121-E

Error occurred on function("関数名") while processing file "ファイルパス名" defined by "環境変数名". reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるファイルを使用中に関数名で示す関数でエラーが発生した。関数の戻り値にエラー詳細があるときは，エラーの内容がエラー詳細に表示される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3122-E

Error occurred on function("関数名") before processing file "ファイルパス名" defined by "環境変数名". reason="エラー詳細"

環境変数名で示す環境変数に設定されているファイルパス名で示されるファイルを使用中に関数名で示す関数でエラーが発生した。関数の戻り値にエラー詳細があるときは，ISAMのエラー番号またはシステムコールのエラー番号がエラー詳細に表示される。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。または，ファイルシステムをチェックする。

KAKD3131-E

Input record length is out of range of file specified by "環境変数名".

入力ファイルのレコード長が環境変数名で示す環境変数に設定されている出力ファイルのレコード長の範囲外である。入力ファイルの指定誤りか，または環境変数名で示す出力ファイルの最小レコード長または最大レコード長の誤りが考えられる。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3135-E

Inconsistent file attribute information in "環境変数名".

環境変数名で示す環境変数で指定したファイルの属性は，INPFILE文またはOUTFILE文で指定したファイルの属性と矛盾している。次の原因が考えられる。

INPFILE文でFILEORG=F指定の場合

入力ファイルのサイズがINPFILE文のRECLENオペランドで指定したレコード長の整数倍の大きさではない。

INPFILE文でFILEORG=V指定の場合

入力ファイルのヘッダレコード長またはヘッダレコードの形式が不正である。

OUTFILE文でFILEORG=V指定の場合

出力ファイルのDD要素でDISP="MOD"指定のとき，出力ファイルのヘッダレコード長またはヘッダレコードの形式が不正である。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3136-E

An error occurred while reading the file specified by "環境変数名".

環境変数名で示す環境変数に設定されているファイルを読み込み中にエラーを検出した。入力ファイルや出力ファイルの指定誤りか，またはINPFILE文やOUTFILE文の指定誤りが考えられる。次の原因が考えられる。

入力が固定長順編成ファイルまたは可変長順編成ファイルの場合，入力を要求したレコード長と入力したレコードの長さが異なっている。

入力が可変長順編成ファイルの場合，入力したレコードの長さが，最小レコード長と最大レコード長の範囲外である。

出力が固定長順編成ファイルまたは可変長順編成ファイルの場合，出力を要求したデータ長と出力したレコードの長さが異なっている。

入力が可変長順編成ファイルの場合，ヘッダレコードだけがあり，データがなかった。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3137-W

File "ファイルパス名" defined by "環境変数名" is not deleted, the file does not exist.

環境変数名で示す環境変数に設定されているファイルパス名で示されるファイルが存在しないので，削除できなかった。

(Ｓ)処理を続行する。（RC=4）

(Ｏ)ジョブ定義XMLファイルのDD要素を見直す。

KAKD3138-I

End of file. output records=出力レコード数,replace=変更レコード数,skip=スキップレコード数.

出力処理を終了した。出力レコード数で示すレコードを出力した。変更レコード数で示すレコードを更新した。また，スキップレコード数で示すレコードの処理をスキップした。表示されたレコード数の合計が処理したレコード数を表す。

(Ｓ)処理を継続する。（RC=0）

KAKD3139-E

The length of the input record is different from the output file record length.

入力ファイルと出力ファイルが固定長の順編成ファイル，または入力ファイルと出力ファイルが固定長の索引順編成ファイルのとき，入力レコードの長さと出力ファイルのレコードの長さが異なっている。

(Ｓ)処理を打ち切る。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3140-E

Attribute of ISAM file specified by "環境変数名" is not allowed.

環境変数名で示す環境変数で指定したISAMファイルの属性は，許可されていない属性である。

主キーを持たないファイルや主キーの重複を許可しているファイルを指定した。

キーのデータ型が整数型と文字型以外のファイルを指定した。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルを見直す。

KAKD3141-E

The data type of key specified by "オペランド名" is invalid.

オペランド名で示すオペランドで指定したキーのデータ型が入力ファイルまたは出力ファイルのデータ型と合わない。次の原因が考えられる。

オペランドで指定したキーのデータ型とファイルに定義されているデータ型が合わない。

オペランドで指定したキーのデータ型が文字型の場合，ファイルに定義されたキーの長さより長いキーの値を指定した。

オペランドで指定したキーのデータ型が整数型の場合でファイルに定義されたキーのデータ型が2バイト整数型のとき，指定できる値の範囲（-32768≦値≦32767）以外の値を指定した。

オペランド名で示すオペランドは，キーの要素が降順型のときは指定できない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3142-E

Key value is duplicated in file name "ファイル名".

ファイル名で示すファイルへの併合処理でキーの重複が見つかった。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=8）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

REPRO文でNOREPLACEオペランドを指定したときは，更新が必要なら，REPLACEオペランドを指定して再実行する。

REPRO文でREPLACEオペランドを指定していたときは，副キーの重複があるので，入出力ファイルの内容を確認する。

KAKD3143-E

Failed to load ISAM library. reason="エラー詳細"

索引順編成ファイル管理ISAMのライブラリがロードできない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)エラー詳細を調べ，ISAM製品が正しくインストールされているかどうかを確認する。

KAKD3144-E

The output file "ファイル名" specified by "環境変数名" is not empty, or "MOD" is specified to DISP attribute of DD element.

REPRO文でCOPYDDオペランド指定時，"環境変数名"で示す環境変数に設定されている"ファイル名"で示すファイルはすでにデータが格納されている。または，ジョブ定義XMLファイルのDD要素で，DISP="MOD"が指定されている。

なお，COPYDDオペランドを指定したときは，併合できない。

(Ｓ)処理を打ち切り，ジョブステップを終了する。（RC=12）

(Ｏ)ジョブ定義XMLファイルと制御文を見直す。

KAKD3145-E

Failed to execute a command. (error=理由).

コマンド実行処理でエラーが発生した。

理由：エラー内容を表す文字列

理由の表示内容と説明を次に示す。

理由

説明

コマンド名:create sub process:エラー理由

サブプロセスの生成に失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:wait process:エラー理由

サブプロセスの終了待ちに失敗した。エラー理由はerrnoから求めた文字列である。

コマンド名:command:リターンコード

コマンドがリターンコードで終了した。

コマンド名:sub process:abnormal terminated

サブプロセスがシグナルなどで終了した。

コマンド名:sub process(execv):エラー理由

サブプロセスがコマンドの起動に失敗した。エラー理由はerrnoから求めた文字列である。

(Ｓ)コマンド実行処理を中断する。（RC=12）

(Ｏ)エラーになった理由を調べ，原因を取り除き，ジョブを再実行する。

10.6　JP1イベント一覧

JP1イベント一覧を次の表に示す。

表10‒8　JP1イベント一覧

イベントID

イベント発行契機

メッセージ

00005C00

ジョブコントローラ起動エラー時

KAKC0100-E

00005C01

ジョブ開始時

KAKC0091-I

00005C02

ジョブ終了時

KAKC0098-I

00005C03

ジョブ実行エラー時

KAKC0101-E

00005C04

ジョブステップ開始時

KAKC0092-I

00005C05

ジョブステップ終了時

KAKC0097-I

00005C06

ジョブステップ異常終了時

KAKC0096-E

00005C07

スプールジョブ転送サービスへの通知エラー時

KAKC0013-E

00005C08

ファイルおよびディレクトリのロック待ち発生時

KAKC1650-W

00005C09

ファイルおよびディレクトリのロック待ち解除時

KAKC1651-I

00005C0A

ジョブ多重度によるジョブ実行待ち発生時

KAKC1652-W

00005C0B

ジョブ多重度によるジョブ実行待ち解除時

KAKC1653-I

00005C0D

排他資源管理テーブルの空き待ち解除時

KAKC1655-I

00005C0E

排他資源管理テーブルの空き待ち発生時

KAKC1654-W

00005C10

スプールジョブ転送サービス起動時

KAKC3000-I

00005C11

スプールジョブ転送サービス起動エラー時

KAKC3002-E

00005C12

スプールジョブ転送サービス正常終了時

KAKC3001-I

00005C13

スプールジョブ転送サービス異常終了時

KAKC3003-E

00005C14

転送障害発生時

KAKC3004-E

00005C16

スプールジョブの転送エラー時

KAKC3204-I

00005C17

スプールジョブ転送サービスの実行ログ出力エラー発生時

KAKC3412-E

00005C18

スプールジョブ転送デーモンでスプールディレクトリの再作成検知時

KAKC3031-E

00005C19

スプールジョブの再転送回数が指定のリトライ回数を超えた時

KAKC3130-I

00005C20

メッセージ制御機能によるメッセージ出力時

COBOLアプリケーションまたはメッセージ出力コマンド（bjexm_messageコマンド）が出力するメッセージ

00005C21

メッセージ制御機能による応答要求メッセージ出力時

COBOLアプリケーションまたはメッセージ出力コマンド（bjexm_messageコマンド）が出力するメッセージ

00005C22

ジョブコントローラによる応答待ちイベントのキャンセル時

KAKC5008-I

00005C23

スプールジョブ転送サービスによる応答待ちイベントのキャンセル時

KAKC3508-I

00005C24

bjexchmsgコマンドによる応答待ちイベントのキャンセル時

KAKC5408-I

00005C25

メッセージ制御機能による応答要求メッセージに対する応答入力時

KAKC5001-I

10.7　JP1イベントの詳細

JP1イベントの詳細をイベントID別に次の表に示す。

なお，表中のJP1/AJSのジョブ情報は，次のように表示されることを示す。

UNIXジョブの場合

設定ファイルのJP1EVENT_JOBINFOパラメータを未指定，またはJP1AJSを指定した場合

次の環境変数の値を順番にコロン（：）で連結した文字列となる。

AJS_AJSCONF

AJSJOBNAME

AJSEXECID

設定ファイルのJP1EVENT_JOBINFOパラメータにBJEXを指定した場合

bjexecとなる。

サブミットジョブの場合

bjexecとなる。

表10‒9　イベントID（00005C00）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C00

メッセージ

−

KAKC0100-E bjexecの起動処理でエラーが発生しました

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

UNIXジョブの場合

JP1/AJSのジョブ情報:bjexec

サブミットジョブの場合

bjexec

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

NOTSTART

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒10　イベントID（00005C01）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C01

メッセージ

−

KAKC0091-I ジョブ（JP1/AJSのジョブ情報：ジョブ名）を開始します

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

START

開始時刻

START_TIME

ジョブ開始時刻

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒11　イベントID（00005C02）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C02

メッセージ

−

KAKC0098-Iジョブ（JP1/AJSのジョブ情報：ジョブ名）が終了しました

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

END

開始時刻

START_TIME

ジョブ開始時刻

終了時刻

END_TIME

ジョブ終了時刻

終了コード

RESULT_CODE

終了コード

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒12　イベントID（00005C03）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C03

メッセージ

−

KAKC0101-E ジョブ（JP1/AJSのジョブ情報：ジョブ名）の実行中にエラーが発生しました

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

END

開始時刻

START_TIME

ジョブ開始時刻

終了時刻

END_TIME

ジョブ終了時刻

終了コード

RESULT_CODE

終了コード

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒13　イベントID（00005C04）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C04

メッセージ

−

KAKC0092-I ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）を開始します

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

START

開始時刻

START_TIME

ジョブステップ開始時刻

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

（凡例）

−：なし。

表10‒14　イベントID（00005C05）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C05

メッセージ

−

KAKC0097-I ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）が終了しました

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

END

開始時刻

START_TIME

ジョブステップ開始時刻

終了時刻

END_TIME

ジョブステップ終了時刻

終了コード

RESULT_CODE

終了コード

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

（凡例）

−：なし。

表10‒15　イベントID（00005C06の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C06

メッセージ

−

KAKC0096-E ジョブステップ（JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］）が異常終了しました

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名.ジョブステップ名［.プロシジャステップ名］

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

END

開始時刻

START_TIME

ジョブステップ開始時刻

終了時刻

END_TIME

ジョブステップ終了時刻

終了コード

RESULT_CODE

終了コード

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒16　イベントID（00005C07の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C07

メッセージ

−

KAKC0013-E スプールジョブ転送サービスへの通知に失敗しました

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

UNIXジョブの場合

JP1/AJSのジョブ情報：bjexec

サブミットジョブの場合

bjexec

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

EXCEPTION

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒17　イベントID（00005C08の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C08

メッセージ

−

KAKC1650-W ロック確保待ちが発生しました

拡張属性

共通情報

重大度

SEVERITY

Warning

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

PAUSE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒18　イベントID（00005C09の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C09

メッセージ

−

KAKC1651-I ロック待ちは解除されました

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

RELEASE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒19　イベントID（00005C0Aの詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C0A

メッセージ

−

KAKC1652-W ジョブ実行待ちが発生しました

拡張属性

共通情報

重大度

SEVERITY

Warning

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

PAUSE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒20　イベントID（00005C0Bの詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C0B

メッセージ

−

KAKC1653-I ジョブ実行待ちは解除されました

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

RELEASE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒21　イベントID（00005C0Dの詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C0D

メッセージ

−

KAKC1655-I 排他資源管理テーブルの空き待ちが解除されました

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

RELEASE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒22　イベントID（00005C0Eの詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C0E

メッセージ

−

KAKC1654-W 排他資源管理テーブルの空き待ちが発生しました

拡張属性

共通情報

重大度

SEVERITY

Warning

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOB

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

PAUSE

固有情報

ジョブ定義XMLファイル名

XML_JCL

ジョブ定義XMLファイル名

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブ名

JOB_NAME

ジョブ名

（凡例）

−：なし。

表10‒23　イベントID（00005C10の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C10

メッセージ

−

KAKC3000-I bjexpdが起動しました。

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

START

開始時刻

START_TIME

開始時刻

固有情報

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒24　イベントID（00005C11の詳細）

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C11

メッセージ

−

KAKC3002-E bjexpdが起動できません。

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTSTART

終了コード

RESULT_CODE

終了コード

固有情報

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒25　イベントID（00005C12）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C12

メッセージ

−

KAKC3001-I bjexpdが終了しました。

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

END

開始時刻

START_TIME

開始時刻

終了時刻

END_TIME

終了時刻

（凡例）

−：なし。

表10‒26　イベントID（00005C13）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C13

メッセージ

−

KAKC3003-E bjexpdが異常終了しました。

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

END

開始時刻

START_TIME

開始時刻

終了時刻

END_TIME

終了時刻

終了コード

RESULT_CODE

終了コード

固有情報

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒27　イベントID（00005C14）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C14

メッセージ

−

KAKC3004-E bjexpdでJP1/FTPエラーが発生しました。

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTICE

（凡例）

−：なし。

表10‒28　イベントID（00005C16）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C16

メッセージ

−

KAKC3204-I スプールジョブのファイル転送が中断されました。

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTICE

固有情報

エラー詳細

ERROR_INFO

エラー詳細

（凡例）

−：なし。

表10‒29　イベントID（00005C17）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C17

メッセージ

−

KAKC3412-E bjexpdの実行ログ出力処理でエラーが発生しました。

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

root

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTICE

固有情報

エラー詳細

ERROR_INFO

エラー発生時に出力しようとしていたメッセージ

（凡例）

−：なし。

表10‒30　イベントID（00005C18）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C18

メッセージ

−

KAKC3031-E bjexpdが使用しているスプールディレクトリが再作成されました。

拡張属性

共通情報

重大度

SEVERITY

Error

ユーザ名

USER_NAME

root

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTICE

固有情報

エラー詳細

ERROR_INFO

エラー情報（新旧inode番号およびファイル/ディレクトリ名が含まれる）

（凡例）

−：なし。

表10‒31　イベントID（00005C19）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C19

メッセージ

−

KAKC3130-I スプールジョブの再転送回数が指定のリトライ回数を超えました。

拡張属性

共通情報

重大度

SEVERITY

Information

ユーザ名

USER_NAME

実行ユーザ

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

NOTICE

（凡例）

−：なし。

表10‒32　イベントID（00005C20）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C20

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

メッセージ（ジョブ識別子，ステップ番号，JP1/AJSのホスト名，メッセージ識別子，保守情報）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

NOTICE

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

（凡例）

−：なし。

表10‒33　イベントID（00005C21）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C21

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

応答要求メッセージ（ジョブ識別子，ステップ番号，JP1/AJSのホスト名，メッセージ識別子，保守情報）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

RESPONSE

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

（凡例）

−：なし。

表10‒34　イベントID（00005C22）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C22

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

KAKC5008-I 応答要求をキャンセルしました（ジョブ識別子，ステップ番号，JP1/AJSのホスト名）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報

事象種別

OCCURRENCE

CANCEL

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

（凡例）

−：なし。

表10‒35　イベントID（00005C23）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C23

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

KAKC3508-I 応答要求をキャンセルしました（ジョブ識別子，ステップ番号，JP1/AJSのホスト名）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

SERVICE

オブジェクト名

OBJECT_NAME

BJEX-Base Print Job Transfer Service

登録名タイプ

ROOT_OBJECT_TYPE

SERVICE

登録名

ROOT_OBJECT_NAME

BJEX-Base Print Job Transfer Service

事象種別

OCCURRENCE

CANCEL

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

（凡例）

−：なし。

表10‒36　イベントID（00005C24）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C24

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

KAKC5408-I 応答要求をキャンセルしました（ジョブ識別子，ステップ番号，JP1/AJSのホスト名）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

COMMAND

オブジェクト名

OBJECT_NAME

コマンド名

登録名タイプ

ROOT_OBJECT_TYPE

COMMAND

登録名

ROOT_OBJECT_NAME

コマンド名

事象種別

OCCURRENCE

CANCEL

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

（凡例）

−：なし。

表10‒37　イベントID（00005C25）の詳細

属性種別

項目

属性名

内容

基本属性

イベントID

−

00005C25

発行元イベントサーバ名

−

バッチジョブ実行システムが稼働するホスト名

メッセージ

−

KAKC5001-I応答メッセージ（ジョブ識別子，ジョブステップ番号，ホスト名，応答者，保守情報）

拡張属性

共通情報

重大度

SEVERITY

Notice

ユーザ名

USER_NAME

JP1ユーザ名または実行ユーザ名

プロダクト名

PRODUCT_NAME

/HITACHI/BJEX

オブジェクトタイプ

OBJECT_TYPE

JOBSTEP

オブジェクト名

OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

登録名タイプ

ROOT_OBJECT_TYPE

JOB

登録名

ROOT_OBJECT_NAME

JP1/AJSのジョブ情報：ジョブ名

事象種別

OCCURRENCE

NOTICE

固有情報

ジョブ通し番号

JOB_ID

ジョブ通し番号

ジョブステップ番号

STEP_ID

ジョブステップ番号

ジョブ名

JOB_NAME

ジョブ名

ジョブステップ名

STEP_NAME

ジョブステップ名［.プロシジャステップ名］

（凡例）

−：なし。

10.8　終了コード

10.8.1　ジョブステップの終了コード

ジョブステップの終了コードは，ジョブ定義XMLファイルのEXEC要素に記述したプログラムの終了コードである。

ジョブコントローラがEXEC要素に記述したプログラムの終了コードを取得できた場合は，終了コードをKAKC0097-Iメッセージに出力する。EXEC要素に記述したプログラムが異常終了した場合は，終了コードをKAKC0096-Eメッセージに出力する。

ジョブステップの終了コード一覧を次の表に示す。

表10‒38　ジョブステップの終了コード一覧

終了コード

意味

0〜125

EXEC要素に記述したプログラムの終了コードが0〜125である。

126

次のどちらかである。

EXEC要素に記述したプログラムの終了コードが126である。

EXEC要素に記述したプログラムが存在するが実行できない。

127

次のどちらかである。

EXEC要素に記述したプログラムの終了コードが127である。

EXEC要素に記述したプログラムが存在しない。

128+N※

次のどちらかである。

EXEC要素に記述したプログラムの終了コードが128+Nである。

EXEC要素に記述したプログラムがシグナルコードNで異常終了した。

240〜255

EXEC要素に記述したプログラムの終了コードが240〜255である。

注※　シグナルで打ち切られた場合のシグナルコード

10.8.2　ジョブコントローラの終了コード

(1)　終了コードの定義

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

ジョブコントローラの終了コードは，ジョブステップの最大の終了コードである。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

ジョブコントローラの終了コードは，最後に実行完了したメインステップの終了コードである。

ただし，終了コードが241以上の場合は，ジョブコントローラでエラーが発生したことを示す。ジョブステップの最大の終了コード，または最終ジョブステップの終了コードが240以上の場合は，ジョブコントローラの終了コードを240とする。

ジョブコントローラの終了コード一覧を次の表に示す。

表10‒39　ジョブコントローラの終了コード一覧

終了コード

意味

0

次のどれかである。

-vオプションを指定した場合，正常終了した。

-cオプションを指定した場合，ジョブ定義XMLファイルの誤りを検出することなく正常終了した。

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

ジョブを実行した場合，ジョブステップの最大の終了コードが0である。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

ジョブを実行した場合，最終ジョブステップの終了コードが0である。

コマンドは正常に処理を終了した。

1〜239

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

ジョブステップの最大の終了コードが1〜239である。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

最終ジョブステップの終了コードが1〜239である。

240

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合

ジョブステップの最大の終了コードが240〜255である。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合

最終ジョブステップの終了コードが240〜255である。

242

次に示すエラーを検出したため，処理を終了した。

ファイルの割り当てに失敗した。

ディレクトリの割り当てに失敗した。

SETENVFILE要素で示す環境変数格納ファイル中の環境変数設定に失敗した。

244

次に示すエラーを検出したため，ジョブステップを実行しないで処理を終了した。

入力パラメータの文法エラー

設定ファイルの文法エラー

ジョブ定義XMLファイルの文法エラー

環境変数の設定エラー

ステップリスタートが指示されたがリスタートできないジョブステップが指定された。または，ジョブステップが見つからない。

次に示すエラーを検出したため，処理を終了した。

DD要素で指定した一時ファイルが存在しない。

DD要素で指定した一時ISAMファイルが存在しない。

世代ファイルの割り当てエラー

245

次に示すエラーを検出したため，ジョブステップを実行しないで処理を終了した。

設定ファイルのオープンエラー，入出力エラー

ジョブ定義XMLファイルのオープンエラー，入出力エラー

ジョブログファイルのオープンエラー，入出力エラー

ISAMライブラリのロードエラー

246

次に示すエラーを検出したため，処理を終了した。

ジョブステッププロセス生成エラー

ジョブステッププロセス終了待ちエラー

250

メモリ割り当てエラーなど，続行できないエラーを検出したため，処理を終了した。

253

メッセージを出力できなかったため，処理を終了した。

254

プログラムの内部矛盾検出など，内部エラーを検出したため，処理を中断した。

255

強制終了を指示されたため，ジョブの実行を中止し，処理を終了した。

注　ジョブコントローラの終了コードからジョブステップの実行結果を把握するために，EXEC要素に記述するプログラムの終了コードは，125以下とすることを推奨する。また，SETMAXRC要素でジョブステップの最大の終了コード，または最終ジョブステップの終了コードを変更する場合も，125以下とすることを推奨する。

(2)　終了コードの例

次のジョブについて，JOB_RCDEFINEパラメータでSTEPMAXを指定した場合とSTEPLASTを指定した場合のそれぞれについて，ジョブコントローラの終了コードを示す。

ジョブ定義XMLファイル

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="JOB_RC">
    <STEP NAME="STEP1">  <!-- 終了コード4で終了するステップ -->
      <EXEC PGM="RTN" PARM="4" />
    </STEP>
    <STEP NAME="STEP2">  <!-- 終了コード8で終了するステップ -->
      <EXEC PGM="RTN" PARM="8" />
    </STEP>
    <STEP NAME="STEP3">  <!-- 終了コード0で終了するステップ -->
      <EXEC PGM="RTN" PARM="0" />
    </STEP>
  </JOB>
</HitachiBatchJobExec>

ジョブコントローラの終了コード

表10‒40　ジョブコントローラの終了コード（例1）

ジョブステップ終了順序

ステップ終了コード

ジョブコントローラの終了コード

STEPMAX

STEPLAST

STEP1

4

−

−

STEP2

8

○

−

STEP3

0

−

○

（凡例）

○：ジョブコントローラの終了コードとなる。

−：ジョブコントローラの終了コードとならない。

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合，すべてのジョブステップの終了コードの最大値が，ジョブコントローラの終了コードとなる。終了コードの最大値はSTEP2の終了コード8であるため，ジョブコントローラの終了コードは8となる。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合，最後に実行完了したメインステップの終了コードが，ジョブコントローラの終了コードとなる。最後に実行完了したメインステップの終了コードはSTEP3の終了コード0であるため，ジョブコントローラの終了コードは0となる。

(3)　サブステップを含むジョブの終了コードの例

サブステップを含む次のジョブについて，JOB_RCDEFINEパラメータでSTEPMAXを指定した場合とSTEPLASTの場合それぞれについて，ジョブコントローラの終了コードの決定方法を示す。

ジョブ定義XMLファイル

<?xml version="1.0" encoding="Shift-JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
  <JOB NAME="JOB_RC_SUBSTEP">
    <STEP NAME="STEP1_SUB">   <!-- 終了コード4で終了するサブステップ   終了順序3 -->
      <EXEC PGM="CBLRTN" PARM="004" LANG="COBOL" JSPEC="YES" />
    </STEP>
    <STEP NAME="STEP2_SUB">   <!-- 終了コード8で終了するサブステップ   終了順序1 -->
      <EXEC PGM="CBLRTN" PARM="008" LANG="COBOL" JSPEC="YES" />
    </STEP>
    <STEP NAME="STEP3_MAIN">  <!-- 終了コード0で終了するメインステップ 終了順序2 -->
      <EXEC PGM="CBLRTN" PARM="000" LANG="COBOL" />
    </STEP>
  </JOB>
</HitachiBatchJobExec>

ジョブコントローラの終了コード

表10‒41　ジョブコントローラの終了コード（例2）

ジョブステップ終了順序

ジョブステップ終了コード

ジョブコントローラの終了コード

STEPMAX

STEPLAST

STEP2_SUB※

8

○

−

STEP3_MAIN

0

−

○

STEP1_SUB※

4

−

−

注※　サブステップであるため，STEPLASTの場合はジョブコントローラの終了コードに影響を与えない。

（凡例）

○：ジョブコントローラの終了コードとなる。

−：ジョブコントローラの終了コードとならない。

JOB_RCDEFINEパラメータでSTEPMAXを指定した場合，サブステップを含むすべてのジョブステップの終了コードの最大値が，ジョブコントローラの終了コードとなる。終了コードの最大値はSTEP2_SUBの終了コード8であるため，ジョブコントローラの終了コードは8となる。

JOB_RCDEFINEパラメータでSTEPLASTを指定した場合，最後に実行完了したメインステップの終了コードが，ジョブコントローラの終了コードとなる。最後に実行完了したメインステップの終了コードはSTEP3_MAINの終了コード0であるため，ジョブコントローラの終了コードは0となる。

10.8.3　スプールジョブ転送サービスの終了コード

スプールジョブ転送サービスの終了コードについて次の表に示す。

表10‒42　スプールジョブ転送サービスの終了コード一覧

戻り値

意味

0

正常終了

0以外

異常終了

10.8.4　世代コマンドの終了コード

世代コマンド（bjexgdgおよびbjexhkgdg）は，「表10-39　ジョブコントローラの終了コード一覧」の終了コードと同じく，0および244〜255を出力する。

付録

付録A　ジョブ定義XMLファイル仕様

ジョブ定義XMLファイルのXML仕様は，W3C勧告「拡張可能なマーク付け言語（XML）1.0」REC-xml-980210のサブセットに従う。サポートする定義方法をEBNF表記方法で次に示す。この文法に従い，バッチジョブ実行システムではXMLを1バイトずつ解析する。

付録A.1　ジョブ定義XMLファイルのDTD

各OSのジョブ定義XMLファイルのDTDを次に示す。

AIXの場合

Linuxの場合

付録B　プロセス一覧

バッチジョブ実行システムのプロセス一覧を記載する。

UNIXのpsコマンドを使って，プロセスの動作状態を確認できる。正常に動作している場合に表示されるプロセスを次の表に示す。なお，表内の括弧内の数値は，同時に実行できるプロセス数である。

表B‒1　プロセス一覧

プロセス名

機能

ユーザ

親プロセス名

機能の詳細

bjexec（任意）

ジョブコントローラ

ユーザ

任意（jpqagtchildやシェルなど）

ジョブの制御を行う。

bjexpd（1）

スプールジョブ転送デーモン

root

−※1

スプールの管理，転送処理を行う。

bjexpd（0〜伝送カード数）

スプールジョブ転送プロセス

ユーザ

bjexpd※2

転送処理を実施する。転送処理が完了すると，これらのプロセスは消滅する。

cp（0〜伝送カード数）

スプールジョブ転送プロセス

ユーザ

bjexpd※3

転送処理の過程で，さらにcpプロセスを生成する。転送処理が完了すると，これらのプロセスは消滅する。

（凡例）

−：なし。

注※1　デーモンのため，親プロセスのpidは1になる。

注※2　デーモンが親プロセスとなる。

注※3　スプールジョブ転送プロセスのbjexpdが親プロセスとなる。

付録C　bjexcollectコマンド（障害調査のための資料の一括収集）

付録C.1　形式

bjexcollect

収集情報出力先ディレクトリ

[-f 定義ファイル名]

付録C.2　機能

バッチジョブ実行システムが異常終了および無応答となった場合などの障害調査を実施するための資料を一括して収集できる。

このコマンドは，root権限で実行する必要がある。

付録C.3　オプション

収集情報出力先ディレクトリ

収集した情報をtarのアーカイブファイルとして出力する出力先のディレクトリを指定する。bjexcollectコマンドの内部処理で一時ファイルを使用する場合にも，このディレクトリに作成する。

アーカイブファイルの名称は，BJEXyyyymmddhhmmss.tarとなる。ここでyyyymmddはbjexcollectを起動した日付，hhmmssはbjexcollectを起動した24時間制のローカルタイムでの時刻である。

-f 定義ファイル名<</opt/hitachi/bjex/maintenance/bjexcollect.conf>>

bjexcollect.confファイルを指定する。絶対パス，またはカレントディレクトリからの相対パスで指定する。

付録C.4　使用方法

バッチジョブ実行システムを標準的な構成でインストールした場合の使用方法を次に示す。

bjexcollect.confファイルを運用環境に合わせて書き換える。詳細については，「2.3.3　bjexcollectコマンドの設定」を参照のこと。

/tmpなど，バッチジョブ実行システムの運用で使用しないディレクトリを収集情報出力先ディレクトリに指定してbjexcollectコマンドを実行する。これによって，「(3)　オプション」で示した名称の，tarのアーカイブファイルが作成される。/tmpディレクトリを使用した例を次に示す。

/opt/hitachi/bjex/maintenance/bjexcollect△/tmp

（凡例）

△：半角空白を示す。

付録C.5　定義ファイルの設定と指定例

(1)　定義ファイルの設定

bjexcollect.confでbjexcollectの動作を定義する。bjexcollect.confは，キーワードと値をスペースで区切って記述する。行の最初に#を付けるとコメント行になる。ファイル名はすべて絶対パスで指定する。定義ファイルのキーワードと指定の関係を次の表に示す。キーワードは，大文字小文字を区別しない。

表C‒1　定義ファイルのキーワードと指定の関係

キーワード

指定する値

指定

複数指定

ワイルドカード

SPOOL_DIR

bjex.confのSPOOL_DIRと同じスプールディレクトリ名称を指定する。

必須

×

×

LOG_DIR

bjex.confのLOG_DIRと同じディレクトリ名称を指定する。

TRACE_DIR

bjex.confのTRACE_DIRと同じディレクトリ名称を指定する。

LOGICAL_HOST

バッチジョブ実行システムが論理ホストで稼働している場合，論理ホスト名を指定する。

任意

JP1HOSTS

JP1でjp1hostsかjp1hosts2のどちらを使用しているかを指定する。

CORE

その他任意で採取するcoreファイル名を指定する。

任意

○

○

FILES

その他任意で採取するファイル名を指定する。

（凡例）

○：指定できる。

×：指定できない。

(2)　定義ファイルの指定例

定義ファイルの指定例を次に示す。

一時的に使用するファイル

10MB

収集した情報を出力するtarファイル

coreファイルの容量　＋　実行ログ，トレースログの容量　＋　一時的に使用するファイルの容量　＋　CORE，FILESで指定したファイルの容量

付録C.6　注意事項

収集情報出力先ディレクトリには，coreファイルを含む保守情報のアーカイブファイルが作成されるため，空き領域を確保しておく。

収集情報出力先ディレクトリに出力ファイル，および一時ファイルを作成する。このため，収集情報出力先ディレクトリは書き込み可能とする。

CORE，FILESにディレクトリを指定した場合，指定されたディレクトリ下のファイルのすべてを採取する。このため，ルートディレクトリなど上位ディレクトリを指定しないこと。

LOGICAL_HOSTに値を指定しなかった場合，物理ホストを仮定する。

JP1HOSTSに値を指定しなかった場合，jp1hostsを仮定する。

JP1HOSTSにjp1hosts，jp1hosts2以外を指定した場合は，bjexcollectコマンドが異常終了する。

このコマンドはrootで実行すること。

bjexcollectコマンドの収集情報出力先ディレクトリとして，スプールディレクトリやインストールディレクトリなど，バッチジョブ実行システムに関係するディレクトリを指定しないこと。指定するとbjexcollectコマンドが異常終了することがある。

/tmpなど，バッチジョブ実行システムとは関係ないディレクトリを指定すること。

bjexcollectコマンドを実行中に，バッチジョブ（bjexecコマンド）やほかのBJEXのコマンドは実行しないでください。

付録C.7　戻り値

0

正常終了。

0以外の値

異常終了。

付録C.8　メッセージ

メッセージ

意味，オペレーターのとる処置

bjexcollect:RAS completed collection of tarファイル名

　採取したファイル名

　採取したファイル名

　…

採取したファイル名をまとめてtarファイル（ファイル名）を作成した。

Usage: bjexcollect directory [-f filename]

　　　directory : Specify output directory

　　　-f filename : Specify a config file

オプションの設定が誤っている。正しく設定し，再度実行する。

bjexcollect:RAS error:出力先ディレクトリ(Permission denied).

出力先ディレクトリにアクセス権限がない。アクセス権限を設定するか，または別のディレクトリを指定して再度実行する。

bjexcollect:RAS error:出力先ディレクトリ(not found or not a directory).

出力先ディレクトリは存在しない，またはディレクトリではない。正しい出力先を指定し，再度実行する。

bjexcollect:RAS error:設定ファイル名(not found or not a file).

設定ファイルは存在しない，またはファイルではない。正しい設定ファイルを指定し，再度実行する。

bjexcollect:RAS error:設定ファイル名(Permission denied).

設定ファイルにアクセス権限がない。アクセス権限を設定し，再度実行する。

bjexcollect:RAS error:設定ファイル名(キーワード Syntax Error).

設定ファイル中に不正なキーワードが指定された。設定ファイルを正しく設定し，再度実行する。

bjexcollect:RAS error:設定ファイル名(キーワード not found).

必須キーワードの指定がない。必須キーワードを指定し，再度実行する。

bjexcollect:RAS error:指定値(not found or not a directory).

設定ファイルで指定された指定値は存在しない，またはディレクトリではない。ディレクトリを指定し，再度実行する。

付録D　メッセージ制御機能のエラー情報

メッセージ制御機能のエラーが発生した場合，COBOLアプリケーションはKCCC2060R-Sメッセージを出力する。メッセージ出力コマンド（bjexm_messageコマンド）はKAKC5205-Eメッセージを出力する。

これらのメッセージの詳細情報に表示されるエラー情報の意味および対処方法を次の表に示す。

表D‒1　メッセージの詳細情報に表示されるエラー情報の意味および対処方法

戻り値

エラー番号

意味

対処

1

10

メッセージを送信しようとしたが，メッセージに表示できない文字が存在する，またはインタフェース上のパラメータが不正である。メッセージにNULL文字が含まれている，またはメッセージを出力したプログラムがこの製品のサポートしていない機能を使用しているおそれがある。

データ置き換え機能を使用する。またはプログラムを見直す。問題が解決しない場合，システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

11

環境変数が不正である。

JP1/AJS，またはバッチジョブ実行システムを利用して呼び出していない可能性がある。

該当するプログラムをJP1/AJSからバッチジョブ実行システムを通して呼び出すように変更して再実行する。

2

1

未実装のAPIを呼び出した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

2

共有メモリの参照に失敗した。

スプールジョブ転送デーモンが起動していない可能性がある，またはスプールジョブ転送デーモンの起動中に使用するスプールディレクトリを変更した可能性がある。

スプールジョブ転送デーモンが起動していることを確認する。スプールジョブ転送デーモンが起動中であれば，使用中のスプールディレクトリを変更していないか確認する。スプールディレクトリを変更した場合は，スプールジョブ転送デーモンを停止して再度起動する。

問題が解決しない場合は，システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

3

空きメモリ領域が不足している。

システム管理者に連絡する。システム管理者はメモリ見積もりを見直す必要がある。

4

不正な引数が渡された。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

5

データの不整合を検出した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

6

サポートしていない文字エンコーディングが指定された。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

7

アンダーフローが発生した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

8

オーバーフローが発生した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

9

APIの呼び出し順序が間違っている。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

10

オブジェクトなどの内部状態に不整合が発生した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

11

リソースへのアクセスが拒否された。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

12

指定されたファイルが存在しない。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

13

ファイルをオープンできない。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

14

ファイルに対するメモリマッピングを作成できない。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

15

ファイルからの読み込み処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

16

ファイルへの書き込み処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する，または上記のログを格納するディスクに空きがあることを確認する。

17

ファイルのシーク処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

18

ファイルへのフラッシュ処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

19

ファイルのリネーム処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

20

ファイルのコピー処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

21

ファイルの削除処理でエラーが発生した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

22

ディレクトリの作成に失敗した。

バッチジョブ実行システムの設定ファイルに指定したログのパス（LOG_DIR）で指定したディレクトリおよびその配下のログファイルに，書き込み権限が付いていることを確認する。

23

プロセス間のロックに失敗した。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

24

ユーザプログラムによって無効にされた機能を利用しようとした。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

25

ユーザプログラムによって禁止されているため，上書きできない。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

400

パラメータが不正である。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

404

bjexchmsgコマンドによって応答要求メッセージが削除された。または共有メモリを参照できない。

bjexchmsgコマンドの-dオプションによって応答要求メッセージを削除した場合，ジョブを正常に終了させたい場合はジョブを再実行する。

bjexchmsgコマンドを使用していない場合，スプールジョブ転送デーモンの起動でエラーが発生していないか確認する。

409

同一PIDから応答要求メッセージが出力された。

マルチスレッドで同時に応答要求メッセージを出力した可能性がある。

アプリケーションを見直す。

3

「10.4　システムコールのエラー情報」を参照のこと。

4および5

10

パラメータが不正である。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

11

関数発行の順序が不正である。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

30

指定属性はすでに登録済みである。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

32

登録可能な拡張属性数を超えている。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

33

登録可能な拡張属性の合計サイズを超えている。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

40

イベントサービスに接続できない。

自ホストおよびJP1/IM - Managerが稼働するホストで，JP1/Baseのイベントサービスの起動を確認する。

43

入出力エラーである。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

50

JP1/Baseのライブラリが見つからない。

JP1/Baseをインストールして，ジョブを再実行する。

51

メモリが不足している。

システム管理者に連絡する。システム管理者はメモリ見積もりを見直す必要がある。

52

ファイルオープン数が限界である。

システム管理者に連絡する。システム管理者はオープンできるfd数の見積もりを見直す必要がある。

60

JP1イベントの初期化処理が行われていない。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

70

システムエラーである。

システム管理者に連絡する。システム管理者は「6.2　トラブルシューティング」に従って資料を採取し，トラブルの回避および対処をする。

6

10

設定ファイルのMAX_RESPONSE_REQUESTパラメータを超えて，メッセージ制御機能を利用しようとしたが，登録待ち中にタイムアウトとなった。

応答要求メッセージの出力数がMAX_RESPONSE_REQUESTパラメータの指定値以内となるようにする。

11

設定ファイルのJP1IM_MANAGER_HOSTパラメータに指定したホストにJP1イベントを送信しようとしたが，処理のリトライ中にタイムアウトとなった。

JP1IM_MANAGER_HOSTパラメータの指定を確認する。自ホストおよびJP1/IM - Managerが稼働するホストで，JP1/Baseのイベントサービスの起動を確認する。

付録E　このマニュアルの参考情報

このマニュアルを読むに当たっての参考情報を示します。

付録E.1　関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

JP1/AJS関連

JP1 Version 10 JP1/Automatic Job Management System 3 入門（3021-3-101）

JP1 Version 10 JP1/Automatic Job Management System 3 導入ガイド（3021-3-102）

JP1 Version 10 JP1/Automatic Job Management System 3 設計ガイド（システム構築編）（3021-3-103）

JP1 Version 10 JP1/Automatic Job Management System 3 設計ガイド（業務設計編）（3021-3-104）

JP1 Version 10 JP1/Automatic Job Management System 3 構築ガイド1（3021-3-105）

JP1 Version 10 JP1/Automatic Job Management System 3 構築ガイド2（3021-3-106）

JP1 Version 10 JP1/Automatic Job Management System 3 運用ガイド（3021-3-107）

JP1 Version 10 JP1/Automatic Job Management System 3 トラブルシューティング（3021-3-108）

JP1 Version 10 JP1/Automatic Job Management System 3 操作ガイド（3021-3-109）

JP1 Version 10 JP1/Automatic Job Management System 3 コマンドリファレンス1（3021-3-110）

JP1 Version 10 JP1/Automatic Job Management System 3 コマンドリファレンス2（3021-3-111）

JP1 Version 10 JP1/Automatic Job Management System 3 連携ガイド（3021-3-112）

JP1 Version 10 JP1/Automatic Job Management System 3 メッセージ1（3021-3-113）

JP1 Version 10 JP1/Automatic Job Management System 3 メッセージ2（3021-3-114）

JP1関連

JP1 Version 10 JP1/Integrated Management - Manager クイックリファレンス（3021-3-006）

JP1 Version 10 JP1/Integrated Management - Manager 導入・設計ガイド（3021-3-007）

JP1 Version 10 JP1/Integrated Management - Manager 構築ガイド（3021-3-008）

JP1 Version 10 JP1/Integrated Management - Manager 運用ガイド（3021-3-009）

JP1 Version 10 JP1/Integrated Management - Manager 画面リファレンス（3021-3-010）

JP1 Version 10 JP1/Integrated Management - Manager コマンド・定義ファイルリファレンス（3021-3-011）

JP1 Version 10 JP1/Integrated Management - Manager メッセージ（3021-3-012）

JP1 Version 10 JP1/Base 運用ガイド（3021-3-001）

JP1 Version 10 JP1/Base メッセージ（3021-3-002）

JP1 Version 10 JP1/Base 関数リファレンス（3021-3-003）

JP1 Version 10 JP1/File Transmission Server/FTP（Windows(R)用)（3021-3-137）

JP1 Version 10 JP1/File Transmission Server/FTP（UNIX(R)用)（3021-3-138）

COBOL関連

COBOL2002　使用の手引　手引編（3000-3-D42）

SORT関連

ソートマージ SORT Version8，SORT Version8 - Extended Edition（3020-3-N73）

PRINT DATA EXCHANGE 関連

PRINT DATA EXCHANGE for Open（3020-3-P02）

PRINT DATA EXCHANGE - Form Designer（3020-3-P03）

EUR関連

uCosminexus EUR サーバ帳票出力（3020-7-536）

uCosminexus EUR Print Manager 帳票出力（3020-7-538）

その他

索引順編成ファイル管理 ISAM（3000-3-169）

Cosminexus アプリケーションサーバ V8 リファレンス コマンド編（3020-3-U14）

日立コード変換ユーザーズガイド（3000-7-415）

付録E.2　このマニュアルでの表記

このマニュアルでは，製品名を次のように表記しています。

正式名称

このマニュアルでの表記

AIX 6.1，AIX 7.1

UNIX

AIX

Red Hat Enterprise Linux Server 6 （32-bit x86）

Linux

Linux6

Red Hat Enterprise Linux Server 6 （64-bit x86_64）

Red Hat Enterprise Linux Server 7 （64-bit x86_64）

Linux7

HP-UX 11i V2，HP-UX 11i V3

HP-UX

COBOL2002 Net Server Runtime

COBOL2002

COBOL2002 Net Server Suite

COBOL2002 Net Server Runtime(64)

COBOL2002 Net Server Suite(64)

Hitachi Striping File System for AIX

HSFS

ISAM Version 7

ISAM

ISAM (32)

ISAM Version 7(64)

ISAM (64)

JP1/Advanced Shell

JP1/AS

JP1/Automatic Job Management System 3 - Agent

JP1/AJS - Agent またはJP1/AJS3 - Agent

JP1/AJSまたはJP1/AJS3

JP1/Automatic Job Management System 3 - Manager

JP1/AJS - Manager またはJP1/AJS3 - Manager

JP1/Automatic Job Management System 3 - View

JP1/AJS - View またはJP1/AJS3 - View

JP1/File Transmission Server/FTP

JP1/FTP

JP1/Integrated Management - Manager

JP1/IM またはJP1/IM - Manager

JP1/Integrated Management - View

JP1/IM - View

Network File System

NFS

PRINT DATA EXCHANGE - Electronic Document Option

PDE

PRINT DATA EXCHANGE - Enterprise Printer Option

PRINT DATA EXCHANGE - Form Designer

PRINT DATA EXCHANGE for Open

SORT Version8

SORT EE

SORT Version8 - Extended Edition

SORT Version8(64)

SORT Version8 - Extended Edition(64)

User Application Program

UAP

uCosminexus Batch Job Execution Server

バッチジョブ実行システムまたはBJEX

uCosminexus Grid Processing Server

uGPS

Virtual-storage Operating System 1

VOS1

Virtual-storage Operating System 3

VOS3

付録E.3　KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

付録F　用語解説

（英字）

BOM（Byte Order Mark）

Unicodeの特定のコード列を文書の先頭に挿入することで，その文書がビッグエンディアンとリトルエンディアンのどちらでエンコードされたものかを識別できるようにするためのものである。

DTD（Document Type Definition）

XMLでの最もベーシックなスキーマ言語である。

Javaバッチアプリケーション

Javaで記載されたバッチジョブの業務アプリケーションプログラムのことである。バッチジョブ実行システムでは，Cosminexusと連携してJavaバッチアプリケーションを実行できる。

JSPEC機能

ジョブステップを並列実行して処理時間を短縮する機能である。

PREST機能

逐次実行していたジョブおよびジョブステップを並列に実行する機能。処理時間を短縮できる。ジョブステップおよびジョブステップ間で使用するファイルにPRESTファイルという特別のファイルを使用する必要がある。

SYSINデータ

ジョブ定義XMLファイル中に置かれた，ジョブ実行時に使用するデータである。DD要素のTYPE属性値がDATAである場合がSYSINデータとなる。

SYSOUT

ジョブステップのプログラムが出力したデータを格納するファイルである。DD要素のTYPE属性に"SYSOUT"を指定したファイルがSYSOUTデータファイルとして扱われる。このファイルに出力されたデータは，いったんスプール内に置かれたあとで，DD要素に指定された各種属性および出力クラスの内容に従って出力装置に出力される。

UTF-8

Unicodeで定義される文字集合を用いて記述された文字列を，バイト列（数値の列）に変換する方式の1つである。

XML（eXtensible Markup Language）

拡張できるマーク付け言語文書やデータの意味や構造を記述するためのマークアップ言語の1つである。マークアップ言語とは，「タグ」と呼ばれる特定の文字列で，文に構造を埋め込んでいく言語のことである。ジョブ定義XMLファイルは，XMLで記述される。

（ア行）

一時ISAMファイル

ジョブ実行時に使用する索引順編成ファイル管理 ISAMによる索引順編成のファイルで，ジョブまたはジョブステップ開始時に作成し，ジョブ終了時には削除するようなファイルである。DD要素のTYPE属性にTEMPISAMを指定することで定義できる。

一時ファイル

ジョブ実行時に使用するファイルで，ジョブまたはジョブステップ開始時に作成し，ジョブ終了時には削除するようなファイルである。DD要素のTYPE属性にTEMPを指定することで定義できる。

引用符

バックスラッシュまたは円記号，単一引用符，二重引用符である。

応答要求メッセージ

ユーザからの応答入力が必要なメッセージ。

（カ行）

カタログドプロシジャ

一連のジョブ制御要素のことをいい，EXEC要素のPROC属性値にプロシジャ名を指定することで内容が展開され，指定したものと同等に扱われる。頻繁に使用される一連のジョブ制御要素を毎回指定することの手間を省くことと，ジョブ制御要素の記述量を減少させ誤りを少なくするために用いる。

環境変数

ユーザが設定できるシステムの各種の設定を格納した変数。

記号パラメータ

カタログドプロシジャまたは入力ストリームプロシジャ内のオペランドまたはパラメータを#｛と｝で囲んだものを記号パラメータという。このプロシジャを呼び出すCALL要素内のSYMBOL要素に，記号パラメータに任意の値を置換するよう指定できる。

部分的にプロシジャを修正でき，プロシジャに汎用性を持たせるための機能である。

逆方向参照

ジョブ定義XMLに備わっている逆方向に参照する機能。ジョブ内のDD要素にある情報を取得するようにシステムに指示できる。

クラスタ運用

障害が発生した場合などのクラスタシステムで，実行系サーバから待機系サーバに処理を引き継いで業務の停止を防いだり，障害が回復した場合に待機系サーバから実行系サーバに処理を移して，通常の稼働に戻したりしている。これらの運用のことをクラスタ運用と呼ぶ。

クラスタシステム

複数のサーバシステムを連携して1つのシステムとして運用するシステムで，1つのサーバで障害が発生しても，別のサーバで業務を継続できるシステム。業務を実行している実行系サーバと業務を引き継ぐ待機系サーバから構成される。

恒久ファイル

ジョブ終了後にジョブ結果として残すファイルである。設定ファイルの「PERMANENT_FILE_DIR」パラメータで出力先を設定できる。

（サ行）

実行ログ

システム管理者がジョブの実行を監視するためのジョブの履歴。

実体（Entity）

XML文書に含まれる1つの情報の単位である。

出力クラス

ジョブ定義XMLのDD要素のSYSOUT属性で指定する出力のためのクラス。出力クラスを使用して，出力情報をグループに分ける。

出力後保存

スプールジョブ転送サービスによって出力装置にいったん出力されたSYSOUTデータファイル（ジョブログを含む）の出力が完了した場合に，スプール内に保存することである。

出力保留

SYSOUTデータファイルがスプール内に格納されてからスプールジョブ転送サービスに取り出されたあとに，印刷出力を保留すること。DD要素のHOLD属性でYESを指定して出力を保留する。

条件付き実行

先行するジョブステップの実行結果によって，後続するジョブステップを実行しないでそのジョブを終了させたり，または特定のジョブステップの実行へ移したりすることである。ジョブ定義XMLのJOB要素またはEXEC要素のCOND属性を指定して条件付き実行を実施する。

ジョブ間PRESTファイル

ジョブ間で並列実行する場合に必要なPRESTファイルを使用するときに使うファイルである。

ジョブコントローラ

ジョブ実行時にジョブをコントロールするためのプログラム。

ジョブ識別子

ジョブ実行時にバッチジョブ実行システムが与える000001から999999の識別番号である。

各ジョブには別々の識別子が与えられ，バッチジョブ実行システムではジョブ識別子によって一意にジョブを特定する。

ジョブ識別子を999999まで使用すると，ラップアラウンドして000001以降の未使用のジョブ識別子を使用する。

ジョブステップ

ある業務（仕事）を行うための最少単位でありSTEP要素で定義される。ジョブステップの集まりがジョブである。

ジョブステップ間PRESTファイル

ジョブステップ間で並列実行する場合に必要なPRESTファイルを使用するときに使うファイルである。

ジョブ定義XMLファイル

バッチジョブ実行システムの入力ファイルである。ジョブやジョブステップの定義を記述した，XML形式のファイルである。

ジョブライブラリ

特定のジョブでだけ使用するプログラムライブラリであり，JOB要素直後で，NAME属性値がJOBLIBであるDD要素で定義される。JOBLIBのDD要素が定義されると，ジョブ内のプログラムサーチパス環境変数の先頭に，DD要素に指定したパスが追加され，ほかのディレクトリより優先してプログラムサーチとローディングが実行される。

ジョブログ

ジョブやジョブステップの開始終了メッセージや，COBOLプログラムからのCONSOLE指定出力メッセージの集まりである。

ジョブログ出力機能

ジョブコントローラが出力する，ジョブ実行に付随したログ情報を出力する機能である。処理プログラムの実行結果（実行ログ）は，除く。

ステップライブラリ

特定のジョブステップでだけ使用するプログラムライブラリであり，STEP要素直後で，NAME属性値がSTEPLIBであるDD要素で定義される。STEPLIBのDD要素が定義されると，ジョブステップ内のプログラムサーチパス環境変数の先頭に，DD要素に指定したパスが追加され，ほかのディレクトリより優先してプログラムサーチとローディングが実行される。

ステップリスタート

ジョブが異常終了して障害要因を取り除いてからジョブを再実行する場合，正常に終了したジョブステップを再度実行しないで，途中のジョブステップから実行を再開すること。途中のジョブステップから実行を開始するには，bjexecコマンドで再実行するジョブステップ名を指定する。

スプール

バッチジョブ実行システムでジョブの実行結果（実行ログ）やジョブログを管理するものである。

スプールジョブ

実行が終了したジョブの結果をジョブごとにまとめたデータである。

スプールジョブ転送サービス

スプールを管理してジョブの出力する帳票をプリントサーバに転送するサービスのことである。

スプールジョブ転送デーモン

スプールジョブ転送サービスを実行するためにバックグラウンドで動作するプログラムのことである。

スプールジョブ保管機能

ジョブ終了時にスプールジョブを転送する前に，任意のディレクトリにスプールジョブを保管する機能である。

世代データ群

一定期間ごとに更新されるファイルで，旧ファイルと新ファイル，旧バージョンと新バージョンのように互いに時間的または歴史的な関連を持った一連のファイルグループである。

世代ファイル

世代データ群中の各ファイルである。作成時期に従って相対的な番号を付け，世代データ群名とその番号で参照ができる。

世代ファイルの世代管理ファイルへの登録タイミング変更機能

世代ファイルを割り当てるジョブで，世代ファイルを作成するジョブステップは正常に実行できたが，後続のジョブステップで異常終了した場合でも，世代ファイルを新規に生成した世代データ群の世代管理情報は更新されるという機能である。世代管理情報の更新タイミングを世代ファイルを生成したジョブステップ単位ではなくジョブ終了時に変更し，ジョブの終了状態によって，世代管理情報の更新を行うかどうかを判定し，登録の要否を決定する機能である。

世代ファイルの保存日数超過による一括削除機能

世代管理ファイルの登録状態に関係なく，ユーザが指定する保存日数の範囲で，保存日数を超過した世代ファイルの削除と世代管理ファイルに登録されている情報を削除する機能である。

絶対世代番号

各世代ファイルに対して，そのグループ内で一意の番号のことである。絶対世代番号の形式は，"Gnnnn"である。nnnnは，0000〜9999の数値の範囲となる。

設定ファイル

バッチジョブ実行システムのインストール後に設定するファイル。バッチジョブ実行システムの環境を設定する。

相対世代番号

最新の世代ファイルの世代番号を0とし，これよりも古い世代ファイルの世代番号を負の整数，新しく登録する世代ファイルの世代番号を正の整数で表した相対的な世代番号である。各世代ファイルは，世代データ群名のあとに相対世代番号を付加したファイル名で識別される。

属性（Attribute）

XML文書の中で，要素に対して付加的な情報を加えるために使用される。

（タ行）

ダミー出力クラス

設定ファイルの出力クラスの属性値定義（SysoutClassパラメータ）で，DUMMYオペランドにYESを指定した出力クラスである。

ダミーファイル

実際には実体が存在しない架空のファイルであり，プログラムの変更なしにあたかも入出力動作を行っているかのように処理するために用いるファイルである。DD要素のTYPE属性値にDUMMYを指定することで定義される。なお，設定ファイルにDUMMY_FILE_TYPEパラメータでTEMPを指定した場合，ダミーファイルとして一時ファイルを割り当てる。

統合コンソール

JP1/IMで使用するシステムを監視するためのコンソール。バッチジョブで発生した事象をJP1イベントとして集め，時系列に表示することで，システムを集中的に監視する。

トレース

トラブルが発生した場合にトラブル発生の経緯を調査するために採取するログ情報。

（ナ行）

入力ストリームプロシジャ

定型化したジョブ制御要素の集まりをPROC要素内に置き，入力ストリーム中に定義したもの（プロシジャ）である。カタログドプロシジャと同様の使用ができる。

（ハ行）

排他/共用制御機能

ジョブで指定したDD要素のDISP属性値に従った排他/共用制御を，ジョブ実行単位に行う機能である。

バッチジョブ実行システム

一定期間のデータを集めて，一括処理をするバッチ処理を対象としたシステムである。今までメインフレームなどでバッチジョブの実行をしていた場合でも，ジョブ制御言語によるバッチジョブイメージを継承したジョブ制御を実現できる。

日付世代番号

EXD，EXD-n，またはDyyyymmddで指定する，世代ファイルを日付で管理するための世代番号である。EXDにはルートジョブネットの実行開始予定日が設定され，その日よりも古い世代を指定する場合はEXD-nと指定する。また，Dyyyymmddと指定すると直接日付を指定する。各世代ファイルは，世代データ群名のあとにyyyymmddを付加したファイル名で識別される。

ファイル操作ユティリティ

バッチジョブ実行システムで提供するファイルを操作するためのユティリティのことである。

ファイルの連結処理

COBOL2002で作成したユーザアプリケーションおよびSORT EEと連携して，複数のファイルを論理的に連結した1つのファイルとして扱う処理のことである。

プログラムへのファイル割り当て機能

ジョブステップで実行するプログラムが利用するファイルを，あとから自由に変更できるように，ファイル名をジョブ定義XMLファイルで指定しておく機能である。

プロシジャ

カタログドプロシジャと入力ストリームプロシジャとの総称である。

プロシジャライブラリ

カタログドプロシジャファイルを格納したディレクトリパスを設定ファイルに定義しておき，ライブラリとして使用できるようにしたものである。プロシジャライブラリでは，複数のディレクトリを定義して連結されたライブラリとして処理できる。

併合

ファイルの併合の意味。併合元ファイルと併合先ファイル（併合先ファイルにもレコードが入っている）を合わせて1つのファイルにすることである。併合元ファイルには，索引順編成ファイルおよび順編成ファイルのどちらかを指定できる。

（マ行）

メタキャラクタ

ジョブ定義XMLファイル内でそれぞれに特別な意味を持つキャラクタ（文字列）のこと。メタキャラクタと見なされる文字を次に示す。

パイプ：｜

アンパーサント：＆

セミコロン：；

より小符号：＜

より大符号：＞

左括弧：（

右括弧：）

ドル記号：＄

バック・クウォート：｀

単一引用符：'

バックスラントまたは円記号

二重引用符："

改行キャラクタ

スペース文字

タブ・キャラクタ

メッセージ制御機能

JP1/IM - Viewの画面を使ってメッセージを出力し，応答を入力する機能である。

（ヤ行）

要素（Element）

XML文書での情報の単位である。

索引

記号

/opt/eurpm_adp/bin/eurpmc〔EUR_PROGRAMパラメータ〕[1]

/opt/eurps/bin/eurps〔EUR_PROGRAMパラメータ〕[1]

-a〔bjexchjobコマンド〕[1]

-A〔bjexchjobコマンド〕[1]

-a〔bjexrmjobコマンド〕[1]

-C〔bjexchjobコマンド〕[1]

-c〔bjexecコマンド〕[1]

-c〔bjexm_messageコマンド〕[1]

-c〔bjexpdコマンド〕[1]

-D LT〔bjexlsjobコマンド〕[1]

-D UTC〔bjexlsjobコマンド〕[1]

-d〔bjexchmsgコマンド〕[1]

-d〔bjexgdgコマンド〕[1]

-d〔bjexhkgdgコマンド〕[1]

-d〔bjextrjobコマンド〕[1]

-e〔bjexgdgコマンド〕[1]

-e〔bjextrjobコマンド〕[1]

-F〔bjexchjobコマンド〕[1]

-f〔bjexcollectコマンド〕[1]

-f〔bjexlsjobコマンド〕[1]

-f〔bjexpdctlコマンド〕[1]

-f〔bjexrmjobコマンド〕[1]

-h〔bjexchjobコマンド〕[1]

-h〔bjexchmsgコマンド〕[1]

-h〔bjexecコマンド〕[1]

-h〔bjexlsjobコマンド〕[1]

-h〔bjexlslockコマンド〕[1]

-h〔bjexlsmsgコマンド〕[1]

-h〔bjexpdctlコマンド〕[1]

-h〔bjexpdコマンド〕[1]

-H〔bjexrmjobこまんと〕[1]

-h〔bjexrmjobコマンド〕[1]

-h〔bjextrjobコマンド〕[1]

-i〔bjexchjobコマンド〕[1]

-i〔bjexgdgコマンド〕[1]

-J〔bjexchjobコマンド〕[1]

-J〔bjexlsjobコマンド〕[1]

-j〔bjexlslockコマンド〕[1]

-J〔bjexrmjobコマンド〕[1]

-K〔bjexchjobコマンド〕[1]

-l〔bjexgdgコマンド〕[1]

-l〔bjexlsjobコマンド〕[1]

-l〔bjexlslockコマンド〕[1]

-l〔bjextrjobコマンド〕[1]

-m〔bjexgdgコマンド〕[1]

-m〔bjexm_messageコマンド〕[1]

-n〔bjexchmsgコマンド〕[1]

-n〔bjexecコマンド〕[1]

-n〔bjexlsjobコマンド〕[1]

-n〔bjexlsmsgコマンド〕[1]

-p〔bjexm_messageコマンド〕[1]

-p〔bjexpdコマンド〕[1]

-q〔bjexgdgコマンド〕[1]

-R〔bjexchjobコマンド〕[1]

-r〔bjexchmsgコマンド〕[1]

-r〔bjexecコマンド〕[1]

-r〔bjexm_messageコマンド〕[1]

-r〔bjextrjobコマンド〕[1]

-S〔bjexchjobコマンド〕[1]

-s〔bjexlsjobコマンド〕[1]

-T〔bjexchjobコマンド〕[1]

-t〔bjexlsjobコマンド〕[1]

-T〔bjexlsjobコマンド〕[1]

-t〔bjexlslockコマンド〕[1]

-T〔bjexrmjobコマンド〕[1]

-t〔bjextrjobコマンド〕[1]

-u〔bjexgdgコマンド〕[1]

-v〔bjexecコマンド〕[1]

-v〔bjexgdgコマンド〕[1]、[2]

-v〔bjexpdコマンド〕[1]

-w〔bjexlslockコマンド〕[1]

数字

0バイトのSYSOUTファイル転送機能[1]

B

BJEX_DIR_任意名の指定方法[1]

BJEX_DIR_任意名〔パラメータ〕[1]

bjex_msg_setup〔コマンド〕[1]

bjex_PAUSEカタログドプロシジャ[1]

bjex_WRITERXカタログドプロシジャ[1]

bjex_WRITERカタログドプロシジャ[1]

bjex_WRITEカタログドプロシジャ[1]

bjexchjob〔コマンド〕[1]

bjexchmsg〔コマンド〕[1]

bjexcollectコマンド（障害調査のための資料の一括収集）[1]

bjexecコマンドでのステップリスタートの実行[1]

bjexec〔コマンド〕[1]

bjexgdg〔コマンド〕[1]

bjexhkgdg〔コマンド〕[1]

bjexlsexjob〔コマンド〕[1]

bjexlsjob〔コマンド〕[1]

bjexlslock〔コマンド〕[1]

bjexlsmsg〔コマンド〕[1]

bjexm_messageコマンド[1]

bjexm_message〔コマンド〕[1]

bjexpdctl〔コマンド〕[1]

bjexpd〔コマンド〕[1]

bjexrmjob〔コマンド〕[1]

bjextrjob〔コマンド〕[1]

bjexu_dummy（ファイルおよびディレクトリ操作用ダミー処理の実行）[1]

bjexu_dummyプログラム[1]

bjexu_ismutおよびbjexu_ismut64（索引順編成ファイルの作成，削除，索引順編成ファイルと順編成ファイルの複写，変換および併合）[1]

bjexu_ismutおよびbjexu_ismut64プログラム[1]

bjexu_pcopy（ファイルの複写）[1]

bjexu_pcopyプログラム[1]

bjexu_scopy（ファイルのレコード単位の複写）[1]

bjexu_scopyプログラム[1]

BOM〔用語解説〕[1]

C

CALL要素（プロシジャの呼び出し）[1]

CHARS〔DD要素〕[1]

CHARS〔SysoutClassパラメータ〕[1]

CMT〔DD要素〕[1]

COBOL_LANG〔パラメータ〕[1]

COBOL2002で作成したCOBOLアプリケーションの使用[1]

COBOLプログラムで使用する文字コードを変更する場合の設定[1]

COND〔EXEC要素〕[1]

COND〔JOB要素〕[1]

conftest〔bjexpdctlコマンド〕[1]

COPIES〔DD要素〕[1]

COPIES〔SysoutClassパラメータ〕[1]

COPYG〔DD要素〕[1]

COPYG〔SysoutClassパラメータ〕[1]

Cosminexusとの連携によるバッチアプリケーション実行[1]

D

DD_DEALLOC_ON_ALLOCERR[1]

DD_DEALLOC_ON_ALLOCERR〔パラメータ〕[1]

DD_EXISTCHECK_COBOL〔パラメータ〕[1]

DD_EXISTCHECK〔パラメータ〕[1]

DD_SAMF〔パラメータ〕[1]

DDNAME〔SETENVFILE要素〕[1]

DD要素（ファイルの定義）[1]

DD要素の書き方[1]

DD要素を修正するための指定方法[1]

DD要素をプログラムから使用する方法[1]

DEST〔DD要素〕[1]

DEST〔SysoutClassパラメータ〕[1]

DIR〔PERMISSION要素〕[1]

DISP〔DD要素〕[1]

DISPLAY_REPLY_MESSAGE〔DISPLAY_REPLY_MESSAGEパラメータ〕[1]

DISPLAY_REPLY_MESSAGE〔パラメータ〕[1]

DISPMOD_NOFILE〔パラメータ〕[1]

DSN〔DD要素〕[1]

DSN属性の指定方法[1]

DTD〔用語解説〕[1]

DUMMY_FILE_TYPE〔DUMMY_FILE_TYPEパラメータ〕[1]

DUMMY_FILE_TYPE〔パラメータ〕[1]

DUMMY〔SysoutClassパラメータ〕[1]

E

ELSE要素（IF要素に対する分岐）[1]

ENCODE〔DD要素〕[1]

ENCODE〔SysoutClassパラメータ〕[1]

encoding〔XML宣言〕[1]

ENDIF要素（ジョブステップの実行制御の終了）[1]

EUR_DEFINITION_FILE_DIR〔パラメータ〕[1]

EUR_LANG〔パラメータ〕[1]

EUR_PROGRAM〔パラメータ〕[1]

EURENCODE〔DD要素〕[1]

EURFORM〔DD要素〕[1]

EXEC_COND_NOSTEPNAME〔EXEC_COND_NOSTEPNAMEパラメータ〕[1]

EXEC_COND_NOSTEPNAME〔パラメータ〕[1]

EXEC_COND_STEPSEARCH〔EXEC_COND_STEPSEARCHパラメータ〕[1]

EXEC_COND_STEPSEARCH〔パラメータ〕[1]

EXEC_PARMSPLIT〔EXEC_PARMSPLITパラメータ〕[1]

EXEC_PARMSPLIT〔パラメータ〕[1]

EXEC要素（プログラムの実行）[1]

F

FCB〔DD要素〕[1]

FCB〔JOBPARM要素〕[1]

FCB〔SysoutClassパラメータ〕[1]

FCDFLT〔DD要素〕[1]

FCDFLT〔SysoutClassパラメータ〕[1]

FILE〔PERMISSION要素〕[1]

FORMS〔DD要素〕[1]

FORMS〔JOBPARM要素〕[1]

FORMS〔SysoutClassパラメータ〕[1]

FPERM〔DD要素〕[1]

ftp_connect〔bjexpdctlコマンド〕[1]

FTPCNTL〔SysoutClassパラメータ〕[1]

FTPDATA〔SysoutClassパラメータ〕[1]

FTYPE〔DD要素〕[1]

FTYPE〔SysoutClassパラメータ〕[1]

G

GAIJI1〔DD要素〕[1]

GAIJI1〔SysoutClassパラメータ〕[1]

GDG_REGISTER_JOBRC_THRESHOLD〔パラメータ〕[1]

Group〔EXEC要素〕[1]

H

help〔bjexpdctlコマンド〕[1]

HitachiBatchJobExec要素（ジョブ定義XMLファイルの宣言）[1]

HOLD〔DD要素〕[1]

HOLD〔SysoutClassパラメータ〕[1]

HSFS，NFSのサポート内容[1]

I

IF要素（ジョブステップの実行制御の開始）[1]

ISAMLIB_MODE〔ISAMLIB_MODEパラメータ〕[1]

ISAMLIB_MODE〔パラメータ〕[1]

ISKEY〔DD要素〕[1]

ISRECFM〔DD要素〕[1]

ISRECL〔DD要素〕[1]

J

Javaバッチアプリケーション〔用語解説〕[1]

JOB_RCDEFINE〔JOB_RCDEFINEパラメータ〕[1]

JOB_RCDEFINE〔パラメータ〕[1]

JOB_STATUS_DISPLAY〔JOB_STATUS_DISPLAYパラメータ〕[1]

JOB_STATUS_DISPLAY〔パラメータ〕[1]

JOBLIB，STEPLIB，およびPATH環境変数の使用方法[1]

JOBLIB DD要素[1]

JOBLOG_CONVERT〔JOBLOG_CONVERTパラメータ〕[1]

JOBLOG_CONVERT〔パラメータ〕[1]

JOBPARM_JSPECAN〔パラメータ〕[1]

JOBPARM要素（ジョブ単位の制御情報の定義）[1]

JOB要素（ジョブの属性と終了条件の定義）[1]

JP1_HOSTNAME〔パラメータ〕[1]

JP1/AJSからバッチジョブを実行する場合のジョブ定義[1]

JP1/AJS環境設定[1]

JP1/AJSによるジョブスケジュール[1]

JP1/AJSを使用したバッチジョブ業務の自動化の概要[1]

JP1/AJS - Viewでのステップリスタートの実行[1]

JP1/FTP環境設定[1]

JP1/FTPを使った印刷データ転送[1]

JP1/FTPを使った印刷データ転送での障害対応[1]

JP1/IMによる実行状態の監視と実行結果の確認[1]

JP1/IM - Managerが稼働するホスト名〔JP1IM_MANAGER_HOSTパラメータ〕[1]

JP1/IM - Managerとの連携による応答要求メッセージへの応答入力[1]

JP1/Scriptの実行[1]

JP1/Scriptを実行する方法[1]

JP1EVENT_JOBINFO〔JP1EVENT_JOBINFOパラメータ〕[1]

JP1EVENT_JOBINFO〔パラメータ〕[1]

JP1EVENT_SUPPRESS_ID〔パラメータ〕[1]

JP1FTP_RETRY_INTERVAL〔パラメータ〕[1]

JP1FTP_RETRY_TIMES〔パラメータ〕[1]

JP1FTPCARD〔SysoutClassパラメータ〕[1]

JP1IM_MANAGER_CHKDELAY〔パラメータ〕[1]

JP1IM_MANAGER_HOST〔パラメータ〕[1]

JP1イベント一覧[1]

JP1イベントの詳細[1]

JSPEC〔EXEC要素〕[1]

JSPEC機能[1]

JSPEC機能〔用語解説〕[1]

K

KEEP〔DD要素〕[1]

KEEP〔SysoutClassパラメータ〕[1]

L

LANG="Java"を指定した場合のJavaバッチアプリケーションを実行する方法[1]

LANG〔EXEC要素〕[1]

LANG環境変数値〔COBOL_LANGパラメータ〕[1]

LANG環境変数値〔EUR_LANGパラメータ〕[1]

LOCK_DIR_RECURSIVE〔LOCK_DIR_RECURSIVEパラメータ〕[1]

LOCK_DIR_RECURSIVE〔パラメータ〕[1]

LOCK_JOBMPLX〔パラメータ〕[1]

LOCK_KEY_ID〔パラメータ〕[1]

LOCK_MAXFILE〔パラメータ〕[1]

LOCK_OPTION〔LOCK_OPTIONパラメータ〕[1]

LOCK_OPTION〔パラメータ〕[1]

LOCK_RELEASE〔パラメータ〕[1]

LOG_DIR〔パラメータ〕[1]

LOG_FILE_CNT〔パラメータ〕[1]

LOG_FILE_SIZE〔パラメータ〕[1]

M

MAX_RESPONSE_REQUEST〔パラメータ〕[1]

MESSAGE_REPLACE_SPACE〔パラメータ〕[1]

MESSAGE_RETRY_TIMEOUT〔パラメータ〕[1]

MODE〔DD要素〕[1]

MODE〔SysoutClassパラメータ〕[1]

MSG_KEY_ID〔パラメータ〕[1]

MSGCLASS_DEFAULT〔パラメータ〕[1]

MSGCLASS〔JOB要素〕[1]

N

NAME〔CALL要素〕[1]

NAME〔DD要素〕[1]

NAME〔JOB要素〕[1]

NAME〔PROC要素〕[1]

NAME〔REPLACESTEP要素〕[1]

NAME〔SETENV要素〕[1]

NAME〔SETSYMBOL要素〕[1]

NAME〔STEP要素〕[1]

NAME〔SYMBOL要素〕[1]

O

OP〔IF要素〕[1]

OPTCDJ〔DD要素〕[1]

Option〔EXEC要素〕[1]

os〔HitachiBatchJobExec要素〕[1]

OVERC〔DD要素〕[1]

OVERC〔SysoutClassパラメータ〕[1]

OVERLAY〔DD要素〕[1]

OVERLAY〔SysoutClassパラメータ〕[1]

P

PARM〔EXEC要素〕[1]

PARMSPLIT〔EXEC要素〕[1]

PDEとの連携による帳票出力[1]

PERMANENT_FILE_DIRの指定方法[1]

PERMANENT_FILE_DIR〔パラメータ〕[1]

PERMISSION_DIR〔パラメータ〕[1]

PERMISSION_FILE〔パラメータ〕[1]

PERMISSION_SPOOL_STORE_JOB〔パラメータ〕[1]

PERMISSION要素（ファイルまたはディレクトリのパーミションの定義）[1]

PGM_RCABEND〔パラメータ〕[1]

PGM〔EXEC要素〕[1]

PREST機能[1]

PREST機能に関する注意事項[1]

PREST機能を使用するジョブの定義[1]

PREST機能〔用語解説〕[1]

PRESTファイル[1]

PRESTファイルが存在して，新たにPRESTファイルを使用するジョブを実行できない場合の対処方法[1]

PRESTファイルを使用できるプログラムとファイル[1]

Prinfina MANAGER SPとの連携による高速プリンタへの印刷の流れ[1]

PROCEDURE_DIR〔パラメータ〕[1]

PROCGROUP_QUEUENAME〔PROCGROUP_QUEUENAMEパラメータ〕[1]

PROCGROUP_QUEUENAME〔パラメータ〕[1]

PROCLIB〔JOBPARM要素〕[1]

PROC要素（プロシジャの定義）[1]

prolog（XMLの宣言）[1]

R

RECFM〔DD要素〕[1]

RECFM〔SysoutClassパラメータ〕[1]

RENAME〔DD要素〕[1]

REPLACESTEP要素（DD要素またはEXEC要素の属性を変更対象とするジョブステップの定義）[1]

REPLACE要素（DD要素またはEXEC要素の属性の変更内容の定義）[1]

RNW_FILE_METHOD〔RNW_FILE_METHODパラメータ〕[1]

RNW_FILE_METHOD〔パラメータ〕[1]

ROOM〔JOBPARM要素〕[1]

S

SAMF〔DD要素〕[1]

SETENVFILE要素（環境変数格納ファイルの定義）[1]

SETENV要素（環境変数の定義）[1]

SETMAXRC要素（ジョブステップの終了コードの最大値，または最終ジョブステップの終了コードの変更）[1]

SETSYMBOL要素（記号パラメータの値の定義）[1]

SPOOL_DIR〔パラメータ〕[1]

SPOOL_JOB_STORE〔SPOOL_JOB_STOREパラメータ〕[1]

SPOOL_JOB_STORE〔パラメータ〕[1]

SPOOL_JOB_TRANSFER〔SPOOL_JOB_TRANSFERパラメータ〕[1]

SPOOL_JOB_TRANSFER〔パラメータ〕[1]

SPOOL_STORE_DIRNAME 書式〔SPOOL_STORE_DIRNAMEパラメータ〕[1]

SPOOL_STORE_DIRNAME〔パラメータ〕[1]

SPOOL_STORE_DIR〔パラメータ〕[1]

SPOOL_STORE_SUBDIR〔SPOOL_JOB_TRANSFERパラメータ〕[1]

SPOOL_STORE_SUBDIR〔パラメータ〕[1]

sptxe〔スクリプト実行プログラム〕[1]

standalone〔XML宣言〕[1]

start〔bjexpdctlコマンド〕[1]

status_log[1]

status〔bjexpdctlコマンド〕[1]

STDERRCLASS_DEFAULT〔パラメータ〕[1]

STDERRCLASS〔EXEC要素〕[1]

STDERRCLASS〔JOB要素〕[1]

STDOUTCLASS_DEFAULT〔パラメータ〕[1]

STDOUTCLASS〔EXEC要素〕[1]

STDOUTCLASS〔JOB要素〕[1]

STEPLIB DD要素[1]

STEP要素（ジョブステップの定義）[1]

stop〔bjexpdctlコマンド〕[1]

SYMBOL要素（記号パラメータの定義）[1]

SYSINデータとなる文字列[1]

SYSINデータの書き方[1]

SYSINデータの読み込み[1]

SYSINデータを順編成固定長ファイルとしてプログラムに渡す方法[1]

SYSINデータ〔用語解説〕[1]

syslogに出力するメッセージの一覧[1]

SYSOUT_APPEND_WRITE〔SYSOUT_APPEND_WRITEパラメータ〕[1]

SYSOUT_APPEND_WRITE〔パラメータ〕[1]

SysoutClass〔パラメータ〕[1]

SYSOUT〔DD要素〕[1]

SYSOUTの機能[1]

SYSOUT〔用語解説〕[1]

T

TEMP_FILE_DIR_XML_USE〔TEMP_FILE_DIR_XML_USEパラメータ〕[1]

TEMP_FILE_DIR_XML_USE〔パラメータ〕[1]

TEMP_FILE_DIR〔パラメータ〕[1]

TRACE_DIR〔パラメータ〕[1]

TRACE_FILE_CNT〔パラメータ〕[1]

TRACE_FILE_SIZE〔パラメータ〕[1]

TRACE_LEVEL〔パラメータ〕[1]

TRANSFER_EMPTY_FILE〔SysoutClassパラメータ〕[1]

TRUNC〔SysoutClassパラメータ〕[1]

TYPE〔DD要素〕[1]

U

UTF-8〔用語解説〕[1]

V

VALUE〔SETENV要素〕[1]

VALUE〔SETMAXRC要素〕[1]

VALUE〔SETSYMBOL要素〕[1]

VALUE〔SYMBOL要素〕[1]

version〔HitachiBatchJobExec要素〕[1]

X

XMLジョブ制御要素一覧[1]、[2]

XMLの仕様の版番号[1]

XMLファイルへの環境変数指定機能[1]

XML〔用語解説〕[1]

い

一時ISAMファイル[1]

一時ISAMファイルの指定方法[1]

一時ISAMファイルのファイル名[1]

一時ISAMファイルを構成するファイル[1]

一時ISAMファイルを構成するファイル名[1]

一時ISAMファイルを作成するディレクトリ[1]

一時ISAMファイルを利用する場合の注意事項[1]

一時ISAMファイル〔用語解説〕[1]

一時ファイル[1]、[2]

一時ファイルの指定方法[1]

一時ファイルを作成するディレクトリ[1]

一時ファイルを利用する場合の注意事項[1]

一時ファイル〔用語解説〕[1]

一般ユーザ[1]

イベントID〔JP1EVENT_SUPPRESS_IDパラメータ〕[1]

イベント到達確認までの待ち時間〔JP1IM_MANAGER_CHKDELAYパラメータ〕[1]

印刷ジョブ転送のリトライ回数〔JP1FTP_RETRY_TIMESパラメータ〕[1]

印刷ジョブ転送のリトライ間隔〔JP1FTP_RETRY_INTERVALパラメータ〕[1]

印刷ジョブの削除[1]

印刷データの転送契機[1]

インストール[1]、[2]

インストール後の設定[1]

引用符〔用語解説〕[1]

う

運用[1]

え

エンコード種別〔EUR_LANGパラメータ〕[1]

演算符号[1]

お

応答n〔bjexm_messageコマンド〕[1]

応答の入力[1]

応答待ちメッセージ[1]

応答要求メッセージ[1]

応答要求メッセージの監視[1]

応答要求メッセージの同時出力数[1]

応答要求メッセージ〔bjexm_messageコマンド〕[1]

応答要求メッセージ〔用語解説〕[1]

か

概要[1]

カタログドプロシジャ[1]

カタログドプロシジャと入力ストリームプロシジャ[1]

カタログドプロシジャの機能[1]

カタログドプロシジャの使用[1]

カタログドプロシジャの使用方法[1]

カタログドプロシジャ〔用語解説〕[1]

環境変数[1]

環境変数一括設定機能[1]

環境変数に設定される内容[1]

環境変数の優先順位[1]

環境変数名を任意の名称に設定する方法[1]

環境変数〔用語解説〕[1]

き

記号パラメータに対する値の割り当て[1]

記号パラメータの定義[1]

記号パラメータ〔用語解説〕[1]

機能[1]

逆方向参照[1]

逆方向参照〔用語解説〕[1]

共用制御[1]

く

クラスタ運用〔用語解説〕[1]

クラスタシステム〔用語解説〕[1]

クラス名〔SysoutClassパラメータ〕[1]

こ

恒久ファイル[1]

恒久ファイル〔用語解説〕[1]

コード〔MESSAGE_REPLACE_SPACEパラメータ〕[1]

コマンド[1]

コマンド一覧[1]

コマンドの記述形式[1]

さ

最大応答要求メッセージ数〔MAX_RESPONSE_REQUESTパラメータ〕[1]

索引順編成ファイルおよび順編成ファイルの複写，変換および併合（REPRO文）[1]

作成する一時ISAMファイルの定義内容[1]

サブステップ[1]

し

しきい値〔GDG_REGISTER_JOBRC_THRESHOLDパラメータ〕[1]

識別情報〔LOCK_KEY_IDパラメータ〕[1]

識別情報〔MSG_KEY_IDパラメータ〕[1]

システム管理者[1]

システム管理者への指示[1]

システムコールのエラー情報[1]

システムのプログラム使用方法[1]

実行結果の参照[1]

実行中のジョブ情報表示機能[1]

実行ログ[1]

実行ログ出力用ディスクの容量不足の対処方法[1]

実行ログ〔用語解説〕[1]

実体〔用語解説〕[1]

自動消去機能（SCRATCH）が設定された世代データ群の注意事項[1]

収集情報出力先ディレクトリ〔bjexcollectコマンド〕[1]

終了コード[1]

終了コード〔PGM_RCABENDパラメータ〕[1]

受信待ちメッセージ[1]

出力クラス[1]

出力クラスによる制御[1]

出力クラスの設定[1]

出力クラス名〔MSGCLASS_DEFAULTパラメータ〕[1]

出力クラス名〔STDERRCLASS_DEFAULTパラメータ〕[1]

出力クラス名〔STDOUTCLASS_DEFAULTパラメータ〕[1]

出力クラス〔用語解説〕[1]

出力形式[1]

出力後保存[1]

出力後保存〔用語解説〕[1]

出力情報の複写[1]

出力保留[1]

出力保留属性および出力非保留属性[1]

出力保留〔用語解説〕[1]

障害対策[1]

条件付き実行[1]

条件付き実行の指定方法[1]

条件付き実行〔用語解説〕[1]

ジョブ[1]

ジョブが長時間待ち状態となった場合の対処方法[1]

ジョブ間PRESTファイル[1]

ジョブ間PRESTファイルの使用状況の表示[1]

ジョブ間PRESTファイル〔用語解説〕[1]

ジョブコントローラ[1]

ジョブコントローラが使用する環境変数[1]

ジョブコントローラから実行されるプログラムに設定される環境変数[1]

ジョブコントローラの終了コード一覧[1]

ジョブコントローラ〔用語解説〕[1]

ジョブ識別子管理ファイル[1]

ジョブ識別子〔bjexchjobコマンド〕[1]

ジョブ識別子〔bjexlsjobコマンド〕[1]

ジョブ識別子〔bjexrmjobコマンド〕[1]

ジョブ識別子〔用語解説〕[1]

ジョブ実行のスケジュール[1]

ジョブステップ[1]、[2]

ジョブステップ異常終了時の処理[1]

ジョブステップ間PRESTファイル[1]

ジョブステップ間PRESTファイル〔用語解説〕[1]

ジョブステップの実行制御（IF要素）[1]

ジョブステップの終了コード一覧[1]

ジョブステップの条件付き実行（COND属性）[1]

ジョブステップを条件付きで実行するときのステップ名の検索範囲[1]

ジョブステップを並列実行する機能[1]

ジョブステップ〔用語解説〕[1]

ジョブ多重度数〔LOCK_JOBMPLXパラメータ〕[1]

ジョブ単位のファイルおよびディレクトリに対する排他/共用制御機能[1]

ジョブ定義XMLファイル[1]、[2]

ジョブ定義XMLファイル仕様[1]

ジョブ定義XMLファイルのパス名〔bjexecコマンド〕[1]

ジョブ定義XMLファイルの文法[1]

ジョブ定義XMLファイル〔用語解説〕[1]

ジョブとジョブステップの概念[1]

ジョブとジョブステップの実行順序の関係[1]

ジョブの構成[1]

ジョブのシンタクスチェック機能[1]

ジョブ名などの情報をイベント一覧に表示[1]

ジョブ名ワイルドカード〔bjexchjobコマンド〕[1]

ジョブ名ワイルドカード〔bjexlsjobコマンド〕[1]

ジョブ名ワイルドカード〔bjexrmjobコマンド〕[1]

ジョブ名〔bjexchjobコマンド〕[1]

ジョブ名〔bjexlsjobコマンド〕[1]

ジョブ名〔bjexrmjobコマンド〕[1]

ジョブライブラリ〔用語解説〕[1]

ジョブログ[1]

ジョブログ出力機能[1]

ジョブログ出力機能〔用語解説〕[1]

ジョブログ〔用語解説〕[1]

ジョブを構成するためのジョブ定義XMLファイル[1]

資料の採取方法[1]

す

スクリプト実行プログラム[1]

ステップライブラリ〔用語解説〕[1]

ステップリスタート[1]

ステップリスタートでの注意事項[1]

ステップリスタートを実行する上でのファイルの扱い[1]

ステップリスタートを実行するための条件[1]

ステップリスタート〔用語解説〕[1]

ストレージ設計[1]

スプール[1]

スプール管理ファイル[1]

スプールジョブ管理ファイル[1]

スプールジョブディレクトリ[1]

スプールジョブ転送サービス[1]

スプールジョブ転送サービスの運用[1]

スプールジョブ転送サービスの終了コード一覧[1]

スプールジョブ転送サービス〔用語解説〕[1]

スプールジョブ転送デーモンの運用[1]

スプールジョブ転送デーモンの障害対策[1]

スプールジョブ転送デーモン〔用語解説〕[1]

スプールジョブの回復[1]

スプールジョブの構造[1]

スプールジョブの削除[1]

スプールジョブのディレクトリの構造[1]

スプールジョブのデータの流れ[1]

スプールジョブ保管機能の設定方法[1]

スプールジョブ保管機能〔用語解説〕[1]

スプールジョブ〔用語解説〕[1]

スプールディレクトリ[1]

スプールの構造[1]

スプールの制御[1]

スプール〔用語解説〕[1]

せ

セキュリティ情報の設定[1]

世代ディレクトリ名〔bjexgdgコマンド〕[1]

世代ディレクトリ名〔bjexhkgdgコマンド〕[1]

世代データ群[1]

世代データ群の削除[1]

世代データ群の作成[1]

世代データ群の配置[1]

世代データ群名〔bjexgdgコマンド〕[1]

世代データ群名〔bjexhkgdgコマンド〕[1]

世代データ群を構成するファイル[1]

世代データ群〔用語解説〕[1]

世代登録可能数以上の世代ファイル番号の登録が発生した場合の注意事項[1]

世代ファイル[1]、[2]

世代ファイルおよび世代データ群の削除[1]

世代ファイルの概要[1]

世代ファイルの削除[1]

世代ファイルの作成と参照[1]

世代ファイルの参照[1]

世代ファイルの参照（世代データ群名指定）[1]

世代ファイルの世代管理ファイルへの登録タイミング変更機能〔用語解説〕[1]

世代ファイルの注意事項[1]

世代ファイルの保存日数超過による一括削除機能〔用語解説〕[1]

世代ファイルを削除する場合の注意事項[1]

世代ファイルを作成する場合のDD要素の注意事項[1]

世代ファイルを参照する場合のDD要素の注意事項[1]

世代ファイル〔用語解説〕[1]

絶対世代番号[1]

絶対世代番号〔用語解説〕[1]

設定ファイル[1]

設定ファイルの使用例[1]

設定ファイルのパラメータ一覧[1]

設定ファイル〔用語解説〕[1]

セットアップ前の作業[1]

前提条件[1]

前提プログラムおよび関連プログラム[1]

そ

操作[1]

相対世代番号[1]

相対世代番号〔bjexgdgコマンド〕[1]

相対世代番号〔用語解説〕[1]

属性〔用語解説〕[1]

た

タイプコード[1]

ダミー出力クラス[1]

ダミーファイル[1]

ダミーファイルの主な用途[1]

ダミーファイルの指定方法[1]

ダミーファイル〔用語解説〕[1]

ち

帳票印刷[1]

帳票処理の概要[1]

て

定義ファイル[1]

ディレクトリのパーミッション〔PERMISSION_DIRパラメータ〕[1]

ディレクトリパス名〔PROCEDURE_DIRパラメータ〕[1]

ディレクトリ割り当て時の排他/共用要求の範囲[1]

電子帳票システムとの連携によるPDFファイル変換の流れ[1]

伝送カード〔bjextrjobコマンド〕[1]

転送ディレクトリ[1]

と

統合コンソールによる集中監視[1]

統合コンソール〔用語解説〕[1]

動作環境の確認[1]

トラブルシューティング[1]

トラブル発生時に採取が必要な資料[1]

トレースレベル〔TRACE_LEVELパラメータ〕[1]

トレースログと起動ログ[1]

トレース〔用語解説〕[1]

に

入力ストリームプロシジャ[1]

入力ストリームプロシジャの作成方法[1]

入力ストリームプロシジャの使用方法[1]

入力ストリームプロシジャ〔用語解説〕[1]

は

パーミッション〔PERMISSION_SPOOL_STORE_JOBパラメータ〕[1]

排他/共用制御[1]

排他/共用制御機能の設定[1]

排他/共用制御機能〔用語解説〕[1]

排他/共用制御に関する注意事項[1]

排他/共用制御による実行待ち状態の確認方法[1]

排他/共用制御の指定方法と適用範囲[1]

排他制御[1]

パス名〔BJEX_DIR_任意名パラメータ〕[1]

パス名〔bjexlslockコマンド〕[1]

パス名〔EUR_DEFINITION_FILE_DIRパラメータ〕[1]

パス名〔LOG_DIRパラメータ〕[1]

パス名〔PERMANENT_FILE_DIRパラメータ〕[1]

パス名〔SPOOL_DIRパラメータ〕[1]

パス名〔SPOOL_STORE_DIRパラメータ〕[1]

パス名〔TEMP_FILE_DIRパラメータ〕[1]

パス名〔TRACE_DIRパラメータ〕[1]

バックアップ[1]

バックアップとリカバリー[1]

バッチジョブ業務と実行順序での定義スケジュールの定義開始の契機登録[1]

バッチジョブ業務と実行順序の定義[1]

バッチジョブ業務と実行順序の定義スケジュールの定義[1]

バッチジョブ業務の自動化[1]

バッチジョブ業務の自動化の検討[1]

バッチジョブ実行システム実行ユーザ管理[1]

バッチジョブ実行システムとJP1/AJSでバッチジョブ業務と実行順序の定義を行う場合のジョブネット[1]

バッチジョブ実行システムとPrinfina MANAGER SPおよびPDEの連携による印刷の流れ[1]

バッチジョブ実行システムとは[1]

バッチジョブ実行システムにおけるSystemVセマフォ，共有メモリの管理[1]

バッチジョブ実行システムのアンインストール[1]

バッチジョブ実行システムのインストール[1]

バッチジョブ実行システムの環境を複数構築する場合の設定[1]

バッチジョブ実行システムの関連プログラム【AIXの場合】[1]

バッチジョブ実行システムの関連プログラム【Linuxの場合】[1]

バッチジョブ実行システムの機能[1]

バッチジョブ実行システムの機能の特長と処理手順[1]

バッチジョブ実行システムのコマンド一覧（一般ユーザ用）[1]

バッチジョブ実行システムのコマンド一覧（管理者用）[1]

バッチジョブ実行システムのシステム設計[1]

バッチジョブ実行システムの使用概要[1]

バッチジョブ実行システムの処理の流れ[1]

バッチジョブ実行システムの設定で使用するコマンド一覧[1]

バッチジョブ実行システムのセットアップ手順の概要[1]

バッチジョブ実行システムの全体構成[1]

バッチジョブ実行システムの前提プログラム【AIXの場合】[1]

バッチジョブ実行システムの前提プログラム【Linuxの場合】[1]

バッチジョブ実行システムの特長[1]

バッチジョブ実行システムのバージョン情報の表示[1]

バッチジョブ実行システムを使用するためのシステム構成[1]

バッチジョブ実行システム〔用語解説〕[1]

バッチジョブ定義の記述方法[1]

バッチジョブの起動[1]

バッチジョブの強制終了[1]

バッチジョブの実行[1]

バッチジョブの実行環境[1]

バッチジョブの実行結果の一元管理[1]

ひ

日付世代番号[1]

日付世代番号〔用語解説〕[1]

日付や時間ごとのサブディレクトリへの保管[1]

ふ

ファイルサイズ〔LOG_FILE_SIZEパラメータ〕[1]

ファイルサイズ〔TRACE_FILE_SIZEパラメータ〕[1]

ファイルシステム[1]

ファイル数〔LOCK_MAXFILEパラメータ〕[1]

ファイル操作ユティリティ[1]

ファイル操作ユティリティの機能を定義する環境変数[1]

ファイル操作ユティリティ〔用語解説〕[1]

ファイルの後処理の指定[1]

ファイルの作成（DEFINE文）[1]

ファイルの準備[1]

ファイルの状態と後処理[1]

ファイルの状態と後処理の指定省略[1]

ファイルの状態の指定[1]

ファイルのパーミッション〔PERMISSION_FILEパラメータ〕[1]

ファイルの複写[1]

ファイルの併合[1]

ファイルの変換[1]

ファイルの連結処理[1]

ファイルの連結処理〔用語解説〕[1]

ファイルの割り当て[1]

ファイルの割り当て時に付与されるアクセス権限[1]

複数のプログラム要素への属性定義[1]

プリンタへの出力要求[1]

プログラムとファイルの組み合わせによるバッチジョブの一括処理[1]

プログラムのシステムへの登録と使用[1]

プログラムへのファイル割り当て機能[1]

プログラムへのファイル割り当て機能〔用語解説〕[1]

プロシジャグループ名〔PROCEDURE_DIRパラメータ〕[1]

プロシジャ内のDD要素の修正方法[1]

プロシジャ内のEXEC要素の修正方法[1]

プロシジャ内へのDD要素の追加方法[1]

プロシジャの概要[1]

プロシジャの記号パラメータによる修正方法[1]

プロシジャの修正方法[1]

プロシジャライブラリ〔用語解説〕[1]

プロシジャ〔用語解説〕[1]

プロセス一覧[1]

へ

併合〔用語解説〕[1]

並列実行するジョブステップの指定[1]

並列実行するジョブステップのジョブログ[1]

並列実行するジョブステップの制限事項[1]

ほ

保管先ディレクトリの名称[1]

保存日数〔bjexhkgdgコマンド〕[1]

め

メインステップ[1]

メタキャラクタ〔用語解説〕[1]

メッセージ一覧[1]

メッセージ出力コマンド[1]

メッセージ制御機能[1]

メッセージ制御機能での障害対応[1]

メッセージ制御機能に関する注意事項[1]

メッセージ制御機能のエラー情報[1]

メッセージ制御機能の種類[1]

メッセージ制御機能の設定[1]

メッセージ制御機能を使用する場合の環境設定[1]

メッセージ制御機能〔用語解説〕[1]

メッセージと終了コード[1]

メッセージの記載形式[1]

メッセージの形式[1]

メッセージの出力[1]

メッセージの出力形式[1]

メッセージの出力先一覧[1]

メッセージ番号の割り当て[1]

メッセージ〔bjexm_messageコマンド〕[1]

面数〔LOG_FILE_CNTパラメータ〕[1]

面数〔TRACE_FILE_CNTパラメータ〕[1]

ゆ

ユーザプログラム[1]

ユーザプログラムの使用方法[1]

よ

要素〔用語解説〕[1]

り

リカバリー[1]

リトライ打ち切り時間〔MESSAGE_RETRY_TIMEOUTパラメータ〕[1]

利用者の役割[1]

れ

レベル1外字名指定[1]

ろ

ログ情報の種類[1]

論理ホスト名〔JP1_HOSTNAMEパラメータ〕[1]