201911 のの会@関数Talk 17th | Talks around @Functions in Notes and Domino

255 Views

November 20, 19

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第17回は@DbColumと@DbLookupについての3回目
併せて@DbName、@ReplicaIdについても少々。

profile-image

Notes/Domino worker - Formula language ♡er, #IBMChampion '15 & #HCLAmbassador '20 - '23, Nature Game (Sharing Nature) leader

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

@ -notes knows community- 2019/11/06 @関数Talk 第17回 公開版 @ ネオアクシス株式会社 阿部覚 (tw:) @abesat

2.

@ 前回、前々回と、 @DbColumn, @DbLookupの お話しをしましたが、 @Db~で始まるといえば もう一つ知られた関数があるね、 と思いまして: @

3.

@ @DbNameの 1分雑談 @

4.

@DbColumnや@DbLookupに比べれば @ シンプルな関数です IBMさんのヘルプ IBMさんのヘルプ (☝ 11月上旬現在 まだ閲覧可能 😅) @

5.

@ ここで、 前回・前々回で、使用したサンプルフォームを 引き続き説明に用います 式 式の結果を表示する 表示用の計算結果フィールド @ 複数値は改行して表示

6.

ローカルのDBで実施してみると @ こんな感じ サーバー名の部分は"”に サーバー内のDBで実施してみると こんな感じ @ サーバー名はCN= などのラベルがついた階層名に

7.

@ DBアプリそのものを あらわす関数としては 他にこんなものもあります @

8.

@ @ReplicaIDの 1分雑談 @

9.

@こちらもシンプルな関数です @ IBMさんのヘルプ IBMさんのヘルプ @

10.

@ 実施してみると こんな感じ サーバー名はCN= レプリカIDはDBアプリ固有の識別番号 などのラベルがついた階層名に 8桁:8桁の形式です 日時により自動生成されるのですが そのお話は機会があれば @

11.

Databaseプロパティでいうと @ こんな理解でいいかと思います bTitle D @ は こ こ に ついで に相当 @DbNam ameに相当 @ReplicaIDに相当 @

12.

@ と、ここで改めて「つづき」です @

13.

@ @DbColumn @DbLookup 引数ピックアップ篇その1 @

14.

@ まだ、概略しかご紹介していない 各引数について @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ もうすこし具体的に見ようと思います

15.

@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) "Notes” または "” Dominoデータソース(つまりはNotes DBアプリ) を意味します "ODBC" @ Dominoではなく外部のリレーショナルデータベースなどを意味し ます。 "ODBC”を指定した場合はこの後の引数など含め、 関数の使い方が一変するので、 このTalkでは今のところお話の対象外と考えています

16.

@@DbColumn cache ( class : ; server : database ; view ; columnNumber ) @DbLookup cache ( class : ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 前々回にこう書きました cacheは "” / "NoCache” / "ReCache” の3つから選択 この関数の実行結果を「覚えておくかどうか」の 指定です @ ✋私には"ReCache”の存在意義がいまいち不明

17.

改めて、こんな記事を確認しました @ ただし、リンクをクリックすると… @ 😭 HCLに移ったのかな? とりあえずはGoogleのキャッシュを見ます

18.

@ IBMさんの記事 IBMさんの記事 (☝ 消えてしまったけど 11月上旬現在、 Googleのキャッシュで閲覧可能 😅) @ 以下、キャッシュという言葉がGoogleさんと重なって まぎらわしいですが

19.

@ IBMさんの記事 IBMさんの記事 (☝ Googleさんのキャッシュ) @ "NoCache”で取得した結果はキャッシュされず、 "”で再利用できないから "ReCache”を作ったんですね

20.

@ (11/6 のの会での実演を再現…) @DbLookupで、ビューの"MainKey”に対応する3列目の場所「代々木」を取得 ここで、ビューの文書を更新し、場所を「田町」に変えてしまいます すぐに同じ@DbLookupを繰り返した場合、"”はキャッシュを使うので「代々木」のまま @ でも、"NoCache”を使えば再検索するので「田町」を返します

21.

@ (11/6 のの会での実演を再現…) ただし、キャッシュは変わらないので、"”に戻した@DbLookupは… でも、"Recache”なら、再検索して「田町」を返すだけでなく、キャッシュも変わるので、 @ 次に"”を使った@DbLookupを行っても、変更されたキャッシュにより「田町」が返ります

22.

@@DbColumn ( class : cache ; @DbLookup ( class : cache ; server : database ; server : database ; view ; columnNumber ) view ; key ; columnNumber または fieldName ; keywords ) 引用するビューが どこの何というデータベースにあるのかを指定 自データベース内にあるのなら "”だけでも @

23.

@ 他のDBアプリを指定する例 サーバー名とファイル名を「:」でつないで指定するのが スタンダードだと思いますが @ 相手DBのレプリカIDを指定することも可能です どちらが合理的だと思いますか? また実際の開発ではこうした「ハードコード」は推奨されず 「変数」になることが多いです

24.

@ 自DBアプリを指定するには もちろん、他DBアプリと同様に 直接サーバー・ファイル名やレプリカIDを指定しても 動くでしょうけど わざわざそれをする必要はなく これまで触れてきたように 自DBアプリ内のビューを検索する分には "” でよいです @

25.

@ 自DBアプリを指定するには ほかに、@DbNameを使った例もけっこう見かけます 内部的には サーバー名とファイル名を「:」でつないだ例と、同等ですね @ ということは、内部的に自DBアプリの レプリカIDが入っているこれも一応OKみたいです

26.

@ 今回はここまでにさせていただき 🙏💦 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ view以下については、また改めて

27.

@ う と が り あ 聴 ご清 ♥ た し ま い ざ ご @