I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOL
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLThis can be an issue in large xml files that have a single root tag that encloses the entire document.
The way that the XML-IO works is that when you issue your first READ filename, the entire contents of this document will be read into memory creating an internal tree-based representation of that document.
It looks like you are using Net Express 5.0 and I do believe that this performance on large xml files has been improved in Net Express 5.1 so upgrading may be an option.
There are also a couple of KB articles that you should look at that show an alternate way of reading in these large xml documents using the CBL_ byte stream routines in conjunction with the XML-IO.
Please see the following:
Questions on using large XML files with Net Express
Demo - on the use of large XML files
Thanks
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI work with :
Integrated Development Environment 5.106.0079
Dialog System 5.106.0079
Enterprise Server 5.106.0079
Interface Mapping Toolkit 5.106.0079
SQL Option for DB2® 5.106.0079
No FixPacks Installed
Are these versions good ?
If not, do i have to fix/upgrade the runtime version also ?
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI work with :
Integrated Development Environment 5.106.0079
Dialog System 5.106.0079
Enterprise Server 5.106.0079
Interface Mapping Toolkit 5.106.0079
SQL Option for DB2® 5.106.0079
No FixPacks Installed
Are these versions good ?
If not, do i have to fix/upgrade the runtime version also ?
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI work with :
Integrated Development Environment 5.106.0079
Dialog System 5.106.0079
Enterprise Server 5.106.0079
Interface Mapping Toolkit 5.106.0079
SQL Option for DB2® 5.106.0079
No FixPacks Installed
Are these versions good ?
If not, do i have to fix/upgrade the runtime version also ?
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLNo those are fine and they indicate that you are actually using NX 5.1 and not 5.0.
The latest wrappack is wrappack 9 and you are at wrappack 6 so there have been a number of bug fixes since your version, although I do not believe that they would address the XML performance problem that you are experiencing.
Take a look at the article links that I posted and see if this may be a viable alternative approach for you.
Thanks
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLOke.
I'm going to read the articles and pick one out to use.
Thanks.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLOke.
I'm going to read the articles and pick one out to use.
Thanks.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLThe basic program is the IOxml.cbl example, you gave me.
I isolate the XML-streamAPart with "perform IsolateXMLstreamAPart"
In the display of streampart I see the complete data between <NatuurlijkePersoon> and </NatuurlijkePersoon>
Then I perform ReadPartOfXMLstream
In the display of the record of the XMLfilepart I see the <NatuurlijkePersoon> and </NatuurlijkePersoon>
but I don't see the data between <Borderelinformatie> and </Borderelinformatie>.
How get I the data ?
Read with key <Borderelinformatie> or someting else ?
Thanks
============================================================================================================
XML-File:
<NatuurlijkePersoon>
<Burgerservicenummer>999999999</Burgerservicenummer>
<DatumGeboorte>1921-12-12</DatumGeboorte>
<Geslachtsnaam>Testgeval-1</Geslachtsnaam>
<Geslacht>V</Geslacht>
<Voorletters>XX</Voorletters>
<Borderelinformatie>
<SoortUitkering>01</SoortUitkering>
<Inhouding>
<BedragIngehouden>0001035.45</BedragIngehouden>
<RechtsmaandInhouding>2014-01</RechtsmaandInhouding>
</Inhouding>
<Inhouding>
<BedragIngehouden>0001099.45</BedragIngehouden>
<RechtsmaandInhouding>2013-12</RechtsmaandInhouding>
</Inhouding>
</Borderelinformatie>
</NatuurlijkePersoon>
XD XMLfilePart
01 pXXXXXX-NatuurlijkePersoon
identified by "NatuurlijkePersoon"
count in pXXXXXX-NatuurlijkePersoon-cnt.
03 pXXXXXX-Burgerservicenummer PIC S9(9) identified by
"Burgerservicenummer" count in
pXXXXXX-Burgerservicenummer-cn.
03 pXXXXXX-DatumGeboorte
PIC x(10) identified by "DatumGeboorte"
count in pXXXXXX-DatumGeboorte-cnt.
03 pXXXXXX-Geslachtsnaam
PIC X(50) identified by "Geslachtsnaam"
count in pXXXXXX-Geslachtsnaam-cnt.
03 pXXXXXX-Geslacht PIC X(1) identified by "Geslacht" count in
pXXXXXX-Geslacht-count.
03 pXXXXXX-VoorvoegselGeslachtsnm PIC X(10) identified by
"VoorvoegselGeslachtsnaam" count in
pXXXXXX-VoorvGeslachtsnaam-cnt.
03 pXXXXXX-Voorletters PIC X(15) identified by "Voorletters"
count in pXXXXXX-Voorletters-cnt.
03 pXXXXXX-DatumOverlijden PIC x(10) identified by
"DatumOverlijden" count in pXXXXXX-DatumOverlijden-cnt.
03 pXXXXXX-BorderelInformatie
identified by "Borderelinformatie"
count in pXXXXXX-Borderel-info-cnt.
04 pXXXXXX-DatumVanaf
PIC X(10) identified by "DatumVanaf" count
in pXXXXXX-DatumVanaf-cnt.
04 pXXXXXX-DatumTm PIC X(10) identified by "DatumTm" count in
pXXXXXX-DatumTm-cnt.
04 pXXXXXX-BedragIngehouden PIC S9(9)V9(2) identified by
"BedragIngehouden" count in pXXXXXX-BedragIngehouden-cnt.
04 pXXXXXX-RechtsmaandInhouding PIC X(80) identified by
"RechtsmaandInhouding" count in
pXXXXXX-RechtsmndInhouding-cnt.
04 pXXXXXX-BedragTerugbetaald PIC S9(9)V9(2) identified by
"BedragTerugbetaald" count in
pXXXXXX-BedragTerugbetaald-cnt.
04 pXXXXXX-Rechtsmaandterugbet PIC X(07) identified by
"Rechtsmaandterugbetaling" count in
pXXXXXX-Rechtsmndterugbet-cnt.
04 pXXXXXX-DatumVanafSchorsing PIC X(10) identified by
"DatumVanafSchorsing" count in
pXXXXXX-DatumVanafSchors-cnt.
04 pXXXXXX-DatumtotTmAOWrecht PIC X(10) identified by
"DatumtotTmAOWrecht" count in
pXXXXXX-DatumtotTmAOWrecht-cnt.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLThe basic program is the IOxml.cbl example, you gave me.
I isolate the XML-streamAPart with "perform IsolateXMLstreamAPart"
In the display of streampart I see the complete data between <NatuurlijkePersoon> and </NatuurlijkePersoon>
Then I perform ReadPartOfXMLstream
In the display of the record of the XMLfilepart I see the <NatuurlijkePersoon> and </NatuurlijkePersoon>
but I don't see the data between <Borderelinformatie> and </Borderelinformatie>.
How get I the data ?
Read with key <Borderelinformatie> or someting else ?
Thanks
============================================================================================================
XML-File:
<NatuurlijkePersoon>
<Burgerservicenummer>999999999</Burgerservicenummer>
<DatumGeboorte>1921-12-12</DatumGeboorte>
<Geslachtsnaam>Testgeval-1</Geslachtsnaam>
<Geslacht>V</Geslacht>
<Voorletters>XX</Voorletters>
<Borderelinformatie>
<SoortUitkering>01</SoortUitkering>
<Inhouding>
<BedragIngehouden>0001035.45</BedragIngehouden>
<RechtsmaandInhouding>2014-01</RechtsmaandInhouding>
</Inhouding>
<Inhouding>
<BedragIngehouden>0001099.45</BedragIngehouden>
<RechtsmaandInhouding>2013-12</RechtsmaandInhouding>
</Inhouding>
</Borderelinformatie>
</NatuurlijkePersoon>
XD XMLfilePart
01 pXXXXXX-NatuurlijkePersoon
identified by "NatuurlijkePersoon"
count in pXXXXXX-NatuurlijkePersoon-cnt.
03 pXXXXXX-Burgerservicenummer PIC S9(9) identified by
"Burgerservicenummer" count in
pXXXXXX-Burgerservicenummer-cn.
03 pXXXXXX-DatumGeboorte
PIC x(10) identified by "DatumGeboorte"
count in pXXXXXX-DatumGeboorte-cnt.
03 pXXXXXX-Geslachtsnaam
PIC X(50) identified by "Geslachtsnaam"
count in pXXXXXX-Geslachtsnaam-cnt.
03 pXXXXXX-Geslacht PIC X(1) identified by "Geslacht" count in
pXXXXXX-Geslacht-count.
03 pXXXXXX-VoorvoegselGeslachtsnm PIC X(10) identified by
"VoorvoegselGeslachtsnaam" count in
pXXXXXX-VoorvGeslachtsnaam-cnt.
03 pXXXXXX-Voorletters PIC X(15) identified by "Voorletters"
count in pXXXXXX-Voorletters-cnt.
03 pXXXXXX-DatumOverlijden PIC x(10) identified by
"DatumOverlijden" count in pXXXXXX-DatumOverlijden-cnt.
03 pXXXXXX-BorderelInformatie
identified by "Borderelinformatie"
count in pXXXXXX-Borderel-info-cnt.
04 pXXXXXX-DatumVanaf
PIC X(10) identified by "DatumVanaf" count
in pXXXXXX-DatumVanaf-cnt.
04 pXXXXXX-DatumTm PIC X(10) identified by "DatumTm" count in
pXXXXXX-DatumTm-cnt.
04 pXXXXXX-BedragIngehouden PIC S9(9)V9(2) identified by
"BedragIngehouden" count in pXXXXXX-BedragIngehouden-cnt.
04 pXXXXXX-RechtsmaandInhouding PIC X(80) identified by
"RechtsmaandInhouding" count in
pXXXXXX-RechtsmndInhouding-cnt.
04 pXXXXXX-BedragTerugbetaald PIC S9(9)V9(2) identified by
"BedragTerugbetaald" count in
pXXXXXX-BedragTerugbetaald-cnt.
04 pXXXXXX-Rechtsmaandterugbet PIC X(07) identified by
"Rechtsmaandterugbetaling" count in
pXXXXXX-Rechtsmndterugbet-cnt.
04 pXXXXXX-DatumVanafSchorsing PIC X(10) identified by
"DatumVanafSchorsing" count in
pXXXXXX-DatumVanafSchors-cnt.
04 pXXXXXX-DatumtotTmAOWrecht PIC X(10) identified by
"DatumtotTmAOWrecht" count in
pXXXXXX-DatumtotTmAOWrecht-cnt.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLThe basic program is the IOxml.cbl example, you gave me.
I isolate the XML-streamAPart with "perform IsolateXMLstreamAPart"
In the display of streampart I see the complete data between <NatuurlijkePersoon> and </NatuurlijkePersoon>
Then I perform ReadPartOfXMLstream
In the display of the record of the XMLfilepart I see the <NatuurlijkePersoon> and </NatuurlijkePersoon>
but I don't see the data between <Borderelinformatie> and </Borderelinformatie>.
How get I the data ?
Read with key <Borderelinformatie> or someting else ?
Thanks
============================================================================================================
XML-File:
<NatuurlijkePersoon>
<Burgerservicenummer>999999999</Burgerservicenummer>
<DatumGeboorte>1921-12-12</DatumGeboorte>
<Geslachtsnaam>Testgeval-1</Geslachtsnaam>
<Geslacht>V</Geslacht>
<Voorletters>XX</Voorletters>
<Borderelinformatie>
<SoortUitkering>01</SoortUitkering>
<Inhouding>
<BedragIngehouden>0001035.45</BedragIngehouden>
<RechtsmaandInhouding>2014-01</RechtsmaandInhouding>
</Inhouding>
<Inhouding>
<BedragIngehouden>0001099.45</BedragIngehouden>
<RechtsmaandInhouding>2013-12</RechtsmaandInhouding>
</Inhouding>
</Borderelinformatie>
</NatuurlijkePersoon>
XD XMLfilePart
01 pXXXXXX-NatuurlijkePersoon
identified by "NatuurlijkePersoon"
count in pXXXXXX-NatuurlijkePersoon-cnt.
03 pXXXXXX-Burgerservicenummer PIC S9(9) identified by
"Burgerservicenummer" count in
pXXXXXX-Burgerservicenummer-cn.
03 pXXXXXX-DatumGeboorte
PIC x(10) identified by "DatumGeboorte"
count in pXXXXXX-DatumGeboorte-cnt.
03 pXXXXXX-Geslachtsnaam
PIC X(50) identified by "Geslachtsnaam"
count in pXXXXXX-Geslachtsnaam-cnt.
03 pXXXXXX-Geslacht PIC X(1) identified by "Geslacht" count in
pXXXXXX-Geslacht-count.
03 pXXXXXX-VoorvoegselGeslachtsnm PIC X(10) identified by
"VoorvoegselGeslachtsnaam" count in
pXXXXXX-VoorvGeslachtsnaam-cnt.
03 pXXXXXX-Voorletters PIC X(15) identified by "Voorletters"
count in pXXXXXX-Voorletters-cnt.
03 pXXXXXX-DatumOverlijden PIC x(10) identified by
"DatumOverlijden" count in pXXXXXX-DatumOverlijden-cnt.
03 pXXXXXX-BorderelInformatie
identified by "Borderelinformatie"
count in pXXXXXX-Borderel-info-cnt.
04 pXXXXXX-DatumVanaf
PIC X(10) identified by "DatumVanaf" count
in pXXXXXX-DatumVanaf-cnt.
04 pXXXXXX-DatumTm PIC X(10) identified by "DatumTm" count in
pXXXXXX-DatumTm-cnt.
04 pXXXXXX-BedragIngehouden PIC S9(9)V9(2) identified by
"BedragIngehouden" count in pXXXXXX-BedragIngehouden-cnt.
04 pXXXXXX-RechtsmaandInhouding PIC X(80) identified by
"RechtsmaandInhouding" count in
pXXXXXX-RechtsmndInhouding-cnt.
04 pXXXXXX-BedragTerugbetaald PIC S9(9)V9(2) identified by
"BedragTerugbetaald" count in
pXXXXXX-BedragTerugbetaald-cnt.
04 pXXXXXX-Rechtsmaandterugbet PIC X(07) identified by
"Rechtsmaandterugbetaling" count in
pXXXXXX-Rechtsmndterugbet-cnt.
04 pXXXXXX-DatumVanafSchorsing PIC X(10) identified by
"DatumVanafSchorsing" count in
pXXXXXX-DatumVanafSchors-cnt.
04 pXXXXXX-DatumtotTmAOWrecht PIC X(10) identified by
"DatumtotTmAOWrecht" count in
pXXXXXX-DatumtotTmAOWrecht-cnt.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI have found the answere. It is no longer necessary to respond on my question.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI have found the answere. It is no longer necessary to respond on my question.
I have a challenge to solve the following....
The first read of an XML-file in my COBOL program takes 40 minutes.
The size of the file is 55 Mb.
In my opinion, 40 minutes is too long for the first read.
How can I fix this time-problem ?
SELECT XXX2CAK ASSIGN TO WS-XXX2CAK-NAAM
ORGANIZATION IS XML
DOCUMENT-TYPE IS "Borderel.xsd"
FILE STATUS IS WS-XXX2CAK-STATUS.
----------------------------------------------------------------------
XD XXX2CAK.
01 CAK999-Borderel identified by "Borderel" count in CAK999-Borderel-cnt.
02 CAK999-Bericht identified by "Bericht" count in CAK999-Bericht-cnt.
03 CAK999-CodeBericht PIC 9(03) identified by "CodeBericht"
count in CAK999-CodeBericht-cnt.
03 etc.....
02 CAK999-Gegevenslevering identified by "Gegevenslevering"
count in CAK999-Gegevenslevering-count.
03 CAK999-AantalDetailRecords PIC S9(6) identified by
"AantalDetailRecords" count in
CAK999-AantalDetailRecords-cnt.
03 etc...
02 CAK999-NatuurlijkePersoon
occurs 1 to 130000
depending on CAK999-NatuurlijkePersoon-cnt
identified by "NatuurlijkePersoon"
count in CAK999-NatuurlijkePersoon-cnt.
03 CAK999-Persoonsnummer PIC S9(9) identified by
"Persoonsnummer" count in
CAK999-Persoonsnummer-cnt.
03 etc......
-----------------------------------------------------------------------
start XXX2CAK key is CAK999-Borderel
READ XXX2CAK
#NetExpress5.0#COBOLI have found the answere. It is no longer necessary to respond on my question.