JP2014142741A - ジョブ再実行支援システム - Google Patents

ジョブ再実行支援システム Download PDF

Info

Publication number
JP2014142741A
JP2014142741A JP2013009811A JP2013009811A JP2014142741A JP 2014142741 A JP2014142741 A JP 2014142741A JP 2013009811 A JP2013009811 A JP 2013009811A JP 2013009811 A JP2013009811 A JP 2013009811A JP 2014142741 A JP2014142741 A JP 2014142741A
Authority
JP
Japan
Prior art keywords
program
job
execution
file
input 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.)
Granted
Application number
JP2013009811A
Other languages
English (en)
Other versions
JP5497210B1 (ja
Inventor
Tetsuya Nagaoka
鉄也 長岡
Hiromi Sakamoto
弘美 坂本
Takeshi Okada
武 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chugoku Electric Power Co Inc
Original Assignee
Chugoku Electric Power Co Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chugoku Electric Power Co Inc filed Critical Chugoku Electric Power Co Inc
Priority to JP2013009811A priority Critical patent/JP5497210B1/ja
Application granted granted Critical
Publication of JP5497210B1 publication Critical patent/JP5497210B1/ja
Publication of JP2014142741A publication Critical patent/JP2014142741A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract


【課題】 入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムを順次実行するジョブの異常終了時に、工程表で選択したプログラムの実行前の状態に入力ファイルおよび出力ファイルを戻す。
【解決手段】 入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムと、複数のプログラムを順次実行するジョブと、プログラムのソースコードに基づいて、プログラムが使用する入力ファイルまたは出力ファイルの少なくともいずれか一方がプログラムごとに図示された工程表30を作成する工程表作成タスク17と、工程表30において選択されたプログラムが実行される直前の状態に、入力ファイルと出力ファイルとを戻して、当該プログラムを再実行可能な状態にするジョブ再実行タスク16と、を備える。
【選択図】 図1

Description

この発明は、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムを順次実行するジョブの再実行を支援するジョブ再実行支援システムに関する。
ホストを含むメインフレームで起動するバッチ処理や常駐プロセスは、ジョブ制御言語(JCL)で記述されており、複数のプログラムを順次実行するジョブで構成されている。JCLは、構文が難解であるため、機能や処理を把握することに手間や時間を費やしている。また、プログラムが入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理するものであり、使用する入力ファイルまたは出力ファイルの数が多くなると把握することにさらに手間や時間を費やしてしまう。
そこで、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムにおいて、入力ファイルや出力ファイルを容易に把握するために、入力ファイル、出力ファイルとプログラムとの関連を図示する関連図を作成する。また、ジョブの入力ファイルと、出力ファイルとをプログラムごとに図示する電算機処理工程明細表(工程表)を作成しておくことで、ジョブにおける入力ファイルや出力ファイルの把握が容易になる。
ところで、プログラムの不具合や入力ファイルの不具合によって、ジョブが異常終了した場合は、異常終了した箇所より前は、入力ファイルおよび出力ファイルが更新された状態であり、異常終了した箇所以降は入力ファイルおよび出力ファイルが未更新の状態となっている。
そのため、ジョブの異常終了の原因を確認して、プログラムを改修したり入力ファイルを整備したりして不具合を解消後、ジョブを再実行する際には、入力ファイルおよび出力ファイルを当該ジョブの実行前の状態に戻す必要がある。
ところが、プログラムの改修によって入力ファイルまたは出力ファイルが増減した場合に、関連図や工程表を更新し忘れてしまうおそれがある。また、関連図や工程表が正しく更新されている場合であっても、入力ファイルまたは出力ファイルの数が多い場合や、ジョブにおいて複数のプログラムによって入力ファイルまたは出力ファイルが更新されるような場合には、入力ファイルおよび出力ファイルを当該ジョブの実行前の状態に戻すことに手間や時間を費やしてしまう。
ところで、バッチ系のシステム設計図を自動生成する技術として、ジョブフロー図等のシステム設計図を自動的に作成すると共に、一部の設計レベルのシステム設計図を再作成したとき、他の設計レベルのシステム設計図も自動的に修正する技術が知られている(例えば、特許文献1参照。)。
また、再処理の作業効率を向上するための技術としては、再処理の対象となるトランザクションを記憶装置上に連続して管理し、再処理を行う場合でも処理効率を向上させる技術が知られている(例えば、特許文献2参照。)。この技術は、トランザクションレコードが不成功であると再処理トランザクションレコードを作成し未処理のトランザクションレコードとして記憶装置部へ追加するものである。また、1ジョブに複数のジョブステップを有し、各ジョブステップに業務プログラムが実行されるジョブ処理を効率的に再起動(リラン)する技術が知られている(例えば、特許文献3参照。)。さらに、異常終了したジョブの再実行に必要なリカバリ処理と、リランポイントからの再実行ジョブとを、リランTBLに組み込む。ロールバック処理が有る場合は、この処理をリランTBLの先頭に組み込む技術が知られている(例えば、特許文献4参照。)。さらにまた、処理異常終了時には、データベースのロールバック処理による回復処理と共に、シーケンシャルファイルに対しても、バッチ処理の処理制御ツールのリカバリ処理機能により、バックアップファイルからのデータ自動回復を行う技術が知られている(例えば、特許文献5参照。)。
特開2007−257384号公報 特開平11−265307号公報 特開2006−293582号公報 特開2008−217367号公報 特開2008−234142号公報
ところで、ジョブの異常終了の原因となったプログラムに関連して、他のプログラムを修正した場合には、異常終了したプログラムよりも前の状態から再実行する必要がある場合がある。この場合は、工程表によってプログラムと入力ファイルおよび出力ファイルを確認することができるが、入力ファイルおよび出力ファイルを所望のプログラムを再実行可能な状態に戻すことに手間や時間を費やしていた。
また、上記の特許文献2〜5ではジョブを効率的に再実行できるものの、異常終了したプログラムよりも前のプログラムからの再実行や、任意のプログラムから再実行することに手間や時間を費やしていた。
したがって、本願の発明者は、工程表で再実行したいプログラム(再実行プログラム)を選択することによって、再実行プログラムの実行前の状態、すなわち、再実行プログラムの直前のプログラムが終了した状態に入力ファイルおよび出力ファイルを戻すことが出来れば、ジョブの再実行に要する手間と時間とを削減できると考えた。
そこで、この発明は、前記の課題を解決し、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムを順次実行するジョブの異常終了時に、工程表で選択したプログラムの実行前の状態に入力ファイルおよび出力ファイルを戻すことが可能ジョブ再実行支援システムを提供することを目的としている。
前記の課題を解決するために、請求項1の発明は、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムと、複数の前記プログラムを順次実行するジョブと、前記プログラムのソースコードに基づいて、前記プログラムが使用する入力ファイルまたは出力ファイルの少なくともいずれか一方が前記プログラムごとに図示された工程表を作成する工程表作成手段と、前記工程表作成手段によって作成された工程表において選択されたプログラムが実行される直前の状態に、入力ファイルと出力ファイルとを戻して、当該プログラムを再実行可能な状態にするジョブ再実行手段と、を備えることを特徴とするジョブ再実行支援システムである。
この発明によれば、ジョブ再実行手段によって、工程表において選択されたプログラムが実行される直前の状態に入力ファイルと出力ファイルとが戻されて、当該プログラムが再実行可能な状態にされる。
請求項2に記載の発明は、請求項1に記載のジョブ再実行支援システムにおいて、前記工程表作成手段は、前記プログラムが異常終了した場合に、前記工程表に異常終了したプログラムを図示する、ことを特徴とする。
請求項3に記載の発明は、請求項1または2に記載のジョブ再実行支援システムにおいて、前記プログラムのソースコードに基づいて、当該プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方の関連を図示する関連図を作成する関連図作成タスクと、を備えることを特徴とする。
請求項1に記載の発明によれば、工程表作成手段によって工程表が作成されるので、ジョブに含まれるプログラムの入力ファイルまたは出力ファイルを正確に把握することが出来る。このため、開発担当者は、プログラムの不具合を発見したり、ジョブが異常終了したりした場合には、工程表を参照することによってプログラムの修正箇所やジョブの再実行箇所を判断することができる。また、工程表において再実行したいプログラムを選択するだけで、ジョブ再実行手段によって当該プログラムが再実行可能な状態とされるので、効率的な再実行が可能となる。
また、ジョブの再実行が容易になるので、プログラムの修正とそれに伴うジョブの再実行を繰り返すプログラム開発やテストに要する工数を削減可能である。このように、ジョブの再実行が容易になるので、プログラムの修正とそれに伴うジョブの再実行を繰り返すプログラム開発やテストに要する工数を削減可能である。
請求項2に記載の発明によれば、工程表作成手段は、プログラムが異常終了した場合に、工程表に異常終了したプログラムを表示するので、異常終了したプログラムを一目で確認することができる。すなわち、工程表において視覚的に異常終了箇所が示されるので、ジョブに含まれるプログラムと入力ファイルまたは出力ファイルの関連を把握し易くなり、容易に修正箇所を判断可能となる。これにより、プログラムの修正箇所の間違いや漏れを防止することが可能になる。
請求項3に記載の発明によれば、関連図作成手段によって、プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方との関連を図示する関連図が作成されるので、プログラムごとに入力ファイルまたは出力ファイルを確認することが容易になる。これにより、プログラムの修正箇所の間違いや漏れを防止することが可能になる。
この発明の実施の形態に係るジョブ再実行支援システムの概略構成図である。 図1のジョブ再実行支援システムの雛型データベースのデータ構成図である。 図2のジョブ再実行支援システムの雛型データベースのテンプレートの一例であり、(a)はプログラムのテンプレートであり、(b)は入力ファイルおよび出力ファイルのテンプレートである。 図1のジョブ再実行支援システムの変更履歴データベースのデータ構成図である。 図1のジョブ再実行支援システムの障害履歴データベースのデータ構成図である。 図1のジョブ再実行支援システムによる関連図作成処理を示すフローチャートである。 図1のジョブ再実行支援システムによる工程表作成処理を示すフローチャートである。 図1のジョブ再実行支援システムによるジョブ再実行処理を示すフローチャートである。 図1のジョブ再実行支援システムによるジョブ再実行検証処理を示すフローチャートである。 図1のジョブ再実行支援システムを利用したプログラム修正における開発担当者の動作と開発サーバにおける処理を示すフローチャートである。 図1のジョブ再実行支援システムのジョブのコードの一部である。 図1のジョブ再実行支援システムの関連図作成処理によって作成されたプログラム関連図の一部である。 図1のジョブ再実行支援システムの工程表作成処理によって作成された電算機処理工程明細表の一部である。
以下、この発明を図示の実施の形態に基づいて説明する。
図1ないし図13は、この発明の実施の形態を示している。ジョブ再実行支援システム1は、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムを順次実行するジョブの異常終了時の再実行を支援するシステムである。この実施の形態においては、このジョブ再実行支援システム1は、開発サーバ(図示略)で起動するようになっている。また、ジョブおよびプログラムは、例えば、JCL(Job Control Language、ジョブ制御言語)でコーディングされているものとする。ここで、JCLは、1行が1ステートメントとなっており、1ステートメントが複数行にわたる場合は、直前の行末を「,」(カンマ)として次の行に続けて記載するように定義されている。
この実施の形態においては、具体的には、図11に示すようなジョブJOB01について説明する。ジョブJOB01は、複数のプログラムPRGによって構成されており、例えば、プログラムPRG01は、先行プログラムがプログラムPRG99であり、後続プログラムがプログラムPRG02である。また、プログラムPRG01は、複数のファイルDATASET1〜DATASETNを入力ファイルとし、取得したデータをソートして、出力ファイル(ワークファイル)DATASETWiとして出力するものである。このようなジョブまたはプログラムと、入力ファイルまたは出力ファイルとの関連を把握するものとして、関連図20や工程表30がある。
関連図20は、図12に示すように、プログラムのコードに基づいて、当該プログラムの入力ファイルと、出力ファイルと、当該プログラムとの関連が図示されたものであり、主として、ジョブID21と、入力ファイル22と、プログラム23と、出力ファイル24と、記事25と、後続プログラム26とを図示するものである。具体的には例えば、図11に示すようなジョブJOB01に含まれるプログラムPRG01(JOBSTEP01)について説明する。関連図20には、図12に示すように、ジョブID21としてジョブを識別するIDが「JOB01」と表示され、入力ファイル22としてデータセットDATASET1〜DATASETNが図示され、プログラム23としてソート処理を行うプログラムPRG01(ジョブステップJOBSTEP01)が図示され、出力ファイル24としてデータセットDATASETWiが図示されている。また、記事25としてソートキーが表示され、後続プログラム26としてJOBSTEP02が図示されている。
工程表30は、図13に示すように、ジョブのコードに基づいて、各プログラムにおけるプログラムで参照、更新するデバイスを、カード・テープと保存ファイル、ワークファイルに分けて図示したものであり、主として、ジョブNo31と、プログラム32、ジョブステップ33と、カード・テープ34と、保存ファイル35と、ワークファイル36とを図示するものである。具体的には例えば、図11に示すようなジョブJOB01について説明する。ジョブNo31としてジョブを識別するIDが「JOB01」と表示され、プログラム32、ジョブステップ33としては、例えば、プログラムとジョブステップを識別するIDが「PRG99(ジョブステップJOBSTEP99)」と表示されている。保存ファイル35としてデータセットDATASET99が図示されている。
ジョブ再実行支援システム1は、主として、雛型記憶手段11と、変更履歴記憶手段12と、障害履歴記憶手段13と、変更履歴管理タスク14と、障害履歴管理タスク15と、関連図作成手段としての関連図作成タスク16と、工程表作成手段としての工程表作成タスク17と、ジョブ再実行手段としてのジョブ再実行タスク18と、ジョブ再実行検証タスク19と、記憶部10bと、これらを制御などする制御部10aとを備えている。
雛型記憶手段11は、プログラムやジョブのコードから後述する関連図20と工程表30を図示するためのものであり、ステートメント種別ごとに関連図20と工程表30を図示するための雛型データベース11aを格納するものである。ここで、ステートメント種別とは、「EXEC」、「DD」、「RTN」などを含むステートメント文の種類のことである。雛型情報データベース11aは、図2に示すように、ステートメント種別111ごとに、名称112と、取得情報113と、テンプレート114と、その他115とを記憶している。ステートメント種別111には、ステートメント種別、すなわち、「EXEC」、「DD」、「RTN」などを含むステートメント文の種別が記憶されている。名称112には、ステートメント種別111の名称が記憶されており、例えば、ステートメント種別111ごとに「プログラム実行」、「データ定義」、「戻り値」などと記憶されている。取得情報113には、ステートメントから取得して、関連図20や工程表30に図示する情報が記憶されている。例えば、ステートメント種別111が「EXEC」の場合は、ジョブステップ名、プログラム名を取得するように記憶している。また、ステートメント種別111が「DD」の場合は、データ情報としてデータセット名、装置情報などのDDステートメントに記述された情報を取得するように記憶している。さらに、ステートメント種別111が「RTN」の場合は、戻り値情報としてRTNステートメントに記述された情報、例えば、KEY情報を取得するように記憶している。テンプレート114には、各ステートメント種別111を関連図20や工程表30に図示する際のテンプレート(雛型)が記憶されている。これらの図形には、文字列として表示する情報が合わせて記憶されている。例えば、ステートメント種別111が「EXEC」の場合は、図3(a)に示すようなプログラムを表す図形と、プログラムID(ジョブステップID)、処理内容を図示することが記憶されている。また、ステートメント種別111が「DD」の場合は、図3(b)に示すようなファイルを表す図形と、ディスク区分などを図示することが記憶されている。
変更履歴記憶手段12は、プログラムの変更履歴データベース12aを格納するものである。変更履歴データベース12aは、図4に示すように、ジョブID121と、プログラムID122と、バージョン123ごとに、変更日時124と、変更内容125と、その他126とを記憶している。ジョブID121は、ジョブIDが記憶され、プログラムID122には、プログラムIDが記憶され、バージョン123には、当該プログラムのバージョンが記憶されている。変更日時124には、プログラムを変更した日時が記憶され、変更内容125には、プログラムの変更内容、つまり、修正箇所、修正内容、修正者などを含む変更情報が記憶されている。変更履歴データベース12aは、後述する変更履歴管理タスク14によって更新されるようになっている。
障害履歴記憶手段13は、ジョブに発生した障害の障害履歴データベース13aを格納するものである。障害履歴データベース13aは、図5に示すように、障害発生日時131と、ジョブID132と、プログラムID133と、障害内容134と、障害対応内容135と、その他136とを記憶している。障害発生日時131には、当該ジョブに障害が発生した日時が記憶され、ジョブID132は、ジョブIDが記憶され、プログラムID133には、プログラムIDが記憶されている。障害内容134には、発生した障害の内容、障害の発生事象や、障害原因、当該ジョブの起動日時が記憶され、障害対応内容135には、当該障害を解消するために修正したジョブ、プログラム、修正箇所、変更履歴データベース12aへのポインタなどが記憶されている。障害履歴データベース13aは、後述する障害履歴管理タスク15によって更新されるようになっている。
変更履歴管理タスク14は、プログラムの変更時に、変更履歴データベース12aのジョブID121と、プログラムID122と、バージョン123と、変更日時124と、変更内容125とを更新する機能を有するプログラムである。変更履歴管理タスク14は、常時、ジョブのソースコードであるJCLが所定の保存場所、例えば、開発サーバに登録されることを監視しており、JCLの登録を検出すると変更履歴データベース12aへの更新処理を起動するようになっている。このとき、コード内に記述された修正箇所を示すコメントや、ひとつ前のバージョンのプログラムとの差分から変更内容を生成して変更履歴データベース12aに記憶する。
障害履歴管理タスク15は、障害が発生した際に、障害履歴データベース13aの障害発生日時131と、ジョブID132と、プログラムID133と、障害内容134と、障害対応内容135とを更新する機能を有するプログラムである。障害履歴管理タスク15は、常時、プログラムやジョブの戻り値や、ログファイル、ファイルの更新状況などを監視しており、プログラムやジョブが異常終了したことを検出すると、戻り値や、ログファイル、ファイルの更新状況などから障害内容を生成して障害履歴データベース13aに登録する処理を起動するようになっている。
関連図作成タスク16は、プログラムのコードに基づいて、当該プログラムと、入力ファイルと、出力ファイルとの関連を図示し、図12に示すような関連図20を作成する機能を有するプログラムである。関連図作成タスク16は、常時、JCLが所定の保存場所、例えば、開発サーバに登録されることを監視しており、JCLの登録を検出すると、当該JCLに含まれるプログラムの中で、変更されたプログラムの関連図を作成する処理を起動するように制御部10aによって制御されている。ここで、変更されたプログラムであるか否かは、変更履歴データベース12aに該当する更新データが存在するか否かによって判定する。該当する更新データの有無は、例えば、更新日時が現在時刻から所定時間以内である場合に、該当する更新データが存在すると判定する。
関連図作成タスク16は、変更されたプログラムのコードを取得して、ステートメントごとに、雛型データベース11aに基づいて該当する雛型を図示する機能を有し、図6に示すフローチャートに基づいた処理を行う。まず、プログラムのコードを取得し(ステップS11)、1ステートメントを取得し(ステップS12)、当該ステートメントが入力ファイルであるか否か、すなわち、当該ステートメントがDD文であるか否かを判定する(ステップS13)。入力ファイルの場合(「YES」の場合)は、入力ファイルまたは出力ファイルを図示する(ステップS14)。すなわち、雛型データベース11aから、ステートメント種別111が「DD」のデータを取得して、取得情報113がデータセット名、ユニット区分などであることや、テンプレート114などを取得する。そして、取得したテンプレート114に基づいて、図3(b)に示すようなファイルを表す図形に、当該ステートメントに基づいてディスク区分などを図示する。入力ファイルではない場合(「NO」の場合)は、ステートメントの情報を図示する。すなわち、雛型データベース11aから、ステートメント種別111が「DD」以外のデータ、例えば「EXEC」のデータを取得して、取得情報113がジョブステップ名、プログラム名であることや、テンプレート114などを取得する。そして、取得したテンプレート114に基づいて、図3(a)に示すようなプログラムを表す図形に、プログラムID(ジョブステップID)、処理内容を図示する。
そして、次のステートメントの有無を判定する(ステップS16)。次のステートメントが存在する場合(「YES」の場合)は、ステップS12に戻って、すべてのステートメントについてステップS12〜ステップS16の処理を繰り返す。
次のステートメントが存在しない場合(「NO」の場合)は、このタスクの処理を終了する。
ここでは、例えば、図11に示すようなプログラム「PRG01」について説明する。まず、プログラム「PRG01」は、先頭に「//**UPD YYYYMMDD」とのコメントが記載されており、変更されたプログラムであることが示されている。また、この変更に該当する変更履歴が変更履歴データベース12aに記憶されている。1行目のステートメントから、図12のジョブID21に「JOB01」と図示する。そして、EXEC文のステートメントから、プログラム23に、図3(a)に示すようなプログラムを表す図形に「PRG01(JOBSTEP01)」と表示したものを図示する。そして、複数のDD文のステートメント、すなわち、DD=SORTINからDD=SORTOUTの行から、入力ファイル22に、図3(b)に示すようなファイルを表す図形にそれぞれ「DATASET1」〜「DATASETN」と表示したものを図示する。そして、DD文のステートメント、すなわち、DD=SORTWiの行から、出力ファイル24に、図3(b)に示すようなファイルを表す図形に「DATASETWi」と表示したものを図示する。そして、RTN文のステートメントから、KEY情報25に「’c1,c2,・・・,’,’d2,d2,・・・,’」と表示する。そして、次のEXEC文のステートメントから、次のジョブステップ26に「JOBSTEP02」と表示する。そして、入力ファイル22からプログラム23へ、プログラム23から出力ファイル24へ、出力ファイル24から次のジョブステップ26へ矢印を図示する。
このようにして、変更したプログラムのコードに基づいて、当該プログラムと、入力ファイルと、出力ファイルとの関連図20を作成する。
工程表作成タスク17は、プログラムのコードに基づいて、ジョブに含まれる複数のプログラムの入力ファイルと、出力ファイルとをプログラムごとに図示する、図13に示すような工程表30を作成する機能を有するプログラムである。
工程表作成タスク17は、関連図作成タスク16が終了すると続いて起動されるように制御部10aによって制御されている。すなわち、変更されて登録されたJCLについて処理が行われるようになっている。
工程表作成タスク17は、図7に示すフローチャートに基づいた処理を行う。まず、ジョブのコードを取得し(ステップS21)、ジョブを工程表に図示する(ステップS22)。すなわち、ジョブのコードから取得したジョブIDを、ジョブNo31に表示する。そして、プログラムを取得し(ステップS23)、プログラムを工程表に図示する(ステップS24)。すなわち、プログラムのコードから取得したプログラムID、ジョブステップIDを、プログラムNo32、ジョブステップNo33に表示する。そして、当該プログラムについてデバイスを図示する(ステップS25)。具体的には、プログラムのコードを取得して1ステートメントずつ取得し、当該ステートメントがデータ定義文(DD文)であるか否かを判定する。データ定義文の場合(「YES」の場合)は、デバイスを図示する。このとき、デバイスがカード・テープの場合は、カード・テープ34に所定のテンプレートで図示し、デバイスが保存ファイルの場合は、保存ファイル35に所定のテンプレートで図示し、デバイスがワークファイルの場合は、ワークファイル36に所定のテンプレートで図示する。データ定義文ではない場合(「NO」の場合)は、ステートメントの情報、例えば、KEY情報などを記事37に図示する。そして、次のステートメントの有無を判定する。次のステートメントが存在する場合(「YES」の場合)は、すべてのステートメントについて同様の処理を繰り返す。次のステートメントが存在しない場合(「NO」の場合)は、ステップS26に進む。
そして、次のプログラムの有無を判定する(ステップS26)。次のプログラムが存在する場合(「YES」の場合)は、ステップS23に戻ってすべてのプログラムについてステップS23〜ステップS26の処理を繰り返し、次のプログラムが存在しない場合(「NO」の場合)は、このタスクの処理を終了する。
ここでは、例えば、図11に示すようなジョブ「JOB01」について説明する。このジョブは、複数のEXEC文が含まれており、複数のプログラムで構成されている。まず、1行目のステートメントから、図13のジョブNo31に「JOB01」と記載する。そして、1つめのEXEC文のステートメントから、プログラム32に「PRG99」と記載し、ジョブステップ33に「JOBSTEP99」と記載する。そして、DD文のステートメントから、保存ファイル35に、保存ファイルを表す図形に「DATASET99」と表示したものを図示する。
つぎに、2つめのEXEC文のステートメントから、プログラム32に「PRG01」と記載し、ジョブステップ33に「JOBSTEP01」と記載する。そして、複数のDD文のステートメント、すなわち、DD=SORTINからDD=SORTOUTの行から、保存ファイルを表す図形に「DATASET1」〜「DATASETN」と表示したものを図示する。そして、RTN文のステートメントから、記事37にKEY情報として「’c1,c2,・・・,’,’d2,d2,・・・,’」と図示する。
つぎに、次のEXEC文のステートメントから、プログラム32に「PRG02」と記載し、ジョブステップ33に「JOBSTEP02」と記載する。
このような処理をプログラムの各ステートメントについて繰り返して、変更したプログラムを含むジョブの工程表30が作成される。
また、工程表作成タスク17は、プログラムが異常終了した場合に、作成した最新の工程表30に異常終了した工程に色を付して表示する機能を有しており、プログラムが異常終了した場合に、当該機能が起動するように制御部10aによって制御されている。
ジョブ再実行タスク18は、ジョブが異常終了した場合に、工程表30において選択されたプログラム(再実行プログラム)の直前の入力ファイル、出力ファイルの状態に戻して、再実行プログラムを再実行可能な状態にする機能を有するプログラムである。ここで、すべての入力ファイル、出力ファイルは、記憶部10bにバックアップが保存されており、ジョブの起動前の状態にリカバリ可能となっている。このジョブ再実行タスク18は、工程表30においてプログラムが選択されると起動されるように制御部10aによって制御されている。
このジョブ再実行タスク18は、図8に示すフローチャートに基づいた処理を行う。まず、ジョブのコードを取得し(ステップS31)、再実行プログラムの直前のプログラムが終了した状態の入力ファイルおよび出力ファイルの状態に戻す(ステップS32)。
すなわち、ジョブのコードと工程表30とから、ジョブの異常終了時に使用されたデバイス、すなわち、入力ファイルおよび出力ファイルと、再実行プログラムの直前のプログラムまでで使用されたデバイス、すなわち、入力ファイルおよび出力ファイルを抽出する。そして、ジョブの異常終了時の入力ファイルおよび出力ファイルを所定のフォルダから削除して、ジョブが異常終了する前(ジョブを起動する直前)の入力ファイルを、バックアップから取得して所定のフォルダに保存して、異常終了したジョブを再実行可能な状態にする。そして、再実行プログラムの直前のプログラムまでを再実行する。このようにして、再実行プログラムの直前のプログラムが終了した状態の入力ファイルおよび出力ファイルの状態に戻す。
そして、入力ファイルおよび出力ファイルが再実行プログラムの直前のプログラムが終了した状態に戻ったことを開発担当者に通知して、開発担当者からの「続行指令」の入力を待つ(ステップS33)。
そして、開発担当者からの「再実行指示」の入力があった場合は(「YES」の場合)は、ジョブを再実行プログラムから再実行する(ステップS34)。
ジョブ再実行検証タスク19は、ジョブ再実行タスク18によってジョブを再実行した後に起動されるように制御部10aによって制御されており、ジョブが正しいかどうかを検証する機能を有するプログラムである。
ジョブ再実行検証タスク19は、図9に示すフローチャートに基づいた処理を行う。まず、ジョブの再実行前(異常終了時)と再実行後(修正後)のコード、入力ファイル、出力ファイルの差分を取得して(ステップS41)、ジョブの再実行前と再実行後におけるコードの差分の有無を判定する(ステップS42)。コードに差分があると判定した場合(「YES」の場合)は、変更箇所を検証する(ステップS43)。具体的には、再実行の前後でコードと、入力ファイルまたは出力ファイルに差分がある場合は、コードの変更部分から変更される入力ファイルまたは出力ファイルを予測し、変更された入力ファイルまたは出力ファイルが予測との差異の有無を判定する。例えば、差異がない場合は、ジョブが正しい、すなわち、修正が正しい旨を出力し、差異がある場合は、ジョブが正しくない、すなわち、修正が不十分である旨を出力する。そして、ジョブの再実行前と再実行後におけるコード、入力ファイルまたは出力ファイルの差分と判定結果を出力する(ステップS44)。
ステップS42において、コードに差分がないと判定した場合(「NO」の場合)は、入力ファイルまたは出力ファイルの差分と、コードに変更がない旨を出力する(ステップS45)。ここで、この場合は、入力ファイルを修正して再実行した場合であり、入力ファイルまたは出力ファイルのみに差分がある場合であるので、ジョブが正常終了して出力ファイルが正しく出力されているか否かを確認する。具体的には、ジョブの再実行前と再実行後における出力ファイルの差分があるか否かを確認する。
記憶部10bは、変更履歴管理タスク14や、障害履歴管理タスク15、関連図作成タスク16、工程表作成タスク17、ジョブ再実行タスク18、ジョブ再実行検証タスク19のプログラムで取得した情報やワークファイルなどを記憶するものである。
次に、このような構成のジョブ再実行支援システム1における情報の処理手段および作用について説明する。ここでは、ジョブJOB01の中の1つのプログラムPRG01を改修する場合について説明する。
まず、図10に示すように開発担当者Mによって、プログラムPRG01が改修される(ステップS51)。改修が終了すると、プログラムPRG01が開発サーバに登録されて、ジョブJOB01の実行指令が出される。また、プログラムPRG01が登録されたことにより、変更履歴管理タスク14によって変更履歴データベース12aが更新され(ステップS52)、関連図作成タスク16によって関連図20が作成される(ステップS53)。また、工程表作成タスク17によって工程表30が作成される(ステップS54)。
そして、ジョブJOB01が実行されて(ステップS55)、実行結果(正常/異常)が通知される。ここでは、ジョブJOB01が異常終了し、障害履歴管理タスク15が起動されて、障害履歴データベース13aにデータが追加される(ステップS56)。また、ジョブJOB01が異常終了した旨が開発担当者Mに工程表30とともに通知される。このとき、開発担当者Mが工程表30を参照すると、工程表作成タスク17によって工程表30において異常終了したプログラムPRG01が赤色で表示された状態となっている(ステップS57)。
そして、開発担当者Mによって、プログラムPRG01が確認されて修正される(ステップS58)。修正が終了すると、障害履歴データベース13aの障害対応内容135が更新される。
そして、修正したプログラムPRG01が開発サーバに登録される。プログラムPRG01が登録されたことにより、変更履歴管理タスク14によって変更履歴データベース12aが更新され(ステップS59)、関連図作成タスク16によって関連図20が作成される(ステップS60)。また、工程表作成タスク17によって工程表30が作成される(ステップS61)。
そして、開発担当者Mによって、工程表30においてプログラムPRG01が選択された状態で、ジョブ再実行タスク18の実行指令が出される。
ジョブ再実行タスク18が実行されて(ステップS62)、プログラムPRG01の直前のプログラムPRG99が終了した状態に、入力ファイルおよび出力ファイルが戻されて、開発担当者Mからの確認結果待ちとなり、タスクの処理を中断する。
そして、開発担当者Mによって、入力ファイルや出力ファイルが確認されて、正しく処理が行われていること、すなわち、プログラムPRG01が再実行可能な状態であることが確認されて(ステップS63)、確認OK(再実行指示)が出される。
そして、ジョブ再実行タスク18が再開されて、プログラムPRG01からジョブが再実行される(ステップS62の再開)。
そして、ジョブ再実行検証タスク19が起動されて(ステップS64)、結果が出力される。
開発担当者Mは、ジョブ再実行検証タスク19の結果を確認して、プログラムの障害がなくなるまでステップS58からステップS64の処理を繰り返す。
以上のように、このジョブ再実行支援システム1によれば、JCLが開発サーバに登録されると、工程表作成タスク17によって工程表30が作成され、関連図作成タスク16によって関連図20が作成される。このため、開発担当者は、プログラムの不具合を発見したり、ジョブが異常終了したりした場合には、工程表30を参照することによってプログラムの修正箇所やジョブの再実行箇所を判断することができる。また、工程表30において再実行したいプログラムを選択するだけで、ジョブ再実行タスク18によって当該プログラムが再実行可能な状態とされるので、効率的な再実行が可能となる。
また、ジョブの再実行が容易になるので、プログラムの修正とそれに伴うジョブの再実行を繰り返すプログラム開発やテストに要する工数を削減可能である。このように、ジョブの再実行が容易になるので、プログラムの修正とそれに伴うジョブの再実行を繰り返すプログラム開発やテストに要する工数を削減可能である。
また、プログラムが異常終了した際に、工程表作成タスク17によって、工程表30に異常終了したプログラムを表示するので、異常終了したプログラムを一目で確認することができる。すなわち、工程表30において視覚的に異常終了箇所が示されるので、ジョブに含まれるプログラムと入力ファイルまたは出力ファイルの関連を把握し易くなり、容易に修正箇所を判断可能となる。これにより、プログラムやファイルの修正箇所の間違いや漏れを防止することが可能になる。
さらに、関連図作成タスク16によって、プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方との関連を図示する関連図20が作成されるので、プログラムごとに入力ファイルまたは出力ファイルを確認することが容易になる。これにより、プログラムの修正箇所の間違いや漏れを防止することが可能になる。
以上、この発明の実施の形態について説明したが、具体的な構成は、上記の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があっても、この発明に含まれる。例えば、上記の実施の形態では、ジョブおよびプログラムは、JCLでコーディングされているものとして説明したが、他の言語であってもよいことはもちろんである。
また、ジョブ再実行タスク18は、ジョブの異常終了時以外、例えば、入力ファイルに不整合があった場合であっても実行可能である。具体的には、当該入力ファイルを正しいものと置き換えた後に、工程表30において当該入力ファイルを使用するプログラムを選択した状態で、ジョブ再実行タスク18の実行指示を出すと、ジョブ再実行タスク18によって当該プログラムが再実行可能な状態、すなわち、正しい入力ファイルによって当該プログラムを再実行可能な状態となる。
1 ジョブ再実行支援システム
11 雛型記憶手段
12 変更履歴記憶手段
13 障害履歴記憶手段
14 変更履歴管理タスク
15 障害履歴管理タスク
16 関連図作成手段(関連図作成タスク)
17 工程表作成手段(工程表作成タスク)
18 ジョブ再実行手段(ジョブ再実行タスク)
19 ジョブ再実行検証タスク
20 プログラム関連図(関連図)
30 電算機処理工程明細表(工程表)
前記の課題を解決するために、請求項1の発明は、入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムと、複数の前記プログラムを順次実行するジョブと、前記プログラムと前記ジョブとを登録するサーバ装置と、前記サーバ装置に前記プログラムやジョブが変更されて登録されたことを検出した場合に、変更履歴を記憶する変更履歴記憶手段と、前記ジョブに障害が発生した際に、障害内容を記憶する障害履歴記憶手段と、前記変更履歴記憶手段に基づいて、前記プログラムが変更されたと判定した場合は、変更されて登録された前記プログラムのソースコードに基づいて、前記プログラムが使用する入力ファイルまたは出力ファイルの少なくともいずれか一方が前記プログラムごとに図示され、変更したプログラムを含むジョブが時系列で図示された工程表を作成する工程表作成手段と、前記工程表作成手段によって作成された工程表において選択されたプログラムが実行される直前の状態に、入力ファイルと出力ファイルとを戻して、当該プログラムを再実行可能な状態にして、選択されたプログラムの再実行指示の入力を待つジョブ再実行手段と、を備えることを特徴とするジョブ再実行支援システムである。
この発明によれば、ジョブ再実行手段によって、工程表において選択されたプログラムが実行される直前の状態に入力ファイルと出力ファイルとが戻されて、当該プログラムが再実行可能な状態にして、選択されたプログラムの再実行指示の入力を待つ
請求項3に記載の発明は、請求項1または2に記載のジョブ再実行支援システムにおいて、前記変更履歴記憶手段に基づいて、前記プログラムが登録、変更されたと判定した場合は、前記プログラムのソースコードに基づいて、当該プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方との関連を図示する関連図を作成する関連図作成手段と、を備えることを特徴とする。
請求項1に記載の発明によれば、変更履歴記憶手段に基づいて、前記プログラムが変更されたと判定した場合は、工程表作成手段によって、変更したプログラムを含むジョブが時系列で図示された工程表が作成されるので、ジョブに含まれるプログラムの入力ファイルまたは出力ファイルを正確に把握することが出来る。このため、開発担当者は、プログラムの不具合を発見したり、ジョブが異常終了したりした場合には、工程表を参照することによってプログラムの修正箇所やジョブの再実行箇所を判断することができる。また、工程表において再実行したいプログラムを選択するだけで、ジョブ再実行手段によって当該プログラムが再実行可能な状態とされるので、効率的な再実行が可能となる。
請求項3に記載の発明によれば、プログラムが登録、変更されたと判定した場合は、関連図作成手段によって、プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方との関連を図示する関連図が作成されるので、プログラムごとに入力ファイルまたは出力ファイルを確認することが容易になる。これにより、プログラムの修正箇所の間違いや漏れを防止することが可能になる。

Claims (3)

  1. 入力ファイルまたは出力ファイルの少なくともいずれか一方を使用した処理を行うプログラムと、
    複数の前記プログラムを順次実行するジョブと、
    前記プログラムのソースコードに基づいて、前記プログラムが使用する入力ファイルまたは出力ファイルの少なくともいずれか一方が前記プログラムごとに図示された工程表を作成する工程表作成手段と、
    前記工程表作成手段によって作成された工程表において選択されたプログラムが実行される直前の状態に、入力ファイルと出力ファイルとを戻して、当該プログラムを再実行可能な状態にするジョブ再実行手段と、
    を備えることを特徴とするジョブ再実行支援システム。
  2. 前記工程表作成手段は、前記プログラムが異常終了した場合に、前記工程表に異常終了したプログラムを図示する、
    ことを特徴とする請求項1に記載のジョブ再実行支援システム。
  3. 前記プログラムのソースコードに基づいて、当該プログラムと、入力ファイルまたは出力ファイルの少なくともいずれか一方との関連を図示する関連図を作成する関連図作成手段と、
    を備えることを特徴とする請求項1または2に記載のジョブ再実行支援システム。
JP2013009811A 2013-01-23 2013-01-23 ジョブ再実行支援システム Expired - Fee Related JP5497210B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013009811A JP5497210B1 (ja) 2013-01-23 2013-01-23 ジョブ再実行支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013009811A JP5497210B1 (ja) 2013-01-23 2013-01-23 ジョブ再実行支援システム

Publications (2)

Publication Number Publication Date
JP5497210B1 JP5497210B1 (ja) 2014-05-21
JP2014142741A true JP2014142741A (ja) 2014-08-07

Family

ID=50941656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013009811A Expired - Fee Related JP5497210B1 (ja) 2013-01-23 2013-01-23 ジョブ再実行支援システム

Country Status (1)

Country Link
JP (1) JP5497210B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016166900A1 (ja) * 2015-04-17 2016-10-20 三菱電機株式会社 情報処理装置及び情報処理方法及び情報処理プログラム
JP2018018122A (ja) * 2016-07-25 2018-02-01 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5748142A (en) * 1980-09-03 1982-03-19 Fujitsu Ltd Job control system
JPH0573284A (ja) * 1991-09-11 1993-03-26 Syst Burein:Kk 作図処理装置及びその方法
JPH0683598A (ja) * 1992-09-03 1994-03-25 Hitachi Ltd ジョブフロー仕様書自動作成方法
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
JPH11212772A (ja) * 1998-01-29 1999-08-06 Nec Corp ジョブ管理装置、ジョブ管理方法及び記録媒体
JP2001014175A (ja) * 1999-06-29 2001-01-19 Toshiba Corp ジョブ運用管理システム、ジョブ運用管理方法及び記憶媒体
JP2010128905A (ja) * 2008-11-28 2010-06-10 Canon It Solutions Inc 情報処理装置及び方法、並びにプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5748142A (en) * 1980-09-03 1982-03-19 Fujitsu Ltd Job control system
JPH0573284A (ja) * 1991-09-11 1993-03-26 Syst Burein:Kk 作図処理装置及びその方法
JPH0683598A (ja) * 1992-09-03 1994-03-25 Hitachi Ltd ジョブフロー仕様書自動作成方法
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
JPH11212772A (ja) * 1998-01-29 1999-08-06 Nec Corp ジョブ管理装置、ジョブ管理方法及び記録媒体
JP2001014175A (ja) * 1999-06-29 2001-01-19 Toshiba Corp ジョブ運用管理システム、ジョブ運用管理方法及び記憶媒体
JP2010128905A (ja) * 2008-11-28 2010-06-10 Canon It Solutions Inc 情報処理装置及び方法、並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016166900A1 (ja) * 2015-04-17 2016-10-20 三菱電機株式会社 情報処理装置及び情報処理方法及び情報処理プログラム
JP6023898B1 (ja) * 2015-04-17 2016-11-09 三菱電機株式会社 情報処理装置及び情報処理方法及び情報処理プログラム
JP2018018122A (ja) * 2016-07-25 2018-02-01 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP5497210B1 (ja) 2014-05-21

Similar Documents

Publication Publication Date Title
CN107643904B (zh) 代码提交日志的检测方法、装置、介质及电子设备
US20150154097A1 (en) System and method for automated testing
CN105159991B (zh) 一种保持数据一致性的方法、装置、系统和应用服务器
CN112561370A (zh) 软件发版的管理方法、装置、计算机设备及存储介质
JPH11134235A (ja) 外部記憶装置故障時の回復支援方法
US8738569B1 (en) Systematic verification of database metadata upgrade
JP5497210B1 (ja) ジョブ再実行支援システム
CN109445800B (zh) 一种基于分布式系统的版本自动部署方法及系统
US10146823B2 (en) Relevant-information providing method, relevant-information providing apparatus, and relevant-information providing program
CN111198920B (zh) 一种基于数据库同步确定对比表快照的方法及装置
JP5848317B2 (ja) 検証作業支援システム
US20240311349A1 (en) Automatic database schema updater
US20180032548A1 (en) Data Structure, Model for Populating a Data Structure and Method of Programming a Processing Device Utilising a Data Structure
CN116089394A (zh) 数据库的数据回滚方法、存储介质与设备
US20160147561A1 (en) Information processing method and information processing system
JP6840656B2 (ja) テストスクリプト修正装置及びプログラム
JP2014126900A (ja) プログラム解析装置、プログラム解析方法、及び、プログラム解析プログラム
CN113934573A (zh) 一种内存数据库的数据恢复方法及装置
CN114327588A (zh) 一种代码提交日志的处理方法及装置
JP7013652B2 (ja) ソースコード特定プログラム、ソースコード特定方法及びソースコード特定装置
JP2016115223A (ja) データベース管理システム、データベース管理方法、およびプログラム。
US20090177705A1 (en) System and method for using generic utilities to perform database utilities on mainframe operated DB2 databases
US20240168851A1 (en) System and method for scanning file systems
CN113391942B (zh) shell脚本打印日志方法和装置、电子设备和存储介质
CN116149707B (zh) 分布式系统的升级风险检测和规避方法及装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140305

R150 Certificate of patent or registration of utility model

Ref document number: 5497210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees