1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

シンプルな オブジェクトの項目一覧取得 サンプル (Salesforce CLI で Anonymous Apex Code 版)

Last updated at Posted at 2021-11-23

ちょっと Salesforce オブジェクトの項目一覧取得を Salesforce CLI (sfdx) で動作させてみたい時のサンプルをメモしておきます。
この記事は Salesforce Developer Edition を利用して記載しています。

Annonymous Apex Code の記述

Schema.DescribeSObjectResult を含む Annonymous Apex Code をファイルに記述します。ファイルの拡張子は .apex とします。

myapex.apex

System.debug('シンプルな オブジェクトのスキーマ表示: Begin.');
Schema.DescribeSObjectResult dsr = Account.sObjectType.getDescribe();
Map<String, Schema.sObjectField> fieldMap = dsr.fields.getMap();

// 項目名の一覧を取得
List<String> fieldNameList = new List<String>();
for (String look : fieldMap.keySet()) {
    fieldNameList.add(look);
}
fieldNameList.sort();

// 項目名の一覧をもとに、全項目取得SOQLを生成
String soql = 'SELECT';
boolean isFirst = true;
for (String look : fieldNameList) {
    if (isFirst) {
        isFirst = false;
        soql += '\n    ';
    } else {
        soql += '\n    , ';
    }
    soql += look;
    System.debug('field: ' + look + ' (' + fieldMap.get(look).getDescribe().getType() + ')');
}
soql += '\n';
soql += '  FROM ' + dsr.getName() + '\n';
soql += '  WHERE IsDeleted = false\n';
soql += '  ORDER BY Name\n';
soql += '  LIMIT 1000';
System.debug('soql: ' + soql);
System.debug('シンプルな オブジェクトのスキーマ表示: End.');

簡易な解説

  • Account の情報を取得
  • 各項目の情報を簡易に Debug 表示
  • 項目名を用いた SOQL 検索テキストを参考出力

Annonymous Apex Code の実行

Salesforce CLI (sfdx) ログイン

Salesforce CLI (sfdx) でログインします。

sfdx auth:web:login -a myorg1

Salesforce CLI (sfdx) で Annonymous Apex Code の実行

先ほど作成した Annonymous Apex Code ファイルを指定して実行します。

sfdx force:apex:execute -u myorg1 -f myapex.apex

実行結果

  • 実行結果は割愛します。

文書情報

  • 初出: 2021-11-23

関連情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?