ページビューの合計

2025年6月24日火曜日

#Domino #REST #API ( #DRAPI ) ・・・での凡ミス💦~私の備忘録として~

Hello everyone.

Thank you very much for your support last week at #DominoHub 2025 Tokyo.

We would like to thank you again for your participation and watching our event, despite the fact that we were a group of amateurs in organizing the event.

I would like to take this opportunity to write about a trivial mistake I made, as a reminder not to repeat it in the future.


みなさま、こんにちは。
先週は #DominoHub 2025 東京にてたいへんお世話になり、ありがとうございました。
イベント開催については素人の集団での開催にもかかわらず、たくさんの皆様にご参加・ご視聴頂けましたこと、重ねてお礼申し上げます。

また19日のオンラインセッション時にはイベントポータルがダウンしてしまい、たいへんなご迷惑をお掛けしてしまいましたことを深くお詫び申し上げます。

当日の様子は浜さんのブログにも公開されておりますが、今後も出てくるかと思いますので、もうしばらくお待ちください。


さて今回はDomino REST API (DRAPI)について、超凡ミスでまたまたサポートの方に無駄なお仕事をお願いしてしまいました。
二度と同じことを起こさないため、自分への備忘録も兼ねて記事として残しておきます。


早速ですが、まずは発端です。
既存本番環境で使用しているアプリを DRAPI に追加して、外部連携をさせたいとの目的から、そのアプリを DRAPI に追加するという作業の中で発生しました。

具体的には、DRAPIにログインし、Configurationを開きます。


開きましたら、続いてDatabase Management -REST API を開きます。


開きましたら、右上の[+ Add Schema]をクリックしてスキーマの作成を進めます。
※DRAPIの概要についてはここでは触れません。
HCL様サイトで3回に分けて公開されておりますので、そちらをご参照ください。


今回は新規でスキーマを作りますので、[Create Schema]をクリックします。


以下の画面が表示されますので、一覧から対象のアプリを選択します。


しかしながら今回追加したいアプリがリストされておりません。
手入力で指定してもアプリが存在しないと怒られてしまいます。

確かにこの時点が何か簡単なミスをしているような気はしました。
もちろんHCL様サポートポータルで検索してみたのですが、それらしき記事が見つかりませんでした。

ということで、今回もサポートの方を頼ったのです。


はじめはブラウザのキャッシュクリアの指定を頂きました。
確かにそれまで実施していませんでしたので、早速実行

・・・変化なし

念のためDominoサーバーをマシンごと再起動

・・・変化なし

致し方なくサポートの方へ状況報告しました。

夕方遅い時間にも関わらず、すぐに次のステップの案内が届きました。
記載されている内容には以下の記載がございました。

[Add Schema] ボタンを押して [Create Schema] を選択して、[Database] のリストには、通常は Data ディレクトリの全てのデータベースがリストされています。
念のため load catalog コマンドを実行して、データベースカタログの更新を行ってみてください。

この内容を読んで、「はっ」としました。


結論を書く前にまずは弊社の環境について少し触れておきます。
現時点で社員数は130名ほどになりますので、従来から全く問題なく1サーバーですべてを賄っておりました。
しかしながら年々Dominoの重要性が増してきていることから、先般クラスター環境を作って頂きました。
あまり複雑なことが発生することは避けたかったため、基本は本番サーバー1台で運用し、障害発生時のみクラスターサーバーに切り替わる、いわゆる Active/Standby の構成になります。

そこにDRAPIを追加したのですが、本番DominoではLeapなども動いており、念のため負荷の少ないクラスターサーバーへインストールを実施しました。

以下のような構成になります。


さてここまで書きましたら、既に気付かれた方もいらっしゃるのではないでしょうか。

ということで原因・・・凡ミス・・・です。

はい。
DRAPIに追加したいアプリは本番Dominoにのみ存在し、クラスターには存在しておりませんでした。

つまりDRAPIが参照するはずのクラスターDominoサーバーのカタログにはリストされておらず、もちろんそのためにDRAPIのリストにも表示されないというオチでした💦

対象のアプリを本番Dominoからクラスターへ複製し、再度ブラウザのキャッシュをクリアしたところ・・・無事表示され、DRAPIのスキーマ追加が完了しました。

