|
This is really appreciated - especially that you're doing it for V3R2!!! Joe Teff QDS Bloomington, MN ---------- > From: Hans Boldt <boldt@ca.ibm.com> > To: midrange-l@midrange.com > Subject: Yet Another ILE RPG Enhancement! > Date: Wednesday, February 04, 1998 2:02 PM > > Greetings RPG fans! A few months ago when discussing the new stuff > in the upcoming release of ILE RPG, I promised one more surprise > enhancement. Well, it's actually two: > 1) OPTION(*SRCSTMT) tells the compiler to assign statement numbers > that match the SEU source sequence numbers. > 2) OPTION(*NODEBUGIO) ensures that when stepping through an RPG > program in debug, you don't stop on all of the input or output > specs on an I/O operation. > > These features were so frequently requested, that we are providing > these new features in PTFs for all releases back to V3R2. > > Note that you have to code an H spec keyword to get the new behaviour: > OPTION(*SRCSTMT *NODEBUGIO). > In a release after V4R2, you'll be able to get the behaviour through > the OPTION parameter on the command (the H spec keyword will still > be available too). > > PTFs are available now for V3R2, V3R6, V3R7 and V4R2 that address the > problem. Currently the PTFs only fix TGTRLS(*CURRENT) - the other > TGTRLS PTFs will be available soon. > > Compiler (product 57xxRG1) | Runtime (product 57xxSS1) > -------------------------- | ------------------------ > V3R2 SF46001 | SF45788 > V3R6 SF45749 | SF45430 > V3R7 SF46327 | SF46321 > V4R1 (use V3R7 compiler + PTF) | SF46462 > V4R2 SF45191 | SF45189 > > Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com > > ---------------- Problem description --------------------- > > An ILE RPG program encounters an error during runtime. The > message indicates the source listing line number rather than > the SEU source statement number. > > The user had to recompile the program to generate a compile > listing to determine what line number was failing. When > executing the OPM version of their program the sequence number > from the source member was listed in the error message. > > Another problem is that during debug, stepping on a READ or > WRITE operation causes the debugger to step through I and > O specifications rather than going directly to the statement > after the READ or WRITE. > > ----------------------- Answer --------------------------- > > The OPTION keyword is added to the Control specification. The > possible parameters are *SRCSTMT and *NODEBUGIO. To specify > both parameters, separate them with a colon. > OPTION(*SRCSTMT : *NODEBUGIO) > > In V4R2M0 where the OPTION keyword is already available, the > new parameters for the OPTION keyword are *SRCSTMT, *NOSRCSTMT, > *DEBUGIO, *NODEBUGIO. *NOSRCSTMT and *DEBUGIO are the default. > > In a later release, the OPTION parameter of the CRTBNDRPG and > CRTRPGMOD commands will be changed to add *SRCSTMT, *NOSRCSTMT, > *DEBUGIO and *NODEBUGIO. Also, in a later release, the syntax > checker will be changed to accept the new keyword and these > new parameter values. > > If keyword OPTION(*NODEBUGIO) is specified on the control > specification, break points will not be generated for any > input or output specifications. > > If keyword OPTION(*SRCSTMT) is specified on the control > specification, statement numbers will be derived from the > sequence number of the source file. For example, line 000200 > in the main source member will have a statement number of > 000200. This is the number that will appear in the listing, > in the debugger and in exception messages. > > Source lines from /COPY members will have a statement number > beginning with the source number (this number appears on the > right side of the listing) followed by the six digits of the > sequence number. For example, line 001300 in /COPY member 23 > would have a statement number of 23001300. On the left-hand > side of the listing this would appear as 001300+ with the 23 > in the source Id columns on the right-hand side of the listing. > 23001300 would be the number that the debugger and exception > messages would use. > > Similarly, generated lines for input and output specifications > from externally described files will have a statement numbers > derived from the source number and the sequence number. In > this case, the sequence number is assigned sequentially by > the compiler for each record. > > Diagnostic messages in the compiler normally list the > statement number and the sequence number. If OPTION(*SRCSTMT) > is specified, the entire statement number will be shown > instead. > 200+C scan 'a' r > ======> aaaaaaaaaaaaaa > *RNF5009 30 a 1000200 Factor 1 entry is required... > > A d d i t i o n a l D i a g n o s t i c > Msg id Sv Number Seq Message text > *RNF7067 20 010300 Factor 1 or Factor 2 of PARM ... > Field; defaults to blanks. > *RNF7045 30 23000100 The field FLD on the C specificat... > > In the statement number fields of the program status data > structure (PSDS) and file information data structure (INFDS), > only eight digits are available. If a statement number is > longer than 6 digits, only the last 6 digits will be included. > The first two characters will be set to '+ ' to indicate that > the statement number was too large. For example, statement > 123000100 will appear as '+ 000100'. The first 4 digits of > the statement number will be given in a different subfield > as a 2-byte integer number (5I 0). > > Location of statement number | Location of first 4 digits > -----------------------------+--------------------------- > PSDS columns 21 - 28 | PSDS columns 354 - 355 > PSDS columns 228 - 235 | PSDS columns 356 - 357 > INFDS columns 30 - 37 | INFDS columns 77 - 78 > > If you specify OPTION(*SRCSTMT), the breakpoints at the > beginning and end of the source that are normally given > statement numbers 1000001 and 1000002 will be given statement > numbers 2100000001 and 2100000002. > > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". > | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.