メニューボタン
サポートチーム便り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プログラムで一括変更する事が可能になります。

  1. 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が作成されます。

  2. 作成されたファイル内ユーザーの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 あすと

あわせて読みたい記事

PAGE TOP