JavaScript ポリシー

JavaScript ポリシーは、データ管理サービスのソース属性に適用され、 サービスの実行時に実行されます。サービス計画を使用することで、JavaScript ポリシーをサービスに追加します。

JavaScript ポリシーには、 サービスの属性に適用されるデータ変換を記述した JavaScript ファイルが含まれます。 JavaScript ファイルは、エンティティー内の複数の属性で使用できますが、 各属性を関連付けできるのは 1 つのファイルのみとなります。 サービスには、複数の JavaScript ポリシーを含めることができます。JavaScript ファイルは、 データ・プロジェクト・エクスプローラーの「その他のファイル (Other Files)」フォルダーに保管されます。

JavaScript を使用して、 属性のデータ変換を定義します。JavaScript を使用することで、 数値をランダム値でマスクする、サブストリングを抽出する、エンティティー値を連結する、 JavaScript で使用可能な他のデータ変換を実行するなどの処理が行えます。 JavaScript 関数を使用して、日付プライバシー、ID プライバシー、数値プライバシー、およびスクランブル・プライバシー・ポリシーを適用することも可能です。

JavaScript ポリシーで定義された変換は、 Optim™ がソース・データに対してルックアップまたはルール・ベースの変換を実行した後に行われます。

ソース値の取得
「record」オブジェクトを使用してソース論理データ・モデルを参照し、 getItem() メソッドを使用してソース属性にアクセスします。リレーショナル・データの場合、ソース項目は ('/schema/entity/attribute') の形式になります。

例えば DEMO スキーマの CUSTOMERS エンティティーのソース属性 ADDRESS を取り出すには、次の構文を使用します。

record.getItem('/DEMO/CUSTOMERS/ADDRESS')
ストリングの連結
ストリングを連結するには、concat() 関数ではなく「+」演算子を使用します。

ソース値の処理

record.getItem() メソッドでソース値を処理する際、 値は JavaScript の処理で Java データ・タイプに変換されます。 JavaScript の処理の後、 値はターゲット・データベースのデータ・タイプに変換されます。

JavaScript の処理におけるソース・データ・タイプの変換方法については、 以下の表から判別してください。

ソース・データ・タイプ Java タイプ
文字 java.lang.String
可変長文字 java.lang.String
国別文字 java.lang.String
可変長国別文字 java.lang.String
文字ラージ・オブジェクト byte[] (IBM® DB2® では java.sql.Clob) (Oracle では char[])
国別文字ラージ・オブジェクト byte[] (IBM DB2 では java.sql.Clob) (Oracle では char[])
バイナリー byte[]
可変長バイナリー byte[]
バイナリー・ラージ・オブジェクト java.sql.Blob
ブール値 java.lang.Boolean
日付 java.util.Calendar
時刻 java.util.Calendar
タイム・スタンプ java.sql.Timestamp (Oracle では java.lang.Object)
数値 java.math.BigDecimal
10 進数 java.lang.String
倍精度 java.lang.Double (Oracle では java.lang.String)
実数 java.lang.Double
浮動小数点 java.lang.Double (Oracle では java.math.BigDecimal)
短精度整数 java.lang.Short
整数 java.lang.Integer
64 ビット整数 java.lang.Long
インターバル java.lang.Object
XML java.lang.Object
データ・リンク java.lang.Object