これは🎄🎁🎅Oracle NetSuite Advent Calendar 2024🤶🎁🎄の5日目の投稿です。
Oracle NetSuiteを使っていて、顧客や商品等のマスターや、商談や購買等のトランザクションの「変更履歴」を見たくなることがあります。ERP/CRMのような基幹システムでは、変更履歴はとても重要な情報で、メーカー問わず機能が実装されています。SAPなら変更履歴 (Change Document/CDHDR、CDPOS) オブジェクト、Salesforceでも変更履歴 (History) の機能があります。
NetSuiteにおける「システム・ノート」
NetSuiteの場合は、ちょっと変わった名前「システム・ノート (System Note)」という名前がついています。システム・ノートはNetSuiteのレコードに対してかけられる変更を追跡、記録する仕組みです。
変更日時、変更したユーザー、変更した手段(インターフェイス)、変更されたフィールド名、変更の種類、新旧の値
が記録されます。システム・ノートに記録された情報はシステム管理者、スクリプト、アプリが改変することはできません。標準のレコードの場合、カスタムレコードの場合とも記録されます。「監査証跡 (Audit Trail)」 の詳細情報を提供することが主な目的です。
システム・ノートには以下の2種類があります。
- システム・ノート:従来のバージョンのシステム・ノート
- システム・ノート v2: サブリスト情報などの詳細な変更をキャプチャし、高レベルのアクションで変更をグループ化します。削除されたトランザクションとレコードの情報が保持されます。以下のレコードでのみ利用可能です。
Authorization Consent、Custom Transaction Types、Expense Report Policy、Imported Employee Expense、Manage Roles、Netting Statement
システム・ノートを閲覧できる場所
ユーザーのロールや目的により、以下の2か所から閲覧できます。
1. 「システム・ノート」サブタブ or セクション
通常のロールのユーザーは自分が関係する特定のマスター/トランザクション情報の変更履歴が気になることが多いでしょう。その場合、該当するレコードを開いて、フォームの「システム情報 (Sytem Information」サブタブの中にある「システム・ノート」サブタブを見つけます。
フォームがカスタマイズされている場合、サブタブでなくてセクションの中にあったり、ロールによっては「システム・ノート」サブタブが表示されないフォームが使われている場合もあります。その場合は、適切なフォームの場所、または適切なロールを使って閲覧します。
2. レポート > 新規検索 > システム・ノート
主にシステム管理者向け (他のロールでも検索機能は使える) ですが、システム横断で、たとえば特定期間のすべての変更箇所を抜き出したい場合などに、レポートからの検索を使うことができます。
計算式でも「システム・ノート」を参照できる
「システム・ノート」内のフィールドは、{systemnotes.field_name}
という形式で、「計算式 (数値)」と「計算式 (テキスト)」などから参照できます。これを使って、たとえば注文承認にかかる時間の計算を行うことが可能になります。
トランザクション検索において、フィルターの「条件」として以下を設定:
「種類」は「Sales Order」である
「メイン・ライン」は「真(true)」である
「System Notes : Field」は「Document Status」である
「System Notes : New Value」は「Pending Fulfillment」である
そして、「計算式(数値)」列を追加して、
{systemnotes.date}-{datecreated}
と指定することで、注文承認にかかる時間が計算されます。