× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



In the MATACTAT basic activation attributes (option X"00") receiver, why is
the activation status bit (position 50, bit 0) always ON, never OFF on
V5R1?

I would think that if the program activation is not in the current
invocation stack, then this bit would be OFF.  Am I wrong?  When will this
bit ever be OFF?

I'm trying to write a better "DSPJOB OPTION(*ACTGRP)" screen, to show the
names of activated *PGMs, *SRVPGMs, *SQLPKGs, *JVAPGMs below each
activation group.  I'm having trouble with my "In Use Y/N" column.  How
does the "DSPJOB OPTION(*ACTGRP)" determine values for its "In Use Y/N"
column?  I thought the MATACTAT activation status is the answer, but I'm
finding it's not reliable.

Here's a basic outline.  My question occurs on the TSTBUM instruction
below.

dcl dd     MyJobGroups    auto char(512) bdry(16);
dcl dd     *              def(MyJobGroups) pos(1) bin(4) init(512);
dcl dd     TotalGroups    def(MyJobGroups) pos(9) bin(4);
dcl dd     Group(9999)    def(MyJobGroups) pos(13) bin(4) unsgnd;
dcl spcptr ?MyJobGroups   auto init(MyJobGroups);

dcl dd     GroupInfo      auto char(512) bdry(16);
dcl dd     *              def(GroupInfo) pos(1) bin(4) init(512);
dcl dd     GroupName      def(GroupInfo) pos(65) char(40);
dcl dd     TotalActivates def(GroupInfo) pos(109) bin(4);
dcl spcptr ?GroupInfo     auto init(GroupInfo);

dcl dd     GroupList      auto char(8192) bdry(16);
dcl dd     *              def(GroupList) pos(1) bin(4) init(8192);
dcl dd     Activate(9999) def(GroupList) pos(17) bin(4) unsgnd;
dcl spcptr ?GroupList     auto init(GroupList);

dcl dd     ActivateInfo   auto char(512) bdry(16);
dcl dd     *              def(ActivateInfo) pos(1) bin(4) init(512);
dcl spcptr ?Pgm           def(ActivateInfo) pos(17);
dcl dd     InUse          def(ActivateInfo) pos(50) char(1);
dcl spcptr ?ActivateInfo  auto init(ActivateInfo);

dcl dd     X              auto bin(4);
dcl dd     Y              auto bin(4);
dcl dd     Flag           auto char(1);

     matpragp    ?MyJobGroups;
     cpynv       X, 0;
AA:  addn(s)     X, 1;
     cmpnv(b)    X, TotalGroups / hi(ZZ);
     matagpat    ?GroupInfo, Group(X), X"00";
     matagpat    ?GroupList, Group(X), X"02";
     cpynv       Y, 0;
BB:  addn(s)     Y, 1;
     cmpnv(b)    Y, TotalActivates / hi(YY);
     matactat    ?ActivateInfo, Activate(Y), X"00";
     tstbum(i)   InUse, X"80" / ones(Flag); /* why is this always 1 */
     b           BB;
YY:  b           AA;
ZZ:  pend;



As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.