2020.11.9
今回ご紹介するのは、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) のテーブル定義情報も公開されていますので、
こちらから調べてみるのも良いかもしれません。
それではまた次回。。。(^^)/~~