ページビューの合計

2022年3月16日水曜日

[ビュー]ダイアログから選択するリストについて

 I had the opportunity to discuss the list when using the "Use View Dialog for Choices" option, so I am leaving it as an article.

みなさま、こんにちは。
関西ではここ数日、とても暖かい・・・というか、暑いくらいの日が続いております。
桜の開花もあと10日くらいでしょうか。
造幣局の桜の通りぬけも今年は抽選で実施されるそうなので、申し込んでみようかと考えています。

さて今回は標題に書きましたが、ダイアログリストフィールドの選択肢として、{[ビュー]ダイアログから選択}した場合のリスト・・・以下の内容


について、弊社でちょっとしたトラブルがありましたので、わかった範囲でお伝えさせて頂きます。


ちょっとしたトラブルとは・・・

新規でデータベースを作成していく中で、対象のデータベースがこのリストに表示されないという現象でした。

今回は新規で4つのマスターデータベースを作成し、別のデータベースからそれぞのビューのリストから値を持ってくるというものなのですが、どういうわけか4つ中2つがリストされ、2つが存在しませんでした。

それぞれのプロパティを比較してみましたが、違いがわかりませんでした。

どうすれば解決できるのかがわからなかったのですが、とあるアンバサダーからノーツクライアントのワークスペースに追加されてますか?との質問を頂きました。

確認したところ、ワークスペースには存在しています。

ただ先の表示されているものとされていないものは、違うワークスペースに存在していました。

そこで表示されているほうのワークスペースに表示されていないデータベースを移動してみたところ・・・

なんとリストに表示されました。

逆にすべてを表示さないワークスペースに移動させたところ、全部消えてしまいました。

真っ先に疑ったのがキャッシュ(Cache.NDK)ですが、まずはこのままでサポートに以下問い合わせを行いました。

「このリストはどこのデータが利用されていますか? また順番はどうなっていますか?」

見る限り文字コードらしき並びはしているのですが、どうもそれだけではなさそうで、2バイト文字がそこかしこに現れてます。

緊急度は「低」で依頼したのですが、半日もかからず回答がありました。

まずこのリストの元ですが、先のアンバサダーの言われる通り、desktop8.ndkから作られていました。

但し「データベースが約260個以上ある場合、データベース名が表示されません。」との事です。
そう、これが原因でした。
はじめは「なぜ?」と疑問だったのですが、何かしら1フィールドのサイズ制限が原因になっているのではと推測しています。

ということで、ワークスペース上の大量に表示されたアイコンの不必要なものをすべて消し、表示されないという問題は解決しました。

なおサポートからの追加情報として、desktop8.ndkのデータベースメンテナンスを紹介頂けましたので、共有させて頂きます。

2022年3月11日金曜日

#HEI (HCL Enterprise Integrator)の設定

I could not find a detailed configuration procedure written in Japanese for HEI (HCL Enterprise Integrator).

I finally started using it at our company, so I have created the configuration procedures for Connection and Activity, so please refer to them.

みなさま、こんにちは!

さてまずは告知からです。

ノーツコンソーシアム

先日のオープンセミナーでは、私の所属する大阪研究会のほか、さまざまな発表がございました。

本年度の研究会申し込みがスタートしておりますので、ぜひお申込みください。

また早速ですが、第一回大阪研究会も日程・テーマが決まりましたので、皆様のご参加をお待ちしております!

ノーツコンソーシアム非会員の方につきましても、ぜひ一度見学(現地orリモート)ください。
普段では得られない情報・経験が豊富に詰まっておりますので、まずは一歩踏み出してみてください!!


さて本題です。

弊社ではNotes/DominoのライセンスはCCB サブスクリプションという月額契約で利用しています。
その後、Voltが発売となりこのライセンスに機能追加したのですが、このVoltのライセンスにはなんとHCL Enterprise Integrator (以降 HEI)のライセンスが付属しているのです。

HEIと言えば・・・
ノーツポンプと呼ばれた時代に検討したのですが、結構な費用が必要で、過去に導入を却下された経験がある製品です。


それがなんと勝手についてくる!!

なんてすばらしい!!


まさに使わない手はないということで、なんとか自社で利用開始に繋げられればと今回トライしてみましたので、その経験をお伝えしたいと思います。

インストールについては、少し分厚いですが、130ページの日本語マニュアルがございますので、必要あればベンダー様に提供頂いてください。

