Re: Another way to locate a Job with anMI program

"Rich Hart" <[email protected]> Tue, 13 May 2008 20:47:04 -0500
Newsgroups gmane.comp.lang.as400.mi
Message-ID <000301c8b564$69148a50$020fa8c0@NORIHART>
There is another way as well to locate a job which would not involve 
searching through the work control block tables.

It's outlined in Chapter Nine of Leif's E-Book, "The Work Control Block 
Table".  The second half of the chapter tells how to use the Job Machine 
Index, a system pointer to which is located in the Master Work Control 
Block.  If the index search operation succeeds, you can get a space pointer 
to the entry in the WCB Table describing the job; and from there, your 
program would be the same.  Of course, access to the Job Machine Index is 
limited, I believe, to system state programs.

Of course, using the Job Index to find your job would involve quite a few 
changes to your program!

From: "Robert Houts" <[email protected]>
To: "'MI Programming on the AS400 / iSeries'" <mi400-Zwy7GipZuJhWk0Htik3J/[email protected]>
Sent: Tuesday, May 13, 2008 7:39 PM
Subject: Re: [MI400] MI program unable to locate job - need assistance


> I'm not sure about V6R1 (or 6.1.0 as IBM now calls it), but up to V5R4 
> there
> is still a maximum of 30 tables.  Each table can have a maximum of 16,352
> jobs and the QMAXJOBS system value is limited to 485,000.  Thirty tables 
> can
> hold up to 490,560 jobs.  In the job table header object (QWCBT00) there 
> is
> a 2-byte binary field at offset 1CB (decimal offset 459) that contains the
> count of tables.  On a system with 13 tables:
>
>                              Display Job Tables
> MYSYSTEM
>                                                            05/13/08
> 17:05:58
> Permanent job structures:                Temporary job structures:
>
>  Initial  . . . . :   32767               Initial  . . . . :   16384
>
>  Additional . . . :   500                 Additional . . . :   500
>
>  Available  . . . :   57008               Available  . . . :   12999
>
>  Total  . . . . . :   207557
>
>  Maximum  . . . . :   391670
>
>
>
>
>
>                         ---------------------Entries----------------------
>
>     Table         Size        Total    Available       In-use        Other
>
>         8     16752384        16352            0        16352            0
>
>         9     16752384        16352         3454        12898            0
>
>        10     16752384        16352        10332         6020            0
>
>        11     16752384        16352        15539          813            0
>
>        12     16752384        16352        16348            4            0
>
>        13     11640576        11334        11334            0            0
>
>
>
>
> Bottom
>
>
> Dumping QWCBT00 reveals the following:
>
> 0001A0   00000000 00000000 00000000 00000000
> 0001C0   003C0000 0007F600 00000000 0D000000
> 0001E0   00008000 00000000 234BC6A4 A3000E38
>
> The second line above shows x'000D' at offset 0001CB.  This is decimal
> offset 459, or decimal position number 460 (hex position number 1CC).
>
> I've checked this on at least 10 different systems (V5R2, V5R3, and V5R4)
> with differing numbers of job tables and this field is definitely the 
> count
> of tables.
>
> Using this field is the easiest way of ensuring that you will process all
> tables.  To future-proof your code, make the array larger and use the 
> table
> count for your limit.
>
>
>
> ---wlteihnssf---
> _______________________________________________
> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected]
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/mi400
> or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/mi400.
>
> 

_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.