ユーザーとユーザーが所属するグループを一覧でエクスポートする方法はありますか?
ユーザーとグループ一覧の取得
WebFOCUSのClient Restアダプタとサンプルで用意されているシノニムを使用することで取得が可能です。
- 利用するもの
- データアダプタ WebFOCUS Client REST
- シノニム GET_USERS、GET_GROUPS_WITHIN_USER
取得結果例
サンプルソース
本サンプルについて
本サンプルでは、以下を前提に作成しています。
- 各シノニムは /ibi/apps/clrest に配置
処理概要
- [GET_USERS]から"ユーザーID"とユーザーの"説明"を取得し結果をHOLDファイル[ALLUSER]に出力
- 1の結果から取得したユーザー数分以下処理を実施し、HOLDファイル[USERLIST]に出力(APPEND)
- 1のHOLDファイルの結果を -READFILE で変数に格納
- 変数に格納したユーザーIDを条件として、[GET_GROUPS_WITHIN_USER]から該当ユーザーの所属グループを取得
- 取得した結果をHOLDファイル[USERLIST]に出力
- 2の結果から、以下を含む最終アウトプットをHTMLで出力
- ユーザーID
- ユーザーの詳細
- グループID
- グループの詳細
SET HOLDLIST = PRINTONLY
SET ASNAMES = ON
TABLE FILE clrest/GET_USERS
PRINT
GET_USERS.ITEM.NAME3 AS 'USERID'
GET_USERS.ITEM.DESCRIPTION1 AS 'USERDES'
ON TABLE HOLD AS ALLUSER FORMAT ALPHA
END
-RUN
-DEFAULTH &USERID = '';
-DEFAULTH &USERDES = '';
FILEDEF USERLIST DISK USERLIST.FTM (APPEND
-REPEAT LAB1 &LINES TIMES
-READFILE ALLUSER
-SET &UNAME = TRUNCATE(&USERID);
-SET &UDES = TRUNCATE(&USERDES);
-SET &IBIRS_PATH = '/SSYS/USERS/' || '&UNAME.EVAL';
TABLE FILE clrest/GET_GROUPS_WITHIN_USER
PRINT
COMPUTE UNAME/A30 = '&UNAME.EVAL';
COMPUTE USERDES/A1000 = '&UDES.EVAL';
COMPUTE GNAME/A100 = SUBSTRING(GET_GROUPS_WITHIN_USER.ITEM.FULLPATH1,19,100);
COMPUTE GROUPDES/A100 = GET_GROUPS_WITHIN_USER.ITEM.DESCRIPTION1;
WHERE GET_GROUPS_WITHIN_USER.M6ILO.IBIRS_PATH EQ '&IBIRS_PATH'
WHERE GET_GROUPS_WITHIN_USER.ITEM.MEMBERSHIPTYPE EQ 'DirectAssignment'
ON TABLE HOLD AS USERLIST FORMAT ALPHA
END
-RUN
-LAB1
TABLE FILE USERLIST
PRINT
GROUPDES AS 'グループの詳細'
BY UNAME AS 'ユーザーID'
BY USERDES AS 'ユーザーの詳細'
BY GNAME AS 'グループID'
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/warm.sty,
$
ENDSTYLE
END
WebFOCUS Client RESTアダプタと各シノニムを使用することでユーザーとユーザーが所属しているグループ一覧が取得できるんだね。
ほかにも様々なシノニムが用意されているみたいだし、気になったら確認してみてね!