function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mimamima 

データローダバッチでの参照項目外部キー設定について

はじめまして。
データローダのバッチモードでインポート(upsert)をしようとしています。
ObjectA__c に ForeignKey__c(外部ID項目)があり、
ObjectB__c に ObjectA__c (ObjectA__c の参照項目)があります。
CustomObjectB__c をインポートするための sdl ファイルで
OBJECTA__A = CustomObjectA__r.ForeignKey__c
と設定してみましたが Field mapping is invalid というエラーになってしまいます。
どう設定すればよいかご教授いただけないでしょうか。
また sdl ファイルでの外部キー設定について載っている公式マニュアルがありましたら、あわせて教えてください。
よろしくお願いいたします。
Best Answer chosen by mima
mimamima
カスタムオブジェクトについては自己解決しました。
 CustomObjectA__c に ForeignKey__c (外部ID項目)
 CustomObjectB__c に ObjectA__c (CustomObjectA__c 参照項目)
があった場合、CustomObjectB__c インポート用の sdl ファイルでは、
 × OBJECTA__C = CustomObjectA__r.ForeignKey__c
 〇 OBJECTA__C = ObjectA__r.ForeignKey__c
と書くべきという単純なミスでした。

しかし、個人取引先を有効にしている取引先のインポート時、
Account.xxx_pc が参照項目だった場合は上記のようにしてもダメでした。
これは取引先責任者と別個にインポートする必要があると推測されますので、
試した後に結果を追記、または再度質問します。

All Answers

ANUTEJANUTEJ (Salesforce Developers) 
Hi Mima,

If I get your question right I see that you are getting an error stating Field mapping is invalid, generally, this error occurs when the field either does not exist, it is not the right data type, or it is not writeable.

Could you please check once.

In case if this was helpful can you please mark this as best answer so that it is useful for others in the future.

Regards,
Anutej
mimamima
Hi ANUTEJ,

返答ありがとうございます。
Field mapping is invalid エラーがでるのは、OBJECTA__C = CustomObjectA__r.ForeignKey__c の部分の
CustomObjectA__r.ForeignKey__c が、外部キー設定として正しくないのだと思いますが、
----------
sdl ファイル
OBJECTA__C = ObjectA__c
----------
インポート用 csv ファイル
OBJECTA__C
ーーー
123(既存の CustomObjectA__c.ForeignKey__c の値)
----------
として設定すると、「ObjectA__c : 不正な種別の ID 値: 123」というエラーになってしまうので、
外部キー設定をどういう風に sdl ファイルに記述してよいか分かりません。
説明がわかりづらいかもしれませんが、よろしくお願いいたします。
mimamima
カスタムオブジェクトについては自己解決しました。
 CustomObjectA__c に ForeignKey__c (外部ID項目)
 CustomObjectB__c に ObjectA__c (CustomObjectA__c 参照項目)
があった場合、CustomObjectB__c インポート用の sdl ファイルでは、
 × OBJECTA__C = CustomObjectA__r.ForeignKey__c
 〇 OBJECTA__C = ObjectA__r.ForeignKey__c
と書くべきという単純なミスでした。

しかし、個人取引先を有効にしている取引先のインポート時、
Account.xxx_pc が参照項目だった場合は上記のようにしてもダメでした。
これは取引先責任者と別個にインポートする必要があると推測されますので、
試した後に結果を追記、または再度質問します。
This was selected as the best answer