処理を自動化しアプリケーションの幅を広げるサーバーサイドコマンド

処理を自動化しアプリケーションの幅を広げるサーバーサイドコマンド

Forguncyで業務ロジックを実現するコマンドには、通常のコマンドのほかにサーバー側で実行されるサーバーサイドコマンドというものがあります。

サーバーサイドコマンドは「登録した一連のコマンド処理をサーバー側で完結して実行するので処理速度が上がる」「ストレージなどのサーバーリソースにアクセスできる」という特長があり、夜間に顧客マスタのデータクレンジング処理を実行させたり、在庫が発注点を下回ったら通知を飛ばしたりといった自動処理を実現できます。

本記事では、このサーバーサイドコマンドについて種類や使い方を解説します。ユーザーの操作がトリガーとなり動作する、いわゆる通常コマンドについてはこちらの記事こちらのページのサーバーサイド処理の活用シナリオを参照してください。

見出しの装飾

サーバーサイドコマンドの実装方法

Forguncyで業務ロジックを実装するのに使用するコマンドには、クライアントサイドで動作する「通常コマンド」とサーバー側で動作する「サーバーサイドコマンド」の2種類が存在します。これらのコマンドは動作する場所が異なるため、利用シーンも異なります。

通常コマンドとサーバーサイドコマンドの違い
▲ 通常コマンドとサーバーサイドコマンドの違い

本記事で扱うサーバーサイドコマンドは、クライアントアプリケーションから呼び出すことができます。

ボタンクリックから呼び出すには、ボタンに通常コマンドの「サーバーサイドコマンドの呼び出し」を設定します。通常コマンドについては、別途記事を作成しておりますのでそちらを参照してください。

ボタンからサーバーサイドコマンドを呼び出す設定
▲ ボタンからサーバーサイドコマンドを呼び出す設定
見出しの装飾

コマンドの紹介

見出しの装飾

データベース:データの編集や抽出などデータベース操作に関するコマンド

テーブルデータの更新

サーバーサイドコマンドでは、後述の「トランザクション」コマンドやと共に使い、一度のコマンド実行で複数のテーブルの更新をしたり、「繰り返し」コマンドのような制御フロー関連コマンドと併せて複数回のデータ更新を行ったりする際に使用します。詳細な使用方法や通常コマンドとの差異についてはヘルプを参照してください。

トランザクション

「トランザクション」は、データの不整合を防止することができるコマンドです。

「トランザクション」の子コマンドに設定したデータベース更新処理はひとまとめで扱われます。そして、その子コマンドの更新処理全ての更新過程でエラーが無かった場合にのみ更新が実行され、エラーが発生した場合にはデータがロールバックされ元に戻ります。あらかじめこれを指定しておくことで、例えば注文管理システムで存在しない商品が注文された場合などにエラーとなり、途中までのテーブル更新はすべて取り消されるため不正なデータが残る心配がなくなります。

注文管理システムでのトランザクション設定によるロールバック
▲ 注文管理システムでのトランザクション設定によるロールバック

テーブルデータの更新以外に、データベース操作が発生するコマンドは「トランザクション」の子コマンドの対象となります。詳細についてはヘルプを参照してください。

見出しの装飾

入出力:ファイルやページのインポート、エクスポートに関するコマンド

CSVインポート/エクスポート、Excelエクスポート、PDFエクスポート

通常コマンドと同様に、指定の形式のファイルのインポート/エクスポートが可能です。いくつかのパラメーターや、入力元/出力先にサーバーリソースを指定できることが主な違いとなります。それぞれのパラメーターについては各コマンドのヘルプを参考にしてください。

また、サーバーサイドコマンドにはファイル操作に関するものが用意されています。これらは通常コマンドには存在しないもので、これらと入出力のコマンドを組み合わせることで、例えばサーバー上の所定の場所にワンクリックで月次報告書を出力する処理などを実現できます。詳細については後述のファイル操作コマンドの項をご覧ください。

制御フロー:他のコマンドと組み合わせて使う処理の実行制御に関するコマンド

こちらも通常コマンドと基本は同様ですが、「リターン」というコマンドはサーバーサイドコマンドでのみ使用できます。
「リターン」を使うと、一連のコマンド実行をそこで終了させ、任意のリターンコードやメッセージを返すことができます。出庫処理などで「現在の在庫数よりも出庫数が上回った場合は処理を中止する」というような想定できるエラーに対して、分かりやすいメッセージと共に「リターン」コマンドを定義しておくと、トランザクションが中断した際に原因の特定がしやすくなります。

他にも、複数のPDFファイルの出力処理を行う際に終了通知として「リターン」コマンドを活用することができます。制御フローコマンドの詳細については通常コマンドに関する記事か、それぞれのコマンドのヘルプを参照してください。


あらかじめエラーを想定して設定された「リターン」コマンド
▲ あらかじめエラーを想定して設定された「リターン」コマンド
見出しの装飾

通知:メッセージやメールなどユーザーに通知を送るコマンド

メール送信

Forguncyアプリケーション上から指定の宛先にメールを送信することができます。「メール送信」は通常コマンドにも用意されていますが、サーバーサイドコマンドの場合はストレージ上のファイルのパスを指定すれば、そのファイルをメールに添付できます 。

このコマンドと「PDFエクスポート」や「CSVエクスポート」コマンドを組み合わせ、注文書や月ごとの受注データを出力し、その結果をメール通知するプログラムを作成できます。他にも、制御フロー関連コマンドと組み合わせれば在庫が一定数を下回っている場合にメールで担当者に自動通知するような処理も実現できます。

ForguncyドリルにはCSV出力完了時にメール送信を実施するプログラムの作成手順を解説した記事がございますので、詳しい実装方法についてはそちらを参照してください。

ファイル:移動や削除、名称変更などファイル操作に関するコマンド

ファイル操作関連コマンドを使用すると、CSVファイルの入出力処理を定期実行したり、帳票として出力したPDFファイルを所定のフォルダにコピーしたりなど、ファイルの操作を含む処理を自動化することができます 。こちらのコマンド群はForguncyドリルにて詳細な使用方法を解説しています。基本的な使い方だけでなく、販売明細書を出力する際に自動でバックアップファイルを作成する手順などもご紹介しておりますので、ヘルプと併せてご活用ください。

見出しの装飾

その他の種類のコマンド

プログラムの実行

これまでの業務の一部がBATファイルやEXEファイルでシステム化されている場合、Forguncyではそれらをそのまま呼び出せます。この「プログラムの実行」コマンドで、プログラムのフルパスと引数を指定するとこれまで通りにBATファイルやEXEファイルを動かすことができます。プロパティなどの詳細はヘルプを参照してください。

見出しの装飾

Forguncyをもっとよく知る

各業種や用途別にForguncyを活用して、成功した事例や使い方をご紹介します。