サーバー側スクリプティングが「文字列オブジェクトが最大許容サイズ 33554432 を超えています」というエラーで失敗する。Issue ビジネスルールやスクリプトインクルードなどのサーバー側スクリプティングが「文字列オブジェクトが最大許容サイズ 33554432 を超えています」というエラーで失敗する。 再現手順: /sys.scripts.do 内次のコードを貼り付けます。 var abc = "a";try {for (i=1;i<30;i++) {gs.print("current length: " + abc.length);gs.print("current size: " + (abc.length)*2);gs.print("Attempting to increase string size to: " + (abc.length)*4);abc = abc + abc;}}catch (e) {gs.print("error: " + e);}gs.print(abc.length); Causeプラットフォームの文字列オブジェクトに 32 MB の値がハードコードされていて、システムプロパティを使用してその値をカスタマイズすることができません。この問題は、while ループでスクリプトインクルードをインスタンス化した場合に最もよく見られます。たとえば、while/for ループ内で他のスクリプトが「ScriptableObject」を呼び出してスクリプトインクルードをインスタンス化している場合に、その同じ while ループでスクリプトインクルードに GlideRecord オブジェクトを渡すと、この制限に違反する可能性があることに注意してください。ループごとに GlideRecord オブジェクトを合計するため、ループを反復するたびにオブジェクトサイズが大きくなります。各 GlideRecord の結果でループしてからスクリプトインクルードを呼び出すことが、その原因の 1 つです。新しい Glide レコードオブジェクトに大量のデータを割り当てた場合にも、同じエラーが発生しますResolution定義されたすべての文字列オブジェクトが、サーバー側スクリプティングで 32 MB を超えないようにしてください。 注意:Javascript は 1 文字あたり 2 バイトを使用し、文字列オブジェクトには 33554432 バイトという制限があります。