ブログ

Salesforceでのエラーメッセージが出たとき!表示例と対処法を知っておこう

#Salesforce #エラー #エラーメッセージ

積極採用中
セミナー情報

「作業中のエラーメッセージ、なんで出たのかがわからない」

Salesforceで操作をしていると、作業中にエラーメッセージが出ることが考えられます。表示されたエラーメッセージの内容から、どのように対処すればよいか?基本的に、定義されていなければエラーは出力されます。予期せぬエラーなのか、すぐに回復できるエラーメッセージなのかも気にかかることでしょう。

当記事では、Salesforceで表示されるエラーメッセージについて解説します。
エラーメッセージについて内容を調べている人は、参考にお役立てください。

Salesforceでエラーメッセージが表示されるとき

どのようなときにエラーメッセージが表示されるのでしょうか?Salesforceにおけるエラーメッセージが表示されるときは、次の状況が該当します。

  • 自分にアクセス権がないデータを表示しようと実行したとき
  • 自分にアクセス権のないデータを編集しようと実行したとき
  • 自分にアクセス権のないデータを削除しようしたとき

エラーメッセージが表示されたときは、ブラウザの「戻る」ボタンをクリックしましょう。すると前のページに戻ります。

Salesforceの代表的なエラー表示

Salesforceで作業をしていると、度々エラー表示に悩まされます。
代表的なエラーを紹介しますので参考にしてみてください。

エラーメッセージ エラー説明
REQUIRED_FIELD_MISSING 必須フィールドの値が不足しています。
このコールには項目が必要ですが指定されていません。
STRING_TOO_LONG データ値のレコードが長すぎます。
指定された文字列は文字列長の上限を超えています。
INVALID_TYPE_ON_FIELD_IN_RECORD 必須種別以外の値です。
指定された値が、指定された項目の型で有効ではありません。
INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY フローで次のレコードの更新が試行されたときのエラーです
この操作は指定されたオブジェクトが相互参照しているオブジェクトに影響を与えますが、ログインユーザは相互参照しているオブジェクトに対する十分な権限がありません。
DUPLICATE_VALUE 重複した値が存在しています。
一意でなければならない項目に重複する値は指定できません。
INVALID_FIELD_FOR_INSERT_UPDATE 更新できないフィールドを変更しようとしています。
個人取引先レコードタイプの変更を、他の項目の更新と組み合わせることはできません。
INVALID_FIELD 無効なフィールドが指定されました。
レコードを更新または更新/挿入しようとしたときに無効な項目名を指定しました。
INVALID_ID_FIELD 無効なIDフィールドが指定されました。
人取引先レコードタイプの変更を、他の項目の更新と組み合わせることはできません。
LIMIT_EXCEEDED 配列の制限を超えました。
項目のサイズまたは値、ライセンス、プラットフォームイベントの公開、またはその他のコンポーネントの制限を超えました。
INVALID_OPERATION 無効な操作が試行されました。
クライアントアプリケーションが承認プロセスでロックされているレコードを変更しようとしました。
MALFORMED_ID 無効なIDが指定されました。
無効な ID 文字列が指定されました。
QUERY_TIMEOUT クエリのタイムアウトが発生しました
INVALID_FIELD_FOR_INSERT_UPDATE レコードを作成または更新する際に無効なフィールドが指定されました。
個人取引先レコードタイプの変更を、他の項目の更新と組み合わせることはできません。
INVALID_QUERY_FILTER_OPERATOR 無効なクエリ演算子が使用されました
INVALID_BATCH_OPERATION 指定されたバッチ操作が無効です。
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY トリガやApexクラスに問題があり、エラーが発生しました。
指定されたレコードの作成、更新、有効化の権限がありません。
UNABLE_TO_LOCK_ROW デッドロックまたはタイムアウト条件が検出されました。
レコードをロックできませんでした
同時に更新された場合やトランザクションの競合が発生した場合に表示されます。
INVALID_OPERATION 無効な操作が試行されました
特定の状況下で許可されていない操作を行った場合に表示されます。
INVALID_CROSS_REFERENCE_KEY 無効なクロスリファレンスキーが指定されました。
リレーション項目に指定した値が有効でないか、データが予期した型ではありません。

 
これらは一般的なエラーメッセージの例です。
Salesforceではさまざまなコンテキストで多くのエラーが発生する可能性がありますので、具体的な状況やエラーコードによって異なるエラーメッセージが表示されることがあります。

特定のエラーに対する詳細な解決策やコンテキストについては、Salesforceの公式ドキュメントやヘルプをご参照いただくことをお勧めします。

表示されたメッセージのエラー要素の活用例

Salesforceで作業をしていると、度々エラー表示に悩まされます。いくつかのエラー事例を紹介しますので参考にしてみてください。

フローでレコードの作成が試行されたときのエラーメッセージ

REQUIRED_FIELD_MISSING: 値を入力してください: [billing__c]

上記のエラーは、フローでレコードの作成が試行されたときに発生しました。エラー要素は、「create_invoice_line (FlowRecordCreate)」です。ExceptionCode の値については、『SOAP API 開発者ガイド』を参照してください。
https://developer.salesforce.com/docs/atlas.ja-jp.240.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#i1421192

フローでレコード更新を施行したときのエラーメッセージ

STRING_TOO_LONG: 郵便番号(配送先): データ値が大きすぎる: 027-328-6147 (max length=10)

上記のエラーは、フローで次のレコードの更新を試行したときに発生しました。

