IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > Salesforceのapexの「sobject」|sobjectの作成・利用方法

Salesforceのapexの「sobject」|sobjectの作成・利用方法

IT・技術関連 更新日:2024.09.05
エンジニア採用
Salesforceのapexの「sobject」|sobjectの作成・利用方法

Salesforceのapexの「sobject」 SalesforceのapexはSalesforceの標準カスタマイズ機能ではカバー出来ない機能を拡張させる為に使用するオブジェクト指向が強めのプログラミング言語です。 特徴としては、強く型付けされているので不正コードを型によって探し出し易い事があります。更にマルチテナント型でもあるのでソフトウェアやデータを複数のお客様とシェアしつつも、回避コードが起こらない様にして共有リソースの占有を防げます。 Salesforceのapexを使う事でビジネスツールやwebコンテンツ等を作る事が出来ます。なお、変数や式、ループ等の構文がJavaの構文と似ているので、特にJava学習者は扱いやすい言語になっています。 Salesforceのapexのみならず、プログラミングでは変数を宣言する際に必要な「データ型」があり、数値型や文字列型等があります。そのうちの1つに「sobject」があるので、今回は徹底的に解説していきます。

sobjectとは

sobjectはapexのデータ型の1つで、まとまったデータが入っている変数を何個か格納出来ます。これにより、何らかの情報の取っ掛かり(会社名など)から検索する事で取引先番号等の項目が芋づる式に出てくるのですが、これら項目の事を「プロパティ」と呼びます。 各プロパティにもデータ型が複数存在します。従って、オブジェクトの名前項目及びsobjectのプロパティが共に文字列のデータ型の場合、名前項目をmyAcct、プロパティをNameに設定します。 値を設定する際にはデータ型も1種類に統一する事に注意して下さい。具体的には以下のコードの様に、アカウント番号などの項目を設定します。
Account myAcct = new Account();
myAcct.Name = 'The Trout Association';
myAcct.Phone= '180-2859';
myAcct.AccountNumber = '442087';

sobjectの作成・利用方法

sobjectには汎用タイプと特定タイプがありそれぞれ使い方が若干異なります。しかし基本的にはsobject変数及びインスタンスを作成し、そこに各項目を格納していくという使い方です。ここでは基本的な使い方と汎用タイプ、特定タイプの使用手法について見ていきましょう。

sobjectの型の使い方

sobjectでは基本的にはAccount、Contact、Lead、Oppotunityなどの型名が使われます。まずは実際の使い方を見ていきますが、その際型(今回はAccountがメイン)の使い方に注目して下さい。
Account acct = new Account();
Account acct = new Account(Name='oil company', Phone='(284)337-2029', NumberOfEmployees=5000);
Account acct = new Account();
acct.Name = 'oil company';
acct.Phone = '(284)337-2029';
acct.NumberOfEmployees = 5000;

上記のコードから分かる事

電話番号や従業員数等の項目を設定する前に、sobject変数を宣言する必要があります。1行目から4行目では、Account型の変数を設定し、Accountのインスタンスであるacctを作成しています。その後であれば、5〜8行目の様に各項目の情報をsobject 変数に設定する事が出来ます。 もう1つ着目すべきポイントとして、演算子としてnewを使っている事です。newはインスタンスを作る際に必要な演算子であり、メモリー領域の確保または初期化する役割があります。 今回の場合はコードが短い上に、1行目から変数Accountの演算子として使用している為、データを初期化させる為に用いました。

その他のポイント

カスタムオブジェクトを搭載していて、その名前が”mycustomobject”だった場合、API名には”mycustomobject__c”と言った様に末尾に__cサフィックスを付けるのがルールになっています。 ただし、カスタム項目ではなく「カスタムリレーション」項目の場合は末尾が__rになるので気をつけて下さい。

汎用タイプの使い方

使用するデータ型が標準オブジェクトなのかカスタムオブジェクトなのか分からない場合に使いましょう。 汎用タイプとしてsobject変数を宣言した場合でも標準/カスタム問わずレコード内の情報を反映させられます。お客様とカスタムオブジェクトの両方に汎用sobject 変数を反映させるには以下の様なコードを書く必要があります。
sObject sobj1 = new Account(Name='Loadway');
sObject sobj2 = new Book__c(Name='Python 1');

特定タイプの使い方

Book__c等のカスタムオブジェクトを使用したい時に特定タイプのsobject 変数を使います。また、ドット表記でも項目上の情報を検索出来る様にしたい時は、汎用タイプから特定タイプのsobject 変数に変更します。実装する場合には、以下の様なコードを作成します。
//汎用sobject をアカウントへ投入する
Account acct = (Account)myGenericSObject;
// ドット表記でもアクセス出来る様になった
String name = acct.Name;
String phone = acct.Phone;

Salesforceのapexのsobjectを使ってみよう

この記事を読んで、Salesforceのapexのデータ型の1つである”sobject “の使い方を大まかに把握する事ができれば十分です。とても扱いやすい一方で、汎用タイプと特定タイプとで色々と遊べるので、是非積極的に使ってみてください。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