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

COBOL XML GENERATE Error


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

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Sun Oct 27, 2013 10:02 am
Reply with quote

Hi,

We're using DB2 V10. I need to pass the results of my COBOL-DB2 stored procedure as XML. The XML result-set will be a huge document and hence I cannot use VARCHAR variable to return the result. I am using an output parameter in the Stored Procedure to return the XML as CLOB. The XML file is generated using the XML-Generate statement and passing it back as XML through a CLOB variable. The CLOB

I have defined the XML output variable as follows:
Code:

01 WS-XML-DOC1 USAGE IS SQL TYPE IS XML AS CLOB(1024K).

This is my XML GENERATE statement:

Code:

INITIALIZE WS-XML-DOC1
XML GENERATE WS-XML-DOC1 FROM WS-OUTPUT-LAYOUT
COUNT IN WS-XML-DOC1-LENGTH
ON EXCEPTION
PERFORM P-XML-EXCEPTION THRU P-EXIT



However, while compiling the code I am getting the following error:

Code:

"XML GENERTATE" identifiers "WS-XML-DOC1(GROUP)" and "WS-XML-DOC1-LENGTH (BINARY INTEGER)" had over storage. This statement was discarded.

Any idea what is wrong I am doing here? As per the manuals this should be working.[/code]
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Sun Oct 27, 2013 1:52 pm
Reply with quote

You need to post the full definitions of everything referenced in the statement which caused the error and the full error-message, including message-code.
Back to top
View user's profile Send private message
rahuindo

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Mon Oct 28, 2013 4:15 am
Reply with quote

Hi Bill,
Here is the layout of WS-OUTPUT-LAYOUT:
Code:

  01 WS-OUTPUT-LAYOUT.                                           
      05 RP-EMPLOYEE-NUM             PIC X(6).                       
      05 RP-ADDRS-FIELDS                                         
               OCCURS 0 TO 2908 TIMES DEPENDING ON NUMITEMS.     
        10 RP-ADDR-TYP-CD            PIC X(1).                     
        10 RP-PH-AREA-CD              PIC X(3).                     
        10 RP-LOC-PH-NUM              PIC X(7).                     
        10 RP-LN-1-ADDR                PIC X(40).                   
        10 RP-LN-2-ADDR                PIC X(40).                   
        10 RP-LN-3-ADDR                PIC X(40).                   
        10 RP-CTY-NAME                  PIC X(20).                   
        10 RP-ST-CD                       PIC X(2).                     
        10 RP-ZIP-CD                      PIC X(10).                   
        10 RP-CTRY-CD                   PIC X(2).                     
        10 RP-CANNOT-LOC-IND      PIC X(1).                     
        10 RP-FAX-AREA-CD            PIC X(3).                     
        10 RP-FAX-NUM                   PIC X(7).                     

This is the definition of the XML CLOB variable:
Code:

 01  WS-XML-DOC1       USAGE IS SQL TYPE IS XML AS CLOB(1024K).


This is the XML Generate statement
Code:

XML GENERATE WS-XML-DOC1 FROM WS-OUTPUT-LAYOUT 
    COUNT IN WS-XML-DOC1-LENGTH                       
   ON EXCEPTION                                       
      PERFORM P-XML-EXCEPTION THRU P-EXIT             
END-XML                                               


We use ChangeMan as a compiler. Here is the compiler error:
Code:

615  IGYPA3207-E   "XML GENERATE" identifiers "WS-XML-DOC1 (GROUP)" and "WS-XML-DOC1-LENGTH (BINARY INTEGER)" had ove
storage.  The statement was discarded.


Please let me know if you need any additional details.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Mon Oct 28, 2013 5:35 am
Reply with quote

Well, you've not shown the definition of WS-XML-DOC1-LENGTH, but the compiler indicates that it is part of WS-XML-DOC1 which is not allowed.

You need to look at the compile listing. If still unclear, post the WS-XML-DOC1 from the compile listing and include WS-XML-DOC1-LENGTH.

ChangeMan is not your compiler.
Back to top
View user's profile Send private message
rahuindo

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Mon Oct 28, 2013 6:08 am
Reply with quote

Hi Bill,
Thanks a lot!! I got the answer. The WS-XML-DOC1-LENGTH was created by the DB2 Pre-compiler and I used that during my XML GENERATE statement. I defined a new variable WS-XML-DOC1-LEN and used it for the COUNT.
Thanks a lot, again!!
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Mon Oct 28, 2013 12:44 pm
Reply with quote

Thanks for letting us know.
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Mon Oct 28, 2013 7:13 pm
Reply with quote

I also think you cut off the error message:

I bet the words OVERLAPPING STORAGE are in there. That may have helped understand it.
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 Replace each space in cobol string wi... COBOL Programming 3
No new posts Error to read log with rexx CLIST & REXX 11
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts Error when install DB2 DB2 2
No new posts COBOL ZOS Web Enablement Toolkit HTTP... COBOL Programming 0
Search our Forums:

Back to Top