win docker desktop not just consumes fast-growing  vhdx
but also a lot of temp files, that get never deleted or shrinked
not even with deinstall / reinstall
typically in 
C:\Users\<usename>\AppData\Local\Temp\docker-scout\sha256 
C:\Users\<username>\.docker\scout\sbom\sha256
C:\Users\<username>\AppData\Local\Temp\  *.ico, *.vhdx

in your namespace you can map not just full Globals   
to a different Database but also parts of a Global.
This works over Global Subscript   Details

IF your structure is ^HISTORY(yyyymm, ....)    [yyyymm as first subscript ]
? eventually also your IDKEY ?
this is a possible way   to set   
^HISTORY(201606) >>  201606_HIPAA.dat 
^HISTORY(201607) >>  201607_HIPAA.dat

But if yyyymm is just somewhere in your data, you need to reorganize your global
I assume this is something  you have to do anyhow with your history 

ATTENTION: this is total static.
so for 120 DBs you need 120 mapping lines

If not disabled all global SET and KILL and also transactions are documented in JOURNAL
there are also related search utilities available in %SYS
there is no equivalent feature for Global READ.

if you just look for the fact that there was a SET or KILL at object level
DSTIME could be an option see example: 
https://community.intersystems.com/post/synchronize-data-dstime
it is easier to handle than JOURNAL


 

I had some doubt in your initial question.

NowYOUR mistake is evident
you compose a JSON array args=[arg1value,agr3value,arg3value,..]
using %Push(..)

to %SQL.Statement this is just kind of a strange structured String
%SQL.Statement doesn't deal with JSON Arrays or Objects

with arg... you have to pass a local variable array
which is a core structure of Object Script (since ever)

arg=3           ;;<max subscript count>
arg(1)=arg1value  
arg(2)=arg2value
arg(3)=arg3value

as already described by @Julius Kavay 
 

Just to rephrase your issue:

  • you expect a JSON array of JSON objects   [{..},{..},{..} ]
  • but you get a JSON object containing that array {"cursos": [{..},{..},{..} ]}
;;  asssumptio input holds the received obj
    set jobj={}.%FromJSON(input) ; convert to obj
    set jarray=jobj.%Get("cursos")   ; content of "cursos" = [..]
    set output=jarray.%ToJSON() ; convert to  string
    

docu: %Library.DynamicObject