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

What r the key areas to lookin to save cost in batch ???


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

New User


Joined: 11 Dec 2007
Posts: 26
Location: INDIA

PostPosted: Wed Feb 06, 2008 1:05 pm
Reply with quote

hi,
I have been assigned Cost saving Task for the batch progs.
I have been ask to analyise all the areas where we can think of for saving cost.
Some of the oints which i have thought are:
1.Deleting uncessary files.
2. To Check that we need to process all the tepororary files during a batch process.
Can anyone helpme with some new ideas ???

Thanks for the support icon_smile.gif
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Feb 06, 2008 3:32 pm
Reply with quote

In addition to your ideas -

01) If program files are defined as "ACCESS IS DYNAMIC" and they're only being accessed sequentially, change them to "ACCESS IS SEQUENTIAL". Same holds true for files defined as "ACCESS IS DYNAMIC" and the access is purely random, change them to "ACCESS IS RANDOM".

02) Use "Batch LSR" (BLSR) in the JCL.

03) Use BUFNI/BUFND (AMORG) in the JCL.

03) Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas". icon_wink.gif

04) Check whether the programs can be compiled with OPTIMIZE turned-on (IE: Reduced paging and calculations done at compile time) as well as TRUNC(OPT), which is for binary-data optimization.

05) Unless a given main-program has a very good reason to issue a CANCEL after calling a sub-program, then avoid using this like the plague. If you desire to invoke VALUE clauses in sub-programs upon each call (IE: Override "Last Used State"), then check the PROGRAM-ID "INITIAL" keyword, rather than using individual clearing of WS.

06) Pre-load heavily used dynamic sub-programs, by establishing addressability via a PROCEDURE-POINTER in program housekeeping, using the first 4-bytes of the PP in your subsequent CALL statements instead of the sub-program name.

The above should get you on your way.

HTH....

Regards,

Bill
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Wed Feb 06, 2008 9:25 pm
Reply with quote

Hi Bill,

I got some queris to ask...

Bill O'Boyle wrote:
02) Use "Batch LSR" (BLSR) in the JCL.
What is BLSR?

Bill O'Boyle wrote:
05) Unless a given main-program has a very good reason to issue a CANCEL after calling a sub-program, then avoid using this like the plague. If you desire to invoke VALUE clauses in sub-programs upon each call (IE: Override "Last Used State"), then check the PROGRAM-ID "INITIAL" keyword, rather than using individual clearing of WS.
I didn't get the exact idea here, can You please convert it in bit more easy explanation...(layman language is preferred.. icon_smile.gif )
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed Feb 06, 2008 9:45 pm
Reply with quote

good luck icon_biggrin.gif

what is the real meaning of cost saving ?

maybe what I am saying has been already reviewed but ...

I would start from

- the service level agreement with your customers
--- yes all the people using it facilities should be seen as customers with virtual billing

- analyze the current status of the applications
--- usually remnants of decommissioned applications tend to stick around for a loong time
--- plan to decommission unused applications

- analyze the need of harcopy output
---- plan for a paperless environment

- analyze the reruns due to abends
--- due to programming errors, bad data, scheduling conflicts, data set contention

- analyze the manual tape mount operations
---- very costly in terms of delays and device contentions

- I will add more as something comes to my mind

but sincerely I do not feel that getting rid of a few temporary dataset will
result in a big saving

usually big savings come from an in depth analysis of the applications
identifying the resource hoggers and rengineering the whole thing
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Feb 06, 2008 9:48 pm
Reply with quote

Hello,

Quote:
I have been ask to analyise all the areas where we can think of for saving cost.
Before looking at changes to individual jobs, i'd suggest ranking the jobs by those that use the most resources (cpu, local i/o, database i/o, etc).
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Wed Feb 06, 2008 9:53 pm
Reply with quote

In my first quote I wanted to ask...what is (BLSR) option in JCL? How can we use it to save CPU cost?
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Feb 07, 2008 12:49 am
Reply with quote

You need to spend time researching things like this on your own.

Here's an old link on BLSR which you can probably use as a basis of your research -

publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/IEA5J600/CCONTENTS?DT=19940301112926

IBM Book Manager on the Web (save this URL in your favorites) -

publib.boulder.ibm.com/cgi-bin/bookmgr/library

The other suggestions posted are also quite viable and you need to follow-up on them.

Bill
Back to top
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1287
Location: Chennai, India

PostPosted: Thu Feb 07, 2008 4:15 am
Reply with quote

singh,

I had worked on a similar dollar savings initiative and found the one mentioned below

- Just check if you create dqtasets on tape. Creating and maintaining tape datasets are costly and see if those can be created and maintained on DASD.
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Thu Feb 07, 2008 1:41 pm
Reply with quote

Thanks for the documents Bill, actually, these types of suggestion (which You provided above) usually excites me a lot & I put a query on the fly, in expecatation of that I'll get an imediate response, I just realised that we work in different time zones. Yesterday my office-net didn't allow me to open the documents online..might be a more strong firewall again, so could surf for BLSR & QW didn't show helpful information.

Again thanks for Your patience.
Back to top
View user's profile Send private message
harsh singh

New User


Joined: 11 Dec 2007
Posts: 26
Location: INDIA

PostPosted: Thu Feb 07, 2008 4:36 pm
Reply with quote

Thanks for such wonderful ideas but can u explain me in layman lang.

Quote:
Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas".

Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Feb 07, 2008 5:31 pm
Reply with quote

harsh singh wrote:
Thanks for such wonderful ideas but can u explain me in layman lang.

Quote:
Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas".


What I'm saying here is that display-numeric defined subscripts are the last (and worst) choice.

Halfwords and Fullwords ( 9(04) and 9(08) COMP, respectively ) should be used instead or INDICES (INDEXES) are even a better choice.

If you needed to address a table-element and you're using display-numeric subscripts, the number of Assembler instructions would be (at least) a dozen or sometimes, closer to two dozen.

Bill
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 How to get a stack trace on a looping... ABENDS & Debugging 5
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
No new posts Help in Automating Batch JCL jobs mon... JCL & VSAM 3
No new posts OUTFIL with SAVE option DFSORT/ICETOOL 7
No new posts RACF cost vs. ACF2 cost IBM Tools 2
Search our Forums:

Back to Top