@Julius Kavay got a point.
I will offer two more options:
Class ABC.Try
{
/// d ##class(ABC.Try).PackageExists()
ClassMethod PackageExists(package = "ABC")
{
; option by Julius Kavay
s list=##class(%Dictionary.PackageDefinition).GetPackageList()
w ''list.Find($zcvt(package,"U")),!
; option 2
w ##class(%Library.RoutineMgr).Exists($zcvt(package,"U")_".PKG"),!
; option 3
k list
d $system.OBJ.GetPackageList(.list,package)
w ''$d(list),!
}
}
USER>d ##class(ABC.Try).PackageExists("ab")
0
0
0
USER>d ##class(ABC.Try).PackageExists("abc")
1
1
1
UPD:
Take another look at the %Dictionary.PackageDefinitionQuery:SubPackage/FlatPackage, %ZEN.Utils:EnumeratePackages
- Log in to post comments