Sequence Management Console

1. SMC で使用する 要素の紹介

1-1. バッチ

バッチ定義の一番上の階層です。パターンタイプを指定します。

1-2. SQLマッパー

Data Management Consoleで定義されたSQLマッパーをバッチアプリケーションで使用する為にインスタンス化する設定を登録します。SQLマッパーに送信するデータのセット、逆に受信するデータのセット等を設定します。

1-3. ロジッククラス

Operation Management Consoleで定義されたロジッククラスをバッチアプリケーションで使用する為にインスタンス化する設定を登録します。自分自身のどのデータをロジッククラスに送り、どのデータにロジッククラスからデータをセットしてもらうのか等を設定します。製品にて提供されている共通のロジッククラスだけでなく、プロジェクト用に作成したロジッククラスも使用出来ます。

1-4. サブトランザクション

Server Application Management Consoleで定義されたトランザクションを呼び出す事が出来ます。その対象のトランザクションへ送信するデータのセット、逆に受信するデータのセット等を登録します。

1-5. トランザクション

パターンタイプで既定された処理モジュールがトランザクションとして表示されます。また、複数のディシジョンテーブルを処理として登録します。

1-6. ディシジョンテーブル

入力ファイルで読込んだデータの内容やデータベース上の基本データの値によって実行する処理(SQLマッパー/ロジッククラス/サブトランザクション)を切替えたい場合に、ディシジョンタイプを複数登録して制御します。

処理の切り分け等が無い単純なパターンの場合、最も単純なディシジョンテーブルの構成(ディシジョンテーブル1つにディシジョンタイプも1つ)で登録します。

1-7. ディシジョンタイプ

GetData/SetCase/Execute/Finally/Error の5種類あり、それぞれに実行する処理(SQLマッパー/ロジッククラス/サブトランザクション)を複数登録する事が出来ます。

1-8. データ

バッチアプリケーションで基本データの値を保持する唯一の要素です。他の要素で扱う基本データは全てこのデータへの値に対しての処理になります。

 

2. 要素の説明

2-1. バッチ

2-1-1. バッチの設定

バッチ情報を入力します。バッチでは以下の項目を設定します。

  1. 論理名
    プログラム名を日本語で入力します。

  2. 物理名
    プログラム名を英数字で入力します。

  3. パターンタイプ
    パターンタイプを以下の中から選択します。

    • DBSELECT
    • CONTROL_BREAK_0
    • CONTROL_BREAK_1
    • CONTROL_BREAK_2
    • CONTROL_BREAK_3
    • CONTROL_BREAK_4

    パターンタイプを選択すると、パターンで決められた処理モジュールが自動的にトランザクションタブに設定されます。

    • DBSELECTパターンで設定される処理モジュール

      出力ファイル定義(Def_OutputWriteProc)
      初期処理定義(Def_InitializeProc)
      明細処理定義(Def_DetailProc)
      終了処理定義(Def_TerminateProc)

    • CONTROL_BREAK_0パターンで設定される処理モジュール

      入力ファイル定義(Def_InputReadProc)
      出力ファイル定義(Def_OutputWriteProc)
      初期処理定義(Def_InitializeProc)
      明細処理定義(Def_DetailProc)
      終了処理定義(Def_TerminateProc)

    • CONTROL_BREAK_1パターンで設定される処理モジュール
      CONTROL_BREAK_0で設定される処理モジュールに下記の処理モジュールが追加されます。

      ブレイクキー定義1(Def_BreakKey_1_Proc)
      ブレイク前処理1(Def_BreakBefore_1_Proc)
      ブレイク後処理1(Def_BreakAfter_1_Proc)

    • CONTROL_BREAK_2パターンで設定される処理モジュール
      CONTROL_BREAK_1で設定される処理モジュールに下記の処理モジュールが追加されます。

      ブレイクキー定義2(Def_BreakKey_2_Proc)
      ブレイク前処理2(Def_BreakBefore_2_Proc)
      ブレイク後処理2(Def_BreakAfter_2_Proc)

    • CONTROL_BREAK_3パターンで設定される処理モジュール
      CONTROL_BREAK_2で設定される処理モジュールに下記の処理モジュールが追加されます。

      ブレイクキー定義3(Def_BreakKey_3_Proc)
      ブレイク前処理3(Def_BreakBefore_3_Proc)
      ブレイク後処理3(Def_BreakAfter_3_Proc)

    • CONTROL_BREAK_4パターンで設定される処理モジュール
      CONTROL_BREAK_3で設定される処理モジュールに下記の処理モジュールが追加されます。

      ブレイクキー定義4(Def_BreakKey_4_Proc)
      ブレイク前処理4(Def_BreakBefore_4_Proc)
      ブレイク後処理4(Def_BreakAfter_4_Proc)


