AMPscript множественная ошибка if/elseif, вызывающая ошибку, если не закрыто

У меня есть приведенный ниже код, но он выдает ошибку, говорящую, что оператор If не закрыт с помощью EndIf. Я попробовал несколько вариантов с различным использованием (), но не повезло. Был бы очень признателен за вашу помощь. Спасибо!

%%[

SET @CurrentCourse = Item_Group__c
SET @Location = Location__c

IF IndexOf(@Location, "Melbourne") > 0 AND @CurrentCourse == "Course 1" THEN 
SET @NextCourse = "Course A" 
SET @CurrentPermit = "Permit 1"

ELSEIF IndexOf(@Location, "Sydney" > 0 AND @CurrentCourse == "Course 1" THEN 
SET @NextCourse = "Course B" 
SET @CurrentPermit = "Permit 1"

ELSEIF IndexOf(@Location, "Perth") > 0 AND @CurrentCourse == "Course 1" THEN 
SET @NextCourse = "Course C" 
SET @CurrentPermit = "Permit 2"

ENDIF
]%%

person s3002068    schedule 31.03.2019    source источник


Ответы (2)


Кажется, я справился с этим, установив переменные для IndexOf перед утверждением операторов If. Так...

%%[

SET @Melbourne = IndexOf(@Location, "Melbourne")
SET @Sydney = IndexOf(@Location, "Sydney")
SET @Perth = IndexOf(@Location, "Perth")

IF @Melbourne > 0 AND @CurrentCourse == "Course 1" THEN 
SET @NextCourse = "Course A" 
SET @CurrentPermit = "Permit 1"

ELSEIF @Sydney > 0 AND @CurrentCourse == "Course 1" THEN 
SET @NextCourse = "Course B" 
SET @CurrentPermit = "Permit 1"

ENDIF
]%%
person s3002068    schedule 31.03.2019

Похоже, вы пропустили скобку в своем первом слове else if после «Сидней».

ELSEIF IndexOf(@Location, "Сидней" >

person ipedrosa    schedule 25.06.2019