機械翻訳について

ライブラリ・ファイルのインポート

.zip.jarまたは.jsライブラリ・ファイルをOracle Integrationにインポートできます。 ZIPファイルには、ライブラリJARおよびメタデータXMLファイルのみを含める必要があります。

  1. 開始する場所を決定します:
    • プロジェクトでの作業。
      1. ナビゲーション・ペインで、「プロジェクト」をクリックします。
      2. プロジェクト名を選択します。
      3. 「Integrations」をクリックします 統合アイコン
      4. 「ライブラリ」セクションで、ライブラリが現在存在しない場合は「追加」をクリックし、ライブラリがすでに存在する場合は+をクリックします。

        「インポート」パネルが開きます。 JavaScriptコールアウトでは、プロジェクト内のライブラリのみを使用できます。

    • プロジェクト外の作業
      1. ナビゲーション・ペインで、「設計」「ライブラリ」の順にクリックします。
      2. 「インポート」をクリックします。

        「インポート」パネルが開きます。

  2. 「ドラッグ・アンド・ドロップ」をクリックしてファイルを選択するか、このフィールドにドラッグします。
  3. 必要に応じて更新を行い、「保存」をクリックします。

JavaScriptの書込み

JavaScriptは、マッパーを使用し、アクションを割り当ててデータをエンリッチするかわりに、アプリケーション・ロジックを開発しないかわりに使用できます。

開発(サンドボックス)環境で実行するJavaScriptコードを記述またはコピーする場合は、JavaScriptドキュメントを参照してください。 JavaScriptを参照してください。 このドキュメントでは、基本的な構文と使用可能な構造について説明します。 スクリプトは開発環境で実行されるため、ネットワーク、ファイルおよびJava APIは使用できません。

コード書式

次の例に示すように、名前関数はパラメータを返します。 returnパラメータが指定されている場合のみ、メタデータ・ユーザー・インタフェースでreturnパラメータ・タイプを構成する必要があります。 次のコードについて検討します。

function add ( param1, param2 )
 {    return param1 + param2;
}
前述の構文は有効ですが、returnパラメータは、構成用のメタデータ・ユーザー・インタフェースには表示されません。 そのためには、コードで名前付きパラメータを返す必要があります。 新しい変数を作成し、その変数が返される前に戻り値を割り当てます。 たとえば:
function add ( param1, param2 ) {
   var retValue = param1 + param2;
   return retValue;
}

別の関数内の関数

別の関数内で定義された関数は、構成用のメタデータ・ユーザー・インタフェースに表示されません。 コールアウトまたはマッパーからファンクションにアクセスする必要がある場合は、コードのリファクタが必要になる場合があります。

次のコードでは、fooparseDate内で定義され、構成用のメタデータ・ユーザー・インタフェースには表示されません。
function parseDate(d) {
    function foo(d) {
        if(typeof d === 'string') { return Date.parse(d.replace(/-/g,'/'));}
     if(!(d instanceof Array)) { throw new Error("parseDate: parameter must be arrays of strings"); }
     var ret = [],k;
     for(k=0;k<d.length;k++) { ret[k] = foo(d[k]); }
        return ret;
    }
     var retVal = foo(d);
     return retVal;
}

拡張子

Oracle Integrationは、次のネームスペースに編成された一連の拡張関数を提供します:

関数
uuid関数:
oic.uuid
    uuidv1
    uuidv4
function uuidv1() {
  var uuidv1_result = oic.uuid.uuidv1();
  return uuidv1_result;
}
 
function uuidv4() {
  var uuidv4_result = oic.uuid.uuidv4();
  return uuidv4_result;
}
checksum関数:
oic.checksum
    sha
    sha256
    sha512
    md5
function checksum_sha(inputStr) {
  var sha_result = oic.checksum.sha(inputStr,"sha");
  return sha_result;
}
 
function checksum_sha256(inputStr) {
  var sha256_result = oic.checksum.sha256(inputStr,"sha-256");
  return sha256_result;
}
 
function checksum_sha512(inputStr) {
  var sha512_result = oic.checksum.sha512(inputStr,"sha-512");
  return sha512_result;
}
 
function checksum_md5(inputStr) {
  var md5_result = oic.checksum.md5(inputStr,"md5");
  return md5_result;
}
}
base64関数:
oic.base64
    encode
    decode
function base64_encode(input_encode_str) {
var encode_result = oic.base64.encode(input_encode_str);
return encode_result;
}
function base64_decode(input_decode_str) {
    var encode_result = oic.base64.decode(input_decode_str);
    return encode_result;
}
crypto関数:
oic.crypto
    hmacsha256
