IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

XML Parse for large file


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
muralikrishnan_new

New User


Joined: 02 Jun 2013
Posts: 15
Location: India

PostPosted: Mon Jun 12, 2017 12:50 pm
Reply with quote

Hi All,
We are reading a xml documents from variable length file(LRECL=32004 i.e 32K file length).
We observed an issue when the xml content filled with 32000 bytes per line as mentioned below, and the second line starts with the
continuation of the xml tag.
?xml version='1.0' encoding='UTF-8'?><batch xmlns="www.bank.com"><batch-info id="doc_bank_20170518"><batch:sender-identifier>kbc</batch>
</batch-info><documents><documenturl="hasgh://ajhjk@yeuhd/jsdgfhgsdhfgsdhg_1"><lname>Murali</lname><Dept><Team>Development Delivery</Team><Project-
Role>Developer</project-Role></Dept></documents></batch>

a) We tried using only XML-PARSE operation and processing it. It was working fine.
b) But we check validation against a data on DB2 table using SQL, when we parse the second record the Start of Element of not captured in XML-EVENT
instead it skipped the <Project-Role> and capturing as END-OF-Document at first record end byte and next record it says as START-OF-DOCUMENT and throws an "EXCEPTION"
XML-CODE = 0000798819

But when we remove the SQL statement and do the processing , it works fine.

Do we have any logging dataset to capture the XML-PARSE for each element?
Whether it has to do with any memory allocation of the program?
Please help me to resolve the issue. Meanwhile i will try to post if i found anything more
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Jun 12, 2017 2:13 pm
Reply with quote

How can you have a second record when your "file" length = record length = 32004? I guess you may have meant 'data set' not 'file' and you were just confusing everyone by saying the data set length was 32k.

If you were running on a mainframe no exception was 'thrown' - nothing is 'thrown' on the msainframe in z/os - maybe z/Linux but not on the MVS part of the machine.

You have logging if you wrote it. I guess you screwed up the code change to add the sql.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8697
Location: Dubuque, Iowa, USA

PostPosted: Mon Jun 12, 2017 4:56 pm
Reply with quote

The issue has nothing to do with memory allocation -- period.

If you want to log your XML processing by using DISPLAY statements, you have that option. There is no logging of XML inherent in COBOL, however.

The OBVIOUS answer is that you (or whoever coded the SQL statements) screwed up the processing logic and caused the issue. Debug the added code and stop trying to blame the system for a programmer mistake.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3053
Location: NYC,USA

PostPosted: Mon Jun 12, 2017 10:26 pm
Reply with quote

Check it out, if this link helps.
ibmmainframes.com/about60662.html
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts PARSE Syntax for not fix length word ... JCL & VSAM 7
Search our Forums:

Back to Top