%ALL命名空间未出现在可用命名空间列表中,如何在其中创建对象
%ALL命名空间对象创建方案
%ALL是InterSystems IRIS/Caché平台的特殊系统级命名空间,设计上默认不展示在可视化界面的可用命名空间下拉列表中,无需选中列表项即可操作,可通过以下三种方式创建对象:
方式1:终端命令行操作
- 打开系统终端,执行命令切换至%ALL命名空间:
zn "%ALL" - 切换完成后直接执行类创建、编译、对象实例化代码即可,示例如下:
// 创建全局可用的自定义类 Class MyDemo.GlobalBizClass Extends %Persistent { Property BizId As %String(MAXLEN = 64); Property CreateTime As %TimeStamp; } // 编译类 Do $system.OBJ.Compile("MyDemo.GlobalBizClass", "ck") // 实例化并保存对象 Set bizObj = ##class(MyDemo.GlobalBizClass).%New() Set bizObj.BizId = "BIZ2024001" Set bizObj.CreateTime = $zdt($h,3) Do bizObj.%Save()
方式2:代码中显式指定%ALL为目标命名空间
无需切换当前命名空间,在代码中直接指定操作的目标命名空间即可:
// 直接将类编译到%ALL命名空间 Do $system.OBJ.Compile("MyDemo.GlobalBizClass", "ck", , "%ALL") // 跨命名空间实例化%ALL下的类对象 Set bizObj = ##class(MyDemo.GlobalBizClass).%New("%ALL")
方式3:管理门户手动输入命名空间
在管理门户的类创建/编辑页面,直接在命名空间选择输入框中手动输入%ALL,按下回车确认后即可进入该命名空间的编辑环境,正常创建类或对象即可。
注意:%ALL命名空间下的资源默认会映射到所有用户命名空间,操作前请确认账号拥有%ALL的读写权限,避免误修改系统类或覆盖业务已存在的同名类,影响全平台业务运行。
内容的提问来源于stack exchange,提问作者Muhammad Waseem
相关产品推荐
相关产品推荐

