function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
pikotaropikotaro 

Apexクラスが削除できない

画面からApexクラスの削除ボタンを押すと、

「このApex クラスは、Salesforce の他の場所で参照されています。それを削除してから、もう一度やり直してください。Apex ジョブ」

と表示され、Apexジョブがリンクになっているので、リンクをクリックすると、

「この URL は、現在存在しません。
アクセスを試みた URL は、salesforce.com にはもう存在しません。」

となってしまいます。
Ryosuke KobayashiRyosuke Kobayashi
こんにちは。

おそらくですが、Apexクラスをスケジュール登録しているかと思いますので、

設定
 └監視
   └すべてのスケジュール済みジョブ

こちらを参照し、対象の「スケジュール済みのジョブ」を削除すれば、Apexクラスを削除できると思います。
pikotaropikotaro
ご回答ありがとうございます。

そちらも確認したのですが、空の状態でして、記載の状況になっております。

あと、以下も実行しましたが、状況がかわりませんで・・・
 
List<asyncapexjob> jobs = [select id from asyncapexjob];
for (asyncapexjob job: jobs) {
    System.abortJob(job.id);
}

 
pikotaropikotaro
あ、上記で実行したコード間違えて貼り付けてしまいました。

正しくは以下です。
 
List<CronTrigger> jobs = [SELECT TimesTriggered, NextFireTime FROM CronTrigger];
for (CronTrigger job: jobs) {
    System.abortJob(job.id);
}

 
Junji ImaokaJunji Imaoka
スケジュール済みのJob削除にWorkbench(https://workbench.developerforce.com/login.php)を試してみてください。
WorkbenchのAPIバージョンを32.0にし、Apex Executeより以下のコードを実行します。
 
// AsyncApexJob内のキュー状態のジョブを停止する
for(AsyncApexJob job :
  [Select Id From AsyncApexJob Where Status = 'Queued']){
     System.abortJob(job.Id);
}
 
※APIバージョンを32.0として実行するのがポイントです