見出し画像

【NetSuite開発言語】SuiteScriptとは?

こんにちは!
コグラフ株式会社のNetSuite事業部です。
今日は、NetSuiteの開発言語である「SuiteScript」について紹介したいと思います。

「こんな人に読んでほしい!」

話が少し専門的・技術的になるので下記の人を想定して説明していきます。

・業務系アプリの開発・支援に興味がある人
・ERP導入を検討している社内システム担当の人
・プログラミング学習中の人

SuiteScript - NetSuite開発言語

SAPでいうところのABAP, ホスト系でいうところのCOBOLにあたるのが、NetSuiteでいうところのSuiteScriptです。

NetSuiteのカスタマイズではカバーしきれない、外部システムとの連携のためのAPI開発やSFTPサーバーエージェント開発などを「SuiteScript」を使用し実装します。

主な開発例としては
・NetSuite内部のデータを外部の関連システムへ送信する機能
・Amazonや外部のシステムからNetSuiteへデータを取り込む機能
・定期的なビジネスプロセス実行機能
などなどです。

SuiteScriptの言語としての特徴

SuiteScriptはJavaScriptをベースの言語です。実際に開発するプログラムの拡張子は「.js」です。
NetSuiteはブラウザから使用するということもあり、JavaScript同様にブラウザで動作をさせることが可能です。
さらにSuiteScriptはサーバー側でも動作させることが可能です。


SuiteSciptとJavaScript

当然ですが、NetSuiteではReactやVueやNodeといったものを使用することはできません。
また、ピュアなJavaScriptであれば特別な開発環境を必要としませんが、SuiteScriptを実行するには、NetSuiteで必要な機能が有効化されている必要があります。

Scriptタイプ

SuiteScriptはブラウザとサーバーどちらでも動作しますが、それはScriptタイプによる制御を行うためです。
たとえば、
・Clientタイプのスクリプトであれば、「NetSuite上でユーザが特定のトランザクションのある項目をクリックしたときに起動させる」といった処理を実行することができます。
これはブラウザ側で処理をされますが、ブラウザ上のNetSuiteの情報を扱うためです。
また、
・Scheduleタイプのスクリプトでは、「設定した周期毎に実行させる」といった処理を実行することができます。
これはサーバー側で処理されます。ブラウザとのインタラクションが必要なく、決まった動作を行うことをするためです。

前提知識

ここまでSuiteScriptについて説明してきましたが、実際に開発をしていく上で以下の知識が前提としてあるといいと思います。
・JavaScriptの基本的な構文(変数宣言やオブジェクトの扱い)
・HTTP通信のリクエストの種類などの基本的な知識
・NetSuite(ERP)の理解

さらにNetSuiteはERPパッケージですので、業務知識があるなおよいと思います。

さいごに・・・

ここまで読んでくださりありがとうございます。

コグラフのNetSuite事業では簡単な演習を用意しています。
NetSuite事業部に配属後に、NetSuiteやSuiteScriptについて理解していただき、そこから実際のプロジェクトへ入っていけるような流れになっています。

こちらの記事が何かの参考になれば幸いです。