The <DIRECTORY> error means that the directory or file couldn't be found. Make sure IRIS has access to this file.
I'm not sure if I'm correct here but I think you can eliminate 2 for-loops and the call to getArticle():
In SD031 there should be only one key for "x" (should be a 1:1 relationship), also try to avoid setting up a list just to .count() to see if "dataExists". You should use something like $data (in ^SB02906 there could be one dataset for every item you sale, for every customer). That should speed everything up a little.
My approach:
if (a '="") {
set b = $order(^SD031S("0","7",x,a,b))
if (b '= "") {
if ($piece($get(^SD031("0",a,b,1)),Y,9) = x) {
set c = a
set d = ""
for {
set d = $order(^FA060S("0","22",c,b,c,d))
if (d = "") { quit }
if ($piece($get(^FA060("0",c,d,2),""),Y,25) = b) {
#dim innerObject = ##class(%ZEN.proxyObject).%New()
set innerObject.d = d
set innerObject.c = c
set k = $o(^SB02906("0",c,d,""))
if (k'="") {
set innerObject.dataExist = ($d(^SB02906("0",c,d,k,"EUR","0","1"))'=0)
} else {
set innerObject.dataExist = 0
}
do responseList.Insert(innerObject)
}
}
}
}
}
Also that caching problem should not exist in production because FA060 and SD031 are read for almost everything in your ERP so it stays in the cache. Otherwise you probably need to create a background-job that reads a few global-nodes every 5-10 minutes to get it cached.
Thank you. I thought im stupid because I introduced GIT in another company and we didnt had that bug.
Now I need to find a way to fix it in the repo without cousing too much trouble