Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

メール送信またはトリガーによる送信で、「Invalid index (parameter 2) passed to Row function (無効なインデックス (パラメータ 2) が Row 関数に渡されました。) Index must be less than or equal to the row count (インデックスは行数以下にする必要があります。)」というエラーが返される

公開日: Sep 25, 2025
説明


メールを送信するかトリガーによる送信を使用し、メールを受信しない場合、次のエラーメッセージが表示されることがあります。

 

エラーメッセージの完全なテキスト:

MachineName: MAIL010101 MemberID: 12345678 JobID: 654321 OMMSlotID 44433322266 ExactTarget.OMM.FunctionExecutionException: Invalid index (parameter 2) passed to Row function. (無効なインデックス (パラメータ 2) が Row 関数に渡されました。)
Index must be less than or equal to the row count. (インデックスは行数以下である必要があります。)
Index Value (無効な値): 1 Row Count (行数): 0 Function (関数): Row(BuildRowsetFromXML(XML,"//URL"),1) Error Code: OMM_FUNC_EXEC_ERROR - from OMMCommon

 

根本原因

AMPscript で、空の rowset が Row 関数に渡されました。Row 関数のパラメータには NULL の値を渡すことができないため、動作は失敗します。

解決策

エラーを解決するには、ROWCOUNT 関数を含めて、システムに値が空または NULL の場合の処理を指示するように追加の AMPscript を記述します。

 

AMPScript ロジック


1.rowcount を実行します。
2.行数が 0 より多い場合、データエクステンションから値を取得します。
3.データエクステンションからの値が NULL 以外の場合、購読者に送信します。ただし、データエクステンションからの値が NULL の場合は「raiseerror」関数をコールします。

 

問題のあるコードの例

 
%%[
var @rowset, @row
/*the below Rowset returns no rows*/
set @rowset = LookupRows('Target_DataExtension','Value_to_Return','Value_Does_Not_Exist')
/*the below Row function looks for the first row but does not exist*/
set @row = Row(@rowset,1) 
]%%

解決策の例

  
%%[
var @rowset, @row

set @rowset = LookupRows('Target_DataExtension','Value_to_Return','Value_to_Search')

if RowCount(@rowset)> 0 then

/*if there are rows present then return the first row*/

set @row = Row(@rowset,1) 

else then

/* do something else */

endif

]%%



これがトリガによる送信の場合、この変更を加えた後、一時停止し、再パブリッシュして、再開することをお勧めします。
ナレッジ記事番号

000388006

 
読み込み中
Salesforce Help | Article