概要
NetSuiteのSuiteScript 2.0にはUserEventScriptやScheduledScriptなどの種類があり、それらはファイル・キャビネットへのjsファイル登録、スクリプトの作成、スクリプト・デプロイメントの作成を以て設定・運用するものです。
しかしながら、スクリプトやデプロイメントを持たず、専ら他のスクリプトから呼び出されて処理を実行するスクリプトファイルもあります。
それがスクリプトタイプを持たない「ライブラリ」ファイルです。
ライブラリを呼び出すためのスクリプトの設定
呼び出し元スクリプト内でライブラリを呼び出すためには、スクリプトファイルに下記3点の設定を追加する必要があります。
- define配列のモジュールパスにライブラリのjsファイル名を設定します。(呼び出し元スクリプトのjsファイルと格納フォルダが異なる場合は、「フォルダ名>jsファイル名」の設定が必要)
- モジュールパスに対応するfunction()の引数を設定します。
- ライブラリを呼び出すための関数を設定します。(構文は「(function()の引数).(呼び出したいライブラリ内の関数)」)
ライブラリを使用する場面
スクリプト内でライブラリを参照する場面として、以下の場面が挙げられます。
- 複数のスクリプト内で共通の処理を実行したい場合
→個々のスクリプトで処理を設定するより効率的に設定が可能となります。
NetSuiteの仕様によりユーザーイベントスクリプトの処理をトリガに他のユーザーイベントスクリプトを呼び出すことはできないため(参照: https://6478157-sb2.app.netsuite.com/app/help/helpcenter.nl?fid=section_4387799721.html )、とりわけ複数のユーザーイベントスクリプトにて共通の処理を実行する場合には、ライブラリによる処理の追加が有効です。 - スクリプト内で参照するフィールドの固定値を別ファイルで管理したい場合
→例えば特定のカスタム・フォームに限りスクリプトを起動させたい場合に、カスタム・フォームの内部IDを定数としてライブラリに登録するという使い方があります。
このカスタム・フォームを参照したいスクリプトが複数ある場合には、それぞれのスクリプトでライブラリ内の固定値を使いまわすこともできます。
上記2つの場面に共通する利点として、ファイルの修正が容易になる点が挙げられます。
共通の処理を各スクリプトファイルで別個に設定した場合、改修が必要な時に全てのjsファイルを確認・修正する作業が発生してしまいます。
また、フィールド値の表示名変更や環境移送に伴う内部ID変更が発生した場合、ライブラリに固定値が集約されていればそのファイルを修正するだけで改修作業が完了します。
まとめ
ライブラリは他のスクリプト内で実行したい処理を外付けしたjsファイルです。
ライブラリを活用することで、他のスクリプトの設定や修正を効率的に行うことができるようになります。
