1
1
Class CDV .CDV
2
2
{
3
3
4
- ClassMethod ScanFromAllClasses () As %Status
4
+ ClassMethod ScanFromAllClasses (ByRef Oid As %String ) As %Status
5
5
{
6
6
#Dim sc As %Status = $$$OK
7
7
set sc = $System .OBJ .GetClassList (.Classes , " /application=0 /system=0 /percent=0 /mapped=0" )
8
8
Quit :$$$ISERR(sc )
9
- Set sc = ..ScanFromClassLocal (.Classes )
9
+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
10
10
Quit sc
11
11
}
12
12
13
- ClassMethod ScanFromSubclassesOf (Class As %String ) As %Status
13
+ ClassMethod ScanFromSubclassesOf (Class As %String , ByRef Oid As %String ) As %Status
14
14
{
15
15
#Dim sc As %Status = $$$OK
16
16
Set RS = ##class (%ResultSet ).%New (" %Dictionary.ClassDefinition:SubclassOf" )
@@ -24,11 +24,11 @@ ClassMethod ScanFromSubclassesOf(Class As %String) As %Status
24
24
Set Classes (RS .Data (" Name" )) = " "
25
25
}
26
26
27
- Set sc = ..ScanFromClassLocal (.Classes )
27
+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
28
28
Quit sc
29
29
}
30
30
31
- ClassMethod ScanFromMatchingClasses (Mask As %String ) As %Status
31
+ ClassMethod ScanFromMatchingClasses (Mask As %String , ByRef Oid As %String ) As %Status
32
32
{
33
33
#Dim sc As %Status = $$$OK
34
34
@@ -44,11 +44,11 @@ ClassMethod ScanFromMatchingClasses(Mask As %String) As %Status
44
44
Set Classes (RS .%GetData (1 )) = " "
45
45
}
46
46
47
- Set sc = ..ScanFromClassLocal (.Classes )
47
+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
48
48
Quit sc
49
49
}
50
50
51
- ClassMethod ScanFromClassLocal (ByRef Classes As %String ) As %Status
51
+ ClassMethod ScanFromClassLocal (ByRef Classes As %String , ByRef Oid As %String ) As %Status
52
52
{
53
53
#Dim sc ,sc1 As %Status = $$$OK
54
54
Set Class = " "
@@ -57,15 +57,15 @@ ClassMethod ScanFromClassLocal(ByRef Classes As %String) As %Status
57
57
Quit :Class =" "
58
58
If ($classmethod (Class , " %Extends" , " %RegisteredObject" ))
59
59
{
60
- Set sc1 = ..ValidateClassObjects (Class )
60
+ Set sc1 = ..ValidateClassObjects (Class , . Oid )
61
61
}
62
62
Set sc = $$$ADDSC(sc , sc1 )
63
63
}
64
64
65
65
Quit sc
66
66
}
67
67
68
- ClassMethod ValidateClassObjects (Class As %String ) As %Status
68
+ ClassMethod ValidateClassObjects (Class As %String , ByRef Oid As %String ) As %Status
69
69
{
70
70
#Dim sc As %Status = $$$OK
71
71
@@ -81,11 +81,13 @@ ClassMethod ValidateClassObjects(Class As %String) As %Status
81
81
While (rset .%Next ())
82
82
{
83
83
set obj = $classmethod (Class , " %OpenId" , rset .%Get (" ID" ))
84
- set Oid (Class ,rset .%Get (" ID" )) = obj .%ValidateObject ()
84
+ if (obj .%ValidateObject () '= 1 )
85
+ {
86
+ set Oid (Class ,rset .%Get (" ID" )) = obj .%ValidateObject ()
87
+ }
85
88
Kill obj
86
89
}
87
-
88
- zw Oid
90
+
89
91
Quit sc
90
92
}
91
93
0 commit comments