Salve,
ho un compilatore cobol della Veryant e nel programma ho impostato :
questo settaggio:
77 obj-xml object reference XmlStream.
77 j-file object reference jstring.

77 o-path object reference jstring.
77 o-nomep7m object reference jstring.
77 o-nomexml object reference jstring.
77 o-esito object reference jstring.

per la lettura poi dopo aver generato il file XML
eseguo :
set obj-xml
to XmlStream:>new(flusso_xml)

obj-xml:>read(APP-FILE-OUT)

In area working ho definito l'area che dovrebbe catturare il file xml
questa area ha un primo livello di occurs e dei sottolivelli:
03 primodoc identified by "primodoc"
occurs dynamic capacity primodoc-count.
05....
05....
05 sottodoc1 identified by "sottodoc1"
occurs dynamic capacity sottodoc1-count.
07...
07..
05....
05...

MI succede una cosa strana :
Scorrendo dopo aver letto e catturato l'area, al primo giro del test e pertanto alla lettura del primo livello di occorrenza primodoc, se nel file XML ho delle occorrenze di sottodoc1 (in esempio 7),
primodoc-count mi da correttamente in numero 7 ma poi continuando sulle altre occorrenze principali di primodoc (primodoc (2) per intenderci), sottodoc1-count contiene sempre 7 e mi aspettavo che questo valore cambiasse.
Come mai ?
Nella fattispecie l'XML

<flusso_esempio...>
<flusso>
<primodoc>
<...>..</..>
<...>..</..>
<sottodoc1>
<...>..</..>
<...>..</..>
</sottodoc1>
<sottodoc1>
<...>..</..>
<...>..</..>
</sottodoc1>
...
</primodoc>
<primodoc>
<...>..</..>
<...>..</..>
<sottodoc1>
<...>..</..>
<...>..</..>
</sottodoc1>
</primodoc>
</flusso>