0035h00000n5NbnAAE

更新によるエラー要素は、「ContactUpdate (FlowRecordUpdate)」です。

INVALID_TYPE_ON_FIELD_IN_RECORD: Pt2000有無: 必須種別以外の値:

上記のエラーは、フローで「a015i00000Yw4jUAAR」のレコードが更新されたときに発生しました。エラー要素は、「X1_1 (FlowRecordUpdate)」です。

INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY: insufficient access rights on object id

上記のメッセージは、フローで次のレコードの更新が試行されたときのエラーメッセージです。Nullとなります。エラー要素は、「update_todo_status_change_finished (FlowRecordUpdate)」です。ExceptionCode の値については、『SOAP API 開発者ガイド』を参照してください。

https://developer.salesforce.com/docs/atlas.ja-jp.240.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#i1421192

フローでレコードの検索が行われたときのエラーメッセージ

SELECT Id, OwnerId FROM Cart__c WHER E ((OwnerId = ‘0055h000005jJVn’)) ^ ERROR at Row:1:Column:25 sObject type ‘Cart__c’ is not supported. If you are attempting to use a custom object, be sure to append the ‘__c’ after the entity name. Please reference your WSDL or the describe call for the appropriate names.

こちらのエラーは、フローでレコードの検索が試行されたときに発生しました。エラー要素は、「GetAll (FlowRecordLookup)」です。ExceptionCode の値については、『SOAP API 開発者ガイド』を参照してください。

https://developer.salesforce.com/docs/atlas.ja-jp.240.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#i1421192

フローでレコードの更新がnullに

UNABLE_TO_LOCK_ROW: unable to obtain exclusive access to this record or 1 records: 0015h00000wBCswAAG

上記のエラーは、フローでレコードの更新を試行した際に、nullとなりました。エラー要素は、 「Update_KYKInfo (FlowRecordUpdate)」です。ExceptionCode の値については、『SOAP API 開発者ガイド』を参照してください。

https://developer.salesforce.com/docs/atlas.ja-jp.240.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#i1421192

初歩的なエラーはカンマの付け忘れ

SQOLの作成でSystem.QueryExceptionを実行したときのエラーでは、コーディングミスが原因も考えられます。たとえば、「select id, name LastModifiedDate from Account」を実行したときに、「System.QueryException: only aggregate expressions use field aliasing」というエラーメッセージが表示されます。

このエラーは、実行したSQOLにカンマが抜けていることが要因です。「select id, name」とL「astModifiedDate from Account」の間にカンマを追記することで解決します。

Salesforceでエラーメッセージが表示されたときに確認する場所

エラーメッセージが表示されたときは、『SOAP API 開発者ガイド』の「API コールで使用されるコアデータ型」を参考にします。『SOAP API 開発者ガイド』は、開発者向けに用意されています。

https://developer.salesforce.com/docs/atlas.ja-jp.240.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm

Salesforceによる開発中で起きるエラーメッセージと対処法

実際に、Salesforceで開発している際に起きるエラーメッセージには、どのような対処が必要でしょうか。解決のヒントを解説します。

レコードタイプのエラーと具体的な対処法

プロファイルで使っているレコードタイプの場合は、削除しようとするとエラーメッセージが表示されます。具体的に表示されるのは、次のエラーメッセージです。

「『プロファイル名』の有効チェックを外すことはできません。デフォルトのレコードタイプとして以下のプロファイルが現在使用中です」

レコードタイプの削除でエラーが表示されたときは、現在のレコードタイプを持っているプロファイルから別のレコードタイプへ変更する処理が必要です。

フローのエラーと具体的な対処法

たとえば、フローによる割り当てで発生するエラーメッセージは、フロー処理中に割り当てを含める要素が2,000回以上実行することで表示される仕組みです。発生する例としては、Forループ文で処理中に変数の割り当てがくり返されると表示されます。

表示されるエラーメッセージは、「Number of iterations exceeded(現在行っている機能に対して実行の最大限度数を超えた)」という内容です。この制限数超過のエラーメッセージに対して、解決方法は次の処理が考えられるでしょう。

  • 「必要のない割り当てをしない」という条件を条件分岐に追加
  • トリガーで自動化できる処理を分離する
  • レコード更新フローに任せられる処理も分離する
  • くり返し処理において元のデータ件数を少なく絞る

くわしい英文の解決策は以下の公式ヘルプを参照してください。
https://help.salesforce.com/s/articleView?id=000382258&type=1

Salesforceでエラーメッセージが出たときの対処法|まとめ

エラーメッセージは、表示されたときの対処だけで済ませる場合が考えられます。Salesforceの作業中に発生したエラーに対して、備忘録的な実行内容がインターネット上で検索できるからです。ただし、状況によってはピンポイントな回答が得られないかもしれません。エラー内容によっては、十分でないことも考えられるでしょう。

エラーメッセージが表示されたときは、エラー前後の状況をできるだけ具体的に記録することが大事です。環境と具体的な手順を残しておくことで、今後の開発に役立ちます。

<Salesforce>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではSalesforceの導入支援のサポートも行っています。ぜひお気軽にお問い合わせください。
>>Salesforceについての詳細はこちら
>>Salesforceの導入支援実績はこちらからご覧いただけます!

医療業界に特化した営業支援、顧客管理(SFA/CRM)のコンサルティングも提供しております。こちらもぜひお気軽にお問い合わせください。
>>顧客管理(SFA/CRM)のコンサルティングの詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