JPH04213150A - 利用者プログラムのリラン処理方式 - Google Patents
利用者プログラムのリラン処理方式Info
- Publication number
- JPH04213150A JPH04213150A JP40629390A JP40629390A JPH04213150A JP H04213150 A JPH04213150 A JP H04213150A JP 40629390 A JP40629390 A JP 40629390A JP 40629390 A JP40629390 A JP 40629390A JP H04213150 A JPH04213150 A JP H04213150A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- current indicator
- user program
- save area
- transaction file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 claims description 14
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はトランザクションファイ
ルの処理を行うバッチの利用者プログラムに関し、特に
利用者プログラムのリラン処理方式に関する。
ルの処理を行うバッチの利用者プログラムに関し、特に
利用者プログラムのリラン処理方式に関する。
【0002】
【従来の技術】従来、この種の利用者プログラムのリラ
ン処理方式では、利用者プログラムが処理するトランザ
クションファイル中の任意の数のレコードの処理が終了
した直後にトランザクションファイルの現在指示子を現
在指示子退避領域に退避しておき、利用者プログラムが
異常終了した後にリランモードで動作する場合、現在指
示子退避領域に退避されている現在指示子が示す最終処
理済レコードの次のレコードを先頭レコードとしてトラ
ンザクションファイルを位置付けていた。
ン処理方式では、利用者プログラムが処理するトランザ
クションファイル中の任意の数のレコードの処理が終了
した直後にトランザクションファイルの現在指示子を現
在指示子退避領域に退避しておき、利用者プログラムが
異常終了した後にリランモードで動作する場合、現在指
示子退避領域に退避されている現在指示子が示す最終処
理済レコードの次のレコードを先頭レコードとしてトラ
ンザクションファイルを位置付けていた。
【0003】このような従来の利用者プログラムのリラ
ン処理方式では、トランザクションファイルから複数件
のレコードを入力して1件のレコードを出力するような
トランザクション処理(例えば、集計処理,連結処理等
)の場合、利用者プログラムのメモリ領域に格納されて
いるトランザクションファイルから入力したレコードに
よって生成される情報は、利用者プログラムが何らかの
障害(例えば、ファイルの入出力エラー等)で処理の途
中で異常終了したり、システム全体が障害(例えば、電
源断)により停止したりした場合には、利用者プログラ
ムのメモリ領域の内容が消去されるので、利用者プログ
ラムの再実行時にその情報を引き継ぐことができなかっ
た。
ン処理方式では、トランザクションファイルから複数件
のレコードを入力して1件のレコードを出力するような
トランザクション処理(例えば、集計処理,連結処理等
)の場合、利用者プログラムのメモリ領域に格納されて
いるトランザクションファイルから入力したレコードに
よって生成される情報は、利用者プログラムが何らかの
障害(例えば、ファイルの入出力エラー等)で処理の途
中で異常終了したり、システム全体が障害(例えば、電
源断)により停止したりした場合には、利用者プログラ
ムのメモリ領域の内容が消去されるので、利用者プログ
ラムの再実行時にその情報を引き継ぐことができなかっ
た。
【0004】このため、従来の利用者プログラムでは、
トランザクションファイルから入力したレコードによっ
て生成される情報を作業用ファイル等に書き出しておき
、利用者プログラムの再実行時にその情報を読み込むと
いったプログラミング上での考慮を必要としていた。
トランザクションファイルから入力したレコードによっ
て生成される情報を作業用ファイル等に書き出しておき
、利用者プログラムの再実行時にその情報を読み込むと
いったプログラミング上での考慮を必要としていた。
【0005】
【発明が解決しようとする課題】上述した従来の利用者
プログラムのリラン処理方式では、トランザクションフ
ァイルから複数件のレコードを入力して1件のレコード
を出力するようなトランザクション処理(例えば、集計
処理,連結処理等)の場合、利用者プログラムの再実行
時にトランザクションファイルから入力したレコードに
よって生成される情報を引き継ぐことができず、トラン
ザクションファイルから入力されたレコードによって生
成される情報を作業用ファイル等に書き出しておき、利
用者プログラムの再実行時にその情報を読み込むといっ
たプログラミング上での考慮を必要としていたので、再
実行対策のための作業用ファイル等の設計やトランザク
ションファイルから入力されたレコードによって生成さ
れる情報の読込みおよび書出しのための面倒な処理手続
きを必要とし、利用者プログラムの生産性を阻害すると
いう欠点がある。
プログラムのリラン処理方式では、トランザクションフ
ァイルから複数件のレコードを入力して1件のレコード
を出力するようなトランザクション処理(例えば、集計
処理,連結処理等)の場合、利用者プログラムの再実行
時にトランザクションファイルから入力したレコードに
よって生成される情報を引き継ぐことができず、トラン
ザクションファイルから入力されたレコードによって生
成される情報を作業用ファイル等に書き出しておき、利
用者プログラムの再実行時にその情報を読み込むといっ
たプログラミング上での考慮を必要としていたので、再
実行対策のための作業用ファイル等の設計やトランザク
ションファイルから入力されたレコードによって生成さ
れる情報の読込みおよび書出しのための面倒な処理手続
きを必要とし、利用者プログラムの生産性を阻害すると
いう欠点がある。
【0006】本発明の目的は、上述の点に鑑み、トラン
ザクションファイルから複数件のレコードを入力して1
件のレコードを出力するようなトランザクション処理(
例えば、集計処理,連結処理等)の場合でも、利用者プ
ログラムの再実行時にトランザクションファイルから入
力したレコードによって生成される情報を引き継ぐこと
ができ、再実行対策のための作業用ファイル等の設計や
トランザクションファイルから入力されたレコードによ
って生成される情報の読込みおよび書出しのための面倒
な処理手続きを必要としないようにした利用者プログラ
ムのリラン処理方式を提供することにある。
ザクションファイルから複数件のレコードを入力して1
件のレコードを出力するようなトランザクション処理(
例えば、集計処理,連結処理等)の場合でも、利用者プ
ログラムの再実行時にトランザクションファイルから入
力したレコードによって生成される情報を引き継ぐこと
ができ、再実行対策のための作業用ファイル等の設計や
トランザクションファイルから入力されたレコードによ
って生成される情報の読込みおよび書出しのための面倒
な処理手続きを必要としないようにした利用者プログラ
ムのリラン処理方式を提供することにある。
【0007】
【課題を解決するための手段】本発明の利用者プログラ
ムのリラン処理方式は、トランザクションファイルの処
理を行うバッチの利用者プログラムのリラン処理方式に
おいて、前記トランザクションファイルの現在指示子お
よび前記利用者プログラムのメモリ情報が退避される現
在指示子・メモリ退避領域を生成する現在指示子・メモ
リ退避領域生成手段と、前記トランザクションファイル
の現在指示子および前記利用者プログラムのメモリ情報
を前記現在指示子・メモリ退避領域に退避する現在指示
子・メモリ退避手段と、前記現在指示子・メモリ退避領
域を削除する現在指示子・メモリ退避領域削除手段と、
前記現在指示子・メモリ退避領域に退避されている現在
指示子が示す最終処理済レコードの次のレコードを先頭
レコードとして前記トランザクションファイルに位置付
けるとともに前記現在指示子・メモリ退避領域に退避さ
れているメモリ情報を前記利用者プログラムのメモリ領
域に復元するファイル位置付け・メモリ復元手段と、前
記利用者プログラム中にあって、前記利用者プログラム
の実行時に前記トランザクションファイルのオープン直
後に前記利用者プログラムが通常モードで動作する場合
は前記現在指示子・メモリ退避領域生成手段を呼び出し
て前記現在指示子・メモリ退避領域を生成させ、任意の
数の前記トランザクションファイルのレコード処理が終
了するごとに前記現在指示子・メモリ退避手段を呼び出
して前記トランザクションファイルの現在指示子および
前記利用者プログラムのメモリ情報を前記現在指示子・
メモリ退避領域に退避させるとともに前記トランザクシ
ョンファイルの静止点を確立して処理済のレコード処理
を有効化し、前記利用者プログラムが異常終了した後に
リランモードで動作する場合は前記ファイル位置付け・
メモリ復元手段を呼び出して前記現在指示子・メモリ退
避領域に退避されている現在指示子が示す最終処理済レ
コードの次のレコードを先頭レコードとして前記トラン
ザクションファイルに位置付けさせるとともに前記現在
指示子・メモリ退避領域に退避されているメモリ情報を
前記利用者プログラムのメモリ領域に復元させた後に任
意の数の前記トランザクションファイルのレコード処理
が終了するごとに前記現在指示子・メモリ退避手段を呼
び出して前記トランザクションファイルの現在指示子お
よび前記利用者プログラムのメモリ情報を前記現在指示
子・メモリ退避領域に退避させるとともに前記トランザ
クションファイルの静止点を確立して処理済のレコード
処理を有効化し、前記利用者プログラムが正常に終了し
た場合に前記現在指示子・メモリ退避領域削除手段を呼
び出して前記現在指示子・メモリ退避領域を削除させる
リラン処理呼出し手段とを有する。
ムのリラン処理方式は、トランザクションファイルの処
理を行うバッチの利用者プログラムのリラン処理方式に
おいて、前記トランザクションファイルの現在指示子お
よび前記利用者プログラムのメモリ情報が退避される現
在指示子・メモリ退避領域を生成する現在指示子・メモ
リ退避領域生成手段と、前記トランザクションファイル
の現在指示子および前記利用者プログラムのメモリ情報
を前記現在指示子・メモリ退避領域に退避する現在指示
子・メモリ退避手段と、前記現在指示子・メモリ退避領
域を削除する現在指示子・メモリ退避領域削除手段と、
前記現在指示子・メモリ退避領域に退避されている現在
指示子が示す最終処理済レコードの次のレコードを先頭
レコードとして前記トランザクションファイルに位置付
けるとともに前記現在指示子・メモリ退避領域に退避さ
れているメモリ情報を前記利用者プログラムのメモリ領
域に復元するファイル位置付け・メモリ復元手段と、前
記利用者プログラム中にあって、前記利用者プログラム
の実行時に前記トランザクションファイルのオープン直
後に前記利用者プログラムが通常モードで動作する場合
は前記現在指示子・メモリ退避領域生成手段を呼び出し
て前記現在指示子・メモリ退避領域を生成させ、任意の
数の前記トランザクションファイルのレコード処理が終
了するごとに前記現在指示子・メモリ退避手段を呼び出
して前記トランザクションファイルの現在指示子および
前記利用者プログラムのメモリ情報を前記現在指示子・
メモリ退避領域に退避させるとともに前記トランザクシ
ョンファイルの静止点を確立して処理済のレコード処理
を有効化し、前記利用者プログラムが異常終了した後に
リランモードで動作する場合は前記ファイル位置付け・
メモリ復元手段を呼び出して前記現在指示子・メモリ退
避領域に退避されている現在指示子が示す最終処理済レ
コードの次のレコードを先頭レコードとして前記トラン
ザクションファイルに位置付けさせるとともに前記現在
指示子・メモリ退避領域に退避されているメモリ情報を
前記利用者プログラムのメモリ領域に復元させた後に任
意の数の前記トランザクションファイルのレコード処理
が終了するごとに前記現在指示子・メモリ退避手段を呼
び出して前記トランザクションファイルの現在指示子お
よび前記利用者プログラムのメモリ情報を前記現在指示
子・メモリ退避領域に退避させるとともに前記トランザ
クションファイルの静止点を確立して処理済のレコード
処理を有効化し、前記利用者プログラムが正常に終了し
た場合に前記現在指示子・メモリ退避領域削除手段を呼
び出して前記現在指示子・メモリ退避領域を削除させる
リラン処理呼出し手段とを有する。
【0008】
【作用】本発明の利用者プログラムのリラン処理方式で
は、現在指示子・メモリ退避領域生成手段がトランザク
ションファイルの現在指示子および利用者プログラムの
メモリ情報が退避される現在指示子・メモリ退避領域を
生成し、現在指示子・メモリ退避手段がトランザクショ
ンファイルの現在指示子および利用者プログラムのメモ
リ情報を現在指示子・メモリ退避領域に退避し、現在指
示子・メモリ退避領域削除手段が現在指示子・メモリ退
避領域を削除し、ファイル位置付け・メモリ復元手段が
現在指示子・メモリ退避領域に退避されている現在指示
子が示す最終処理済レコードの次のレコードを先頭レコ
ードとしてトランザクションファイルに位置付けるとと
もに現在指示子・メモリ退避領域に退避されているメモ
リ情報を利用者プログラムのメモリ領域に復元し、リラ
ン処理呼出し手段が利用者プログラム中にあって、利用
者プログラムの実行時にトランザクションファイルのオ
ープン直後に利用者プログラムが通常モードで動作する
場合は現在指示子・メモリ退避領域生成手段を呼び出し
て現在指示子・メモリ退避領域を生成させ、任意の数の
トランザクションファイルのレコード処理が終了するご
とに現在指示子・メモリ退避手段を呼び出してトランザ
クションファイルの現在指示子および利用者プログラム
のメモリ情報を現在指示子・メモリ退避領域に退避させ
るとともにトランザクションファイルの静止点を確立し
て処理済のレコード処理を有効化し、利用者プログラム
が異常終了した後にリランモードで動作する場合はファ
イル位置付け・メモリ復元手段を呼び出して現在指示子
・メモリ退避領域に退避されている現在指示子が示す最
終処理済レコードの次のレコードを先頭レコードとして
トランザクションファイルに位置付けさせるとともに現
在指示子・メモリ退避領域に退避されているメモリ情報
を利用者プログラムのメモリ領域に復元させた後に任意
の数のトランザクションファイルのレコード処理が終了
するごとに現在指示子・メモリ退避手段を呼び出してト
ランザクションファイルの現在指示子および利用者プロ
グラムのメモリ情報を現在指示子・メモリ退避領域に退
避させるとともにトランザクションファイルの静止点を
確立して処理済のレコード処理を有効化し、利用者プロ
グラムが正常に終了した場合に現在指示子・メモリ退避
領域削除手段を呼び出して現在指示子・メモリ退避領域
を削除させる。
は、現在指示子・メモリ退避領域生成手段がトランザク
ションファイルの現在指示子および利用者プログラムの
メモリ情報が退避される現在指示子・メモリ退避領域を
生成し、現在指示子・メモリ退避手段がトランザクショ
ンファイルの現在指示子および利用者プログラムのメモ
リ情報を現在指示子・メモリ退避領域に退避し、現在指
示子・メモリ退避領域削除手段が現在指示子・メモリ退
避領域を削除し、ファイル位置付け・メモリ復元手段が
現在指示子・メモリ退避領域に退避されている現在指示
子が示す最終処理済レコードの次のレコードを先頭レコ
ードとしてトランザクションファイルに位置付けるとと
もに現在指示子・メモリ退避領域に退避されているメモ
リ情報を利用者プログラムのメモリ領域に復元し、リラ
ン処理呼出し手段が利用者プログラム中にあって、利用
者プログラムの実行時にトランザクションファイルのオ
ープン直後に利用者プログラムが通常モードで動作する
場合は現在指示子・メモリ退避領域生成手段を呼び出し
て現在指示子・メモリ退避領域を生成させ、任意の数の
トランザクションファイルのレコード処理が終了するご
とに現在指示子・メモリ退避手段を呼び出してトランザ
クションファイルの現在指示子および利用者プログラム
のメモリ情報を現在指示子・メモリ退避領域に退避させ
るとともにトランザクションファイルの静止点を確立し
て処理済のレコード処理を有効化し、利用者プログラム
が異常終了した後にリランモードで動作する場合はファ
イル位置付け・メモリ復元手段を呼び出して現在指示子
・メモリ退避領域に退避されている現在指示子が示す最
終処理済レコードの次のレコードを先頭レコードとして
トランザクションファイルに位置付けさせるとともに現
在指示子・メモリ退避領域に退避されているメモリ情報
を利用者プログラムのメモリ領域に復元させた後に任意
の数のトランザクションファイルのレコード処理が終了
するごとに現在指示子・メモリ退避手段を呼び出してト
ランザクションファイルの現在指示子および利用者プロ
グラムのメモリ情報を現在指示子・メモリ退避領域に退
避させるとともにトランザクションファイルの静止点を
確立して処理済のレコード処理を有効化し、利用者プロ
グラムが正常に終了した場合に現在指示子・メモリ退避
領域削除手段を呼び出して現在指示子・メモリ退避領域
を削除させる。
【0009】
【実施例】次に、本発明について図面を参照して詳細に
説明する。図1は、本発明の一実施例に係る利用者プロ
グラムのリラン処理方式の構成を示すブロック図である
。本実施例の利用者プログラムのリラン処理方式は、利
用者プログラム2と、トランザクションファイル3と、
現在指示子・メモリ退避領域生成手段4と、現在指示子
・メモリ退避手段5と、現在指示子・メモリ退避領域削
除手段6と、ファイル位置付け・メモリ復元手段7と、
現在指示子・メモリ退避領域8と、リラン処理呼出し手
段9とから構成され、リラン処理呼出し手段9は利用者
プログラム2中に含まれている。なお、図1中、符号1
は、リランID(IDentification)およ
び動作モードの指定を示す。
説明する。図1は、本発明の一実施例に係る利用者プロ
グラムのリラン処理方式の構成を示すブロック図である
。本実施例の利用者プログラムのリラン処理方式は、利
用者プログラム2と、トランザクションファイル3と、
現在指示子・メモリ退避領域生成手段4と、現在指示子
・メモリ退避手段5と、現在指示子・メモリ退避領域削
除手段6と、ファイル位置付け・メモリ復元手段7と、
現在指示子・メモリ退避領域8と、リラン処理呼出し手
段9とから構成され、リラン処理呼出し手段9は利用者
プログラム2中に含まれている。なお、図1中、符号1
は、リランID(IDentification)およ
び動作モードの指定を示す。
【0010】現在指示子・メモリ退避領域生成手段4は
、トランザクションファイル3の現在指示子および利用
者プログラム2のメモリ情報が退避される現在指示子・
メモリ退避領域8を生成する。
、トランザクションファイル3の現在指示子および利用
者プログラム2のメモリ情報が退避される現在指示子・
メモリ退避領域8を生成する。
【0011】現在指示子・メモリ退避手段5は、トラン
ザクションファイル3の現在指示子および利用者プログ
ラム2のメモリ情報を現在指示子・メモリ退避領域8に
退避する。
ザクションファイル3の現在指示子および利用者プログ
ラム2のメモリ情報を現在指示子・メモリ退避領域8に
退避する。
【0012】現在指示子・メモリ退避領域削除手段6は
、現在指示子・メモリ退避領域8を削除する。
、現在指示子・メモリ退避領域8を削除する。
【0013】ファイル位置付け・メモリ復元手段7は、
現在指示子・メモリ退避領域8に退避されている現在指
示子が示す最終処理済レコードの次のレコードを先頭レ
コードとしてトランザクションファイル3に位置付ける
とともに、現在指示子・メモリ退避領域8に退避されて
いるメモリ情報を利用者プログラム2のメモリ領域に復
元する。
現在指示子・メモリ退避領域8に退避されている現在指
示子が示す最終処理済レコードの次のレコードを先頭レ
コードとしてトランザクションファイル3に位置付ける
とともに、現在指示子・メモリ退避領域8に退避されて
いるメモリ情報を利用者プログラム2のメモリ領域に復
元する。
【0014】リラン処理呼出し手段9は、利用者プログ
ラム2中にあって、利用者プログラム2の実行時にトラ
ンザクションファイル3のオープン直後に利用者プログ
ラム2が通常モードで動作する場合は、現在指示子・メ
モリ退避領域生成手段4を呼び出して現在指示子・メモ
リ退避領域8を生成させる。また、リラン処理呼出し手
段9は、任意の数のトランザクションファイル3のレコ
ード処理が終了するごとに、その直後に現在指示子・メ
モリ退避手段5を呼び出してトランザクションファイル
3の現在指示子および利用者プログラム2のメモリ情報
を現在指示子・メモリ退避領域8に退避させるとともに
トランザクションファイル3の静止点を確立して処理済
のレコード処理を有効化する。さらに、リラン処理呼出
し手段9は、利用者プログラム2が異常終了した後にリ
ランモードで動作する場合は、ファイル位置付け・メモ
リ復元手段7を呼び出して現在指示子・メモリ退避領域
8に退避されている現在指示子が示す最終処理済レコー
ドの次のレコードを先頭レコードとしてトランザクショ
ンファイル3に位置付けさせるとともに現在指示子・メ
モリ退避領域8に退避されているメモリ情報を利用者プ
ログラム2のメモリ領域に復元させた後に、通常モード
で動作する場合と同様に、任意の数のトランザクション
ファイル3のレコード処理が終了するごとに、その直後
に現在指示子・メモリ退避手段5を呼び出して、トラン
ザクションファイル3の現在指示子および利用者プログ
ラム2のメモリ情報を現在指示子・メモリ退避領域8に
退避させるとともにトランザクションファイル3の静止
点を確立して処理済のレコード処理を有効化する。さら
にまた、リラン処理呼出し手段9は、利用者プログラム
2が正常に終了した場合に、現在指示子・メモリ退避領
域削除手段6を呼び出して現在指示子・メモリ退避領域
8を削除させる。なお、リラン処理呼出し手段9は、利
用者プログラム2の作成時に、トランザクションファイ
ル3をリラン処理の対象ファイルとして指定して定義し
た場合に、コンパイラによってオブジェクトプログラム
中に挿入される。
ラム2中にあって、利用者プログラム2の実行時にトラ
ンザクションファイル3のオープン直後に利用者プログ
ラム2が通常モードで動作する場合は、現在指示子・メ
モリ退避領域生成手段4を呼び出して現在指示子・メモ
リ退避領域8を生成させる。また、リラン処理呼出し手
段9は、任意の数のトランザクションファイル3のレコ
ード処理が終了するごとに、その直後に現在指示子・メ
モリ退避手段5を呼び出してトランザクションファイル
3の現在指示子および利用者プログラム2のメモリ情報
を現在指示子・メモリ退避領域8に退避させるとともに
トランザクションファイル3の静止点を確立して処理済
のレコード処理を有効化する。さらに、リラン処理呼出
し手段9は、利用者プログラム2が異常終了した後にリ
ランモードで動作する場合は、ファイル位置付け・メモ
リ復元手段7を呼び出して現在指示子・メモリ退避領域
8に退避されている現在指示子が示す最終処理済レコー
ドの次のレコードを先頭レコードとしてトランザクショ
ンファイル3に位置付けさせるとともに現在指示子・メ
モリ退避領域8に退避されているメモリ情報を利用者プ
ログラム2のメモリ領域に復元させた後に、通常モード
で動作する場合と同様に、任意の数のトランザクション
ファイル3のレコード処理が終了するごとに、その直後
に現在指示子・メモリ退避手段5を呼び出して、トラン
ザクションファイル3の現在指示子および利用者プログ
ラム2のメモリ情報を現在指示子・メモリ退避領域8に
退避させるとともにトランザクションファイル3の静止
点を確立して処理済のレコード処理を有効化する。さら
にまた、リラン処理呼出し手段9は、利用者プログラム
2が正常に終了した場合に、現在指示子・メモリ退避領
域削除手段6を呼び出して現在指示子・メモリ退避領域
8を削除させる。なお、リラン処理呼出し手段9は、利
用者プログラム2の作成時に、トランザクションファイ
ル3をリラン処理の対象ファイルとして指定して定義し
た場合に、コンパイラによってオブジェクトプログラム
中に挿入される。
【0015】図2を参照すると、利用者プログラム2の
処理は、トランザクションファイルオープンステップ2
1と、動作モード判定ステップ22と、現在指示子・メ
モリ退避領域生成手段呼出しステップ23と、ファイル
位置付け・メモリ復元手段呼出しステップ24と、トラ
ンザクションファイルレコード入力ステップ25と、ト
ランザクションファイル終了判定ステップ26と、レコ
ード処理ステップ27と、任意数レコード処理終了判定
ステップ28と、現在指示子・メモリ退避手段呼出しお
よびファイル静止点確立ステップ29と、カウンタクリ
アステップ30と、トランザクションファイルクローズ
ステップ31と、現在指示子・メモリ退避領域削除手段
呼出しステップ32とからなる。
処理は、トランザクションファイルオープンステップ2
1と、動作モード判定ステップ22と、現在指示子・メ
モリ退避領域生成手段呼出しステップ23と、ファイル
位置付け・メモリ復元手段呼出しステップ24と、トラ
ンザクションファイルレコード入力ステップ25と、ト
ランザクションファイル終了判定ステップ26と、レコ
ード処理ステップ27と、任意数レコード処理終了判定
ステップ28と、現在指示子・メモリ退避手段呼出しお
よびファイル静止点確立ステップ29と、カウンタクリ
アステップ30と、トランザクションファイルクローズ
ステップ31と、現在指示子・メモリ退避領域削除手段
呼出しステップ32とからなる。
【0016】次に、このように構成された本実施例の利
用者プログラムのリラン処理方式の動作について説明す
る。
用者プログラムのリラン処理方式の動作について説明す
る。
【0017】利用者は、まず利用者プログラム2の起動
時に、リラン処理の対象ファイルとして指定されたトラ
ンザクションファイル3の現在指示子および利用者プロ
グラム2のメモリ情報が退避される現在指示子・メモリ
退避領域8につける名前となるリランIDおよび利用者
プログラム2を通常モードで動作させるかリランモード
で動作させるかを示す動作モードの指定1を行う。
時に、リラン処理の対象ファイルとして指定されたトラ
ンザクションファイル3の現在指示子および利用者プロ
グラム2のメモリ情報が退避される現在指示子・メモリ
退避領域8につける名前となるリランIDおよび利用者
プログラム2を通常モードで動作させるかリランモード
で動作させるかを示す動作モードの指定1を行う。
【0018】利用者プログラム2が起動されると、トラ
ンザクションファイル3がオープンされた直後に(ステ
ップ21)、オペレーティングシステム(図示せず)で
動作モードの判定が行われる(ステップ22)。通常モ
ードの場合は、リラン処理呼出し手段9が現在指示子・
メモリ退避領域生成手段4を呼び出す(ステップ23)
。
ンザクションファイル3がオープンされた直後に(ステ
ップ21)、オペレーティングシステム(図示せず)で
動作モードの判定が行われる(ステップ22)。通常モ
ードの場合は、リラン処理呼出し手段9が現在指示子・
メモリ退避領域生成手段4を呼び出す(ステップ23)
。
【0019】現在指示子・メモリ退避領域生成手段4は
、与えられたリランIDの名前で現在指示子・メモリ退
避領域8を生成する。現在指示子・メモリ退避領域8は
、利用者プログラム2が終了した場合やシステム全体が
停止した場合でも内容が保持されるようにオペレーティ
ングシステムで管理され、一旦作成されれば削除されな
い限りは永久に保持される。
、与えられたリランIDの名前で現在指示子・メモリ退
避領域8を生成する。現在指示子・メモリ退避領域8は
、利用者プログラム2が終了した場合やシステム全体が
停止した場合でも内容が保持されるようにオペレーティ
ングシステムで管理され、一旦作成されれば削除されな
い限りは永久に保持される。
【0020】次に、トランザクションファイル3からレ
コードが1つ入力され(ステップ25)、続いてトラン
ザクションファイル3が終了しているかどうかが判定さ
れる(ステップ26)。トランザクションファイル3が
未終了のときには、レコードの処理が行われ(ステップ
27)、レコードの処理をカウントするカウンタ(図示
せず)のカウンタ値により任意の数のレコードの処理が
終了したときには(ステップ28)、リラン処理呼出し
手段9が現在指示子・メモリ退避手段5を呼び出す(ス
テップ29)。
コードが1つ入力され(ステップ25)、続いてトラン
ザクションファイル3が終了しているかどうかが判定さ
れる(ステップ26)。トランザクションファイル3が
未終了のときには、レコードの処理が行われ(ステップ
27)、レコードの処理をカウントするカウンタ(図示
せず)のカウンタ値により任意の数のレコードの処理が
終了したときには(ステップ28)、リラン処理呼出し
手段9が現在指示子・メモリ退避手段5を呼び出す(ス
テップ29)。
【0021】現在指示子・メモリ退避手段5は、トラン
ザクションファイル3の最終処理済レコードの現在指示
子と利用者プログラム2のメモリ情報とを現在指示子・
メモリ退避領域8に退避し、同時にトランザクションフ
ァイル3の静止点を確立することによって処理済の任意
の数のレコード処理を有効化する。
ザクションファイル3の最終処理済レコードの現在指示
子と利用者プログラム2のメモリ情報とを現在指示子・
メモリ退避領域8に退避し、同時にトランザクションフ
ァイル3の静止点を確立することによって処理済の任意
の数のレコード処理を有効化する。
【0022】続いて、利用者プログラム2は、レコード
の処理数をカウントするカウンタをクリアし(ステップ
30)、ステップ25に制御を戻す。ステップ28にお
いて、任意の数のレコードの処理が未終了のときにもス
テップ25に制御を戻す。
の処理数をカウントするカウンタをクリアし(ステップ
30)、ステップ25に制御を戻す。ステップ28にお
いて、任意の数のレコードの処理が未終了のときにもス
テップ25に制御を戻す。
【0023】いま、トランザクションファイル3の「レ
コード2」に対する処理が完了し、次の「レコード3」
に対する処理の途中でプログラム異常が発生して利用者
プログラム2が停止した場合、現在指示子・メモリ退避
領域8には「レコード2」の位置を示す現在指示子と「
レコード2」に対する処理が終了したときの利用者プロ
グラム2のメモリ情報とが格納されている。このとき、
利用者プログラム2がリランモードで再起動されると、
リランモードと判定され(ステップ22)、リラン処理
呼出し手段9がファイル位置付け・メモリ復元手段7を
呼び出す(ステップ24)。
コード2」に対する処理が完了し、次の「レコード3」
に対する処理の途中でプログラム異常が発生して利用者
プログラム2が停止した場合、現在指示子・メモリ退避
領域8には「レコード2」の位置を示す現在指示子と「
レコード2」に対する処理が終了したときの利用者プロ
グラム2のメモリ情報とが格納されている。このとき、
利用者プログラム2がリランモードで再起動されると、
リランモードと判定され(ステップ22)、リラン処理
呼出し手段9がファイル位置付け・メモリ復元手段7を
呼び出す(ステップ24)。
【0024】ファイル位置付け・メモリ復元手段7は、
リランIDで指定された名前の現在指示子・メモリ退避
領域8から現在指示子(「レコード2」を示している)
を取り出して現在指示子が示す最終処理済レコードの次
のレコードを先頭レコードとしてトランザクションファ
イル3に位置付けるとともに、メモリ情報(「レコード
2」に対する処理が終了したときの利用者プログラム2
のメモリ情報)を取り出して利用者プログラム2のメモ
リ領域に復元する。
リランIDで指定された名前の現在指示子・メモリ退避
領域8から現在指示子(「レコード2」を示している)
を取り出して現在指示子が示す最終処理済レコードの次
のレコードを先頭レコードとしてトランザクションファ
イル3に位置付けるとともに、メモリ情報(「レコード
2」に対する処理が終了したときの利用者プログラム2
のメモリ情報)を取り出して利用者プログラム2のメモ
リ領域に復元する。
【0025】続いて、トランザクションファイル3から
のレコード入力によって未処理のレコードの先頭レコー
ドである「レコード3」が入力され(ステップ25)、
ステップ26以降の処理が行われる。
のレコード入力によって未処理のレコードの先頭レコー
ドである「レコード3」が入力され(ステップ25)、
ステップ26以降の処理が行われる。
【0026】通常モードで起動された場合でも、またリ
ランモードで起動された場合でも、利用者プログラム2
が正常に終了したときには、トランザクションファイル
3の終了と判定され(ステップ26)、トランザクショ
ンファイル3はクローズされ(ステップ31)、リラン
処理呼出し手段9が現在指示子・メモリ退避領域削除手
段6を呼び出す。
ランモードで起動された場合でも、利用者プログラム2
が正常に終了したときには、トランザクションファイル
3の終了と判定され(ステップ26)、トランザクショ
ンファイル3はクローズされ(ステップ31)、リラン
処理呼出し手段9が現在指示子・メモリ退避領域削除手
段6を呼び出す。
【0027】現在指示子・メモリ退避領域削除手段6は
、リランIDの名前の現在指示子・メモリ退避領域8を
削除する(ステップ32)。
、リランIDの名前の現在指示子・メモリ退避領域8を
削除する(ステップ32)。
【0028】このように、本実施例の利用者プログラム
のリラン処理方式では、利用者プログラム2がトランザ
クションファイル3を処理中に異常終了した後にリラン
モードで再起動されると、現在指示子・メモリ退避領域
8に退避されていた現在指示子が示す最終処理済レコー
ドの次のレコードを先頭レコードとしてトランザクショ
ンファイル3のレコード処理が再開されるので、トラン
ザクションファイル3によって更新を受けるファイルが
あっても二重更新されることがなく、また現在指示子・
メモリ退避領域8に退避されていたメモリ情報が利用者
プログラム2のメモリ領域に復元されるので、利用者プ
ログラム2の再実行時にトランザクションファイル3か
ら入力したレコードによって生成される情報を引き継ぐ
ことができる。
のリラン処理方式では、利用者プログラム2がトランザ
クションファイル3を処理中に異常終了した後にリラン
モードで再起動されると、現在指示子・メモリ退避領域
8に退避されていた現在指示子が示す最終処理済レコー
ドの次のレコードを先頭レコードとしてトランザクショ
ンファイル3のレコード処理が再開されるので、トラン
ザクションファイル3によって更新を受けるファイルが
あっても二重更新されることがなく、また現在指示子・
メモリ退避領域8に退避されていたメモリ情報が利用者
プログラム2のメモリ領域に復元されるので、利用者プ
ログラム2の再実行時にトランザクションファイル3か
ら入力したレコードによって生成される情報を引き継ぐ
ことができる。
【0029】
【発明の効果】以上説明したように本発明は、利用者プ
ログラムが処理するトランザクションファイル中の任意
の数のレコードの処理が終了した直後にトランザクショ
ンファイルの現在指示子および利用者プログラムのメモ
リ情報を現在指示子・メモリ退避領域に退避しておき、
利用者プログラムが異常終了した後にリランモードで動
作する場合、現在指示子・メモリ退避領域に退避されて
いる現在指示子が示す最終処理済レコードの次のレコー
ドを先頭レコードとしてトランザクションファイルに位
置付けるとともに現在指示子・メモリ退避領域に退避さ
れているメモリ情報を利用者プログラムのメモリ領域に
復元することにより、トランザクションファイルから複
数件のレコードを入力して1件のレコードを出力するよ
うなトランザクション処理(例えば、集計処理,連結処
理等)の場合でも、再実行対策のための作業用ファイル
等の設計やトランザクションファイルから入力したレコ
ードによって生成される情報の読込みおよび書出しのた
めの面倒な処理手続きをプログラミング上に講じておく
必要なしにその情報を引き継ぐことができ、利用者プロ
グラムの作成が簡易化されるという効果がある。
ログラムが処理するトランザクションファイル中の任意
の数のレコードの処理が終了した直後にトランザクショ
ンファイルの現在指示子および利用者プログラムのメモ
リ情報を現在指示子・メモリ退避領域に退避しておき、
利用者プログラムが異常終了した後にリランモードで動
作する場合、現在指示子・メモリ退避領域に退避されて
いる現在指示子が示す最終処理済レコードの次のレコー
ドを先頭レコードとしてトランザクションファイルに位
置付けるとともに現在指示子・メモリ退避領域に退避さ
れているメモリ情報を利用者プログラムのメモリ領域に
復元することにより、トランザクションファイルから複
数件のレコードを入力して1件のレコードを出力するよ
うなトランザクション処理(例えば、集計処理,連結処
理等)の場合でも、再実行対策のための作業用ファイル
等の設計やトランザクションファイルから入力したレコ
ードによって生成される情報の読込みおよび書出しのた
めの面倒な処理手続きをプログラミング上に講じておく
必要なしにその情報を引き継ぐことができ、利用者プロ
グラムの作成が簡易化されるという効果がある。
【図1】本発明の一実施例に係る利用者プログラムのリ
ラン処理方式の構成を示すブロック図である。
ラン処理方式の構成を示すブロック図である。
【図2】図1中の利用者プログラムの処理を示す流れ図
である。
である。
1 リランIDおよび動作モードの指定2 利用者
プログラム 3 トランザクションファイル 4 現在指示子・メモリ退避領域生成手段5 現在
指示子・メモリ退避手段 6 現在指示子・メモリ退避領域削除手段7 ファ
イル位置付け・メモリ復元手段8 現在指示子・メモ
リ退避領域 9 リラン処理呼出し手段
プログラム 3 トランザクションファイル 4 現在指示子・メモリ退避領域生成手段5 現在
指示子・メモリ退避手段 6 現在指示子・メモリ退避領域削除手段7 ファ
イル位置付け・メモリ復元手段8 現在指示子・メモ
リ退避領域 9 リラン処理呼出し手段
Claims (1)
- 【請求項1】トランザクションファイルの処理を行うバ
ッチの利用者プログラムのリラン処理方式において、前
記トランザクションファイルの現在指示子および前記利
用者プログラムのメモリ情報が退避される現在指示子・
メモリ退避領域を生成する現在指示子・メモリ退避領域
生成手段と、前記トランザクションファイルの現在指示
子および前記利用者プログラムのメモリ情報を前記現在
指示子・メモリ退避領域に退避する現在指示子・メモリ
退避手段と、前記現在指示子・メモリ退避領域を削除す
る現在指示子・メモリ退避領域削除手段と、前記現在指
示子・メモリ退避領域に退避されている現在指示子が示
す最終処理済レコードの次のレコードを先頭レコードと
して前記トランザクションファイルに位置付けるととも
に前記現在指示子・メモリ退避領域に退避されているメ
モリ情報を前記利用者プログラムのメモリ領域に復元す
るファイル位置付け・メモリ復元手段と、前記利用者プ
ログラム中にあって、前記利用者プログラムの実行時に
前記トランザクションファイルのオープン直後に前記利
用者プログラムが通常モードで動作する場合は前記現在
指示子・メモリ退避領域生成手段を呼び出して前記現在
指示子・メモリ退避領域を生成させ、任意の数の前記ト
ランザクションファイルのレコード処理が終了するごと
に前記現在指示子・メモリ退避手段を呼び出して前記ト
ランザクションファイルの現在指示子および前記利用者
プログラムのメモリ情報を前記現在指示子・メモリ退避
領域に退避させるとともに前記トランザクションファイ
ルの静止点を確立して処理済のレコード処理を有効化し
、前記利用者プログラムが異常終了した後にリランモー
ドで動作する場合は前記ファイル位置付け・メモリ復元
手段を呼び出して前記現在指示子・メモリ退避領域に退
避されている現在指示子が示す最終処理済レコードの次
のレコードを先頭レコードとして前記トランザクション
ファイルに位置付けさせるとともに前記現在指示子・メ
モリ退避領域に退避されているメモリ情報を前記利用者
プログラムのメモリ領域に復元させた後に任意の数の前
記トランザクションファイルのレコード処理が終了する
ごとに前記現在指示子・メモリ退避手段を呼び出して前
記トランザクションファイルの現在指示子および前記利
用者プログラムのメモリ情報を前記現在指示子・メモリ
退避領域に退避させるとともに前記トランザクションフ
ァイルの静止点を確立して処理済のレコード処理を有効
化し、前記利用者プログラムが正常に終了した場合に前
記現在指示子・メモリ退避領域削除手段を呼び出して前
記現在指示子・メモリ退避領域を削除させるリラン処理
呼出し手段とを有することを特徴とする利用者プログラ
ムのリラン処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP40629390A JPH04213150A (ja) | 1990-12-06 | 1990-12-06 | 利用者プログラムのリラン処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP40629390A JPH04213150A (ja) | 1990-12-06 | 1990-12-06 | 利用者プログラムのリラン処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04213150A true JPH04213150A (ja) | 1992-08-04 |
Family
ID=18515906
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP40629390A Pending JPH04213150A (ja) | 1990-12-06 | 1990-12-06 | 利用者プログラムのリラン処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04213150A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62233860A (ja) * | 1986-04-03 | 1987-10-14 | Nippon Telegr & Teleph Corp <Ntt> | デ−タベ−スのロ−ルバツク方式 |
| JPH02178855A (ja) * | 1988-12-29 | 1990-07-11 | Nec Corp | データベースのデッドロック処理方式 |
-
1990
- 1990-12-06 JP JP40629390A patent/JPH04213150A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62233860A (ja) * | 1986-04-03 | 1987-10-14 | Nippon Telegr & Teleph Corp <Ntt> | デ−タベ−スのロ−ルバツク方式 |
| JPH02178855A (ja) * | 1988-12-29 | 1990-07-11 | Nec Corp | データベースのデッドロック処理方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110045952B (zh) | 代码调用方法与装置 | |
| US5230075A (en) | Database shadowing system with data tags that select an operation of the save command | |
| CN115344558A (zh) | 数据维护方法、装置、电子设备及计算机可读存储介质 | |
| JPH04213150A (ja) | 利用者プログラムのリラン処理方式 | |
| JP2762816B2 (ja) | トランザクション実行トレース情報採取方式 | |
| JPH05233404A (ja) | ファイル制御方式 | |
| JPH0314144A (ja) | 利用者プログラムのリラン処理方式 | |
| JPH03216743A (ja) | データベースの並列退避方式 | |
| JPH10333767A (ja) | 自動運転システムのジョブ実行日決定方式および記録媒体 | |
| JP2000010692A (ja) | 作業のリドウ・アンドウ機能及び自動保存機能を備えたアプリケーション装置及び方法 | |
| JPH09146782A (ja) | ジョブ間データ引き継ぎにおける異常発生時の対応方法 | |
| JPH1021066A (ja) | プログラム自動生成方法 | |
| JPH0816431A (ja) | 利用者プログラムのデバッグ処理システム | |
| JP3458421B2 (ja) | 文書処理システム | |
| JPH04130949A (ja) | 簡易システム起動方式 | |
| JPH04195574A (ja) | レコードモニタリング制御方式 | |
| CN118569221A (zh) | 信息编辑存储方法、存储介质及设备 | |
| JPH04340632A (ja) | 情報処理装置バックアップ方式 | |
| CN115328468A (zh) | 一种业务处理方法、装置、计算机设备及存储介质 | |
| JP2623968B2 (ja) | ジャーナルレスファイルのコミット同期制御方式 | |
| CN115936402A (zh) | 任务复制方法、装置、电子设备及存储介质 | |
| CN117369957A (zh) | 一种支持中断后继续匹配的发票与业务数据匹配方法及装置 | |
| JPH10320206A (ja) | 分散オブジェクトシステムにおけるオブジェクトの状態管理方法ならびに装置、及び同方法がプログラムされ記録される記録媒体、もしくはプログラムとして伝搬される通信媒体 | |
| JPH10240310A (ja) | ソフトウェアエラー処理編集システム及びソフトウェアエラー処理編集方法 | |
| JPH0644119A (ja) | 利用者プログラムのリラン処理方式 |