ので、なんとかして欲しい、、という依頼があり(断っておくがお客様からの仕事のお願いではない)、「なんで俺が、、」と思いながらも無視するわけにもいかないので詳細を聞いてみた。
ちなみに、EC-CUBEのバージョンは2.13.5。2.13系の現時点での最新バージョンだ。

その人曰く、「管理画面上で商品カテゴリを削除したり書き替えたりしていたら、商品登録画面にて突然以下のメッセージが表示され
ECCUBEシステムエラー

商品が登録できなくなってしまった、、とのこと。
エラーが出るタイミングは商品登録の登録送信時。
カテゴリを元に戻そうとしたがうまくいかず、どうにもならない状態らしい。

てか、ログとか見てエラーの原因探ってから問合せてくれよ。
と口に出そうだったが、そういうスキルが無い人なので仕方ない。

とりあえずエラーログを確認すると、以下のメッセージが記録されていた。
Fatal error(E_USER_ERROR): 最大階層制限到達 on [/public_html/store/data/class/helper/SC_Helper_DB.php(961)]

調べてみると、カテゴリの階層が深すぎるというエラーらしく、管理画面のパラメータ設定にて「LEVEL_MAX(デフォルト:5)」を増やせば解消されるとの情報を得たのだが、そもそもカテゴリの階層は一番深いところで3階層までしかないので、これを変更したとしても解消される気がしない。

一応「10」に変更してみたが、案の定ダメだった。

とすると、、カテゴリ設定がおかしくなってるんかな?
なにかしました?

と問うてみたが、確かにカテゴリを増やしたり消したりしたけど、だとしてもどうしたらいいかわからないとのこと。

むぅ、、アタイにゃ一銭の得にもならない作業だが仕方ねえな。やれやれだぜ。
とモニタの前で悪態をつきながらデータベースを確認。

EC-CUBEはほとんど触ったこと無いのでよくわからんが、とりあえずカテゴリ関係ということだからdtb_categoryテーブルを見てみるか。

で、確認したところ、明らかに1件おかしなデータがある。
親カテゴリを示すparent_category_idの値が自分自身を指しているのだ。

管理画面でカテゴリを確認すると、このおかしなデータは画面上表示されていない。
なんなんだ?削除追加を繰り返していたらデータが破損したのか?

とりあえず、parent_category_idを妥当なid値に変更してみたら、、

あ、商品データ登録でエラーが出なくなった。

ま、これで一件落着、、と言いたいところだけど、なんでデータがこんなおかしな状態になったのかは未だ原因不明。
依頼者はシステム関係からっきしダメな人なのでDBを直接いじることもないし、全て管理画面だけでデータを操作していたから不正なデータ操作なんてしていないはずなんだが。

これってEC-CUBEのバグ?
気になるところだけど、金にならない作業はしたくないのでアタイの作業はここまで。

アタイはこの方法で解決しましたが、dtb_categoryテーブルを手動で変更するのはリスクが伴いますので、試される場合は自己責任でお願いします。