在使用SASMSTORE选项的SAS中,我可以指定SASMACR目录所在的位置。在这个目录中将驻留一些宏。 在某些时刻,我可能需要更改宏,这个时刻可能会发生,而这个宏,因此目录将被另一个用户使用。但随后它将被锁定并且无法修改。 我怎么能避免这种情况?
答案 0 :(得分:2)
如果您使用SAS Macro目录作为同事共享的公共目录,则存在一些选项。
首先,使用SVN或类似的源代码控制选项,以便您和您的同事各自拥有宏目录的本地副本。这是我的首选。我这样做,也可能不使用存储的编译宏 - 我只是将其设置为自动调用宏,个人 - 因为这样可以轻松解决冲突(就像你一样)每个宏都有单独的文件。使用SCM,您无法解决冲突,因此您必须确保每个人在进行任何更改之前始终下载最新的副本时表现得非常好,并讨论所有更改,以便您不要进行任何更改。大约在同一时间进行两次相互竞争的变化。如果SCM对于您的特定用例很重要,您可以对创建SCM的宏进行版本控制,并在每次刷新源的本地副本时自己构建SCM。
其次,你可以而且应该将开发与生产分开。即使您在共享网络文件夹中有共享库,您也应该有一个开发副本,除了为其开发新宏(或更新当前使用的宏)之外,任何人都不会明确锁定该开发副本。然后在那里进行更改,并按照一致的计划在测试和验证后推出它们(最好是在测试环境中,这样你就有了经典的三个:dev,test和prod环境)。像这样:
如果你周末有东西,我建议你不要使用星期五的产品,因为这会让你不得不在周末修理一些东西。
答案 1 :(得分:1)
创建两个文件夹,例如maclib1和maclib2,以及存储当前库号的数据集。
如果要重建库,请查询当前数字,增量(如果已经为2,则重置为1),将宏库路径分配给相应的文件夹,编译宏,然后使用新的更新数据集图书馆编号。
在分配库时,从数据集中查询当前库编号,并相应地分配库路径。