Valenceのログイン画面では、ログイン時に小文字で入力された場合、AppBuilderで使用されるnabUserアプリ変数はログイン画面で入力されたログインIDが設定されます。
ログイン時に大文字に変換してnabUserアプリ変数に設定する方法を紹介します。
ログイン時に処理を追加

ValenceではHook.jsを使用することで様々なタイミングで処理を追加することが可能です。
ログイン時にユーザー名を大文字に変換する処理をHook.jsに追加します。
Hook.jsのダウンロード
Hook.js「Valence IFSパス」/resources/desktop/Hook.js に配置されています。
FTPでダウンロードして編集、アップロードして更新可能です。
コマンドプロンプトを起動後、以下の手順で処理を実行してFTPでHook.jsをダウンロードしてください。
- コマンドプロンプトでFTPコマンドを実行するとFTPが起動します。
- OPENコマンドでIBMiのIPアドレス または ホスト名を指定して接続します。
- ユーザーを入力します。
- パスワードを入力します。
- binaryモードに変更します。
- IFSにアクセスするためnamefmtを変更します。
- ローカルにフォルダ(C:\temp)を作成します。
※フォルダがすでに存在する場合は「サブディレクトリまたはファイル C:\temp は既に存在します。」になります。 - GETコマンドでファイルを取得
C:\temp\にHook.jsがダウンロードされます。
※VALENCE6Tインスタンス(/valence-6t)からダウンロードする例になります。
FTPの例 ダウンロード
1. C:\Users\[UserName]>FTP
2. ftp> OPEN 192.168.0.XX
220-QTCP AT POWER10B.MIGARO.CO.JP.
220 CONNECTION WILL CLOSE IF IDLE MORE THAN 15 MINUTES.
501 OPTS UNSUCCESSFUL; SPECIFIED SUBCOMMAND NOT RECOGNIZED.
3. ユーザー (192.168.0.XX:(none)): [ユーザーを入力]
331 ENTER PASSWORD.
4. パスワード: [パスワードを入力]
230 [ユーザー] LOGGED ON.
5. ftp> BIN
200 REPRESENTATION TYPE IS BINARY IMAGE.
6. ftp> QUOTE SITE NAMEFMT 1
250 NOW USING NAMING FORMAT "1".
7. ftp> !mkdir C:\temp
8. ftp> GET /valence-6t/resources/desktop/Hook.js C:\temp\Hook.js
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
150 RETRIEVING FILE /valence-6t/resources/desktop/Hook.js
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 16918 バイトが受信されました 0.01秒 3383.60KB/秒。
Hook.jsの編集
テキストエディタでダウンロードしたHook.jsをテキストエディタで編集します。
loginの処理に以下の赤文字の処理を追加してください。
Hook.js に追加
/**
* @event login
* Fired after the user is successfully logged in.
*
* @param {String} user User id
* @param {String} sid Session id
*
*/
login : function (user, sid) {
Valence.login.config.Runtime.setUser(user.toUpperCase());
},
Hook.jsのアップロード
編集したHook.jsをアップロードします。
コマンドプロンプトからFTPを起動してアップロードしてください。
- コマンドプロンプトでFTPコマンドを実行するとFTPが起動します。
- OPENコマンドでIBMiのIPアドレス または ホスト名を指定して接続します。
- ユーザーを入力します。
- パスワードを入力します。
- binaryモードに変更します。
- IFSにアクセスするためnamefmtを変更します。
- PUTコマンドでファイルをアップロード
C:\temp\にHook.jsがアップロードされます。
※VALENCE6Tインスタンス(/valence-6t)にアップロードする例になります。
FTPの例 アップロード
1. C:\Users\[UserName]>FTP
2. ftp> OPEN 192.168.0.XX
220-QTCP AT POWER10B.MIGARO.CO.JP.
220 CONNECTION WILL CLOSE IF IDLE MORE THAN 15 MINUTES.
501 OPTS UNSUCCESSFUL; SPECIFIED SUBCOMMAND NOT RECOGNIZED.
3. ユーザー (192.168.0.XX:(none)): [ユーザーを入力]
331 ENTER PASSWORD.
4. パスワード: [パスワードを入力]
230 [ユーザー] LOGGED ON.
5. ftp> BIN
200 REPRESENTATION TYPE IS BINARY IMAGE.
6. ftp> QUOTE SITE NAMEFMT 1
250 NOW USING NAMING FORMAT "1".
7. ftp> PUT C:\temp\Hook.js /valence-6t/resources/desktop/Hook.js
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
150 SENDING FILE TO /valence-6t/resources/desktop/Hook.js
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 16918 バイトが送信されました 0.25秒 68.22KB/秒。
アップロード後、次回以降Valenceにログインをする際に設定が反映されます。