サポートの皆様、毎回ほんとうに申し訳ございません。
特に最近はVoltMX GoとDRAPIで私の勘違いなども含めてお手を煩わせてしまっており、申し訳ない限りです。
が・・・何卒引き続きよろしくお願い致します。


ということで目的のアプリはDRAPIに追加できましたので、これより細かな設定(連携するビューやフォーム、フィールド)を進めて参ります。

このあたりはまたどこかの機会に発表させて頂ければと考えております。


ということで、今回は私自身の反省の意味を込めた記事にて失礼致します。




2025年6月11日水曜日

いよいよ開催 #DominoHub 2025 TOKYO !!

DominoHub 2025 TOKYO is coming up next week.

・Thursday, June 19 will be online sessions
・On Friday, June 20, there will be on-site sessions and an exhibition without online streaming.

The exhibition held in Osaka last year was so well received that it will be held in Tokyo this time as well.
The exhibit will be even more powerful than the one in Osaka, so everyone is looking forward to the event!


みなさま、こんにちは。

な、なんと気付けば4か月もブログを放置してしまっておりました(大汗

ただその間、何もしていなかったのではなく、いろいろと(細々と!?)活動は行っておりました。

そのひとつである DominoHub 2025 TOKYO がいよいよ来週に迫って参りました。

https://www.dominohub.net/

6月19日(木)はオンラインセッション
6月20日(金)はオンライン配信を行わない会場セッションと展示になります。

昨年、大阪で開催しました展示がたいへん好評でしたので、今回は東京でも実施となりました。
大阪で展示したものも、さらにパワーアップして展示が行われますので、みなさま当日をお楽しみに!!

参考までに昨年の大阪の様子はこちら(林Kアンバサダーの記事)をご覧ください。

さて私はと言いますと、19日のオンラインセッションで以下内容を発表させて頂きます。


現時点で詳しくはこちらには記載致しませんが、Dominoアプリをモダナイズできると言われているHCL Volt MX Go についてお話しさせて頂きます。

20日も現地会場に終日おりますので、ぜひお声がけください。
過去に面識のない方は特に大歓迎です!!

それではスタッフ一同、みなさまとお会いできることを楽しみにしております!!

2025年2月26日水曜日

今年も無事、 #HCLAmbassador に任命頂くことができました!

 Some of you may have been waiting for this announcement.Yes, this year's HCL Ambassador has been announced.

-----

みなさま、こんにちは。
さて今回も告知から・・・

2023年からスタートしました #DominoHub ですが、今年も開催することが決定致しました!!

詳細はまだこれからのようですので、随時チェックしてみてください。
我々も更新がありましたら、SNS等で発信して参ります。

https://www.dominohub.net/

-----

さて本題になりますが、この発表を待っていた方もいらっしゃるのでは?
そう、今年の HCL Ambassadorの発表がございました。

https://www.hcl-software.com/about/hcl-ambassadors/class-of-2025

今年はLifetime Ambassador 11名(もちろんこの中に、加藤様を含んでいます)
HCL Ambassador 70名(これとは別にBigFixのAmbassadorも18名)となっているようです。

ちなみに日本からは・・・
昨年同様、なんと11名が任命されております。

詳しくは先のサイトをご覧ください。

-----

ということで、この発表があったということは・・・
そう、テクてくLotus技術者夜会!!

今年は3月14日(金) 17:30~

の開催になります。

任命されたAmbassadorのライトニングトークとなりますので、ぜひご参加ください。

https://register.gotowebinar.com/register/4561627897800656728

といいつつ、私は当日会社の会議と重なっており、参加することができません。
たいへん申し訳ございません。
動画だけでもとは思い、なんとか準備できるようがんばってみます!

-----

せっかくですので、早速ですが当ブログもバッジを更新致しました。


短い報告になりますが、他のAmbassador含め、今年もよろしくお願い致します。


2025年2月5日水曜日

やらかしてしまった x2

I would like to report on a case in which I “got myself into trouble”.
This time, it is a very strange case, because it is caused by the duplication of two “I did it” cases.
I am sure this will not be of any help to you, so please forgive me in advance.


みなさま、こんにちは。

さて今回もまずは告知から

来週2月13日(木) 14:30~
ノーツコンソーシアム FESTA 2025 が開催されます。
2024年の研究会や活動報告が行われるだけでなく、今年の予定やNotes/Dominoの最新情報などが得られる機会です。

現地開催およびリモート開催がございますので、遠隔地からでもお気軽に参加可能です。

我々、大阪研究会も1コマ頂き、昨年の「濃い」報告ができるかと思いますので、ぜひお楽しみにお待ちください。

※お申し込みは上記リンクよりお願いします。


本業でDominoをまともに触れる時間が短く、少し間があきました。

ネタがないと思っていたところ、自ら「やらかしてしまった」障害について報告致します。
しかも今回はふたつの「やらかしてしまった」の重複が原因という、とってもハズカシイ事例になります。
きっと何の参考にもならないと思いますので、あらかじめお許しください。


まずは今回の背景です。

現在、取引先とFAXでやり取りしている業務があるのですが、これを簡素化できないかという案件が発生しました。
メールでやり取りするのもいいのですが、現在社内販売管理システムから連携したNotesのワークフローアプリでデータ管理しているため、そのフローの一部として社外の方を巻き込めないかということが発端になります。

社外の方とやり取りするのですから、現在の社内ネットワーク上の本番Dominoサーバーを利用することはできません。

そこで考えたのが、DMZ上にあるTravelerサーバーにDomino Leapをインストールするという案です。


ということで、早速インストールです。
以前、私が書いたブログ記事もあるのですが、かなり以前のものでしたので、最新版探して、こちらを利用しました。

HCL Domino Leap 1.1 インストールガイド

手順は相変わらず簡単でした。
ダウンロードしたモジュールを解凍してサーバーの一時フォルダに配置。
Dominoを停止。
OSがWindowsでしたので、管理者権限でコマンドプロンプトを開き、windowsフォルダ内のinstall.batを実行。
プロンプトでDominoディレクトリとDataディレクトリを確認して進めます。

その後、手順書にありましたjava.policyに設定を書き加えて完了です。


Dominoを起動して、インストール確認のコマンドを実行するのですが・・・

何も返答がありません。

Travelerにはインストールできないのか?
などと考えつつ、別の作業が発生したため、一旦サーバーから離れました。


1時間ほどしたころ、社内のメンバーからiPhoneにメールが届かないという報告を受けました。
確認したところ、Travelerによる同期が止まってます!!

知見がないかと詳しい方に連絡しつつ、調査開始。

まずはタスクの確認

Travelerのタスクは Running: 3 of 83 users active. Completed 0 device and 6 prime syncs.

と表示されていました。
3人しか使えない?

ログに何かでてないか・・・
っと、こんな行が見つかりました。


どうもjava.policyに書き込んだ情報がまずかったようです。

「ファイルの終わり」って?
とjava.policyを開いたところ・・・判明しました。

書き加えた最後につけなければいけない";"がなかったのです。


再度Dominoを停止して、";"を追記して保存。
Dominoを起動。

すると・・・無事、何事もなかったかのようにTravelerが同期を始めてくれました。

またDomino Leapの確認コマンドを実行すると・・・
こちらも無事、応答があり、インストールができたことを確認しました。

なんてつまらないミス・・・


ということで、先に問い合わせた方へ解決報告して謝罪です。

するとさらに衝撃的な一言が・・・

「今のバージョンはjava.policyの書き換え、必要なかったはずですよ」

!!!

そんなはずは。
確かに手順書に書かれていたはず。

と見返したところ、


しっかり書かれてました(大汗

以前からjava.policyの書き換えが必要であるとの思い込みから、こんなでっかい字を見飛ばして作業してしまったのでした。


それにしても、あらためてコードの大切さを実感した事件でした。
";"ひとつで、Leapが動かないだけでなく、Travelerまで影響が出るとは・・・

みなさまも十分、ご注意ください。

こんなハズカシイ報告や問合せをしなくていいように(笑)

とかいいつつ、自己解決できた自分の成長を少し実感して喜んでいるのは内緒で・・・

2024年12月11日水曜日

#DominoLeap ( #Leap ) 表の中のデータを活用したい

This will be another Domino Leap topic.

I want to use array data retrieved via the REST API for workflow emails, but I couldn't easily set it up.

Miyo Ambassador gave me a solution, which I will share with you here.


みなさま、こんにちは。
またまた今回もDomino Leapの話題です。

Domino Leapは簡単に外部のAPIに接続し、値が取れることはしばらく前に以下の記事でご紹介致しました。

#Domino #Volt ( #dominovolt )で 外部 #REST #API ( #restapi )を使う

単純にデータを取ってくるだけだと問題ないのですが、たとえば先日掲載しました郵便番号から住所を取得するAPIでは、戻ってくるJSONが配列になっており、Domino Leapのローコード画面で扱う場合は、表データになっています。

今回の例では、戻ってくるJSONは、以下のように[]で囲まれた配列になっています。


Domino Leapのサービスで呼び出すと、以下のように表として認識されることになります。


このデータをDomino Leapに取り込む場合、単にページに配置したフィールドで受けようとすると、以下のようなアラートが表示されます。


取得するデータと同じ数のリスト(または表)で受ける必要があるというものです。

そのため、値を受け取るにはページに表を配置し、その表に値を受け取るフィールドを作成する必要があります。
そうすることで、以下のように取り込むデータとDomino Leapの関連付けを行うことが可能となります。



ここまでは問題ないのですが、この表で受け取ったデータをさらに利用しようとした場合、普通にページに配置したフィールドと同じような取り扱いができないのです。

例えば、ワークフローでメールを送信する場合の本文・・・


このボタンを押すことで、ページ内のフィールドを本文に呼び出すことができるのですが、表内のデータはこちらにリストされていません。


これではせっかく簡単に取得してきたデータを有効活用することができません。
どうにかして表内のデータをページ上に配置したフィールドにもっていく必要がありそうです。

表内のフィールドのonItemChangeイベントや、追加で配置したデータを受け取るためのフィールドのonItemFocusイベントなどで試したのですが、うまくいきません。

よくよく考えてみると、もともと表ですから、複数行のデータが存在することが可能ですよね。
ここがちゃんと指定できていないことが原因のようでした(汗


ということで、困った時の"神"頼み。
ではないのですが、Domino Leapといえば・・・の御代アンバサダーに相談させて頂きました。
問合せて5分。
以下回答を頂きました。


きっと御代アンバサダーも同じことを考えて、既に解決策をお持ちだったんでしょう。

ということで、こちらを利用させて頂きます。


ページに「都道府県」「市区町村」「町域」の3フィールドを用意して、表のonAddイベントに取得したそれぞれの値をセットするようにしてみます。

前半部分は御代アンバサダーから頂いたスクリプトをそのまま記述しています。
後半でそれぞれ表の列データをページのフィールドに割り当てています。

・都道府県(F_HPref)に表の1列目(colid.get(0))をセット
       BO.F_HPref.setValue(colid.get(0).getValue());

・市区町村(F_HCity)に表の2列目(colid.get(1))をセット
       BO.F_HCity.setValue(colid.get(1).getValue());

・町域(F_HTown)に表の3列目(colid.get(2))をセット
       BO.F_HTown.setValue(colid.get(2).getValue());

以上の設定で、「郵便番号」を入力することで、API経由で表に値が取得されます。
表に値が追加されたことで、ページの3フィールドに値がセットされるようになりました。

こうなれば、あとは普通のページ上のフィールドと同じ扱いができるようになります。
先のメール本文のリストにも表示されました。



あとは見た目です。
ページ内の表に「都道府県」「市区町村」「町域」があり、同じフィールドがそれぞれページ上にもあるのはよくないですよね。

ということで、以下のように表を非表示にすることでこの点は解決することができました。


これで今までずっと悩んでいたことが解決できました。

・・・もっと早く聞いてたらよかった・・・

いつもながら、御代アンバサダー、ありがとうございます!!


御代アンバサダーがいらっしゃる株式会社エフ様では、さまざまな情報提供が行われております。
今さら気付いのですが、もしかしたらサンプル配布されているアプリに本件実装されているかも・・・

弊社でも「Notes/Domino開発tipsサービス」は契約させて頂いており、毎週届く内容はナレッジとしてどんどん蓄積されておりますので、ぜひご検討ください。

年内の記事はこれで終わりかな?

みなさま、よいお年をお迎えください!!

2024年12月4日水曜日

#Domino #Leap フィールドに入力する文字を制御する

This will be another Domino Leap topic.

If you want to integrate with other systems, don't you want to control the format and number of digits of the data?

In this article, I will show you not only what you can set in the properties, but also how to set them using “regular expressions”.


みなさま、こんにちは。
今回もLeapネタになります。

というか、告知ネタがないのがさみしい・・・

気を取り直して本題。

異なるシステムへデータを送信する場合など、送信先のフィールドフォーマット(形式や文字数)に合わせたいことがあるかと思います。

ちなみに今回の弊社案件は、得意先マスタ申請ワークフローをNotesからLeapに移行した内容になります。
最終的には申請された値をIBMiへ連携することを想定して作成しております。

この中で発生した項目について、いくつかご紹介致します。


まずはコードです。
弊社では[得意先コード(数字4桁)]と[得意先支店コード(数字3桁)]という形式になっています。
こちらをLeapのフィールドに設定してみたいと思います。
配置したフィールドはこのような感じです。


まずはデフォルトのプロパティを見てみます。


文字数は[最大文字数(デフォルト:50)]を変更することで制御できそうです。
[形式]という項目があるので、こちらで形式を指定できそうです。
[形式]のインフォメーションを見てみると、


このような説明が表示されました。
ということで、今回は以下の設定を行ってみます。


得意先コードの例は以下になります。



それでは入力を確認してみます。
まずは適切に数字4桁-数字3桁で入力した結果です。

想定通り、入力することができました。
次に桁数を不一致させてみます。
以下の例では得意先コードを5桁(1桁多い)、得意先支店コードを2桁(1桁少ない)入力になります。


しっかりと制御してくれました。


ここでひとつ疑問。
最大文字数と形式が不一致していたらどうなるのでしょう?
以下は得意先コードの最大文字数を5に、得意先支店コードを2に変更した上で、正しく4桁-3桁で入力した結果になります。

得意先コードは最大文字数より少なく、形式に一致しているため問題なし。
得意先支店コードは最大文字数の制限にひっかかり、エラーとなりました。


それではそれぞれ最大文字数で入力したらどうなるのでしょう?


得意先コードは形式との不一致。得意先支店コードは最大文字数との不整合という結果になりました。

このことから、厳密な文字数管理が必要な場合、最大文字数と形式をしっかり合わせて登録することで不必要なエラーを回避したほうがよさそうです。


次に[得意先カナ名(16バイト)]に挑戦したいと思います。
弊社の設定では、あらゆる半角文字(英数カナ)が許可されているフィールドになります。(但し記号は不可)
先の形式のインフォメーションにはここは触れられていませんでした。

ということで[正規表現]にチャレンジしてみたいと思います。
※正規表現についてはここで細かくは触れませんので、お手数ですが各自ググってください。

それでは設定内容です。


形式に記述している文字列は、

^[a-zA-Z0-9ヲ-ン]+$

になります。
早速ですが、いくつかテストした結果は以下の通りです。


結構いい感じですよね。
もし記号が必要なのであれば、正規表現に追記することで解決は可能です。


続いて郵便番号です。
プロパティは以下を設定しました。


いくつかパターンを試しましたので、動画をご覧ください。


適切な処理が行えていることがご理解頂けるかと思います。
特にハイフンなしで7桁数字を入力した場合、ハイフンを追加した###-####形式に変換されている点にご注目ください。


さてせっかく郵便番号が取得できましたので、公開APIを利用して住所を呼び出してみましょう。
今回はzipcloudから提供されている無料サービスを利用します。

まず郵便番号フィールドのonItemChangeイベントをクリックします。


[サービスの呼び出し]にチェックして、[サービス構成の追加/編集]をクリックします。


[URLを入力]を選択して、URLにサービスから提供されている値を入力します。
今回は先のサービスで提供されているURL

https://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060

と入力して、横の歯車マークをクリックします。

すると以下のような[サービスの詳細]画面が表示されます。
左側にパラメーター名・・・ここでは[zipcode]に郵便番号がセットされています。
右側には本URLで指定した「7830060」の結果が取得されていることがわかります。


[OK]⇒[次へ]で進めると、[入力割り当ての作成]画面が表示されますので、

①ソースとして[郵便番号]
②ターゲットとして[zipcode]を選択して、
③のボタンをクリックすると、
④の行が追加され、設定が完了します。


[次へ]をクリックすると、[出力割り当ての作成]画面が表示されます。
先と同じように関連付けを行うのですが、[address1]と[都道府県]を選択した時点で、以下エラーが表示されてしまいました。


API接続を進めていくとよくぶつかるエラーになります。
戻ってきたJSONデータの階層と受けるLeapの階層が同じ必要があるようです。
・・・ここはなんとか回避できるとウレシイのですが・・・
ということで、今回取得する[都道府県][市区町村][町域]の3フィールドをひとつの表の中に入れてみます。

すると、何事もなかったかのように関連付けを行うことができました。


[次へ]をクリックして、必要があれば[タイトル]や[ID]を書き換えて[OK]で完了です。
もう一度[OK]を押して、サービスの設定画面を閉じます。

ということで、テストです。
今回の動画でご確認ください。


いい感じですね。
こんなに簡単にAPI連携ができるなんて、ほんと助かります。



最後は電話番号やFAX番号です。
携帯電話も可としたいため、どうしようかと考えていたのですが、こんな時こそChat-GPT
ということで帰ってきた正規表現の値は

^(0[1-9]{1}[0-9]{0,4}-[0-9]{1,4}-[0-9]{4}|0[789]0-[0-9]{4}-[0-9]{4})$

でした。
数字とカッコばかりで、素人で読み取るには・・・(汗

ということでそのままセットして試してみます。


おおー、さすがにハイフンなしからの変換はできませんでしたが、いい感じに制御してくれています。


このほかに、名称などの全半角なんでもありのフィールドで最大バイト数の制限の設定された項目があるのですが、こちらは現時点で解決できておりません。

どなたか知見ございましたら、ぜひ教えてください!!

今回は思わぬ大作になってしまいました(汗

引き続き、弊社案件で気になる点がありましたら順次報告させて頂きますので、よろしくお願い致します!!



2024年12月2日月曜日

#Domino #Leap 任意のステージで #データグリッド を表示する

In this article, I will describe some notes on DominoLeap's Datagrid, which uses Stage for filtering.

It is a very simple matter, but if you don't know it, you may have some trouble.

みなさま、こんにちは。

ついに2024年もあと1か月となってしまいました。
毎年ながら、12月は気付くと年末が来るというドタバタな1か月になるのですが、今年は輪をかけて業務が積みあがっており、さらにあっという間に過ぎてしまうのではとみております。

そんな中ではございますが、少し気になる事項がありましたので、取るに足らないことかとも思いましたが、備忘録として記事とさせて頂きます。

弊社のワークフローは現在すべてDomino Leapに移行していっております。
今回も新規のワークフローの依頼があり、その中で躓いたことになります。


さてその内容ですが、アプリケーションページとして一覧を表示させるデータグリッドをよく利用します。
データグリッドは構成画面でフィルターを設定することができるため、さまざまな条件の一覧を提供することが可能になっています。


今回の案件では、ユーザーが選択したステージのデータのみを表示させるような設定を行ってみました。
設定そのものは難しくないのですが、1点注意点がありましたので、そちらをご紹介致します。


前準備として、ステージを選択するドロップダウンとデータグリッドを配置したページを準備します。
今回の例では、以下のようになります。


要はドロップダウンで選択したステージのデータだけをデータグリッドに表示させるというものです。

早速ですが、設定した内容です。


文字列が折り返されているのでわかりにくいですが、
「保存されたステージ」が「ステージ選択(ダイアログ)」と等しいデータを表示させる設定になります。



早速試してみますと・・・



データが表示されません。
今回は「否認」ステージを選択したので、一度外してみますと、


確かに「否認」ステージにデータはあります。
ダイアログに不必要なスペースが入っているのかなど、いろいろと調べて判明したのが、ステージは名称でなく、IDで指定する必要があったのです。

こちらが当初の設定でした。


ダイアログの「表示値」と「保存値」が同じ名称になっていたのです。
こちらの「保存値」をステージIDに変更します。


ちなみにステージIDは、ワークフロー画面でステージを選択すると表示されます。


結果、以下のように無事「否認」ステージのデータのみをフィルターして表示させることができました。


もちろん他のステージも同様です。

こうすることで、ステージごとにデータグリットを作成する必要なく、表示を切り替えることが可能になりました。



以上、ステージ以外の項目の場合、直接名称で設定が可能であったため、少し注意が必要である点のみご紹介させて頂き、今回は終了とさせて頂きます。

いつもお読みいただき、ありがとうございます。