パッケージ org.opengion.fukurou.fileexec

## クラス 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) 新規作成
  バージョン
    7.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.8,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static String` | `CR` | システム依存の改行記号(String)。

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `RunExec_DBIN()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `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 になっている可能性があるメソッドの戻り値を利用している