LoginSignup
1
1

More than 1 year has passed since last update.

Salesforceデータ更新ヒント集

Posted at

Salesforceの日付型に対しデータを更新する場合の注意点

Xplentyでは、Date型という型はないため、文字列型もしくはDateTime型で処理されます。

Xplentyで変換を行う場合、以下になります。

例えばCSVファイルをSalesforceへ連携する場合の日付型の扱いについて紹介します。

商談ID クローズ予定日 商談名
0062x000005elWKAAY 2021/5/11 テスト

クローズ予定日は「2021/5/11」となっており、yyyy/M/d形式となっています。
これをSalesforceに入れる場合、XplentyではString型もしくはDateTime型のまま、Salesforceコンポーネントに連携することにより、クローズ予定日を追加もしくは更新することが可能です。

文字列型で連携する方法

Salesforce側のDate型のフィールドにyyyy/M/d形式のまま、データを入れることはできないので、以下のyyyy-M-d形式(もしくはyyyy-MM-dd形式)に変換する必要があります。
2021/5/11 > 2021-5-11
変換式:REPLACE(*クローズ予定日のfield名*,'/','-')
結果:2021-5-11

もし上記のFiledの値がNULLの場合、NULLが返されます。

DateTime型での連携

Salesforce側のDate型のフィールドにDateTime型に変換し、挿入することも可能です。その場合、
変換式:ToDateCustomFormats(*クローズ予定日のfield名*,'yyyy/M/d')
結果:2021-05-12T00:00:00.000Z
もし上記のFiledの値がNULLの場合、NULLが返されます。

Xplenty側ではDateTime型のデータをSalesforceに投入時に日付型「2021-05-12」に自動的に変換されるので、問題ありません。

SalesforceのオブジェクトのIDフィールド((AccountIdやOwnerId))に使われるHexstring(16進文字列)型のフィールドを文字列型に変換するには?

Xplentyでは「0052x0000034oJqAAI」のような値を文字列として変数画面で使用した場合、Hexstring(16進文字列)として自動的に扱われます。こうした場合、Chararray関数を使用して文字列型へ変換しようとするとエラーとなってしまいます。
そこでHexstring(16進文字列)の値を文字列型で定義し、パイプラインの条件やSelectコンポーネントで使用したい場合、バックスラッシュを使い「\'[Hexstring文字列]\'」のように定義することで、文字列に変換が可能です。

例)文字列「0052x0000034oJqAAI」を変数で文字列型として定義する場合
'\'0052x0000034oJqAAI\''

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1