サーバー側スクリプティングが「文字列オブジェクトが最大許容サイズ 33554432 を超えています」というエラーで失敗する。Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ビジネスルールやスクリプトインクルードなどのサーバー側スクリプティングが「文字列オブジェクトが最大許容サイズ 33554432 を超えています」(tring object would exceed maximum allowed size of 33554432)というエラーで失敗します。情報と修正については、以下をご覧ください。 エラー「文字列オブジェクトが最大許容サイズ 33554432 を超えています。(tring object would exceed maximum allowed size of 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); Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Zurich Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } プラットフォームの文字列(String)オブジェクトのデフォルト値は 32 MB に設定されており、この制限を大幅に増やすことはお勧めできません。この問題は、while ループでスクリプトインクルードをインスタンス化した場合に最もよく見られます。たとえば、while/for ループ内で他のスクリプトが「ScriptableObject」を呼び出してスクリプトインクルードをインスタンス化している場合に、その同じ while ループでスクリプトインクルードに GlideRecord オブジェクトを渡すと、この制限に違反する可能性があることに注意してください。ループごとに GlideRecord オブジェクトを合計するため、ループを反復するたびにオブジェクトサイズが大きくなります。各 GlideRecord の結果でループしてからスクリプトインクルードを呼び出すことが、その原因の 1 つです。新しい Glide レコードオブジェクトに大量のデータを割り当てた場合にも、同じエラーが発生します。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題を解決するには、定義されているすべての文字列オブジェクトが、サーバー側スクリプトのいずれかで 32 MB (33,554,432 バイト) を超えないようにします。 注意: Javascript は1文字あたり 2 バイト (およびいくつかのオーバーヘッドバイト) を使用し、文字列オブジェクトの制限は 33554432 バイトです。