salesforceプログラミング初心者のためのブログ

salesforceについて、自分の理解を深めるのと共に、皆さんと知識を共有したいと思います。

【HELP】System.QueryException: List has no rows for assignment to SObject

こんにちは!
Salesfroceエンジニアのことです!

Listクラスを使用したら、以下のエラーが!

System.QueryException: List has no rows for assignment to SObject

Listに値がないということなんですが、絶対、値はあるのになぜ??

私の原因はAfter Updateトリガでトリガを発動しているオブジェクトに
dmlのUpdateを使用していたため、再度After Updateトリガが発動されており、
2回目のUpdateの際に、Listの値がなかったため、エラーになっていました。

SQOLでListを作成していたのですが、Listの作成順番を変えたことで解決することが出来ました!

ですが、Trigger.newにもエラーが出ていて、値は必ず入ってるはずなのに・・・
と思い、AfterやBeforeトリガの違いか?と思ったのですが、関係がなさそうでした。
上記の対応でエラーは解消することが出来ました。

 

皆さんも、気おつけてくださいね!