2020.11.9
今回ご紹介するのは、intra-mart既存のテーブルより”ユーザ別所属組織情報”を取得する方法になります。
通常、直接検索することは少ないかもしれませんが、覚えておくと便利です。
主要となるのは以下のテーブルになります。
・IMM_USER (ユーザ情報)
・B_M_ROLE_B (ロールマスタ)
・B_M_ACCOUNT_ROLE_B (アカウント付与ロール)
■実行SQL ・以下の例では、現在有効なユーザ別ロール情報を取得しています。
SELECT IMM_USER.USER_CD -- ユーザコード , IMM_USER.USER_NAME -- ユーザ名 , B_M_ACCOUNT_ROLE_B.ROLE_ID -- ロールID , B_M_ROLE_B.ROLE_NAME -- ロール名 , B_M_ROLE_I.DISPLAY_NAME -- (ロール)画面表示名 , IMM_USER.START_DATE -- (ユーザ)有効期間開始日 , IMM_USER.END_DATE -- (ユーザ)有効期間終了日 , B_M_ACCOUNT_ROLE_B.VALID_START_DATE -- (ロール)有効期間開始日 , B_M_ACCOUNT_ROLE_B.VALID_END_DATE -- (ロール)有効期間終了日 FROM IMM_USER LEFT OUTER JOIN B_M_ACCOUNT_ROLE_B ON IMM_USER.USER_CD = B_M_ACCOUNT_ROLE_B.USER_CD INNER JOIN B_M_ROLE_I ON B_M_ACCOUNT_ROLE_B.ROLE_ID = B_M_ROLE_I.ROLE_ID INNER JOIN B_M_ROLE_B ON B_M_ACCOUNT_ROLE_B.ROLE_ID = B_M_ROLE_B.ROLE_ID WHERE SYSDATE BETWEEN IMM_USER.START_DATE AND IMM_USER.END_DATE AND IMM_USER.LOCALE_ID = 'ja' AND SYSDATE BETWEEN B_M_ACCOUNT_ROLE_B.VALID_START_DATE AND B_M_ACCOUNT_ROLE_B.VALID_END_DATE AND B_M_ROLE_I.LOCALE_ID = 'ja'
他にも関連するテーブルはありますが、探す場合は「IMM_USER_○○」や「B_M_ROLE_○○」で調べてみて下さい。
また、intra-martの製品情報サイトにてintra-mart Accel Platform (iAP) のテーブル定義情報も公開されていますので、
こちらから調べてみるのも良いかもしれません。
それではまた次回。。。(^^)/~~