MODIFY
このコマンドを使用してLDAPエントリーを修正します。このコマンドには実行可能な3つの操作(追加、削除、置き換え)があります。これらの操作はDNレコード・レベルではなく属性レベルで行われる点が重要です。DN全体を追加または削除する必要がある場合は、ADDコマンドまたはDELETEコマンドを使用してください。
MODIFY ---------- DN -------------- エントリー名------------------|
キーワード
DN |
修正するエントリー名 このキーワードは必須です。 |
リストと変数
アプリケーションでは、MODIFYコマンドが修正された属性を渡す際の作業リストを指定する必要があります。作業リストには以下のように3つのフィールドが含まれていなければなりません。
· 最初のフィールドは必須です。実行する操作が含まれます。
推奨されるフィールド長:文字フィールドの長さは1です。
このフィールドに可能な3つの値は以下のとおりです。
· A (追加)
· D (削除)
· R (置き換え)
· 2番目のフィールドは必須です。修正された各属性の属性名が含まれます。
推奨されるフィールド長:フィールドは、LDAPサーバーの最大長の属性名を入れるのに十分な長さを確保する必要があります。フィールド長は文字になります。
· 3番目のフィールドは必須です。この中には修正された各属性の属性値が含まれます。
推奨されるフィールド長:フィールドは、LDAPサーバーの最大長の属性値を入れるのに十分な長さを確保する必要があります。フィールド長は文字になります。
この機能については以下の例を参照してください。RDML、RDMLX、または3GLアプリケーションのサービス・コマンドに作業リストを指定する方法については、「Java Service Managerクライアント」を参照してください。
例
RDML
DEFINE FIELD(#ATMOD) TYPE(*CHAR) LENGTH(001)
DEFINE FIELD(#ATNAME) TYPE(*CHAR) LENGTH(050)
DEFINE FIELD(#ATVALUE) TYPE(*CHAR) LENGTH(050)
DEF_LIST NAME(#WRKLST) FIELDS(#ATMOD #ATNAME #ATVALUE) TYPE(*WORKING)
CHANGE FIELD(#JSMCMD) TO('''MODIFY DN(cn=John, cn=users, o=ibmteldir) SERVICE_LIST(ATMOD,ATNAME,ATVALUE)''')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #WRKLST)
RDMLX
Define Field(#ATMOD) Type(*CHAR) Length(001)
Define Field(#ATNAME) Type(*CHAR) Length(050)
Define Field(#ATVALUE) Type(*CHAR) Length(050)
Def_List Name(#WRKLST) Fields(#ATMOD #ATNAME #ATVALUE) Type(*Working)
#JSMCMD := 'Modify DN(cn=John, cn=users, o=ibmteldir) Service_List(ATMOD,ATNAME,ATVALUE)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMHND #JSMCMD) To_Get(#JSMSTS #JSMMSG #WRKLST)
ILE RPG
c eval jsmcmd = 'modify'
c + ' DN(cn=John, cn=users, o=ibmteldir)'
c + ' service_list(atmod,atname,atvalue)'
c callp p_jsmcmd(jsmcmd:jsmsts:jsmmsg;wrklst)