クラス RunExec_DBIN

java.lang.Object
org.opengion.fukurou.fileexec.RunExec_DBIN
すべての実装されたインタフェース:
RunExec

public class RunExec_DBIN extends Object implements RunExec
RunExec_DBIN は、RunExec インターフェースの実装クラスで、ファイルをデータベースに登録します。
 GE72.RUNTYPEが、'1' の場合の処理を行います。
      0:NONE          // なにもしない
      1:DBIN          // DB入力
      2:PLSQL         // PL/SQLコール
      3:BAT           // BATファイルコール
      4:JSP           // JSPファイルコール(URLコネクション)

 GE72のCLMS(外部カラム指定)は、取り込むファイルのカラム順です。A,B,,D のようにすると、C欄のデータは取り込みません。
 このカラムは、TABLE_NAME(テーブル名)で指定したテーブルのカラムと同じである必要があります。

 PARAMS(パラメータ)は、固定値の指定になります。key=val形式です。
 FGJ,DYSET,DYUPD,USRSET,USRUPD,PGSET,PGUPD,PGPSET,PGPUPD は、DB共通カラムとしてkeyのみ指定することで
 値を自動設定します。それ以外に、下記のカラムに値が設定されています。
       FILE_NAME      ファイル名
       FULL_PATH      ディレクトリを含めたファイルのフルパス
       FGTKAN         取込完了フラグ(1:処理中 , 2:済 , 7:デーモンエラー , 8:アプリエラー)
       ERRMSG         エラーメッセージ

 RUNPG(実行プログラム)は、データを取り込んだ後に実行する PL/SQLです。
 GEP1001(?,?,?,?,…) 最低、4つのパラメータ(?)が必要で、それ以降のパラメータは固定値のみ渡せます。(GEP1001はサンプル)
       PO_STATUS      OUT     NUMBER              -- ステータス(0:正常 2:異常)
      ,PO_ERR_CODE    OUT     VARCHAR2            -- エラーメッセージ
      ,PI_EXECID      IN      VARCHAR2            -- 処理ID
      ,PI_FILE_NAME   IN      VARCHAR2            -- ファイル名
変更履歴:
7.0.0.0 (2017/07/07) 新規作成
導入されたバージョン:
JDK1.8,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final String
    システム依存の改行記号(String)。
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトコンストラクター
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    endExec(Path path, String[] ge72Data, String fgtkan, String errMsg)
    追加で呼び出す PL/SQL を実行します。
    int
    exec(Path path, String[] ge72Data)
    実際に処理を実行するプログラムのメソッド。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • CR

      public static final String CR
      システム依存の改行記号(String)。
  • コンストラクタの詳細

    • RunExec_DBIN

      public RunExec_DBIN()
      デフォルトコンストラクター
      変更履歴:
      6.9.7.0 (2018/05/14) PMD Each class should declare at least one constructor
  • メソッドの詳細

    • exec

      public int exec(Path path, String[] ge72Data)
      実際に処理を実行するプログラムのメソッド。
      定義:
      exec インタフェース内 RunExec
      パラメータ:
      path - 処理するファイルパス
      ge72Data - GE72 テーブルデータ
      戻り値:
      処理件数(正は成功、マイナスは異常時の行番号)
      変更履歴:
      6.8.1.5 (2017/09/08) LOGGER.debug 情報の追加, 6.9.7.0 (2018/05/14) PMD encode,clms72,skipCnt unreferenced before a possible exit point., 7.2.1.0 (2020/03/13) 固定値(PARAMS)の対応追加
    • endExec

      public void endExec(Path path, String[] ge72Data, String fgtkan, String errMsg)
      追加で呼び出す PL/SQL を実行します。 これは、取り込み処理の実施結果にかかわらず、必ず呼ばれます。 第一引数、第二引数は、通常のPL/SQLと異なり、IN/OUT パラメータです。 結果(STATUS)と内容(ERR_CODE)は、取込時の値をセットし、PL/SQLの結果を返します。 第三引数は、EXECID(処理ID)、第四引数は、ファイル名です。 それ以降の引数については、入力(IN)のみですが、自由に設定できます。 ただし、パラメータは使えず、固定値を渡すのみです。 { call GEP1001( ?,?,?,?,'AAAA','BBBB' ) } CREATE OR REPLACE PROCEDURE GEP1001( PO_KEKKA OUT NUMBER, -- エラー結果(0:正常 1:警告 2:異常) PO_ERR_CODE OUT VARCHAR2, -- エラーメッセージ文字列 PI_EXECID IN VARCHAR2, -- 処理ID PI_FILE_NAME IN VARCHAR2, -- ファイル名 PI_PRM1 IN VARCHAR2, -- ユーザー定義引数1 PI_PRM2 IN VARCHAR2 -- ユーザー定義引数2 );
      定義:
      endExec インタフェース内 RunExec
      パラメータ:
      path - 処理するファイルパス
      ge72Data - GE72 テーブルデータ
      fgtkan - 取込完了フラグ(0:取込なし , 1:処理中 , 2:済 , 7:デーモンエラー , 8:アプリエラー)
      errMsg - エラーメッセージ
      変更履歴:
      7.2.1.0 (2020/03/13) 新規追加, 7.2.9.4 (2020/11/20) spotbugs:null になっている可能性があるメソッドの戻り値を利用している