Engineer Blog開発者ブログ

2020.11.9

【intra-mart】【SQL】ユーザ別所属組織情報の取得

今回ご紹介するのは、intra-mart既存のテーブルより”ユーザ別所属組織情報”を取得する方法になります。

通常、直接検索することは少ないかもしれませんが、覚えておくと便利です。

 

主要となるのは以下のテーブルになります。

 ・IMM_USER  (ユーザ情報)  

 ・IMM_DEPARTMENT  (組織マスタ)  

 ・IMM_DEPARTMENT_ATH  (組織所属マスタ)

 

■実行SQL  ・以下の例では、現在有効なユーザ別所属組織情報を取得しています。

SELECT
  , IMM_USER.USER_CD                    -- ユーザコード
  , IMM_USER.USER_NAME                  -- ユーザ名
  , IMM_DEPARTMENT.DEPARTMENT_CD        -- 組織コード
  , IMM_DEPARTMENT.DEPARTMENT_NAME      -- 組織名
  , IMM_DEPARTMENT_ATH.DEPARTMENT_MAIN  -- 主所属フラグ(0: 、1:主所属)
  , IMM_USER.START_DATE                 -- (ユーザ)有効期間開始日
  , IMM_USER.END_DATE                   -- (ユーザ)有効期間終了日
  , IMM_DEPARTMENT_ATH.START_DATE       -- (ユーザ所属)有効期間開始日
  , IMM_DEPARTMENT_ATH.END_DATE         -- (ユーザ所属)有効期間終了日
  , IMM_DEPARTMENT.START_DATE           -- (組織)有効期間開始日
  , IMM_DEPARTMENT.END_DATE             -- (組織)有効期間終了日
FROM
  IMM_USER 
  INNER JOIN IMM_DEPARTMENT_ATH 
    ON  IMM_USER.USER_CD = IMM_DEPARTMENT_ATH.USER_CD 
    AND SYSDATE BETWEEN IMM_DEPARTMENT_ATH.START_DATE AND IMM_DEPARTMENT_ATH.END_DATE  -- 現在有効な期間

  INNER JOIN IMM_DEPARTMENT 
    ON  IMM_DEPARTMENT_ATH.COMPANY_CD = IMM_DEPARTMENT.COMPANY_CD 
    AND IMM_DEPARTMENT_ATH.DEPARTMENT_SET_CD = IMM_DEPARTMENT.DEPARTMENT_SET_CD 
    AND IMM_DEPARTMENT_ATH.DEPARTMENT_CD = IMM_DEPARTMENT.DEPARTMENT_CD
    AND SYSDATE BETWEEN IMM_DEPARTMENT.START_DATE AND IMM_DEPARTMENT.END_DATE  -- 現在有効な期間
    AND IMM_DEPARTMENT.LOCALE_ID = 'ja'
  AND IMM_DEPARTMENT.DELETE_FLAG = '0'
WHERE
  SYSDATE BETWEEN IMM_USER.START_DATE AND IMM_USER.END_DATE  -- 現在有効な期間
  AND IMM_USER.LOCALE_ID = 'ja'
  AND IMM_USER.DELETE_FLAG = '0'

他にも関連するテーブルはありますが、探す場合は「IMM_USER_○○」や「IMM_DEPARTMENT_○○」で調べてみて下さい。

また、intra-martの製品情報サイトにてintra-mart Accel Platform (iAP) のテーブル定義情報も公開されていますので、

こちらから調べてみるのも良いかもしれません。

 

それではまた次回。。。(^^)/~~

 

Contact
お問い合わせ

電話番号0120 - 889 - 236
受付時間:平日 9:00-18:00