AMPscript 関数呼び出し

メールメッセージ、ランディングページ、SMS メッセージのスクリプトの結果を表示する場所で AMPscript を呼び出します。すべての AMPscript コードおよび関数は、開始と終了の区切り記号で囲む必要があります。このようにしないと、システムでコードが無視されます。関数呼び出しは、SET や IF などのスクリプトステートメントの外側でも実行されます。AMPscript の区切り記号の前後に括弧を使用する場合、それらの括弧と区切り記号の間にスペースを追加します。

1[content] %%[script]%% [content]

AMPscript ブロックの外側にある関数呼び出し 

AMPscript ブロックの外側にある関数呼び出しは、開始の区切り記号 %%= で始まり、終了の区切り記号 =%% で終わる必要があります。

1%%=LOWERCASE(Name)=%%
2
3%%=UPSERTDE("ent.CustomObject4",2,"Region","None","Product",_SubscriberKey,"Available",0,
4"Price",100.77,"Inventory",0,"ExpireDate",NOW(),"Url",CONCAT(SubscriberID,"Upsert"))=%%

次の AMPscript の例は、1 つの区切り記号のセット内に複数の AMPscript 参照を含める方法を示しています。

1<a href="%%=RedirectTo(TreatAsContent(Concat(view_email_url,"&ep=20110902&oeid=20110902",Substring(Uppercase(Source),1,1))))=%%">

AMPscript ブロックの内側にある関数呼び出し 

AMPscript ブロック内の関数呼び出しでは、開始 (%%=) と終了 (=%%) の区切り記号を含めないでください。

1%%[ LOWERCASE(Name) ]%%

関数の戻り値 

関数の出力は、スクリプトまたは関数呼び出しで参照することもできます。関数の場合、ネストされた関数呼び出しでこれを実装します。次に例を示します。

1%%=LOWERCASE(SUBSTRING(Name, 1, 5))=%%

AMPscript コールが永久にループするのを防ぐために、AMPscript 関数を再帰的にコールできなくなり、エラーを受信するようになりました: 104 - RecursiveScriptError再帰的条件は、購読者が Errored/NotSent として送信する購読者エラー制限しきい値または傾向に対してカウントされます。このエラーはメール、SMS、プッシュ通知に適用されますが、CloudPages には適用されません。

AMPscript のタグベースの構文 

AMPscript のタグベースの構文は、サーバーサイド JavaScript の構文を使用して、AMPscript ブロックを宣言するために使用される構文を標準化します。この構文により、開発者が AMPscript とサーバーサイド JavaScript を切り替えるときに異なる構文で作成する負担が軽減されます。以下の情報を使用して、AMPscript 呼び出しを書式設定します。AMPscript 呼び出しでは、大文字と小文字は区別されます。

最小限の構文 

次のサンプルは、AMPscript ブロックを宣言するために必要な最小限の構文を示しています。

1<script runat=server language=ampscript>
2    [INSERT AMPSCRIPT HERE]
3</script>

完全な構文 

次のサンプルは、AMPscript ブロックを宣言するために使用される完全な構文を示しています。

1<script runat=server language="ampscript" executioncontexttype="Post" executioncontextname=test>
2    [INSERT AMPSCRIPT HERE]
3</script>

AMPscript ブロックは、それを開始した構文と同じ構文で終了する必要があります。たとえば、<script> を使用してブロックを開始した場合、]%% ではなく </script> を使用して終了する必要があります。

区切り記号の比較 

以下の表は、標準の AMPscript の区切り記号とサーバーサイドの区切り記号の類似性を示しています。

標準の AMPscript の区切り記号タグベースの AMPscript の区切り記号
%%[<script runat=server language=ampscript>
%%[[type=post;name=blockname]<script runat=server language=ampscript executioncontexttype=“Post” executioncontextname=blockname>
]%%</script>
%%[]%%<script runat=server language=ampscript />

関数呼び出しの使用 

関数は、次の入力種別を受け入れます。

定数値 

1LOWERCASE("Mary Smith")

属性値 

1LOWERCASE(Name)

変数値 

1LOWERCASE(@Name)