KuBi4K
Member
Hi,
We're working on a specific batch to answer a customer need.
This batch uses the BSFN B4900191 - Cache Process Routing Options.
Simple test runs were OK. But our customer launched the batch to process a lot of data.
He sent us back an email saying that some of the final (expected) data were missing.
After going throught the log, we found A LOT of " CAC0001017 - (jdeCacheOpenCursor) Attempt to exceed total number of simultaneously open cursors (100) per cache failed"
We went deeper into the batch code and I noticed the following sequence in the Do Section of the batch.
Get a JOBS Number (let's call it va_JOBS)
[...]
Route Shipments(va_JOBS)
Cache Process Routing Options(va_JOBS)
[...]
While conditions
Cache Process Routing Options(va_JOBS)
End while
[...]
If anotherCondition
Clear Routing Cache(va_JOBS)
Stop Event
End If
[...]
Update Shipment Routing(va_JOBS)
Clear Routing Cache(va_JOBS)
Something in here is reaching the "total number of simultaneously open cursors".
First guess: the while loop.
I tried with some random data and manage easily to reach ~80 loops.
So maybe our customer used some datas and went over 100 iterations ...
Second guess, more a question: If I'm using the BSFN Cache Process Routing Options with the same JOBS number several times.
Cache Process Routing Options(1)
Cache Process Routing Options(1)
Cache Process Routing Options(1)
Cache Process Routing Options(1)
[...]
Cache Process Routing Options(1)
Will a unique Clear Routing Cache(1) release the whole cache ?
Or do we need to do 1 Cache Process Routing Options => 1 Clear Routing Cache ?
If I do 10 Cache Process Routing Options(1), 70 Cache Process Routing Options(2) and 40 Cache Process Routing Options(3), does the 10+70+40 (>100) count as a 100-cache-barrier-breach ?
Or does this 100 limit applies only for a cache operation on a specific va_JOBS ?
I'm working on Xe SP23
Thanks in advance.
We're working on a specific batch to answer a customer need.
This batch uses the BSFN B4900191 - Cache Process Routing Options.
Simple test runs were OK. But our customer launched the batch to process a lot of data.
He sent us back an email saying that some of the final (expected) data were missing.
After going throught the log, we found A LOT of " CAC0001017 - (jdeCacheOpenCursor) Attempt to exceed total number of simultaneously open cursors (100) per cache failed"
We went deeper into the batch code and I noticed the following sequence in the Do Section of the batch.
Get a JOBS Number (let's call it va_JOBS)
[...]
Route Shipments(va_JOBS)
Cache Process Routing Options(va_JOBS)
[...]
While conditions
Cache Process Routing Options(va_JOBS)
End while
[...]
If anotherCondition
Clear Routing Cache(va_JOBS)
Stop Event
End If
[...]
Update Shipment Routing(va_JOBS)
Clear Routing Cache(va_JOBS)
Something in here is reaching the "total number of simultaneously open cursors".
First guess: the while loop.
I tried with some random data and manage easily to reach ~80 loops.
So maybe our customer used some datas and went over 100 iterations ...
Second guess, more a question: If I'm using the BSFN Cache Process Routing Options with the same JOBS number several times.
Cache Process Routing Options(1)
Cache Process Routing Options(1)
Cache Process Routing Options(1)
Cache Process Routing Options(1)
[...]
Cache Process Routing Options(1)
Will a unique Clear Routing Cache(1) release the whole cache ?
Or do we need to do 1 Cache Process Routing Options => 1 Clear Routing Cache ?
If I do 10 Cache Process Routing Options(1), 70 Cache Process Routing Options(2) and 40 Cache Process Routing Options(3), does the 10+70+40 (>100) count as a 100-cache-barrier-breach ?
Or does this 100 limit applies only for a cache operation on a specific va_JOBS ?
I'm working on Xe SP23
Thanks in advance.