Лучше всего использовать инструкцию case, потому что вы не можете верить, что ваш пользователь введет ту же строку для Projection_Type, которую вы ожидаете, что и в ключевом слове.
Хотя, если вы настроены на что-то подобное, есть функция EXECUTE, которая обрабатывает строку как инструкцию IDL:
Result = EXECUTE(String [, QuietCompile] [, QuietExecution])
Отредактировано, чтобы добавить, есть также CALL_FUNCTION и CALL_PROCEDURE, которые быстрее, но, возможно, менее гибкие. Посмотрите их все в справке IDL и посмотрите, что работает для вас.