|
Not to be silly, isn't there a good old fashioned API that can modify the program attribute? Say, perhaps, QLICOBJD, specifically key 9? We used this API to change the source library as we moved program objects through promotion. (http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/apis/qlicobjd.htm) -Walden ------------ Walden H Leverich III President & CEO Tech Software (516) 627-3800 x11 (208) 692-3308 eFax WaldenL@xxxxxxxxxxxxxxx http://www.TechSoftInc.com Quiquid latine dictum sit altum viditur. (Whatever is said in Latin seems profound.) -----Original Message----- From: Paul Jackson [mailto:pjackson@xxxxxxxxxx] Sent: Tuesday, February 17, 2004 5:14 PM To: 'MI400@xxxxxxxxxxxx' Subject: RE: [MI400] MI Program attribute? Hello, I compiled the code below and am now attempting to change it to system state so that it can run. >From the archive postings I understand that offset X'15C1' should be changed to X'80' instead of X'01'. When I go into SST though I get the following data at that location. It seems that offset contains X'33'. 1500 00000000 00000000 00000000 00000000 * ................ * 1510 00000000 00000000 00000000 00000000 * ................ * 1520 00000000 00000000 00000000 00000000 * ................ * 1530 00000000 00000000 00000000 00000000 * ................ * 1540 00000000 00000000 164D8AB4 CF0014C0 * .........(...... * 1550 00000000 F4000000 00000000 F4000000 * ....4.......4... * 1560 00000000 F4000000 164D8AB4 CF0017A0 * ....4....(...... * 1570 00000000 00000000 00000000 00000000 * ................ * 1580 FB41FF30 FB61FF38 FB81FF40 FBA1FF48 * ...../...a. .... * 1590 FBC1FF50 FBE1FF58 7C0802A6 F8010028 * .A.&....@..w8... * 15A0 F821FE21 39800001 F9810060 605D0000 * 8.......9a.--).. * 15B0 F8410020 3C005415 F8010008 F8210218 * 8.......8...8... * 15C0 33FF01C0 7C2001C8 41DA8053 41DD8183 * ....@..H......ac * 15D0 3B600082 7F5AD078 3BC30000 9B6100BA * .-.b.....C.../.. * 15E0 B35FFEC0 39200401 B13FFEA0 E8BE0008 * ............Y... * 15F0 E3450002 7C0004C8 637A0000 A39A0012 * T...@..H.:..t... * F3=Exit F4=Alter labels F5=Refresh F6=Display sta Any clues as to what I am doing wrong? Thanks! -----Original Message----- From: Dave McKenzie [mailto:davemck@xxxxxxxxxxxxx] Here's a little MI pgm that changes a pgm's attribute by calling QSYS/QLIMROIR "Modify/retrieve OIR", which is the pgm used by other QSYS pgms to get or modify the OIR. Since QLIMROIR is system domain (not an API), this pgm must be system state. Notice that you could change the pgm to modify OIR info other than attributes by using the other OIRPTR, OIRFROM and OIRTO fields. --Dave ENTRY .ENTRY(*ENTRY) EXT; DCL SPCPTR P1P PARM; DCL SPCPTR P2P PARM; DCL OL *ENTRY (P1P, P2P) EXT PARM MIN(2); DCL DD $PGM CHAR( 20) BAS(P1P); DCL DD $PGMNAM CHAR( 10) DEF($PGM) POS( 1); DCL DD $PGMLIB CHAR( 10) DEF($PGM) POS( 11); DCL DD $ATTR CHAR( 10) BAS(P2P); DCL SPCPTR QINSEPTP BASPCO POS(1); DCL SPCPTR QINSEPT(9999) BAS(QINSEPTP); DCL DD OBJDESC CHAR(34) AUTO; DCL DD TYPESUB CHAR(2) DEF(OBJDESC) POS(1); DCL DD OBJNAM CHAR(30) DEF(OBJDESC) POS(3); DCL DD * CHAR(2) DEF(OBJDESC) POS(33) INIT(X'0000'); DCL SYSPTR LIBRSYP AUTO; DCL DD MORR CHAR( 1) AUTO; DCL DD OIOBJ CHAR( 30) AUTO; DCL DD OITYSUB CHAR( 2) AUTO; DCL DD OIRPARMS CHAR(224) AUTO BDRY(16); DCL SPCPTR OIRPTR1 DEF(OIRPARMS) POS( 1) /* TEXT */; DCL SPCPTR OIRPTR2 DEF(OIRPARMS) POS( 17) /* SAV/RST */; DCL SPCPTR OIRPTR3 DEF(OIRPARMS) POS( 33) /* SERVICE */; DCL SPCPTR OIRPTR4 DEF(OIRPARMS) POS( 49) /* WHERE USED */; DCL SPCPTR OIRPTR5 DEF(OIRPARMS) POS( 65) /* ATTR */; DCL SPCPTR OIRPTR6 DEF(OIRPARMS) POS( 81) /* */; DCL SPCPTR OIRPTR7 DEF(OIRPARMS) POS( 97) /* USAGE */; DCL SPCPTR OIRPTR8 DEF(OIRPARMS) POS(113) /* EXTENDED */; DCL DD OIRFROM(8) BIN(4) DEF(OIRPARMS) POS(129); DCL DD OIRTO (8) BIN(4) DEF(OIRPARMS) POS(161); DCL DD OIRRETL(8) BIN(4) DEF(OIRPARMS) POS(193); DCL DD NORY CHAR( 1) AUTO; DCL OL MROIROL (MORR, OIOBJ, OITYSUB, LIBRSYP, OIRPARMS, NORY); CPYBLA TYPESUB, X'0401'; CPYBLAP OBJNAM, $PGMLIB,' '; RSLVSP LIBRSYP, OBJDESC, *, *; CPYBLA MORR, 'M' /* Modify */; CPYBLAP OIOBJ, $PGM, ' '; CPYBLA OITYSUB, X'0201'; CPYBLAP OIRPARMS, X'00',X'00'; SETSPP OIRPTR5, $ATTR; CPYNV OIRFROM(5), 1; CPYNV OIRTO(5), 10; CPYBLA NORY, 'N'; CALLX QINSEPT(374), MROIROL,* /* QLIMROIR */; PEND; _______________________________________________ This is the MI Programming on the AS400 / iSeries (MI400) mailing list To post a message email: MI400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/mi400 or email: MI400-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/mi400.
As an Amazon Associate we earn from qualifying purchases.
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.