VBA API RunPackage的应答文件访问错误

2020-09-13 08:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用EPM SP27补丁2...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用EPM SP27补丁2,并尝试实现RunPackage API以将答案提示传递给DM软件包。 一切正常,但执行RunPackage后无法删除答案文件。

 epmDM.RunPackage epmDMPackage,strAnswerFileName
     杀死strAnswerFileName 

在执行RunPackage之后文件 strAnswerFileName 仍然打开!

在ILSpy中反编译EPM代码后,我可以看到原因:

公共子RunPackage(包为IADMPackage,文件名为字符串)
     尝试
         SAPModuleNameInspectorBehavior.ModuleOverride ="数据管理器"
         如果包什么都没有,那么
             抛出新的InvalidArgException(String.Format(Resources.ExceptionParameterIsNull," package"))
         万一
         package.CheckParameters()
         如果没有文件名,那么
             抛出新的InvalidArgException(String.Format(Resources.ExceptionParameterIsNull," filename"))
         万一
         如果filename.Trim()=""然后
             抛出新的InvalidArgException(String.Format(Resources.ExceptionPropertyOfObjectIsAnEmptyString,MyBase。[GetType]()。ToString()," filename"))
         万一
         尝试
             Dim fi As System.IO.FileInfo =新System.IO.FileInfo(文件名)
             如果不存在
                 抛出新的InvalidArgException("文件不存在")
             万一
             Dim fs作为System.IO.FileStream = fi.OpenRead()
             Dim sr为System.IO.StreamReader =新System.IO.StreamReader(fs)
             暗淡内容为String = sr.ReadToEnd()
             ...
 

但是我看不到 sr.Close ,直到过程结束

看起来像错误!

3条回答
SAP小黑
2020-09-13 09:37

即使在EPM SP 29补丁程序01中引入了DataManagerAdvancedRunPackage,在程序包运行后仍无法立即删除答案文件。 相同的锁。

一周热门 更多>