2-2. SQLマッパー

2-2-1. SQLマッパーの設定

データベースへのアクセス(登録・更新・削除・照会)情報・テキスト入力ファイル・テキスト出力ファイル・プリントファイル・出力項目定義・ブレイクキー定義等を処理モジュール毎に設定します。SQLマッパーの設定は以下の手順で行います。追加ボタンをクリックするとSQLマッパー選択一覧が表示されます。一覧にはData Management ConsoleのSQLマッパー・IOマッパーで登録されているデータベーステーブルへの全てのアクセス情報・各種テキストファイル情報・その他が表示されます。使用するSQLマッパーを選択します。SQLマッパーでは以下の項目を設定します。

  1. 論理名
    選択したSQLマッパーの論理名をそのまま使用します。

  2. 物理名
    選択したSQLマッパーの物理名をそのまま使用します。
    同一SQLマッパーを複数使用する時、各々処理内容が解るように論理名を補足します。物理名については、連番でも可能です。

  3. SQLマッパー論理名・SQLマッパー物理名
    選択したSQLマッパーの論理名・物理名が表示されます。論理名・物理名のいずれかをクリックするとSQLマッパー選択一覧が表示されます。一度設定したSQLマッパーを変更する時に使用します。

  4. 接続DB
    接続先のDBを選択します。接続先のDBは、Operation Management ConsoleのDBコネクションで登録されたものが表示されます。一つのバッチプログラムで複数のDBにアクセスすることが出来ます。

  5. ロジッククラス
    選択されたSQLマッパーが動的SQLを実行する時、そのSQLを作成するロジッククラスを設定します。動的SQLとは、実行都度入力条件が変化し、異なったSQLを実行する必要がある為ロジッククラスの処理ロジック内でデータを判定し作成されるSQLを指します。

    ロジッククラスの作成についてはサーバロジッククラスを参照してください。
  6. 出力マッパークラス論理名・出力マッパークラス物理名
    セルをクリックすると、SQLマッパー選択一覧ダイアログが表示されます。選択されているSQLマッパーがデータベース検索用SQLマッパーの場合、一覧ダイアログからテキスト出力ファイルを選択します。選択されているSQLマッパーが出力項目定義用SQLマッパーの場合、一覧ダイアログからテキスト出力ファイルまたはプリントファイルを選択します。選択された各ファイルへデータベース受信データセットに設定されているデータが出力されます。テキスト出力ファイルへはCSV形式・プリントファイルファイルへはTEX形式で出力されます。

  7. パラメータ
    選択されているSQLマッパーがテキスト入力ファイル・テキスト出力ファイル・プリントファイルの場合、ディスク上のファイル名を設定します。
    設定されているSQLマッパーが出力項目定義の時、出力項目定義用として設定したSQLマッパーを割り当てます。

2-2-2. 送受信データセットタブの設定

