AMPscript データ変更関数

次の 2 つの関数のセットにより、AMPscript でデータエクステンションデータを変更できます。

  1. Send time support
  2. Landing page support

これらの関数により、購読者レベルの更新、更新/挿入、削除アクションが可能になります。Marketing Cloud システムで処理されるコンテンツによっては、これらの関数の使用が制限されます。

設定対象の列と、更新呼び出しや挿入呼び出しのキーフィールドまたはフィルターフィールドを区別するには、これらの呼び出しの 2 番目のパラメーターを確認してください。この 2 番目のパラメーターには、更新する行の検索に使用されるキーの列名と列値のペア数を指定する 1 以上の値を含める必要があります。残りの名前と値のペアで、更新する列と新しい値を指定します。

1%%=UPDATEDE("DE_To_Update",1,"Filter Column","Filter Value","Column","Value")=%%

Send Time Support 

エラーが発生し、バッチの購読者のメールが送信されないと、システムはジョブにエラーステータスを設定します。バッチの送信が中断される場合、中断されたバッチの呼び出しが繰り返されることがあります。正常に複数回実行されるようにこれらの呼び出しを作成します。

呼び出しは、購読者のお気に入りのメール種別に表示される場合にのみ実行されます。そのため、購読者のマルチパートメッセージが HTML メール設定で作成されている場合、テキストメール本文の関数は、作成されていも実行されません。同様に、購読者にテキストメール設定がある場合、テキストバージョンのメールの関数のみが処理されます。

名前をハードコードする必要がないように送信のソースデータエクステンションを参照する _SourceDE 代替文字列を確認します。

1%%=INSERTDE("CustomObject4","Region","None","Product",_SubscriberKey,"Price",99.77, "Inventory", 88,
2"ExpireDate",NOW(),"Available",1,"Inventory",77,"Locale", LOOKUP("CustomObject3",
3"Custom Object Value"
4,"Region",Region),"_FromName","Bob",<"_FromEmail",LOOKUP("CustomObject2","EmailAddress",
5"Region1",Region))=%% %%=UPDATEDE("CustomObject4",1,"Region","None","Available",0,"Price",100.77,"Inventory",0,
6"ExpireDate",NOW())=%% %%=UPDATEDE(_SourceDE,1,"_CustomObjectKey",_CustomObjectKey,"Total & Credit - Cost",_CustomObjectKey,"SubscriberID",SubscriberID)=%% %%=UPSERTDE("ent.CustomObject4",2,"Region","None","Product",_SubscriberKey,"Available",0, "Price",100.77,"Inventory",0,"ExpireDate",NOW(),"Url",CONCAT(SubscriberID," Upsert"))=%% %%=DELETEDE("CustomObject4","Region","None")=%%

Landing Page Support 

INSERTDATA、UPDATEDATA、UPSERTDATA、DELETEDATA 関数を使用すると、ランディングページの作成時にデータエクステンションデータを変更できます。この関数と送信時間関数の相違点を次に示します。

  • ランディングページ関数は、ランディングページコンテンツに表示されたときにリアルタイムに実行されます。
  • ランディングページ関数は、要求された実行の影響を受ける行の数を示す整数を返します。更新/挿入操作の場合、最初の更新の影響を受ける行がないと、システムは挿入を実行して最後の操作の影響を受ける行の数を返します。
  • ランディングページ関数は、ランディングページ用に作成されていないコンテンツに表示されるとエラーを生成します。

INSERTDE、UPDATEDE、UPSERTDE、DELETEDE に相当する関数がランディングページコンテンツに表示される場合、影響を受ける行の数を返さないという点を除き、同様に実行されます。次のコンテキストでは、これらの関数は 1 つのバッチで実行されません。

例 

1%%=INSERTDATA("CustomObject4","Region","None","Product",_SubscriberKey,"Price",99.77, "Inventory", 88,
2"ExpireDate",NOW(),"Available",1,"Inventory",77,"Locale",LOOKUP("CustomObject3","Custom Object Value","Region",Region),"_FromName","Bob","_FromEmail",LOOKUP("CustomObject2",
3"EmailAddress","Region1",Region))=%%
4
5%%=UPDATEDATA("CustomObject4",1,"Region","None","Available",0,"Price",100.77,"Inventory",
60,"ExpireDate",NOW())=%%
7
8%%=UPSERTDATA("ent.CustomObject4",2,"Region","None","Product",_SubscriberKey,"Available",
90,"Price",100.77,"Inventory",0,
10"ExpireDate",NOW(),"Url",CONCAT(SubscriberID," Upsert"))=%%
11
12%%=DELETEDATA("CustomObject4","Region","None")=%%",NOW(),"Url",CONCAT(SubscriberID," Upsert"))=%% %%=DELETEDE("CustomObject4","Region","None")=%%