日経ソフトウェア10月号にApexコードの記事

by Shinichi Tomita on 8月 31, 2007 at 05:38 午後

8月24日発売の日経ソフトウェア10月号に、Summer'07からUnlimited EditionとDeveloper Editionで利用可能になった「Apexコード」についての記事が掲載されています。オンデマンド形式でのサーバサイドアプリケーションプログラムの実行環境を提供するApexコードについて興味のある方は、ぜひ一読をおすすめします。

日経ソフトウェア2007年10月号

特別レポート : SaaS時代のWebプログラミングを体験しよう!

(上のリンク先から誌面で使われているサンプルコードをダウンロードすることが可能です)

トラックバック

このページのトラックバックURL: http://www.typepad.jp/t/trackback/7240/10251203

このページへのトラックバック一覧 日経ソフトウェア10月号にApexコードの記事:

コメント

Posted by 山口太郎 on 11月 8, 2007 05:06 午後:

こんにちは

トリガについて質問です。
現在、トリガを利用を考えています。
例えば、あるユーザがブログを書くとと、そのユーザの経験値が1上がるというような処理を考えています。
その場合、保存ボタンが押された時点でのトリガを考えています。
この際、まず“ログインしているユーザ”のIDを取得したいのですが、Apexコードの記述方法がわかりません。$User.Idや{!User.Id}では違うようなのですが、どうすればいいのでしょうか。

どうかご享受お願いします。

Posted by Shinichi Tomita on 11月 8, 2007 05:14 午後:

Apexコード内でコンテキストユーザ(現在コードを実行しているユーザ)の情報を取得するには、UserInfoクラスを利用します

UserInfo.getUserId();

詳しくはApex言語リファレンス p.87をご覧ください。
http://adnblog.salesforce.co.jp/2007/10/apex_4d68.html

Posted by 山口太郎 on 11月 8, 2007 06:52 午後:

こんばんは

下記のようなコードを書いてエラーが出ます。
trigger myTrigger1 on Sample__c (before insert, before update) {
string userid = UserInfo.getUserId();
User myuser = [select id, UserKoumoku__c from User where id = :userid];
for (Sample__c sample : Trigger.new) {
myuser.UserKoumoku__c = sample.Koumoku__c;
}
update myuser;
}

※UserKoumoku__cは、ユーザカスタム項目です。

これは、SObjectのupdateableプロパティが真でなければならないということでひっかかるのでしょうか?

それとも他の理由でしょうか?回避方法をご享受ください。

Posted by Shinichi Tomita on 11月 8, 2007 07:04 午後:

山口さん、
ApexコードでのDMLの制約として、Userオブジェクトに対するDMLは不可能になっています。
詳しくは言語リファレンスのp.74をご覧ください。

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。