機械翻訳について

アルゴリズムの管理

サービス・マッピングは、宛先表に送信されるデータをカスタマイズするアルゴリズムとともに使用されます。

エンティティは、カスタム・フィールドを作成したり、ビュー・オブジェクト属性から入力値を受け取る標準フィールドを識別するために使用されます。 サービスは、Groovyスクリプトに基づいてエンティティのフィールドを変更または変換するために使用できるアルゴリズムを参照し、アルゴリズムによって読取りおよび書込みが可能なエンティティ属性を定義します。

アルゴリズムでカスタマイズを行う必要がある場合は、QP_ALGO_ENABLE_FACTORY_MODE_RUNプロファイル・オプションの「カスタマイズ」オプションをTrueに変更して、カスタマイズ・オプションを有効にする必要があります。 この値を更新するには、「Setup and Maintenance(設定および保守)」→「Manage Administrator Profile Values(管理者プロファイル値の管理)」に移動します。

アルゴリズムをカスタマイズするが、「カスタマイズ」オプションをTrueに変更しない場合、カスタマイズは選択されません。

既存のアルゴリズムをプロモートするか、新しいバージョンを作成するには、「アルゴリズムの管理」ページのアクション・メニューをクリックします。 アルゴリズムのステータスの新しいバージョンは、「進行中」になります。

アルゴリズムには、次の2つの事前定義済データ・セットがあります:

  • AssetMap
  • 折れ線

アルゴリズムの編集では、カスタム属性を管理するために、SoHeaderやLineEFFなどの新しい行を作成できます。 次のような値を使用します:

列名 列値 ノート
名前 SoHeader カスタム名
変数パス AssetRequest.SalesOrderHeaderと入力
  • AssetResquest: ターゲット・エンティティ。
  • SalesOrderHeader: これは、サービス・マッピング設定ドキュメントから取得されます。
カーディナリティ ゼロまたは1 この値を選択します。
データ・セット結合 [HeaderId: {SoHeader.HeaderId}]
  • HeaderId: 販売オーダー・ヘッダーID
  • SoHeader: ターゲット・エンティティ値
  • HeaderId: 販売オーダー・ヘッダーID

ヘッダー明細の場合は、次のような情報を使用します。

列名 列値 ノート
名前 HeaderEFF エンティティ名
変数パス AssetRequest.HeaderEFF_Custom
  • AssetResquest: ターゲット・エンティティの値。
  • HeaderEFF_Custom: このサービス・マッピングは文書を設定します。
カーディナリティ ゼロまたは1 この値を選択してください。
データ・セット結合 [HeaderId_Custom: {SoHeader.HeaderId}]
  • HeaderID_Custom: カスタム属性名は販売オーダー・ヘッダーIDを表します
  • SoHeader: ターゲット・エンティティの値。
  • HeaderId: ヘッダーIDユニット識別子。

明細の場合は、このような情報を使用します。

列名 列値 ノート
名前 LineEFF エンティティ名
変数パス AssetRequest.LineEFF_Custom
  • AssetResquest: ターゲット・エンティティ。
  • LineEFF_Custom: サービス・マッピング設定文書の表の値。
カーディナリティ ゼロまたは1 この値を選択します。
データ・セット結合 [FulfillLineId_Custom : {Fline.FulfillLineId}]
  • FulfillLineId: これは、販売オーダー・ヘッダーIDを表すカスタム属性名です。
  • 折れ線: ターゲット・エンティティの値。
  • FulfillLineId_Custom: これは、サービス・マッピング設定ドキュメントの表のエンティティ値から取得されます。

アルゴリズムの条件の実行

エンティティおよび属性のルールを定義します。 これらはgroovyスクリプト文です。 Groovyは、Oracleクラウドで詳細なサポートを提供するJavaプラットフォーム用の標準の動的スクリプト言語です。 Groovyドキュメントを利用して、Groovyスクリプト言語を使用してアプリケーションを拡張する方法の基本を理解できます。

