更新セットの中の特定の顧客アップデートだけを切戻す方法

m51D
Tera Contributor

こんにちは。

更新セットに含まれる複数の顧客アップデートのうち、特定の1つの顧客アップデートだけ切戻したいです。
実現方法をご存知の方がいらっしゃいましたら教えてください。

1つだけなら手動で元に戻せばいいのでは?と感じるかもしれませんが、この顧客アップデートではどういう経緯なのかは不明ですがセキュリティで保護されたスクリプトインクルードが作られており、手動ではそれを削除することができないという、少し特殊な状況になっています。そのスクリプトインクルードの影響でRomeアップグレードで不具合が発生しています。

NowSupportにも相談をしていますが、カスタマイズとみなされ現時点では協力を得られていません。

よろしくお願いします。

1 ACCEPTED SOLUTION

iwai
Giga Sage

NowSupportに修復してもらうことが原則です。
どうしてもScript includeを無効化しなければならないのであれば、自己責任で下記Scriptで作成されてしまったScript includeを強制的に削除できます。(Active Falseにして無効化する方法もありますが、今回は存在そのものが誤りのようなので強制削除としました)

下記Scriptを Scripts Backgroundで実行してください。SYSIDは環境に合わせて変更してください。

この削除による問題は完全に自己責任で実行してください。Scripts Background には Rollback機能があるので、削除を取り消して元に戻すことは可能です。

// 削除したいScript include sys_id
var sysid = 'aaaaaaaaaaaaaaaaaaaaaaaaa';
var deletePayload = '<?xml version="1.0" encoding="UTF-8"?><record_update table="sys_script_include"><sys_script_include action="DELETE"><sys_id>'+sysid+'</sys_id></sys_script_include></record_update>';
var gum = new GlideUpdateManager2(); // UpdateSet 管理クラス
gum.loadXML(deletePayload); // XML 適用

View solution in original post

6 REPLIES 6

iwai
Giga Sage

NowSupportに修復してもらうことが原則です。
どうしてもScript includeを無効化しなければならないのであれば、自己責任で下記Scriptで作成されてしまったScript includeを強制的に削除できます。(Active Falseにして無効化する方法もありますが、今回は存在そのものが誤りのようなので強制削除としました)

下記Scriptを Scripts Backgroundで実行してください。SYSIDは環境に合わせて変更してください。

この削除による問題は完全に自己責任で実行してください。Scripts Background には Rollback機能があるので、削除を取り消して元に戻すことは可能です。

// 削除したいScript include sys_id
var sysid = 'aaaaaaaaaaaaaaaaaaaaaaaaa';
var deletePayload = '<?xml version="1.0" encoding="UTF-8"?><record_update table="sys_script_include"><sys_script_include action="DELETE"><sys_id>'+sysid+'</sys_id></sys_script_include></record_update>';
var gum = new GlideUpdateManager2(); // UpdateSet 管理クラス
gum.loadXML(deletePayload); // XML 適用

m51D
Tera Contributor

iwaiさん

回答ありがとうございます。NowSupportとのやり取りは継続しておりまして、対応してくれそうな望みは残っています。引き続き交渉してみようと思っています。

万が一協力を断られた場合は、提供いただいた方法も検討してみます。

いつもありがとうございます。