テーブルの作成
アドミニストレーターとアプリケーション開発者は、アプリケーションデータを保存するカスタムテーブルを作成できます。テーブルを作成した後、フィールドタイプとフィールドラベルを変更することもできます。
始める前に
必要なロール:admin
カスタムテーブルを作成する前に、カスタムテーブルのエンタイトルメントを確認してください。「サブスクリプション管理 でのカスタムテーブルとアプリケーションの管理」を参照してください。
このタスクについて
ServiceNow AI Platform アプリケーションサブスクリプションにはカスタムテーブルエンタイトルメントが含まれています。任意の目的で、最大でサブスクリプションのエンタイトルメント制限まで、カスタムテーブルを作成できます。作成したカスタムテーブルを使用アドミニストレーターがサブスクリプションにマッピングする方法の詳細については、「サブスクリプション管理 での製品サブスクリプションへのカスタムテーブルのマッピング」を参照してください。
手順
- 移動先 すべて > システム定義 > テーブル.
- [New (新規)] を選択します。
-
フォームのフィールドに入力します。
コントロール 説明 ラベル テーブルの一意のラベル (「ラップトップ」や「 シンクライアント」 など) を入力します。ラベルは、テーブルのリストおよびフォームビューに表示されます。[ラベル] フィールドを更新すると、現在の言語の言語ファイルのラベル レコードも更新されます。「データディクショナリテーブル」のフィールドラベルを参照してください。 名前 テーブル名を編集します。これはテーブルのラベルとプリフィックスに基づいて、次のように自動的に入力されます。- スコープ対象のアプリケーションのテーブルの場合、名前にはアプリケーションの一部であることを示す名前空間識別子がプリフィックスとして付けられます。
- グローバルアプリケーションのテーブルの場合、名前には文字列「u_」がプリフィックスとして付けられます。
- スコープ対象のアプリケーションのリモートテーブルの場合、名前にはリモートであり、アプリケーションの一部であることを示す名前空間識別子と文字列 st_ がプリフィックスとして付きます。
- グローバルアプリケーションのリモートテーブルの場合、名前には文字列 u_st_ がプリフィックスとして付きます。
プリフィックスは変更できません。ただし、残りのテーブル名を変更することはできます。名前には、小文字、英数字の ASCII 文字およびアンダースコア (_) だけを使用できます。
拡張テーブル 拡張するテーブルを選択します。ベーステーブルを拡張すると、元のテーブルのすべてのフィールドが組み込まれ、新しいテーブルのシステムフィールドが作成されます。拡張可能とマークされたテーブルは、同じスコープ内にある場合、または他のスコープからの構成が許可されている場合に拡張可能です。
[スクリプト可能テーブル (Scriptable Table)] チェックボックスを選択して、このテーブルをスクリプト可能と指定した場合、このオプションは使用できません。
アプリケーション [読み取り専用] このテーブルに関連付けられたアプリケーションを表示します。アプリケーションで作業している場合、またはアプリケーションレコードからテーブルを作成している場合、フィールドはデフォルトでそのアプリケーションに設定されます。それ以外の場合は、このフィールドのデフォルトは [グローバル] です。モジュールやセキュリティルールなど、テーブルレコードから作成されたすべてのレコードは、デフォルトでこのアプリケーションに割り当てられます。 リモートテーブル このテーブルをリモートテーブルとして指定するオプション。リモートテーブルは、外部データソースからデータを取得するためのスクリプト定義を関連付けることができるテーブルです。標準の内部テーブルとは異なり、データは現在のインスタンスのレコードから取得されません。 このチェックボックスをオンにすると、スクリプト可能テーブルを他のテーブルから拡張できないため、[拡張テーブル (Extends Table)] オプションにアクセスできません。
注:スクリプト可能テーブルの詳細については、以下を参照してください。モジュールを作成 チェックボックスをオンにして [モジュールをメニューに追加 (Add module to menu)] フィールドに入力して、アプリケーションメニューにリストモジュールを作成します。
このオプションは、テーブルを作成する場合にのみ使用できます。
モジュールをメニューに追加 既存のメニューを選択するか、[新規作成] を選択して新しいメニュー名を入力します。このオプションは、[モジュールを作成] チェック ボックスがオンになっている場合にのみ使用できます。 -
[列] セクションで、[テーブルの列] 埋め込みリストを使用してテーブルに列を追加します。
列 説明 列ラベル 列に一意のラベルを定義します。ラベルは、列のリストヘッダーとフォームフィールドに表示されます。[列のラベル] フィールドを更新すると、現在の言語の言語ファイルのラベルも更新されます。
タイプ [必須] 列のフィールドタイプを定義します。「フィールド管理」および「フィールドタイプ」を参照してください。既存のデータを保持するには、同じ基本タイプの間のフィールドのみを変更します ( Choice と String など)。カスタムフィールドへの変更によってデータが失われると、警告が表示されます。ベースシステムフィールドを変更することはできません。変更するとデータが失われます。 参照 参照テーブル名を入力して、フィールドを参照フィールドタイプにします。
注:このフィールドでは、動的参照の作成が有効になっています。したがって、既存のテーブルと一致しないテーブル名を入力すると、現在のテーブルレコードに変更を保存する時点で新しいテーブルが作成されます。現在のテーブルのアプリケーションナビゲーターにモジュールがある場合、新しく作成されたテーブルのモジュールが同じアプリケーションメニューに自動的に作成されます。最大長 [文字列フィールドのみ] フィールドの長さを制限します。長さが 254 未満のテキストフィールドは、1 行のテキストフィールドとして表示されます。255 文字以上になると、複数行のテキストボックスとして表示されます。
注:- この値は、フィールドの [タイプ] が [文字列] である場合にのみ変更できます。その他のタイプのフィールドでは、変更は無視されます。
- Oracle インスタンスでは、文字列フィールドの最大長を 4000 より大きくすることはできません。これは、Oracle で CLOB データタイプが必要になるためです。このサイズを超えて増加するには、ServiceNow テクニカルサポートでインシデントをログに記録し、変更を要求してください。
- データが失われないようにするには、新しいアプリケーションを開発する場合にのみ文字列フィールドの長さを短くし、フィールドにデータが含まれているときは短くしないでください。カスタムフィールドへの変更によってデータが失われると、警告が表示されます。ベースシステムフィールドでは、データの損失が起きるような変更を行うことはできません。
デフォルト値 新しいレコードのフィールドのデフォルト値を指定します。この値が正しいフィールドタイプを使用していることを確認してください。たとえば、整数フィールドではデフォルト値に 2 を使用できますが、デフォルト値に two を使用することはできません。このような値は、辞書オーバーライドで上書きできます。 表示 このフィールドが表示値であるかどうかを示します (このテーブルを参照するレコードに表示されます)。
注:このフィールドをリストとフォームのどちらに表示するかを制御するオプションではありません。 -
[コントロール] セクションで、追加のテーブルオプションを定義します。
コントロール 説明 拡張可能 他のテーブルがこのテーブルを拡張できるようにするには、チェックボックスをオンにします。追加の子テーブルが作成されないようにするには、チェックボックスをオフにします。既存の子テーブルは変更されません。 ライブフィード テーブルのレコードフィードを有効にするには、チェックボックスをオンにします。このオプションにより、[ライブフィードを表示] アイコン ( ) がフォームヘッダーに追加されます。
自動番号 チェックボックスをオンにして、自動付番フィールドをテーブルに追加する場合の番号形式を定義します。このチェックボックスは、テーブルに数値形式が存在しない場合にのみ使用できます。それ以外の場合は、既存の数値形式を編集できます。 アクセス制御ルールを作成 チェックボックスをオンにして、[ユーザーロール] フィールドに入力して、テーブルの基本セキュリティルールを作成します。 ユーザーロール 新しい名前を入力するか、このテーブルにアクセスするために必要な既存のユーザーロールを選択します。このオプションは、[アクセス制御ルールを作成] チェックボックスがオンになっている場合にのみ使用できます。 -
[アプリケーションのアクセス] セクションをクリックして、テーブルのスコープ保護を定義します。
詳細については、「アプリケーションのアクセス設定」を参照してください。
コントロール 説明 アクセス可能 テーブルにアクセスできるアプリケーションスコープを指定します。- すべてのアプリケーションスコープ
- 任意のアプリケーションスコープからアクセスできます。
- このアプリケーションスコープのみ
- 現在のアプリケーションスコープからのみアクセスできます。
他のアプリケーションスコープからの読み取りアクセスを許可 このチェックボックスがオンの場合、他のアプリケーションスコープのスクリプトオブジェクトが、このテーブルに格納されているレコードを読み取ることができます。このオプションは実行時保護を提供します。たとえば、別のアプリケーション内のスクリプトでこのテーブルのデータに対するクエリを実行できます。他の API レコード操作を許可するには、先に読み取りアクセスを選択してください。 他のアプリケーションスコープからの作成アクセスを許可 このチェックボックスをオンにすると、他のアプリケーションスコープのスクリプトオブジェクトがこのテーブルにレコードを作成できるようになります。このオプションは実行時保護を提供します。たとえば、別のアプリケーション内のスクリプトでこのテーブルに新しいレコードを挿入できます。このオプションは、[他のアプリケーションスコープからの読み取りアクセスを許可] チェック ボックスがオンになっている場合にのみ使用できます。
このチェックボックスをオフにすると、他のアプリケーションスコープのスクリプトオブジェクトはこのテーブルにレコードを作成できなくなります。
他のアプリケーションスコープからの書き込みアクセスを許可 このチェックボックスがオンの場合、他のアプリケーションスコープのスクリプトオブジェクトが、このテーブルに格納されているレコードを変更できるようになります。このオプションは実行時保護を提供します。たとえば、別のアプリケーション内のスクリプトでこのテーブルのフィールド値を変更できます。このオプションは、[他のアプリケーションスコープからの読み取りアクセスを許可] チェック ボックスがオンになっている場合にのみ使用できます。
このチェックボックスをオフにすると、他のアプリケーションスコープのスクリプトオブジェクトはこのテーブルに格納されているデータを変更できなくなります。
他のアプリケーションスコープからの削除アクセスを許可 このチェックボックスをオンにすると、他のアプリケーションスコープのスクリプトオブジェクトが、このテーブルからレコードを削除できるようになります。このオプションは実行時保護を提供します。たとえば、別のアプリケーション内のスクリプトでこのテーブルからレコードを削除できます。このオプションは、[他のアプリケーションスコープからの読み取りアクセスを許可] チェック ボックスがオンになっている場合にのみ使用できます。
このチェックボックスをオフにすると、他のアプリケーションスコープのスクリプトオブジェクトはこのテーブルからレコードを削除できなくなります。
Web サービスからのアクセス許可 このチェックボックスをオンにすると、ユーザーはこのテーブルに対して受信 Web サービス Web サービスクエリを実行できるようになります。このオプションは設計時保護と実行時保護の両方を提供します。このチェック ボックスをオンにしている場合でも、クエリを実行するユーザーは、このテーブルにアクセスするための適切な権限を持っている必要があります。
このチェック ボックスをオフにすると、ユーザーはこのテーブルに対して Web サービス クエリを実行できません。
構成を許可 このチェックボックスをオンにすると、他のアプリケーションスコープのアプリケーションが、このテーブルの機能を変更する構成レコードを作成できるようになります。たとえば、アプリケーション設計者は、ビジネスルール、クライアントスクリプト、または UI アクションの [テーブル] リストからこのテーブルを選択できます。このオプションは設計時保護を提供します。
このチェックボックスをオフにすると、構成レコードを作成するときにアプリケーション設計者がこのテーブルを選択できなくなります。
- [送信] をクリックします。
次のタスク
- フィールドラベル [sys_documentation] テーブルに移動し、テーブルをフィルタリングして、変更するフィールドを含むテーブルを表示します。テーブル自体を表すラベルを見つけるには、要素が空になっているレコードをフィルタリングします。
- 変更するフィールドレコードを開き、更新します。各フィールドの説明については、「フィールドラベルテーブル」を参照してください。