コンテキストでGroovyスクリプトを使用する必要がある場合、通常は式と呼ばれる短い1行スクリプトを使用しますが、技術的にはスクリプトと式は交換可能です。 1行の式を指定できる場所は、必要に応じて複数行のスクリプトを提供するための有効なコンテキストでもあります。 短い式と複数行のスクリプトのどちらを指定しても、使用する構文と機能は同じです。 コードが、それを使用するコンテキストに適した型の値を返すことを確認するだけで済みます。

groovyスクリプトのサンプルを次に示します:

  • AssetMap.CutomerAssetStartDate = FLine.FulfillLineFulfillmentDate ? : Fline.FulfillLineActualShipDate ? : 現在())

    • サービス・オーダーが作成されると、顧客とアセット開始日の両方が販売オーダー履行日と等しくなり、アセットの実績出荷日がシステム日付と等しくなります。

  • AssetMap.CustomerAssetStartdate = now () - 30

    • サービス・オーダーが作成されると、顧客アセット開始日はシステム日付から30日を引いた日付になります。

  • AssetMap.AssetAppCompChar4_Custom = HeaderEFF?.HeaderEFFAttri1_Custom

    • SOヘッダーの下に入力された値カスタム属性(カスタム属性1)が作成されると、アセット・アプリケーション・コンポーザ・カスタム属性(文字4)がマップされます

アルゴリズムのテスト

テストの目的は、ソース属性のデータ入力をシミュレートし、同じ.XMLファイルの結果を取得することです。 テスト・タブを選択し、新規追加ボタンをクリックして新しいxmlスクリプト名を作成することで、アルゴリズムをテストできます。

次に、鉛筆アイコンをクリックして.XMLファイルを編集します。 これにより、変数値と対話するためのポップアップ・ダイアログが有効になります。

次に、.XMLファイル・タイプにテスト入力値を入力して、テスト・スクリプトを実行します。 次のサンプルに従ってください。

ソース・データ ノート
<CustomerAssetStartDate> 2022-06-27T22:00:00.000 これはアセット開始日です。 システム日付はここでOKです。 この形式に従っていることを確認してください。
<AssetOrderService:FulfillLineId> 111 これは販売オーダー明細IDです。数値はOKです。
<AssetOrderService:HeaderId> 222 これは販売オーダー・ヘッダーIDです。数値値はOKです。
<AssetOrderService:MapId> 333 これはマップIDです。数値値はOKです。
<AssetOrderService:HeaderEFFAttri1_Custom> ATTR1 これは、ソース販売オーダー・ヘッダー・カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を必ず選択してください
<AssetOrderService:HeaderEFFNum1_Custom> 10101 これはソース販売オーダー・ヘッダー・カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を必ず選択してください
<AssetOrderService:HeaderEFFDate1_Custom> 2022-06-27T22:00:00Z これはソース販売オーダー・ヘッダー・カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を選択してください
<AssetOrderService:FulfillLineEFFAttri1_Custom> ATTRFL1 これはソース販売オーダー明細カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を必ず選択してください
<AssetOrderService:FulfillLineEFFNum1_Custom> 101001 これはソース販売オーダー明細カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を必ず選択してください
<AssetOrderService:FulfillLineEFFDate1_Custom> 2022-06-27T22:00:00Z これはソース販売オーダー明細カスタム属性です。 正しい属性タイプ(文字、数値、日付など)を必ず選択してください

期待した結果が表示されます。 たとえば、HeaderEFFAttri1_Custom> ATTR1 <の値を入力すると、テストの実行時にAssetAppCompChar4_Custom> ATTR1 <結果リージョンに同じ値が結果として表示されます。

結果の行を修正するには、テストの実行ボタンを選択してスクリプトを実行する必要がある場合があります。

テストは、最終実行ステータスにチェック・マークが表示されたときに終了します。