MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

how to split a program ?

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Wed Apr 29, 2009 6:37 am    Post subject: how to split a program ? Reply with quote

Hi,

I have a 8000 line program which is giving storage error
"Original Condition:
CEE0813S Insufficient storage was available to satisfy a get storage (CEECZST)"

Now I think the solution would be splitting the main program in to 2 and calling the second one..

Can someone tell me what are all the points to be taken care in doing so, And is this the right approach ? is there any better way to handle this case ?
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Wed Apr 29, 2009 7:08 am    Post subject: Reply with quote

suggest that you look up the meaning and explanation of CEE0813S.
you can use the IBM Look-UP Site to find the explanation.

suggest that you bookmark the link that I have given you.
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Wed Apr 29, 2009 8:12 am    Post subject: Reply with quote

Hi Dick Brenholtz,

I have looked into your site, but I am getting almost same details of my Dump master. I am almost sure that the issue is with the working storage space as the error comes when I am trying to increase the size of an array table.

Thanks,
Suresh.
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Wed Apr 29, 2009 8:45 am    Post subject: Reply with quote

and how are you trying to increase the size of your array table (is that a COBOL internal table?)
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Wed Apr 29, 2009 10:24 pm    Post subject: Reply with quote

Yes it is a cobol internal table
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Wed Apr 29, 2009 11:53 pm    Post subject: Reply with quote

suresh_d,
you are not answering my question, which I repeat:
how are you increasing the size of the array?
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Thu Apr 30, 2009 12:37 am    Post subject: Reply with quote

**sigh** try increasing the region size parm on your job card........
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12380
Topics: 75
Location: San Jose

PostPosted: Thu Apr 30, 2009 8:16 pm    Post subject: Reply with quote

Suresh_d,

Compile the program with the compiler option DATA(31) (above the line). You can do this add the following line as the first line in your program (before ID division)
Code:

 CBL DATA(31)


Code REGION=0M on the step executing the program

Code:

STEP0100 EXEC PGM=COBPGM,REGION=0M


kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anuj Dhawan
Intermediate


Joined: 19 Jul 2007
Posts: 298
Topics: 7
Location: Mumbai,India

PostPosted: Fri May 01, 2009 11:48 am    Post subject: Reply with quote

Hi,

