1

作为重新开发项目的一部分,我希望提取旧 SCL 应用程序的所有源代码。

按照 Richard DeVenezia 的优秀提示,我已经能够使用以下命令成功导出所有 SCL 和 SOURCE 条目:

BUILD %8b.%32b.%32b.%8b; FILE "C:\TEMP\%8b.%32b.%32b.%8b"; CANCEL

我还能够编写一些 SCL 来提取/导出所有的 SLISTS。最后一块是类定义..

使用资源管理器,我可以在显示方法和属性的 GUI 中打开一个 CLASS 条目。我还可以将结果列出到日志中。但是,所有方法都是空的(没有源代码),例如:

/* SET_VIEW */
SET_VIEW: method / (signature='n');
endmethod;

我不确定这是否总是如此,或者我检查过的类(大约 10 个)恰好都有空方法。

我的问题是:

如何将 CLASS 定义从目录条目导出到文本文件?

4

1 回答 1

1

知道了!有一个CREATESCL()功能(请参阅doc)可以让您将 CLASS 转换为 SCL 条目 - 然后可以将其导出到文本文件。

示例 (SCL) 代码:

rc = createscl('sashelp.classes.checkbox_c.class','work.a.b.scl');

我对如何在 EG 中运行 SCL 的解释也可能对运行上述内容感兴趣。

要导出到文本文件,只需运行(在 Base SAS 中):

dm 'build work.a.b.scl; file "C:\temp\sashelp.classes.checkbox_c.class"; cancel';
于 2017-05-25T10:25:02.223 回答