サポートチーム便り2023.12.20
ユーザーのPDM省略時値を管理者が変更することはできますか?
Question
開発者などからPDM省略時の値の変更方法について問い合わせを受ける事があります。
変更したいユーザーでサインオンし STRPDM → F18=省略時の値の変更 を実行すれば変更できるのは分かるのですが、サインオンしている以外の特定ユーザーのPDM省略時の値を変更する方法はありますか。
Answer
CHGPDMDFT コマンドを使用し、他ユーザーのPDM省略時の値を変更する事ができます。
ご参考サイト:「PDM省略時値の変更(CHGPDMDFT)」
https://www.ibm.com/docs/ja/i/7.4?topic=ssw_ibm_i_74/cl/chgpdmdft.html
PDM省略時の値を変更したユーザー毎にこのコマンドを実行すれば変更可能ですが、複数ユーザーの省略時値を変更するには、ユーザープロファイル名のファイルを作成し、CLプログラムで一括変更する事が可能になります。
SQLにて ユーザー・クラスが *PGMR のユーザープロファイル名のファイルを作成します。
SQL例
CREATE TABLE BELL001.USRNAME (USER) AS (SELECT CHAR(AUTHORIZATION_NAME,10) FROM QSYS2.USER_INFO_BASIC WHERE STATUS = '*ENABLED' AND USER_CLASS_NAME = '*PGMR' AND SUBSTR(AUTHORIZATION_NAME,1,1) <> 'Q') WITH DATA
ライブラリー BELL001 に ファイル USRNAMEが作成されます。
作成されたファイル内ユーザーのPDMオプションを変更するCLプログラムを実行します。
CLプログラム例
PGM DCL VAR(&LOOP) TYPE(*LGL) VALUE('1') DCLF FILE(BELL001/USRNAME) DOWHILE COND(&LOOP) RCVF MONMSG MSGID(CPF0000) EXEC(LEAVE) CHGPDMDFT USER(&USER) OBJLIB(BELLTMP) RPLOBJ(*NO) + CRTBCH(*NO) CHGTYPTXT(*NO) ENDDO ENDPGM
ご参考サイト:「USER_INFOビュー」
https://www.ibm.com/docs/ja/i/7.4?topic=services-user-info-view
by あすと