× 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.



Steve wrote: "What is the difference between a data space index and a user
index?"

Here is a program you might like.  It calls the undocumented API (QLICNV)
for all 65536 MI object types (from X"0000" through X"FFFF") and builds a
list of the valid object types in that range.  There's around 288 types in
V4R5.

/*  to list all object types        */
/*  STRDBG PGM(  )                  */
/*  ADDBKP STMT(LOOK) PGMVAR(LIST)  */

DCL SYSPTR ?QLICNV    AUTO INIT("QLICNV");
DCL DD     SYM        AUTO CHAR(7);
DCL DD     HEX        AUTO CHAR(2) INIT(X"0000");
DCL DD     ARROW      AUTO CHAR(10) INIT("*HEXTOSYM");
DCL OL     *QLICNV    (SYM, HEX, ARROW) ARG;
DCL DD     LIST(500)  AUTO CHAR(50) INIT;
DCL DD     HEX2(500)  DEF(LIST) POS(1) CHAR(4) AEO(50);
DCL DD     SYM2(500)  DEF(LIST) POS(8) CHAR(7) AEO(50);
DCL DD     N          AUTO BIN(4) INIT(0);

LOOP:  CALLX      ?QLICNV, *QLICNV, *;
       ADDN(S)    N, 1;
       CVTHC      HEX2(N), HEX;
       CAT        SYM2(N), "*", SYM;
NEXT:  ADDLC(SB)  HEX, X"0001" / NTZNTC(LOOP);
       BRK        "LOOK";
       RTX        *;

DCL EXCM   CPF2102    CV("CPF") EXCID(H"2102") IMD BP(SKIP);
DCL SYSPTR ?QMHRMVPM  AUTO INIT("QMHRMVPM");
DCL DD     QUEUE      AUTO CHAR(10) INIT("*");
DCL DD     COUNTER    AUTO BIN(4) INIT(0);
DCL DD     KEY        AUTO CHAR(4) INIT;
DCL DD     REMOVE     AUTO CHAR(10) INIT("*NEW");
DCL DD     ERROR      AUTO BIN(4) INIT(0);
DCL SPCPTR ?QUEUE     AUTO INIT(QUEUE);
DCL SPCPTR ?COUNTER   AUTO INIT(COUNTER);
DCL SPCPTR ?KEY       AUTO INIT(KEY);
DCL SPCPTR ?REMOVE    AUTO INIT(REMOVE);
DCL SPCPTR ?ERROR     AUTO INIT(ERROR);
DCL OL     *QMHRMVPM  (?QUEUE, ?COUNTER, ?KEY, ?REMOVE, ?ERROR) ARG;

SKIP:  CALLX      ?QMHRMVPM, *QMHRMVPM, *;
       CMPBLA(B)  HEX(2:1), X"00" / NEQ(NEXT);
       CPYBLA     HEX(2:1), X"FF";
       B          NEXT;
       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.