ちなみにインストールされている内容を確認する場合は、以下コマンドを実行します。

  tell lei status

すると、以下のような情報が表示されます。


余談ですが・・・ほんとに余談ですが・・・

情報はすべて"HEI"で取得できているのですが、コマンドは"LEI"という・・・
となると興味ありますよね。


・・・すいません、今回もこれがためにサポートの方の手を煩わせてしまいました(笑


さて本題のデータソースとNotesアプリの接続設定ですが、これがなかなか情報がないんです。
インストールしたモジュールに「Lotus Connector 接続ガイド」と「HEI Activities and User Guide」があるのですが、前者は日本語化されているのですが、後者は英語のままでした。
またそれぞれ内容も画面の項目説明程度までで、実際にどのように設定するのかが理解できませんでした。

かなり探したのですが、設定を図解するような情報が見つけられず苦労しました。

ようやく知っている方にヒントを頂き、なんとか進めることができましたので、今回は以下シナリオにて連携するアプリをDominoサーバー上に作ってみたいと思います。

IBMiのマスターテーブルにODBC接続し、Notesアプリケーションにダウンロードしてくる

手順としてはおおきく5つあります。

  1. IBMiとのODBC接続を作成する(※)
  2. 受ける側のNotesアプリを作成する(既存アプリでも可能)
  3. IBMiとのConnection文書を作成する
  4. NotesアプリとのConnection文書を作成する
  5. Activityで3と4をつなげる文書を作成する
※IBMiと接続するためのODBCドライバが必要です。
ご使用のエミュレーターに付属しているかと思いますので、そちらをご使用ください。
弊社では IBM i Access Client Solutions(ACS)に付属のドライバを利用しました。

それでは早速進めて参ります。

1. IBMiとOCBCの接続を作成する

Dominoサーバーのコントロールパネル⇒管理ツールから[ODBCデータソース]を開きます。
弊社では64ビットを使用しました。


システムDSNタブに移動し、[追加]をクリックします。


データソースの新規作成画面が表示されますので、利用するODBCドライバを選択します。
弊社では iSeries Access ODBC Driver を利用しました。


[完了]をクリックするとODBCセットアップ画面に進みますので、データソース名(自由な名称)とシステム(IBMiのIPアドレス)を入力します。


次にサーバータブに移動し、デフォルト SQL スキーマまたはライブラリーに利用したいIBMiのライブラリを登録します。


最後にパッケージタブに移動し、パッケージ・ライブラリーにも利用したいIBMiのライブラリを登録して[OK]します。


※必要に応じて、設定変更が必要な場合があるかもしれません

至って簡単ですね。それでは次に進みます。


2. 受ける側のNotesアプリを作成する(既存アプリでも可能)

IBMiからデータを受け取るNotesアプリを作成します。
単なるNotesアプリですがひとつ注意が必要です。

それは・・・データの型を合わせる必要があります。

たまたま私の設定ミスで発生したのですが、IBMiの数値項目をNotesが日付/時刻で受け取ろうとして発生したエラー画面です。


今回は他のアプリケーションから参照するだけのアプリを想定していますので、デザインは考えずに、フィールドを追加しただけのフォームと、確認用にビューをひとつつくりました。



以上で次に進みます。

3. IBMiとのConnection文書を作成する

いよいよHEI Administratorを使って、設定していきます。
まずはIBMiとのODBC接続です。

[1. Add Connection ▼] をクリックして、一覧から[ODBC]を選択します。


設定する場所は、Connectivityセクションの

 ・Name(任意の名前)
 ・Data Source(▼を押すと、ODBCデータソースが表示されます)
 ・User Name(IBMiのユーザー)
 ・Password(IBMiのバスワード)

以上を設定すると、次のTable Selectionセクションで
 ・Owner(▼を押すと、ODBCで設定したライブラリが選択できます)
 ・Name(▼を押すと、Ownerに含まれるテーブル一覧が表示され、選択できます)

テーブルを選択すると、Column(s)に自動でIBMiの項目が表示されます。


以上でIBMiとのODBC接続定義が完了となりますので、保存して閉じます。

4. NotesアプリとのConnection文書を作成する

次にデータを受け取る側のNotesアプリへの接続文書を作ります。
[1. Add Connection ▼] をクリックして、一覧から[Notes]を選択します。


こちらで設定する場所は、Connectivityセクションの

 ・Name(任意の名前)
 ・Domino Server(アプリケーションの存在するサーバー)
 ・Notes Database(▼を押すと、存在するデータベースの一覧が表示されます)

続いてすぐしたのタブで Selection Optionsを選択し、

 ・Select Documents by Form(▼を押すと、選択したデータベースに存在するフォームの一覧が表示されます)

以上で完了です。こちらも保存して閉じます。

5. Activityで3と4をつなげる文書を作成する

ようやく最後の手順です。
先に作成したふたつのConnection文書をActivityで繋げます。

[2. Add Activity ▼] をクリックして、一覧から[Direct Transfer]を選択します。


こちらで設定する場所は、Identificationセクションの

 ・Name(任意の名前)

次に[Sourceセクションの▼]をクリックして、にIBMiの接続を呼び出します。

さらに[Targetセクションの▼]をクリックして、にNotesの接続を呼び出します。

これら2か所では存在するすべてのConnection文書が表示されますので、間違わないよう注意しましょう。

続いてMappingセクションですが、ここまでの作業でフィールド名として、IBMiと同一のフィールドをNotesに設定したため、ここでは[Automatic]にチェックし、[by Name]が選択されていることを確認します。


次にSelect Statementが必要になります。IBMiのすべてを対象とする場合、

 Select * FROM [テーブル名]

と記載します。
もちろんここでSQLのSelect文を記述し、対象となるデータの絞り込みが可能となります。

設定は以上ですので、保存して閉じます。

2022年1月31日月曜日

#検索 付きPicklist

Would you like to search the @picklist list?

This is a full-text search, not just forward matching.

Our users have asked for this, and I am sorry that I am unable to make it happen at this time.

Please vote for the Ideas Portal below!

https://domino-ideas.hcltechsw.com/ideas/DDXP-I-152


みなさま、こんにちは。
なかなかコロナウィルス、終息しませんね(汗
早く治療薬が容易に入手できるようになり、withコロナ期に入ってくれることを期待したいと思います。


さて、本題です。

ノーツで文書を作成するのに、よく利用する@DbColumnや@DbLookup、さらに@Picklist。

ほんとに便利ですよね。
入力者の手間を省くだけでなく、選択肢の統一化(たとえば全角と半角の違い)などにたいへん効果のある重要な機能(@関数)かと思います。

いずれもダイアログボックス(モーダルウィンドウ)を開き、その中に対象の一覧を表示し選択させるというものですが、つい先日、ユーザーからこのような一言を貰いました。


「選択肢が増えてきたから、探すのがたいへんやわ。検索できないの?」


そういえば考えたことありませんでした。

弊社ではよく@DbLookupを利用し、各種のマスタデータベースから値を呼び出しています。
その際には探しやすいように、例えば顧客マスタの場合、1列目によみがなの先頭1文字の50音のあたま「あ・か・さ・た・・・」を。2列名に先頭1文字を設定して、▲マークで折りたたんで表示するようにしています。
そのため探すにはそれほど手間がかかっていないと勝手に考えていたのですが、量が増えるに従い、探しにくくなったようで、このようなひとことに繋がった模様です。

ということでまずは画面を見てみます。

こちらが@DbColumnの画面。複数選択可、リストにない値も可としたものです。


つづいて@DbLookupです。
こちらは単一選択のみで、且つリストにない値は許していないものになります。


最後に@Picklistです。
あまりいい例ではありませんが、お許しください(汗


いずれも検索できるような入力エリアはありません。

イメージとしては、メールの宛先選択ダイアログみたいになれば・・・


ということで、早速それぞれのヘルプ文書を見てみます・・・・しかし「検索」を有効にするような記述は見つかりませんでした。

そう、これらの準備された関数では解決できないのですorz

ただ実は全くできないのではなく、ダイアログ(モーダル)ウィンドウを開いた状態で、検索文字を入力してEnterを押すことで「クイック検索」という機能が利用可能です。

例えば以下のような得意先選択の@Picklistで、


「日本」と入力してEnterを押してみます。すると、以下のような「クイック検索」の小ウィンドウが表示されます。


ここで「検索」をクリックすると、このように「日本」で始まる最初の値が選択されて表示されるのです。


これでも利用可能ではあるのですが、残念なことに「前方一致」しか検索できません。
確かにメールの宛先選択も、


前方一致しか検索できません。

いかがでしょう。
これはなんとか対応したいですよね。

ということでとあるHCL Ambassadorに問い合わせたところ、既にIdeas Portalには投票されているということを教えていただきました。

https://domino-ideas.hcltechsw.com/ideas/DDXP-I-152


ということで、ぜひ皆様、こちらに投票してください!!
多くの投票があつまれば、きっと実現に向けて検討頂けるでしょう。

みなさま、ご協力よろしくお願いします!!






2022年1月6日木曜日

#HCLLink (HCL Link)サーバーを用意してみた

 In this article, I will show you how to build an HCL Link server.

I've heard that there are no documents in Japanese yet, so I hope I can be of some help.

※2022/01/07 追記あり(最下部)

みなさま、こんにちは。

昨日はこの年末年始のなけなしの成果としてDomino Voltのテンプレートを公開しましたが、よくよく見てみると、もうひとつネタ・・・ありました!!

12月20日頃に年末年始のネタ用にとHCL Linkサーバーを立ち上げていました。

HCL Linkの詳細はHCL様の製品サイトをご覧いただくとして、今回は Domino Volt のライセンスに同梱されているHCL Link。こちらを有効利用できないかということで、その手順をご紹介致します。

もちろんHCL社からもインストールに関する記述はリリースされているのですが・・・
現時点は英語のみになります。

https://help.hcltechsw.com/hcllink/1.1.2/installing/concepts/c_installation_inst_hcl_link_design_server.html

あわせてインストール動画も公開されています。

https://www.youtube.com/watch?v=PTpSAfEFE8Y

今回は現時点の最新バージョン1.1.2を利用しましたので、先の手順とは一部異なりましたので、そちらについても触れておきたいと思います。


まずは本体をインストールする前に、データベースのインストールが必要です。
HCL Linkでは無償のMongoDBを推奨しているようです。

MongoDBは以下からダウンロード可能してください。

https://www.mongodb.com/

上部のProduct メニューからCommunity Serverをクリックします。


右がにDownloadボタンが表示されていますので、ダウンロードするバージョンやOS、形式を確認してダウンロードしてください。


早速用意したサーバーにインストールします。


画面に従い、進めていくだけでインストールは完了します。
次にMongoDBサーバーが自動でサービスとして起動しているか確認します。


以上でMongoDBのインストールは完了です。



続いてHCL Linkをインストールしていきます。
まずはダウンロードしたモジュールから「Lnkrt_1.1.2.0_win64」を実行します。


少し動画よりもステップが少なく進みます。





以下はカスタムに変更して、どのようなものがインストールされるのか見てみましょう。


デフォルトですべてチェックされていましたので、そのまま進めます。



ライセンスはブランクのまま「次へ」



以下は動画になかった画面です。
「いいえ」で進めました。


以下も動画にありませんでしたが、このまま「次へ」で進めました。


以下もデフォルトのまま進めますが、念のため控えておいてください。


以下もブランクで進めました。


なんかわからないけど、できたみたい。


続けて、以下もデフォルトで進めます。



この画面を「次へ」クリックしてから、結構時間がかかりました。
途中心配になりましたが・・・


無事、インストールが完了したようです。


続いての作業です。
C:\HCL\Link_1.1.2\DesignServerのフォルダからコマンドプロンプト起動します。


unzipDesignServer.batを実行します。


おっと、別プロセスが使用中ということで、一度再起動・・・でも同じでした。


・・・よくよく見ると、install.bat を実行せよと書いていました。


ということで、無事完了しました。


続いて Start.bat を実行します。


以上で準備完了です。


ブラウザを起動し、

https://127.0.0.1 へアクセスします。


開きました!!
ほっとする瞬間ですね。

ユーザー名:admin
パスワード:admin

でログインします。・・・・後で変更しておきましょう!


ぉぉー。
ついにメニューが開きました。

いくつか触ってみたのですが・・・・現時点ではサッパリ(汗
でしたので、今後の宿題とさせてください。

まずはHCL Linkのインストールから利用開始までのご紹介でした。



※2022/01/07追記

昨日の掲載後、株式会社エフの御代アンバサダーより助言を頂きましたので、追記致します。

-----以下、引用-----
特に気をつけないと行けないのがライセンスサーバーの無効化です。
https://help.hcltechsw.com/domino_volt/1.0.4/link_enable_runtime_windows.html
に出ているようにHCL Linkをインストールした後、そのフォルダ内にある
.passport.oem というファイルを .passport
という名前に変更する必要があります。
-----以上、引用-----

今後利用する上で重要な内容でしたので、ご紹介させて頂きます。

御代さま、ありがとうございました!!