[Intra-mart] IMMマスタ情報取得クエリ集

0 件のコメント




[Intra-mart] IMMマスタ情報を確認するクエリ集(。・ω・。)
目的

Intra-martマスタ情報の設定状況を調査するために、確認するクエリを集めました

環境
  • WebPlatform /AppFramework Version7.2x
  • SQL Server
ユーザが所属しているロール一覧を取得するクエリ

ユーザが保持するロールの一覧を取得しています。
USER_CODEに調査対象のユーザを入力して下さい。

--# ---------------------------------------------------
--# ユーザが所属しているロール一覧を取得
--# ---------------------------------------------------
--# ユーザID
DECLARE @USER_CODE NVARCHAR(20) = 'sample_user_cd'
DECLARE @COUNTRY_CODE NVARCHAR(20) = 'ja'

--# ロール情報一覧取得
SELECT
 a.user_id 'ユーザID'
 , a.role_id 'ロールID'
 , b.display_name 'ロール名称'
FROM
 b_m_account_role_b a
 LEFT JOIN b_m_role_i b
  ON
   a.role_id = b.role_id --# ロールは期間化されないため時系列比較不要
   AND b.locale_id = @COUNTRY_CODE
WHERE
 user_id = @USER_CODE
 AND CONVERT(NVARCHAR, GETDATE(), 111) BETWEEN valid_start_date AND valid_end_date

パブリックグループに所属するメンバー一覧を取得するクエリ

パブリックグループを指定し、そのパブリックグループが保持する役割、所属するユーザ一覧を取得します。PUBLIC_CODEに調査対象のパブリックグループを入力して下さい。

--# -------------------------------------------
--# PGに所属している人一覧を取得
--# -------------------------------------------
--# パブリックグループコード
DECLARE @PUBLIC_CODE NVARCHAR(30) = 'public_cd'

SELECT
 ipga.public_group_cd 'PGコード'
 , ipg.public_group_name 'PG名称'
 , ipgra.role_cd '役割コード'
 , ipgr.role_name '役割名称'
 , ipga.user_cd 'ユーザコード'
FROM
 imm_public_grp_ath ipga --# パブグル紐付け
 LEFT JOIN imm_public_grp ipg
  ON
   ipg.public_group_cd  = ipga.public_group_cd
   AND ipg.delete_flag = '0'
   AND GETDATE() BETWEEN ipg.start_date AND ipg.end_date
 LEFT JOIN imm_public_grp_role_ath ipgra
  ON
   ipgra.public_group_cd = ipg.public_group_cd
   AND ipgra.user_cd = ipga.user_cd
   AND ipgra.delete_flag = '0'
   AND GETDATE() BETWEEN ipgra.start_date AND ipgra.end_date
 LEFT JOIN imm_public_grp_role ipgr
  ON
   ipgr.role_cd = ipgra.role_cd
   AND ipgr.public_group_set_cd = ipgra.public_group_set_cd
   AND ipgr.delete_flag = '0'
   AND GETDATE() BETWEEN ipgr.start_date AND ipgr.end_date
WHERE
 ipga.delete_flag = '0'
 AND GETDATE() BETWEEN ipga.start_date AND ipga.end_date
 AND ipga.public_group_cd = @PUBLIC_CODE
ユーザの所属情報を取得するクエリ(IMマスタ)

ユーザの所属情報一覧を取得します

--# -------------------------------------------------------------------------
--# ユーザの所属情報を取得するクエリ(IMマスタ)
--# -------------------------------------------------------------------------
SELECT
 a.user_cd 'ユーザID'
 , a.user_name 'ユーザ名'
-- , c.company_cd '会社コード'
 , b.department_cd '人事組織コード'
 , d.department_name '会社名'
 , c.department_name '組織名'
 , b.department_main '主所属フラグ'
FROM
 imm_user a --# ユーザマスタ
 LEFT JOIN imm_department_ath b --# 組織ーユーザ紐付けマスタ
  ON
   b.user_cd = a.user_cd
   AND GETDATE() BETWEEN b.start_date AND b.end_date
   AND b.delete_flag = '0'
 LEFT JOIN imm_department c --# 組織マスタ
  ON
   c.department_cd = b.department_cd
   AND c.delete_flag = '0'
   AND c.company_cd = b.company_cd
   AND GETDATE() BETWEEN c.start_date AND c.end_date
 LEFT JOIN imm_department d --# 組織マスタ(会社名取得用)
  ON
   d.company_cd = d.department_cd
   AND d.company_cd = c.company_cd
   AND d.delete_flag = '0'
   AND GETDATE() BETWEEN d.start_date AND d.end_date
WHERE
 a.delete_flag = '0'
 AND GETDATE() BETWEEN a.start_date AND a.end_date
 AND a.locale_id = 'ja'
ORDER BY
 a.user_cd ASC
 , b.department_main DESC

0 件のコメント :

コメントを投稿