Вот фон. Извините, что так долго:
Я занимаюсь программированием SAS для 3 разных проектов. Каждый проект имеет свою основную папку проекта. Каждая основная папка проекта содержит папку форматов (которая содержит каталог форматов), а затем несколько других папок, каждая из которых содержит программы и наборы данных. Я делаю большую часть своей работы в пакетном режиме, поэтому SAS обычно не работает. Тем не менее, иногда я хочу открыть набор данных в SAS, чтобы взглянуть на что-то конкретное. Когда я это делаю, SAS не знает, где искать соответствующий каталог форматов, потому что каталоги форматов никогда не находятся в той же папке, что и наборы данных. Поэтому в настоящее время я использую файл autoexec.sas, в котором указана опция nofmterr
, чтобы мои наборы данных открывались.
Я действительно хотел бы, однако, иметь возможность открывать мои наборы данных с соответствующим форматированием. Я написал другую программу autoexec, которая использует диалоговое окно, которое спрашивает меня, над каким проектом я работаю, а затем соответственно устанавливает параметр fmtsearch
. Это прекрасно работает, если я хочу сначала открыть SAS, а затем открыть набор данных. Но если SAS еще не запущен и я пытаюсь открыть набор данных, дважды щелкнув по нему, вот что происходит: файл autoexec запускается, затем SAS пытается открыть набор данных до того, как файл autoexec завершит работу. Поэтому, если у меня установлено nofmterr
, набор данных откроется без форматов, или если у меня не установлено nofmterr
, набор данных не откроется вообще.
Итак, вот мой вопрос: есть ли способ заставить SAS ждать, пока файл autoexec завершит работу, прежде чем он попытается открыть набор данных? Или есть другой способ обойти проблему? (Я не хочу добавлять все 3 файла формата в опцию fmtsearch
, потому что разные проекты могут иметь разные форматы с одинаковыми именами.)