送受信データセットタブでは送信データセット・受信データセットを設定します。Data Management ConsoleのSQLマッパー・IOマッパーで設定されている入力データセット・出力データセットの各データが送信データセット・受信データセットのデータにそのままセットされます。また、設定されているSQLマッパーが出力項目定義の時、出力マッパークラスで設定されているファイルに出力するデータを設定します。各データセットでは以下の項目を設定します。


  1. SQLマッパーとデータベースとが送受信するデータの順番を表わします。また、ファイル出力時は、ファイルへ書き出す順番を表わします。

  2. 論理名・物理名
    Data Management ConsoleのSQLマッパー・IOマッパーで設定されているデータの論理名・物理名が表示されます。通常はそのまま使用します。設定されているSQLマッパーが出力項目定義の時、データタブに登録されているデータを使用します。論理名・物理名のいずれかをクリックすると、データタブに登録されているデータの選択一覧が表示され、該当データを出力順に選択します。

  3. アイテムタイプ
    データのアイテムタイプを次の二種類から選択します。
    • TEXT
      データに一行だけ値を格納します。複数行の値を格納しようとした時は、最終行の値が格納されます。
    • COLTEXT
      データに複数行の値を格納します。

    アイテムタイプが設定されると初めてデータが有効になります。同時にそのデータが自動的にデータタブに追加されて行きます。アイテムタイプが設定されていない時、そのデータは無効になります。必ず設定して下さい。

2-3. ロジッククラス

2-3-1. ロジッククラス設定

ロジッククラスではテキスト入力ファイルから順次読み込まれたデータ・データベースからの取得データ等を加工・編集処理されます。ロジッククラスの設定は以下の手順で行います。追加ボタンをクリックするとロジッククラス選択一覧が表示されます。ロジッククラス選択一覧から使用するロジッククラスを選択します。ロジッククラスでは以下の項目を設定します。

  1. 論理名
    選択したロジッククラスの論理名をアプリケーションの機能名に変更します。

  2. 物理名
    選択したロジッククラスの物理名をそのまま使用します。同一ロジッククラスを複数使用する時、各々処理内容が解るように論理名を補足します。物理名については、連番でも可能です。

  3. 基本クラス
    選択したロジッククラスの物理名が表示されます。クリックするとロジッククラス選択一覧が表示され、一度設定したロジッククラスを変更する時に使用します。

  4. パラメータ
    ロジッククラスがパラメータを必要とする時、そのパラメータを設定します。

2-3-2. ロジッククラス引数データセット・ロジッククラス返り値データセットの設定

ロジッククラスが使用するロジッククラス引数データセットとロジッククラス返り値データセットを設定します。追加ボタンをクリックするとデータ選択一覧が表示されます。該当するデータをクリックし選択します。データ選択一覧に表示されるデータはデータタブに設定されているデータが表示されます。ロジッククラス引数データセットとロジッククラス返り値データセットでは以下の項目が表示されます。


  1. ロジッククラスが受取るデータ・結果を出力するデータの順番を表わします。

  2. 論理名・物理名
    データタブで設定されているデータの論理名・物理名が表示されます。論理名・物理名のいずれかをクリックすると、データタブに登録されているデータの選択一覧が表示され、一度設定したデータを変更する時に使用します。

  3. アイテムタイプ
    データタブで設定されているアイテムタイプが表示されます。

2-4. サブトランザクション

2-4-1. サブトランザクション設定

バッチプログラムからServer Application Management Consoleで定義されているトランザクションを実行することが出来ます。サブトランザクションの設定は以下の手順で行います。追加ボタンをクリックするとサブトランザクション選択一覧が表示されます。サブトランザクション選択一覧から使用するトランザクションを選択します。サブトランザクションでは以下の項目を設定します。

  1. 論理名
    処理対象+処理内容+補足情報の形式で日本語で入力します。

  2. 物理名
    処理内容+処理対象+補足情報の形式で英語で入力します。同一トランザクションを複数使用する時、各々処理内容が解るように論理名を補足します。物理名については、連番でも可能です。

  3. サブトランザクション
    選択したトランザクションの物理名が表示されます。クリックするとサブトランザクション選択一覧が表示されます。一度設定したトランザクションを変更する時に使用します。

2-4-2. 送受信データセットタブの設定

