Category Archives: Apex

他のユーザの操作に関するデバッグログを見る方法

前書き 今回、以下の2つの方法をご紹介致します。 ①「開発者コンソール」で他のユーザの操作ログをリアルタイムで確認する②「ユーザ追跡フラグ」を付けて特定期間のデバッグログを記録する 方法1: 「開発者コンソール」で他のユーザの操作ログをリアルタイムで確認する 手順:開発者コンソールを開いてDebug>Show… Read More »

開発者コンソールのログレベルを変更する

前書き 作り込まれている組織でない限りあまり操作する機会はないかもしれませんが、デバッグログレベルの変更方法を備忘録も兼ねてご紹介します。 詳細は公式ヘルプ記事「開発者コンソールのログの操作」をご参照ください。 最適なデバッグログレベルについて デバッグレベルは以下のレベルが下に行けば行くほど高く(=記録が詳細に)なっていきます。 NONE… Read More »

Database.rollback()の簡単解説(初心者向け)

前書き 初心者の方向けにDatabase.rollback()の仕様と使い方について簡単解説しますノ Database.rollback()とは? Database.rollback()メソッドを利用することで、Database.setSavepoint()によって事前登録されていたsavepointまで処理をロールバックすることが可能です。 例えば↓の例では、4行目のDatabase.rollback(sp)によって2行目のSavepointまでロールバックされ、「色々な処理B」がなかったことになります。 実務で一番多いユースケース… Read More »

ApexでレコードIDからオブジェクトを判定する

前書き やり方色々ありますが、今回下記の三つをご紹介します。 ①sObjectTypeの一致判定②オブジェクト名の一致判定③オブジェクトPrefixの一致判定 本記事で用いる例:レコードIDからContactかどうかを判定する 推奨:sObjectTypeの一致判定 非推奨:オブジェクト名の一致判定… Read More »

特定プロファイルのユーザとしてApexテストを実行する方法

前書き 通常システムコンテクストで実行されるApexテストに関して、任意のユーザコンテクストでの実行を行いたい場合、System.runAs()メソッドを利用します。 例えば、PlatformライセンスのユーザとしてApexを実行した場合に問題が発生しないかどうかをテストしたい場合、テストクラス内でPlatformライセンスのユーザを生成したうえでrunAsメソッドを用いることにより、PlatformライセンスのユーザとしてApex Testを実行することが可能となります。 サンプルコード(権限セットなしの場合) サンプルコード(権限セットありの場合)