This is a great resource, nice work and a top chapter in this series for sure.
There seems to be different ways to approach declared IRIS state by codifying things, you can codify the exported objects and import them or like you mentioned, use the installer method that builds things as code.... which I have had pretty good success with in the past, like Tasks below.
<Method name="CreateClaims">
<ClassMethod>1</ClassMethod>
<FormalSpec>pVars,pLogLevel,tInstaller</FormalSpec>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set configItems = $LISTBUILD(
$LISTBUILD(1,
"Return payload from customer",
"create 835 from adjudicated claims",
"NS.Package.Task.CreateClaim")
for i = 1:1:$LISTLENGTH(configItems) {
Set item = $LISTGET(configItems, i)
Set Task=##Class(%SYS.Task).%OpenId($LISTGET(item,1))
if 'Task {
Set Task = ##Class(%SYS.Task).%New()
Set Task.Name = $LISTGET(item,2)
Set Task.Description = $LISTGET(item,3)
Set Task.NameSpace = "USER"
Set Task.Type = 2
Set Task.TaskClass= $LISTGET(item,4)
Set Task.TimePeriod = 5
Do Task.idSet($LISTGET(item,1))
Set Task.RunAsUser = "intersystems"
Set status=Task.%Save()
$$$ThrowOnError(status)
}
}
]]></Implementation>
</Method>
- Log in to post comments