機械翻訳について

GTIN割当ルール

GTINを自動的に生成し、割当品目ルールを使用してGTIN関係を作成できます。

割当ルールを作成する場合は、戻りタイプとしてGTINを選択する必要があります。 webサービスのコール、自動順序機能、カスタム・オブジェクトまたは品目属性からの値のフェッチなど、品目ルールの既存の機能を活用してGTINを生成できます。 次に、割当ルールによってGTIN関係が自動的に作成されます。

GTINルールの作成および割当

GTINを生成し、GTIN関係を自動的に作成するには、「戻り値」フィールドのassignGTIN関数を使用します。

構文は次のとおりです:

assignGTIN (<GTIN String/Expression>, <UOM Code>, <Party Type>, <Registry ID>)

GTINを生成するルール関数を最初の引数として使用できます。 GTIN単位として使用される2番目の引数として単位コードを渡します。 パーティ・タイプとレジストリIDはオプションの引数です(両方を指定するか、両方を空白にする必要があります)。 パーティ・タイプおよび登録IDを渡して、パーティGTIN関係を作成できます。 このGTIN式で複数の値を連結できます。 複数のGTIN割当ルールを作成して、複数のGTIN関係を作成できます。

属性が更新されると、ルールは関係を削除しないか、既存の関係を更新しません。 新しい関係を作成しようとします。 指定された値との新しい関係が許可されている場合、作成トランザクションは成功します。

指定した値との関係が存在する場合は、新しいGTIN関係を作成できません。

属性がnullに変更された場合、または複数行属性の行が削除された場合、ルールは失敗します。 同じ仕様のGTIN関係がすでに存在することを示すメッセージが表示されます。 したがって、新しいGTIN関係は作成できません。

次に例を示します。
  • 定数の使用: assignGTIN ("00002584109872", "EA", "Manufacturer", "CD1234")
    • 最初の引数は14桁の文字列である必要があります。
    • 2番目の引数は、単位コードと参照内容の両方を受け入れる必要があります。
    • 第3引数(パーティ・タイプ)は、顧客、製造業者またはサプライヤである必要があります。
    • 4番目の引数は、顧客、製造業者またはサプライヤのレジストリIDである必要があります。
  • 品目属性の受渡し : メイン、基本、拡張フレックスフィールドまたは式(あるいはその両方):

    assignGTIN([Item].[Item Basic].[Item], [Item].[Main].[Primary Unit of Measure])

    assignGTIN([Item].[AG1].[A1] + [Item].[AG1].[A2] , [Item].[AG1].[U_Code], [Item].[AG1].[P_TYPE], [Item].[AG1].[R_ID])

    assignGTIN(InvokeWebservice("GTIN_Prefix", "Fetch", [Item].[Item Basic].(Item Class]) + auto_sequence ("Prod_Seq", 100000, 1) + gtinCheckDigit ( [Item].[GTIN_Details].[UPC]) , [Item].[Main].[Primary Unit of Measure])

  • 同じ品目に対して追加のGTIN関係を作成します:

    assignGTIN("20002584109872", "5Pack")

単一のルールを使用して、複数のGTINを生成して品目に割り当てることができます。 たとえば、1つのルールを使用して、内部GTIN、パーティGTINおよび追加梱包GTINを品目に割り当てます。 既存のルール関数を使用してGTINを生成し、assignGTIN関数内でこれらの関数を使用します。 GTINルールの戻り値フィールドに複数のassignGTIN関数を追加できます。

GTIN割当ルールの戻り値フィールドに追加できる式を示す例を次に示します。
assignGTIN(getCustomObjectValue["GTIN_Prefix","Prefix","Level"+[ITEM].[Info].[L1],[Item].[Codes].[UPC],"Ea"),assignGTIN(invokeWebservice("GTIN_Core","Fetch") "Ea","Supplier","CO1234")
getItemGTIN関数をルールで使用して、既存の品目のGTIN関係からGTINを取得できます。 次に例をいくつか示します。
  • GTIN単位が品目のプライマリ単位と同じGTINを取得します:

    getItemGTIN([GTIN].[GTIN Main].[UOM] == [Item].[Main].[Primary Unit of Measure])

  • GTIN単位とプライマリ単位が一致し、パーティ名がXYZ Ltdのコンテキスト品目のGTINを取得します:

    getItemGTIN( [GTIN].[GTIN Main].[UOM] == [Item].[Main].[Primary Unit of Measure] AND [GTIN].[GTIN Main].[Party Name] == "XYZ Ltd" )

  • GTIN単位が5パックであるコンテキスト品目のGTINを取得します:

    getItemGTIN( [GTIN].[GTIN Main].[UOM] == "5Pack")

GTIN割当ルールでこの式を使用して、追加のGTIN関係を作成できます。 また、次のことも可能です:
  • getItemGTIN関数を使用して既存の関係から取得したGTINからキー・パーツを導出してから、これらのパートを使用して追加のGTINを生成できます。
  • このGTINは検証目的で使用します。

次の例では、APIを起動し、コンテキスト品目のPack-GTINおよび別の値"10Pack"を送信します。 これら2つの入力パラメータに基づいて、外部APIはGTINをコンピュートしてGTIN番号を返すことができます。ルールは、返されたGTIN番号とGTIN単位「10Pack」のGTIN関係を作成します。

assignGTIN(InvokeWebservice("GTIN_Compute", getItemGTIN( [GTIN].[GTIN Main].[UOM] == [Item].[Main].[Primary Unit of Measure]),"10Pack" ), "10Pack")

GTINのチェック・デジットの計算

gtinCheckdigit( )品目ルール関数を使用して、GTIN 8、GTIN 12、GTIN 13またはGTIN 14のチェック・ディジットを計算できます。

関数の構文は次のとおりです。

gtinCheckdigit( ).

7、11、12または13桁の数値を渡して、GTIN 8、GTIN 12、GTIN 13またはGTIN 14のチェック桁をそれぞれ計算できます。 この関数は、mod 10チェック・ディジット計算を実行し、チェック・ディジットを返します。

GTIN検証桁関数の式を渡すこともできます。 この式は、7、11、12または13桁の数値を返す必要があります。

ルールを使用して、検証桁を渡し、他の桁にチェック・ディジットを追加できます。 次に例を示します。

assignGTIN([Item].[AG1].[Indicator_Digit] + [Item].[AG1].[Company_Prefix] + [Item].[AG1].[Item_Ref] + gtinCheckdigit ([Item].[AG1].[Indicator_Digit] + [Item].[AG1].[Company_Prefix] + [Item].[AG1].[Item_Ref]) , "Each")

または、次のルールを作成できます:

ルール1: Attribute G-13 = [Item].[AG1].[Indicator_Digit] + [Item].[AG1].[Company_Prefix] + [Item].[AG1].[Item_Ref]

ルール2: assignGTIN([Item].[AG1].[G-13] + gtinCheckdigit([Item].[AG1].[G-13]) , "Ea")

前述の例では、GTIN割当ルールで検証桁関数を使用する方法も示します。