送受信データセットタブの送信データセット・受信データセットは、サブトランザクションで設定されている受信データセット・送信データセットのデータがそのままセットされます。同時にデータタブにも自動的にデータが追加されます。各データセットでは以下の項目が表示されます。


  1. サブトランザクションと送受信するデータの順番を表わします。

  2. 論理名・物理名
    サブトランザクションで設定されているデータの論理名・物理名が表示されます。論理名・物理名のいずれかをクリックするとデータタブに登録されているデータの選択一覧が表示されます。一度設定したデータを変更する時に使用します。

  3. アイテムタイプ
    サブトランザクションで設定されているデータのアイテムタイプが表示されます。

2-5. トランザクション

2-5-1. トランザクション設定

トランザクションタブにはパターンタイプ(バッチタブで設定)で決められた処理モジュールが自動的に表示されています。トランザクションでは以下の項目を設定します。

  1. 論理名
    処理モジュール論理名をそのまま使用します。

  2. 物理名
    処理モジュール物理名をそのまま使用します。

  3. コメント
    コメントを入力します。

  4. 処理モジュール論理名
    処理モジュールの論理名が表示されます。

  5. 処理モジュール物理名
    処理モジュールの物理名が表示されます。

自動的に設定される処理モジュールの処理概要を説明します。

2-5-2. ディシジョンテーブルタブの設定

処理モジュールにディシジョンテーブルを設定します。追加ボタンをクリックすると空白行が一行追加されます。ディシジョンテーブルでは以下の項目を設定します。

  1. 論理名
    処理モジュールの論理名をそのまま使用します。

  2. 物理名
    処理モジュールの物理名をそのまま使用します。

    ただし、一つの処理モジュールに複数ディシジョンテーブルを設定する時は、各々の処理を明確にするため、論理名に補足情報を入力します。物理名も同様に入力して下さい。

2-6. ディシジョンテーブル

2-6-1. ディシジョンテーブル設定

ディシジョンテーブルでは以下の項目が表示されています。

  1. トランザクション論理名・トランザクション物理名
    トランザクションの論理名・物理名がそのまま表示されています。

  2. 論理名・物理名
    ディシジョンテーブルの論理名・物理名がそのまま表示されています。

2-6-2. ディシジョンタイプタブの設定

ディシジョンタイプでは、ディシジョンテーブルの条件分岐を設定します。ディシジョンタイプの設定は以下の手順で行います。一覧表示されているディシジョンテーブルから該当する行をクリックします。ディシジョンタイプの追加ボタンをクリックすると空白行が一行追加されます。ディシジョンタイプでは以下の項目を設定します。

  1. 論理名
    処理内容が容易にわかるように論理名を入力して下さい。

  2. 物理名
    処理内容が容易にわかるように物理名を入力して下さい。

  3. 種類
    ディシジョンタイプの種類を選択します。ディシジョンタイプには以下の5種類が有ります。
    • GetData;
      SetCase、Executeに必要なデータを取得する為の実行リストを設定します。省略可能です。

    • SetCase
      実行するExecuteを判定する実行リストを設定します。結果として0~Nを返します。省略可能です。

    • Execute
      処理を実行する実行リストを設定します。1ディシジョンテーブルにN個のExecuteを設定し、処理を分岐することが出来ます。一つ以上のExecuteを設定します。

    • Finally
      すべての処理終了後実行する実行リストを設定します。

    • Error
      エラー処理を実行する実行リストを設定します。



2-7. ディシジョンタイプ

2-7-1. ディシジョンタイプ設定

ディシジョンタイプには以下の項目が表示されています。

  1. ディシジョンテーブル論理名・ディシジョンテーブル物理名
    ディシジョンテーブルの論理名・物理名がそのまま表示されています。

  2. 論理名・物理名
    ディシジョンタイプの論理名・物理名がそのまま表示されています。

  3. 種類
    ディシジョンタイプの種類が表示されています。

2-7-2. 実行リストタブの設定

