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関数を追加できます。
assignGTIN(getCustomObjectValue["GTIN_Prefix","Prefix","Level"+[ITEM].[Info].[L1],[Item].[Codes].[UPC],"Ea"),assignGTIN(invokeWebservice("GTIN_Core","Fetch") "Ea","Supplier","CO1234")
- 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")
- 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割当ルールで検証桁関数を使用する方法も示します。