function generate_hashCode(hmacString_value, hmacKey_value) {
  var hashCode_value = oic.crypto.hmacsha256 ( hmacString_value, hmacKey_value);
  return hashCode_value; 
}
oic.date
  • zonedDateTime: あるゾーンから別のゾーンへのゾーン時間を計算し、ターゲット・タイム・ゾーンのタイム・ゾーン・データなしでISO日時書式でフォーマットされたタイム・ゾーンを返します。

    同じ日付およびタイム・ゾーン・データの場合、この関数は同じ結果を返します。 ただし、夏時間(DST)ルールのため、結果は指定された日付によって異なる場合があります。 たとえば、DSTはヨーロッパよりも米国で始まり、2週間の期間では相殺が1時間未満です。

  • timeZoneOffset: 指定された日付、ソース・タイム・ゾーンおよびターゲット・タイム・ゾーンのタイム・ゾーン・オフセットを計算し、指定された日時におけるタイム・ゾーン間のタイム・オフセットをミリ秒単位で返します。

    同じ日付と時間帯の場合、この関数は同じ結果を返します。 ただし、DSTルールのため、時間オフセットは指定された日付によって異なる場合があります。 たとえば、DSTはヨーロッパよりも米国で始まり、2週間の期間では相殺が1時間未満です。 返されるオフセットは負または正の場合があり、これはターゲット・タイム・ゾーンがソース・タイム・ゾーンの前または後であることを示します。

  • lookupTimeZone: 名前でタイム・ゾーンを検索します。 指定しない場合、デフォルトのタイムゾーンが返されます。これは地理的に依存します。

    タイムゾーンの名前は、Internet Assigned Numbers Authority (IANA)タイム・ゾーン識別子(タイム・ゾーン・データ名)である必要があります。

    タイム・ゾーンが不明な場合、この関数はJavaScriptフォルトを返します。

    checkのオプションが渡された場合、このファンクションは、存在しないタイム・ゾーンのJavaScriptフォルトのかわりにNULL値を返します。 このオプションは、タイム・ゾーンの計算を実行する他の関数をコールする前に、タイム・ゾーンの検証に使用できます。

    このファンクションは、タイムゾーンに関する次のJSONデータを返します。
    "name": "Pacific Standard Time",
    "id": "America/Los_Angeles",
    "dst": 3600000,
    "observesDST": true,
    "rawOffset": -28800000
    
  • timeZones: この関数は、使用可能なタイム・ゾーン・データのJSON配列を返します。 配列オブジェクトは、lookupTimeZone()によって返される形式です。
function oic.date.zonedDateTime (source_datetime, source_timezone_id, target_timezone_id) {
  var formattedDateTime = oic.date.zonedDateTime (source_datetime, source_timezone_id, target_timezone_id)
  return formattedDateTime;
説明:
  • source_datetime: 日時(タイムゾーン情報なし)、JavaScript日付オブジェクト、エポック以降のミリ秒数を表す数値、または未定義またはNULL値(この場合、現在の時間が使用されます)を表すISO形式の文字列。
  • source_timezone_id: ソース・タイム・ゾーン名。 指定しない場合、デフォルトは現在のタイムゾーン(地理的に依存)になります。
  • target_timezone_id: ターゲット・タイム・ゾーン名。 指定しない場合、デフォルトは現在のタイムゾーン(地理的に依存)になります。
function oic.date.timeZoneOffset (source_datetime, source_timezone_id, target_timezone_id) {
return CXDate.timeZoneOffset (date, source time zone, target time zone);
}
説明:
  • source_datetime: 日時(タイムゾーン情報なし)、JavaScript日付オブジェクト、エポック以降のミリ秒数を表す数値、または未定義またはNULL値(この場合、現在の時間が使用されます)を表すISO形式の文字列。
  • source_timezone_id: ソース・タイム・ゾーン名。 指定しない場合、デフォルトは現在のタイムゾーン(地理的に依存)になります。
  • target_timezone_id: ターゲット・タイム・ゾーン名。 指定しない場合、デフォルトは現在のタイムゾーン(地理的に依存)になります。
function oic.date.lookupTimeZone (time_zone, option) {
return CXDate.lookupTimeZone (time zone, option);
説明:
  • time_zone: タイム・ゾーン名。
  • option: 応答方法。
function oic.date.timeZones () {
return CXDate.timeZones ();
oic.date.timeZoneOffsetの例:
  • この入力:
    oic.date.timeZoneOffset("2025-02-26T10:00:00","America/Los_Angeles","Europe/Warsaw")
    次の出力が生成されます:
    32400000 (9hrs, ahead)
  • この入力:
    oic.date.timeZoneOffset("2025-02-26T10:00:00","Europe/Warsaw","America/Los_Angeles")
    次の出力が生成されます:
    -32400000 (-9hrs, behind)
  • この入力:
    oic.date.timeZoneOffset("2025-02-26T10:00:00","Europe/Warsaw","Europe/Warsaw")
    次の出力が生成されます:
    0
    (同じタイムゾーン)
  • この入力:
    oic.date.timeZoneOffset("2025-07-26T10:00:00")
    次の出力が生成されます:
    0
    (同じタイムゾーンまたは暗黙のローカルタイムゾーン)
  • この入力:
    oic.date.timeZoneOffset()
    次の出力が生成されます:
    0
    (現在の時間、同じタイムゾーン、または暗黙のローカルタイムゾーン)
  • この入力:
    oic.date.timeZoneOffset(new Date())
    次の出力が生成されます:
    0
    (現在の時間は、JavaScriptの日付、同じタイムゾーンまたは暗黙のローカル・タイムゾーン)
  • この入力:
    oic.date.timeZoneOffset(1758907817048)
    次の出力が生成されます:
    0
    (エポック、同じタイム・ゾーンまたは暗黙のローカル・タイム・ゾーンからの現在の時間(ミリ秒))
oic.date.zonedDateTimeの例:
  • この入力:
    oic.date.zonedDateTime ("2025-04-09T16:32:32","America/Los_Angeles", "Asia/Kolkata")
    次の出力が生成されます:
    "2025-04-10T05:02:32"
  • この入力:
    oic.date.zonedDateTime ("2025-02-02T16:32:32","America/Los_Angeles", "Asia/Kolkata")
    次の出力が生成されます:
    "2025-02-03T06:02:32"
  • この入力:
    oic.date.zonedDateTime ("2025-02-02T14:59:59","America/Los_Angeles", "Europe/Warsaw")
    次の出力が生成されます:
    "2025-02-02T23:59:59"
  • この入力:
    oic.date.zonedDateTime ("2025-03-10T14:59:59","America/Los_Angeles", "Europe/Warsaw")
    次の出力が生成されます:
    "2025-03-10T22:59:59"
  • この入力:
    oic.date.zonedDateTime ("2025-03-10T14:59:59")
    次の出力が生成されます:
    "2025-03-10T14:59:59"