実行リストではバッチ処理(SQLマッパー/ロジッククラス/サブトランザクション)の処理手順を設定します。実行リストの設定は以下の手順で行います。一覧表示されているディシジョンタイプから該当する行をクリックします。実行リストの追加ボタンをクリックすると空白行が一行追加されます。一つのディシジョンタイプには複数の実行リストが設定出来ます。ディシジョンタイプでは以下の項目を設定します。


  1. 実行する順番を表わします。

  2. 有効
    有効・無効を設定します。
    ○・・・有効行となり、実行時に処理されます。
    X・・・コメント行となり、実行時に処理されません。

  3. SQLマッパー
    セルをクリックするとSQLマッパータブで設定されたSQLマッパーがSQLマッパー選択一覧に表示されます。実行するSQLマッパーを選択します。選択したSQLマッパーの論理名が表示されます。

  4. ロジッククラス
    セルをクリックするとロジッククラスタブで設定されたロジッククラスがロジッククラス選択一覧に表示されます。実行するロジッククラスを選択します。選択したロジッククラスの論理名が表示されます。

  5. サブトランザクション
    セルをクリックするとサブトランザクションタブで設定されたトランザクションがサブトランザクション選択一覧に表示されます。実行するトランザクションを選択します。選択したトランザクションの論理名が表示されます。

  6. ユーザエラー
    ロジッククラス設定時に有効になります。ロジッククラスの戻り値としてユーザエラーを返した時、以下の処理が設定出来ます。
    • SKIP
      処理を中断し、1行スキップし、2行下の実行リストを実行します。ロジッククラスのパラメータに行数を指定すると、その行数分処理をスキップします。

    • DTBREAK
      処理を中断し、ディシジョンテーブルを終了します。バッチ実行エンジンにはOKを返します。

    • DTTYPEBREAK
      処理を中断し、ディシジョンタイプを終了します。バッチ実行エンジンにはOKを返します。

    • OK
      処理続行し、次の行の実行リストを実行します。

    • ERROR
      処理を中断し、ディシジョンテーブルを終了します。バッチ実行エンジンにはERRORを返します。

    • EXIT
      トランザクションである「初期処理定義」及び「明細処理定義」内のディシジョンテーブルで有効であり、動作としては各々のトランザクションを即座に終了します。
      詳細な動作については、処理モジュールを参照ください。

    実行リストの一行には、SQLマッパー・ロジッククラス・サブトランザクションの中から、いずれか一つを設定します。

2-8. データ

2-8-1. データ設定

SQLマッパーやサブトランザクションが設定されるとデータタブには自動的にデータが追加されて行きます。それとは別にロジッククラス等で使用するワークデータを独自に定義することが出来ます。データの設定は以下の手順で行います。追加ボタンをクリックするとデータ選択一覧が表示されます。該当するデータを選択します。

データタブでは以下の項目を設定します。

  1. 論理名
    SQLマッパーやサブトランザクション設定時に追加されたデータの論理名が表示されます。データタブで追加したデータはData Management Consoleのデータ型で登録した論理名が表示されます。

  2. 物理名
    SQLマッパーやサブトランザクション設定時に追加されたデータの物理名が表示されます。データタブで追加したデータはData Management Consoleのデータ型で登録した物理名が表示されます。

  3. 基本データ
    Data Management Consoleのデータ型に登録されている論理名が表示されます。クリックするとデータ選択一覧が表示されます。一度設定したデータを変更する時に使用します。

  4. アイテムタイプ
    SQLマッパーやサブトランザクション設定時に追加されたデータのアイテムタイプがそのまま表示されます。データ選択一覧から新規にアイテムを追加した時は必ず設定して下さい。

2-8-2. データの集約について

データタブに表示されているデータは、SQLマッパーやサブトランザクションが使用しているデータが自動的に追加されていきます。したがって、複数のSQLマッパーやサブトランザクションで同じデータ(物理名・アイテムタイプ)を使用している場合には、それらが複数個表示されます。

逆に、ロジッククラスでは、これらのデータを使用して各々のロジッククラス引数/返り値のデータを設定します。

集約ボタンをクリックすることにより、複数個表示されているデータを1つにまとめる(集約する)ことが出来ます。それにより、SQLマッパー・ロジッククラス・サブトランザクションで同じデータ(物理名・アイテムタイプ)を 使用していた場合、各々でその集約された1つのデータを共有することが出来ます。