Get some information by adding this to your job:
Code:
//CEEOPTS DD *
RPTOPTS(ON),RPTSTG(ON)
/*
Depending on what the output shows, you may be able to adjust the HEAP and/or STACK values to get enough run-time storage.
_________________
Regards,
Anuj
Back to top
View user's profile Send private message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Tue May 05, 2009 12:19 am    Post subject: Reply with quote

Hi All,

Thanks for your replies. I was on leave so couldn't reply you. Thanks for your suggestion but my knowledge is less to process your suggestions Sad I landed back in same error or a different one Sad This time I am copying and pasting the actual content from my program and job log.

Dick Brenholtz,

Code:
05 I2X                            PIC S999   COMP-3.
05 WS-TAB-MOMENT           OCCURS 34 TIMES.        --> increasing this to 200 times.
05 WS-TAB-MOMENT           OCCURS 200 TIMES.


Kolusu,

I gave this declaration but it errored Sad

Code:
CBL DATA(31)            --> added this line
IDENTIFICATION DIVISION.


Code:
"CBL" was specified as a restricted word in the current reserved word table.  The reserved word table used may be different from the IBM-supplied default.  Refer to the Language Reference for IBM Enterprise COBOL Version 3 for information on reserved words.


So just gave REGION=0M but it gave same error.

Anuj,

I gave your syntax, it gave information, but I am not able to understand it, Can you explain me how to understand the info. here is the dump of the information I got -

Code:
CEE0813S Insufficient storage was available to satisfy a get storage (CEECZST) request.
         The traceback information could not be determined.                     
Options Report for Enclave MPY033 05/05/09 7:03:51 AM                           
Language Environment V01 R08.00                                                 
                                                                               
LAST WHERE SET                 OPTION                                           
-------------------------------------------------------------------------------
Installation default             ABPERC(NONE)                                   
Installation default             ABTERMENC(ABEND)                               
Installation default           NOAIXBLD                                         
Override                         ALL31(OFF)                                     
Installation default             ANYHEAP(16384,8192,ANYWHERE,FREE)             
Installation default           NOAUTOTASK                                       
PARMLIB(CEEPRM00)                BELOWHEAP(16384,4096,FREE)                     
Installation default             CBLOPTS(ON)                                   
Installation default             CBLPSHPOP(ON)                                 
Installation default             CBLQDA(OFF)                                   
Installation default             CHECK(ON)                                     
Installation default             COUNTRY(US)                                   
Installation default           NODEBUG                                         
Installation default             DEPTHCONDLMT(10)                               
Installation default             DYNDUMP(*USERID,NODYNAMIC,TDUMP)               
Installation default             ENVAR("")                                     
PARMLIB(CEEPRM00)                ENVAR("TZ=NFT-1DFT,M3.5.0,M10.5.0")           
Installation default             ERRCOUNT(0)                                   
Installation default             ERRUNIT(6)                                     
Installation default             FILEHIST                                     
Installation default             FILETAG(NOAUTOCVT,NOAUTOTAG)                 
Default setting                NOFLOW                                         
Installation default             HEAP(32768,32768,ANYWHERE,KEEP,8192,4096)     
Installation default             HEAPCHK(OFF,1,0,0,0)                         
Installation default             HEAPPOOLS(OFF,8,10,32,10,128,10,256,10,1024,10
Installation default             INFOMSGFILTER(OFF,,,,)                       
Installation default             INQPCOPN                                     
Installation default             INTERRUPT(OFF)                               
Installation default             LIBSTACK(4096,4096,FREE)                     
Installation default             MSGFILE(SYSOUT,FBA,121,0,NOENQ)               
Installation default             MSGQ(15)                                     
Installation default             NATLANG(ENU)                                 
Ignored                        NONONIPTSTACK(See THREADSTACK)                 
Installation default             OCSTATUS                                     
Installation default           NOPC                                           
Installation default             PLITASKCOUNT(20)                             
Installation default             POSIX(OFF)                                   
Installation default             PROFILE(OFF,"")                               
Installation default             PRTUNIT(6)                                   
Installation default             PUNUNIT(7)                                   
Installation default             RDRUNIT(5)                                   
Installation default             RECPAD(OFF)                                   
DD:CEEOPTS                       RPTOPTS(ON)                                   
DD:CEEOPTS                       RPTSTG(ON)                                   
Installation default           NORTEREUS                                       
Installation default           NOSIMVRD                                       
 Override                         STACK(131072,131072,BELOW,KEEP,524288,131072)
 PARMLIB(CEEPRM00)                STORAGE(00,NONE,NONE,8192)                   
 PARMLIB(CEEPRM00)                TERMTHDACT(UATRACE,,96)                       
 Installation default           NOTEST(ALL,"*","PROMPT","INSPPREF")             
 Installation default             THREADHEAP(4096,4096,ANYWHERE,KEEP)           
 Installation default             THREADSTACK(OFF,4096,4096,ANYWHERE,KEEP,131072
 Installation default             TRACE(OFF,4096,DUMP,LE=0)                     
 Installation default             TRAP(ON,SPIE)                                 
 Installation default             UPSI(00000000)                               
 Installation default           NOUSRHDLR(,)                                   
 Installation default             VCTRSAVE(OFF)                                 
 Installation default             XPLINK(OFF)                                   
 Installation default             XUFLOW(AUTO)                                 
                                                                               
1Storage Report for Enclave MPY033 05/05/09 7:03:51 AM                         
 Language Environment V01 R08.00                                               
                                                                               
0    STACK statistics:                                                         
       Initial size:                                       131072               
       Increment size:                                     131072               
       Maximum used by all concurrent threads:              29416               
       Largest used by any thread:                          29184               
       Number of segments allocated:                            2               
       Number of segments freed:                                0               
0    THREADSTACK statistics:                                                   
       Initial size:                                            0               
       Increment size:                                          0               
       Maximum used by all concurrent threads:                  0 
       Largest used by any thread:                              0 
       Number of segments allocated:                            0 
       Number of segments freed:                                0 
0    LIBSTACK statistics:                                         
       Initial size:                                         4096 
       Increment size:                                       4096 
       Maximum used by all concurrent threads:                  0 
       Largest used by any thread:                              0 
       Number of segments allocated:                            1 
       Number of segments freed:                                0 
0    THREADHEAP statistics:                                       
       Initial size:                                         4096 
       Increment size:                                       4096 
       Maximum used by all concurrent threads:                  0 
       Largest used by any thread:                              0 
       Successful Get Heap requests:                            0 
       Successful Free Heap requests:                           0 
       Number of segments allocated:                            0 
       Number of segments freed:                                0 
0    HEAP statistics:                                             
       Initial size:                                        32768 
       Increment size:                                      32768 
       Total heap storage used (sugg. initial size):            0 
       Successful Get Heap requests:                            0 
       Successful Free Heap requests:                           0 
       Number of segments allocated:                            0 
       Number of segments freed:                                0
0    HEAP24 statistics:                                           
       Initial size:                                         8192
       Increment size:                                       4096
       Total heap storage used (sugg. initial size):            0
       Successful Get Heap requests:                            0
       Successful Free Heap requests:                           0
       Number of segments allocated:                            0
       Number of segments freed:                                0
0    ANYHEAP statistics:                                         
       Initial size:                                        16384
       Increment size:                                       8192
       Total heap storage used (sugg. initial size):        12528
       Successful Get Heap requests:                          999
       Successful Free Heap requests:                         977
       Number of segments allocated:                            1
       Number of segments freed:                                0
0    BELOWHEAP statistics:                                       
       Initial size:                                        16384
       Increment size:                                       4096
       Total heap storage used (sugg. initial size):        17048
       Successful Get Heap requests:                            5
       Successful Free Heap requests:                           0
       Number of segments allocated:                            2
       Number of segments freed:                                0
0    Additional Heap statistics:                                 
       Successful Create Heap requests:                         0
      Successful Discard Heap requests:                        0
      Total heap storage used:                                 0
      Successful Get Heap requests:                            0
      Successful Free Heap requests:                           0
      Number of segments allocated:                            0
      Number of segments freed:                                0
    Largest number of threads concurrently active:             1
End of Storage Report
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Tue May 05, 2009 3:51 am    Post subject: Reply with quote

from your compile listing, what are the AMODE and RMODE parms?

I may have interpreted something incorrectly, but it looks like this program is running as 24. If so, it is running under the 64-line which would make it reasonable that the program does not have enough space.

how much of the program executes before the failure?
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Tue May 05, 2009 5:10 am    Post subject: Reply with quote

Hi Dick Brenholtz,

My program is comipled using BAGMAN - AMODE=24 and there is no rmode in the complie jcl. I don't know how to see how much the program is exected. I am posting my joblog - thinking it may be useful. Let me know if anything else needs to be looked in. Sorry if I am testing your patience.
[code:1:7c0d639474]
07.03.12 JOB31294 ---- TUESDAY, 05 MAY 2009 ----
07.03.12 JOB31294 IRR010I USERID K82887 IS ASSIGNED TO THIS JOB.
07.03.13 JOB31294 ICH70001I K82887 LAST ACCESS AT 06:59:11 ON TUESDAY, MAY 5
07.03.13 JOB31294
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Tue May 05, 2009 6:15 am    Post subject: Reply with quote

it appears that you are indeed 'running below the line'.

I have not worked on anything except 'above the line', for the last decade or so.

I have no solutions on how to run in AMODE(24).

If you are allowed to run AMODE(31), suggest you contact your sys-support group (or a peer) and compile/link this program as AMODE(31)/RMODE(any).

but, I don't know your site, so I don't know how many (24) CALLs you may be invoking.

If your site is a (24) shop, there must be something that is done, again, sys-support or a peer is your best option.

Don't worry about my patience.
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
suresh_d
Beginner


Joined: 20 Sep 2006
Posts: 33
Topics: 9

PostPosted: Tue May 05, 2009 11:38 pm    Post subject: Reply with quote

Hi,

I tried checking with my seniors, they are also new to this issue and asked me to take this up as challenge and do Sad

There are too many occurs in this program, will it be a better idea to re design the program, if yes can i have some suggestions from you ?

Thanks
Suresh.
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Wed May 06, 2009 5:25 am    Post subject: Reply with quote

find out if you can compile your program AMODE(31) rmode(any)

actually, change BAGMAN - AMODE=24
to this BAGMAN - AMODE=31.

then try running your program.

what kind of Operating System and what is your hardware?
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group