Memos About Salesforce

Salesforceにハマってたこと!

リカバリポイントの作成

定期スクリプトをそのまま呼び出して長い時間をかけて

実行すると、制限にかかる

そこで、バッチの感じで大量データを処理するには

小分けにして、定期スクリプトを何回呼び出すことによって制限に接触することを解消できる。

 

スクリプト実行の状態を保存するリカバリポイントを作成します。

NetSuiteがスクリプトの実行を再開する際は、

指定されたリカバリポイントでスクリプトを再開します。

また、スクリプトが再開されるとガバナンス単位がリセットされますのでご注意くださいね!

 

例にすると

 

res = nlapiSetRecoveryPoint()

if (res.status == ‘FAILURE')

examine the reason and either cleanup/try again OR exit

else if (res.status == 'SUCCESS')

do X

else if (res.status == 'RESUME')

examine the reason and react appropriately

do Z

do A

 

 

 

status {string}

SUCCESS – 保存ポイントが作成されました。

FAILURE – リカバリポイントを作成できませんでした。 失敗の理由と、スクリプトのフットプリントサイズを返します。

RESUME – スクリプトが再開されます。

reason {string}

SS_NLAPIYIELDSCRIPT - イールドが呼び出されました。

SS_ABORT - JVMが意図に反して停止しました(ネイティブエラー、応答なしなど) --通常の「中止」状態を模倣します。

SS_MAJOR_RELEASE – NetSuiteの主要リリースが保留中で、プロセスが停止しています。

SS_EXCESSIVE_MEMORY_FOOTPRINT – 保存されたオブジェクトが大きすぎます。

SS_CANCELLED – ユーザがスクリプトの停止を要求しました。

SS_DISALLOWED_OBJECT_REFERENCE – スクリプトが、シリアル化できないオブジェクトのシリアル化を試行しています(「サポートされているオブジェクト」を参照)。

SSS_FILE_OBJECT_NOT_SERIALIZABLE – スクリプトが5MBよりも大きいファイルを参照するnlobjFileオブジェクトのシリアル化を試行しています。

size {integer} – 保存されたオブジェクトのサイズ。

information {string} – ステータスに関する追加情報。