Salesforce Apex入門編 ファイルを作成してフォルダに格納する方法
Salesforce のApexとは、どんなものなのでしょう? Javaに似ているプログラミング言語のようなイメージがありますが、実際に簡単に使えるのでしょうか? そこで、SalesforceのApex入門編として特徴やメリットを整理しながら、ファイルを作成してフォルダに格納する方法をご紹介していきます。
SalesforceのApexとは? 特徴とメリットを解説
SalesforceのApexとは、Javaに似た構文を持つSalesforceプラットフォーム上で動作するオブジェクト指向のプログラミング言語のことです。Javaなどのプログラミング経験者にとっては、習得しやすい開発言語と言えるでしょう。
SalesforceのApexの特徴には以下の5点が挙げられます。
- Salesforceでの機能拡張
- トリガー
- バッチ処理
- Visualforce
- REST API
Salesforceの標準機能では実現できない複雑な自動化やビジネスロジックを、Apexを使えば簡単に実装することができます。
レコードの挿入、更新、削除のようなイベントが発生した時に、自動的にApexコードを実行できます。
大量のデータを一括で処理するバッチ処理を作成することができます。バッチスケジュールを組めたり、バッチを手動で実行できたりします。
Salesforce独自のUIフレームワークであるVisualforceと組み合わせることで、柔軟なユーザーインターフェースを自由に作成することができます。
外部のクラウドサービスやエコシステムと連携するためのREST APIを作成できます。
Apexを使うと様々なメリットがあります。Salesforceを自社業務に合わせるための柔軟なカスタマイズが可能であり、手作業で行っていた業務を自動化すれば、生産性を向上させることができます。また、複雑なロジックも効率的に実装できるので、とても便利です。では、実際にSalesforce Apexを使ってみたいと思います。
Apex入門編 ファイルを作成してフォルダに格納しよう
では Apexの入門編として、Apexでファイルを作成する処理についてご紹介していきます。
まずはこちらのコードをご覧ください。
//格納するライブラリの取得
ContentWorkspace cw = [SELECT Id FROM ContentWorkspace WHERE Name = '共有テスト' LIMIT 1];
//タイトル
String documentName = 'docTest-'+ Datetime.now();
//本体
String documentBody = 'テスト,csv';
Blob bodyBlob = Blob.valueOf(documentBody);
//ファイルの生成
ContentVersion doc = new ContentVersion(
Title=documentName,
PathOnClient =documentName + '.csv',
VersionData = bodyBlob,
FirstPublishLocationId = cw.Id
);
insert doc;
この結果、下の画像のようにライブラリのフォルダにファイルが格納されます。
下記に、詳しく解説していきます。
- ContentWorkspace
ファイルを格納するライブラリのsObject名。
ファイル本体のsObject。正確には連動してContentDocumentが作成され、そのバージョン1になる。
ファイル名
ファイルの拡張子を含む完全パス
ファイルの中身
ファイルの共有先。今回はライブラリを指定したのでライブラリに格納されている。
取引先などのオブジェクトを指定した場合、「メモ&添付ファイル」リストに表示されていますが、添付ファイル(Attachment)ではなくドキュメントの共有先(ContentDocument→ContentDocumentLink)の扱いというところがちょっと注意を要するポイントと感じました。
以上が、SalesforceのApexで作成したファイルの格納方法についてのご紹介でした。
まとめ
「SalesforceのApex入門編 ファイルを作成してフォルダ格納する方法」と題して、ご紹介してまいりました。SalesforceのApexは、Salesforceをよりよく活用するために便利なツールです。プログラミング経験者であれば、比較的短期間で習得することができます。
Salesforceのオブジェクト、フィールド、レコードなどの基本的なポイントを理解し、Javaの文法と比較しながら、SalesforceのApexの文法を習得してみましょう。Salesforceの機能を拡張し、自社業務に最適なシステムを構築したいと考えている方は、ぜひApexを勉強し、習得してみてください。
弊社ではSalesforceノウハウ共有ツール「KnowhowBase」は‘ノウハウを作る、探す、活用する’をコンセプトに、Salesforceプラットフォーム上で利用できる便利な機能をご提供しています。また、「Salesforce導入サービス」 「Salesforce伴走・開発支援サービス」により、Salesforceを新規導入される方、Salesforceの定着・活用や運用保守・開発を要望される方に合ったサービスもご提案しております。ご興味のある方は、お気軽にお問い合わせください。
当サイトでノウハウ共有やSalesforceの定着促進・保守運用・開発を検討している方へ、様々なダウンロード資料をご用意しております。ぜひ資料をダウンロードいただき、ご活用ください。