パッケージ 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) 新規作成
導入されたバージョン:
  JDK1.8,

- ## フィールドの概要

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

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

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

- ## メソッドの概要

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