Apexで取引先階層の一番上の取引先名を、再帰的に取得するコードだよ!
まずは、完成形サンプルコードだよ!
getTopParentAccountName.method
public String getTopParentAccountName(Id accountId) {
Account acc = [SELECT Id, Name, ParentId FROM Account WHERE Id = :accountId];
while(acc.ParentId != null) {
acc = [SELECT Id, Name, ParentId FROM Account WHERE Id = :acc.ParentId];
}
return acc.Name;
}
コード解説
引数の取引先ID(基準)から親Accountを辿り、その親AccountのIdを持って、更に上の親Accountを取得しに行くよ! 最終的に最上位のAccountのNameを返すよ! 説明なんか不要な気がするけど。。。なにか力になれれば嬉しいな!