フローチャートのログ・ファイルにソート順誤りのエラーが表示される

問題またはエラー: フローチャートのログ・ファイルに「ソート順誤り」のエントリーが繰り返し表示されます。

エントリーは次のようになります。

Wrong sort order detected (Last ID > This ID)
Last ID: Name=EMAIL_ADDRESS, Type=8, Chars=80, Bytes=80, 
dbtype=17, prec=80, Value='customer1@domain.com'
This ID: Name=EMAIL_ADDRESS, Type=8, Chars=80, Bytes=80, 
dbtype=17, prec=80, Value='customer2@domain.com'

解決方法: これは警告メッセージです。このメッセージは、Campaign によって予期されたものと異なる順序でデータベースがレコードを返したことを意味します。Campaign サーバーはこれを検出して、データベースからのレコードの取得を停止しました。Campaign はその代わりに、ID のリスト全体をサーバー上の Campaign temp ディレクトリーに取り込みます。Campaign はそのディレクトリーで ID を再ソートし、正しくソートされたリストをサーバーの一時スペースから使用して、フローチャートの残りの部分の処理を続行します。

CampaignenableSelectOrderBy プロパティーが、この問題の解決に役立ちます。

  • このプロパティーを false に設定すると、Campaign はただちにレコードを temp ディレクトリーに取り込み、Campaign のサーバー・プロセスがレコードをソートします。
  • このプロパティーを true (デフォルト) に設定すると、Campaign は、データベースがレコードをソートすることを許可し、それらのレコードが Campaign サーバー・プロセスに送られることを予期します。レコードが正しくソートされなかった場合、Campaign は矛盾を検出して、リストを再ソートします。それがこのログ・ファイルに表示されます。

ログ・ファイルにリストされるときに、レコードは既にソートされているように見えます。これは、Campaign がデフォルトで大/小文字を区別しない比較を実行するからです。大/小文字の違いを無視するために、Campaign は比較を行う前に、標準 ASCII ソート順を使用してデータを小文字に変換します。データベースは、下線 ( _ ) およびその他の少数の文字で始まる文字列を、大文字の文字列と小文字の文字列の間に表示されるようにソートすることがあります。ただし、Campaign は比較の前に小文字への変換を行うため、これらの同じ文字を異なってソートすることがあります。

partition[n] | server | dataProcessing カテゴリーに属する以下の Campaign プロパティーが、この動作を制御します。

  • performCaseInsensitiveComparisonAs
  • compareCaseSensitive

データベースのソート順がわかっている場合には、必要に応じて、Campaign パラメーターをデータベースと整合するように設定できます。詳しくは、「IBM® Campaign 管理者ガイド」を参照してください。