PDA

View Full Version : Debug i/o's



Guest.Visitor
01-01-1995, 02:00 AM
JB, these are all the PTFs for OPTION(*SRCSTMT : *NODEBUGIO). Barbara Morris, IBM Toronto Lab, RPG Compiler Development <pre> Compiler | TGTRLS | Runtime (57xxRG1) | | (57xxSS1) ----------+------------------+---------- V3R2 SF46001 | *CURRENT | SF45788 V3R6 SF45749 | *CURRENT | SF45430 V3R7 SF46327 | *CURRENT | SF46321 SF47065 | *PRV, V3R2, V3R6 | V4R1 SF46327 | *CURRENT, *PRV | SF46462 SF47065 | V3R2, V3R6 | V4R2 SF45191 | *CURRENT | SF45189 SF46944 | *PRV, V4R1, V3R7 | SF47055 | V3R2 | </pre> <font color=blue> On Wednesday, September 02, 1998, 03:21 PM, Jbriggs wrote: Several month's ago I saw a posting on the keyword NODEBUGIO. This supresses the steping thru of the file i/o's during debug. The posting also mentioned the PTF number for this option on V3R7. Can some one find the PTF numbers and send them to me again? Thanks JB </font>

Guest.Visitor
09-16-1998, 12:16 PM
Phil/David, Thanks both for the two routines - they're just what I was after, and way shorter than the thing I was starting to put together. The MI call looks interesting as a way to beat global indicator usage - I didn't know it could be invoked so easily.

Guest.Visitor
09-16-1998, 12:49 PM
John/Phil, It is easy to get around global indicator problems by saving the indicator to a local save field and restoring it at the end of the routine. I would normally do this. The real question though is how do you post code so that it is not all one line? First I tried &ltcode&gt, it didn't work, then &ltpre&gt, it looked OK on the preview. Do you have to put in a bunch of &ltbr&gt's? If so is there a lazy man's way to do this? I couldn't find anything in the general questions forum other than some tips on how to add borders, etc. Thanks, David Morris On Wednesday, September 16, 1998, 12:16 PM, J V Thompson wrote: Phil/David, Thanks both for the two routines - they're just what I was after, and way shorter than the thing I was starting to put together. The MI call looks interesting as a way to beat global indicator usage - I didn't know it could be invoked so easily.

flensburg@novasol.dk
09-17-1998, 10:37 AM
On Thursday, September 17, 1998, 09:49 AM, Phil Hall wrote: Taking a look at this book, although the examples are in C, atleast gives you a list of the MI instructions you could use in RPG, I think RSLVP and SETSPFP are the only two you won't be able to use directly from RPGLE, as they use or return System Pointers - RPGLE only has Space Pointers. Phil, RPG/IV has a "hidden" support of system pointers: defining an uninitialized procedure pointer will make the RPG compiler create an open pointer, capable of storing any type of AS/400 pointer -- if the pointer is part of a data structure, use the NoOpt keyword, otherwise the compiler might corrupt the storage, unabling it to hold a system pointer. A future introduction of true system pointer support to RPG/IV might also disable this undocumented feature. The resolve system pointer MI and builtin functions, _RSLVSP2, RSLVSP4 respectively rslvsp to mention some of the relevant interfaces, are all within reach to RPG/IV (and ILE Cobol, I think) using this technique. Best regards, Carsten Flensburg

T.Holt
09-17-1998, 03:33 PM
It's not a problem for me, either. I'm writing business applications, not that recondite stuff.<HR><font color="blue"> On Thursday, September 17, 1998, 02:38 PM, Phil Hall wrote: Anyhow, the lack of 'real' system pointers in RPGLE isn't too much of a problem, I use other work-arounds on V3R7</font>

Guest.Visitor
09-17-1998, 06:29 PM
<font color="#0000CC"> On Thursday, September 17, 1998, 02:38 PM, Phil Hall wrote: Maybe this is a OS version issue ? Because I know I can't do a similar EVAL when using RSLVSP MI instruction on V3R7... Anyhow, the lack of 'real' system pointers in RPGLE isn't too much of a problem, I use other work-arounds on V3R7 </font> Hello Phil, The following I seem to recall worked over V3R7, and it certainly works over V4R1. Do you want to try it? <pre><font size=-1> *--------------------------------------------------------------------- /COPY QRPGLESRC,SYSFLD_DFN D RtvSysPtr PR LIKE(sysSystemPtr) D Object 10A VALUE D Library 10A VALUE D ObjectType 10A VALUE D Authority 2A VALUE OPTIONS(*NOPASS) *--------------------------------------------------------------------- P RtvSysPtr B EXPORT D PI LIKE(sysSystemPtr) D pObject 10A VALUE D pLibrary 10A VALUE D pSymObjType 10A VALUE D pAuthority 2A VALUE OPTIONS(*NOPASS) D rslvsp PR LIKE(sysSystemPtr) EXTPROC('rslvsp') D ObjectType 2A VALUE D ObjectName * VALUE OPTIONS(*STRING) D LibName * VALUE OPTIONS(*STRING) D ReqdAuth 2A VALUE D QLICVTTP PR EXTPGM('QLICVTTP') D Conversion 10A CONST D SymbolicType 10A D HexType 2A D Error 32767A OPTIONS(*VARSIZE) D ErrorDS DS D 10I 0 INZ(0) D ObjAut S 2A INZ(X'0000') D HexObjType S 2A C CALLP QLICVTTP( '*SYMTOHEX' C : pSymObjType C : HexObjType C : ErrorDS ) C C IF (%PARMS >= 4) C EVAL ObjAut = pAuthority C ENDIF C C RETURN rslvsp( HexObjType C : %TRIMR(pObject) C : %TRIMR(pLibrary) C : ObjAut ) P RtvSysPtr E *--------------------------------------------------------------------- Which you might use like this: *--------------------------------------------------------------------- D SystemPtr S LIKE(sysSystemPtr) NOOPT ... C EVAL SystemPtr = RtvSysPtr('aObj':'aLib':'*DTAQ') ... *--------------------------------------------------------------------- Where QRPGLESRC,SYSFLD_DFN contains the following: *--------------------------------------------------------------------- ... D sysSystemPtr S * BASED(Nothing) PROCPTR ... *--------------------------------------------------------------------- </font></pre> Derek