概要
一部の高度なチケットルールでは、従来のチケットフィールドを修正するのではなく、チケットの変更レコードを修正します。お使いのK1000アプライアンスでローカライズ版のソフトウェア(5.3 L10N以降)を使用している場合には、変更が可視化されないことがあります。HD_TICKET_CHANGE.DESCRIPTIONおよびHD_TICKET_CHANGE.OWNERS_ONLY_DESCRIPTIONフィールドを修正するこのタイプのルールはローカライズ版のK1000でも機能しますが、これらのフィールドの表示方法は旧バージョンと同じです。変更をローカライズ版のK1000でも表示させるためには、このルールを実装する必要があります。
基準
このルールが機能するためには、「説明」フィールドを以下の方法で修正する必要があります。このフィールドを別の方法で修正する場合は、テクニカルサポートにお問い合わせください。
これらのフィールドを以下の形式で修正すれば、このルールがバージョン5.3で機能することをテスト済みです。
手順
- 上記の基準を満たす既存のすべてのルールについて、頻度と並べ替えを調べます。例えば、頻度=チケット保存時、並べ替え=100というルールがあるとします。
- 新しいカスタムルールを作成します。「サービスデスク」、「キュー」、「チケットルール(カスタマイズ)」、「新規追加」の順にアクセスし、「次へ」、「終了」の順にクリックします。これでルールエディタが起動されています。
- タイトルを「convert description and owners_only_description fields to localized(「説明」フィールドと「owners_only_description」フィールドを変換してローカライズ)」と設定します。
- 説明を「This rule must be run with a frequency of "on ticket save" AFTER (i.e. with a higher order number) any rules that modify the DESCRIPTION or OWNERS_ONLY_DESCRIPTION field(このルールは「チケット保存時」の頻度で、DESCRIPTIONまたはOWNERS_ONLY_DESCRIPTIONフィールドを修正するルールの後に(それらより大きい並べ替えの数で)実行されなければならない)」と設定します。
- 並べ替えの数をステップ1で確認した数より大きい数に設定します。例えば、1,000など、任意の大きい数に設定できます。
- 頻度を他のルールと同じに設定します。例えば「チケット保存時」など。
- 以下のようにSelectクエリを入力します。
- 以下のようにUpdateクエリを入力します。
- ルールを有効にします。
- 他のすべてのオプションはオフにします。
- 「保存」をクリックします。
Selectクエリ
-
-
from HD_TICKET_CHANGE C
JOIN HD_TICKET
ON C.HD_TICKET_ID
=HD_TICKET.ID
-
-
-
DESCRIPTION D,
-
LOCALIZED_DESCRIPTION LD,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) DLGTH
,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from LOCALIZED_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) LDLGTH
,
-
OWNERS_ONLY_DESCRIPTION OOD,
-
LOCALIZED_OWNERS_ONLY_DESCRIPTION LOOD,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from OWNERS_ONLY_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) OODLGTH
,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from LOCALIZED_OWNERS_ONLY_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) LOODLGTH
-
from HD_TICKET_CHANGE
) LC
ON LC.ID
=C.ID
-
-
-
(DESCRIPTION
<>'' OR OWNERS_ONLY_DESCRIPTION
<>'')
-
-
-
-
<>
-
LDLGTH
-
-
case when LOCALIZED_OWNERS_ONLY_DESCRIPTION
RLIKE '''(Updated|Added) resolution' then OODLGTH
+1
-
-
<>
-
LOODLGTH )
Updateクエリ
-
-
HD_TICKET_CHANGE C
-
-
-
DESCRIPTION D,
-
LOCALIZED_DESCRIPTION LD,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) DLGTH
,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from LOCALIZED_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) LDLGTH
,
-
OWNERS_ONLY_DESCRIPTION OOD,
-
LOCALIZED_OWNERS_ONLY_DESCRIPTION LOOD,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from OWNERS_ONLY_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) OODLGTH
,
-
FIND_IN_SET('[end]',CONCAT(REPLACE(REPLACE(REPLACE(TRIM(LEADING '\n' from CONCAT(TRIM(TRAILING '\n' from LOCALIZED_OWNERS_ONLY_DESCRIPTION
),'\n')),'\n\n','\n'),',','|'),'\n','\n,'),'[end]')) LOODLGTH
-
from HD_TICKET_CHANGE
) LC
ON LC.ID
=C.ID
-
-
LOCALIZED_DESCRIPTION
= TRIM( TRAILING 'sprintf(_(stripslashes('''')), _(str_replace(":", ":", "")));\n' FROM CONCAT(LD
,
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
-1),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+1),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+2),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+3),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+4),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+5),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+6),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+7),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+8),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+9),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+10),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+11),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+12),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+13),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(D
,'\n',DLGTH
+14),'\n',-1),''')), _(str_replace("\:", ":", "")));\n' ) ),
-
-
LOCALIZED_OWNERS_ONLY_DESCRIPTION
= TRIM( TRAILING 'sprintf(_(stripslashes('''')), _(str_replace(":", ":", "")));\n' FROM CONCAT(LOOD
,
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
-1),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+1),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+2),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+3),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+4),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+5),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+6),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+7),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+8),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+9),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+10),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+11),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+12),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
'sprintf(_(stripslashes(''', SUBSTRING_INDEX(SUBSTRING_INDEX(OOD
,'\n',OODLGTH
+13),'\n',-1),''')), _(str_replace("\:", ":", "")));\n',
-
-
-
C.ID=<TICKET_IDS>
.