-1

CRTBNDRPG output for an RPGILE program

  1. Q1: On line 1, i know 5770WDS is Rational Development Studio for i and V7R3M0 is the OS version, what does 160422 and RN represents?
  2. Q2: Why DBGVIEW(*STMT) says '(Source not available.)' and isn't producing any debug view?
  3. Q3: How does the use of following values can be viewed in action or monitored? (In other words what difference do/can they make)
  • 3.1: Sort sequence . . . . . . . . . : *HEX - How sort sequence table works??? (more at bottom)
  • 3.2: Enable performance collection . : *PEP
  • 3.3: Profiling data . . . . . . . . . : *NOCOL - Where to access the collected performance and profiling data?
  • 3.4: Activation group . . . . . . . . : *STGMDL
  • 3.5: Storage model . . . . . . . . . : *SNGLVL - How do I know where/when to use single-level (QILE) or teraspace (QILETS)?

Note: For the SRTSEQ as per LANGID, there are language tables unique/shared weighted table? Where can we find them if they are system supplied? If not, how user can create them?

Profiling Data mentions of reorder procedures and code within the procedures on statistical data. How this can be demonstrated?

Edit 1: Corrected and enhanced sequencing of the questions and parts. Edit 2: corrected the typo from STRSEQ to SRTSEQ under 'Note'

ojay
  • 91
  • 6

1 Answers1

1

Q1 - I don't know, maybe it's a PTF level.

Q2 - DBGVIEW - There are 4 distinct debugging views that can be generated when the program is compiled.

*STMT stores only line numbers and is used with the original debugger that only shows line or statement numbers when stepping through the source. There is no source available, you must have a compiler listing available to reference.

*SOURCE stores a reference to the source file, not the source file itself. But the source debugger can use it as long as the source member has not changed since the program was compiled. This still shows source if it has changed, but it may be out of sync with the running program, and can be confusing.

*LIST stores the compile listing for use by the source debugger. This can make the compiled object significantly larger because the compile listing is stored with the program object.

*COPY is like *SOURCE but stores links to copy members as well as the main source file

There is also *ALL which include all of the above, and *NONE which stores no debug info at all.

Q3 - Sort Sequences. There are 3 defined sort sequences that you can use, plus a custom option.

*HEX is the sort sequence based on the binary values of EBCDIC character set. To see how things will sort, look at the EBCDIC table for your language. Here is the table for CCSID 37.

*LANGIDSHR uses a sort table that gives upper and lower case letters the same weight, so 'car' and 'CAR' would sort together. The one that comes first depends on the order in the data.

*LANGIDUNQ is similar to *LANGIDSHR in that cases are sorted together, but each case has a unique weight such that 'car' and 'CAR' would sort together, but 'car' would always come first.

This document has some more examples: Arranging key fields with SRTSEQ parameter

Q3 - Memory Model - I always use *SNGLVL, but if that didn't provide enough memory, you could use the teraspace model.

Q3 - Performance collection options, I have never used these.

You can research all of this in the IBM documentation here

jmarkmurphy
  • 11,030
  • 31
  • 59
  • Thank you @jmarkmurphy for your detailed response. Here are my comments. [Q1] Okay. 160422 is unlikely to be a PTF as usually they are a 7-char alphanumeric strings starting with 2 alphabets (say, SI99999, QLL9999). This is also unlikely to be a Feature ID as they are usually 4-digit numeric (say, 5050). ________________________________________________________________________________ [Q2] I'm using DBGVIEW(*STMT) on the CRTBNDRPG command for a fully-free RPG program and not sure why I can't see any source statements during debug, as if compiler has overridden to DBGVIEW(*NONE) option. – ojay Aug 24 '23 at 19:39
  • When it comes to less famous but important concepts, such as these, I've found more often than not official documentations merely repeat what is evident from the name itself, instead providing insights, context, or examples that can't be immediately gleaned from the name itself. Look at [SETLL](https://www.ibm.com/docs/en/ssw_ibm_i_73/rzasd/zzsetll.htm), I didn't expect a diagram. And then we have [CRTBNDRPG](https://www.ibm.com/docs/en/i/7.5?topic=command-description-crtbndrpg) – ojay Aug 24 '23 at 19:44
  • Your examples of SRTSEQ give a clear picture of the idea and helps spark imagination of contexts it could be applied. – ojay Aug 24 '23 at 19:44
  • DBGVIEW(*STMT) does not include any source, just statement or line numbers (depending on the status of OPTION(*SRCSTMT)). Use *SRCSTMT to make these numbers match the source line numbers, otherwise it is a generated number that you need to compile listing to resolve. – jmarkmurphy Aug 24 '23 at 19:44
  • Sorry for bad formatting of comments, I'm newbie to this markdown thing :p – ojay Aug 24 '23 at 19:45
  • Or better yet, use DBGVIEW(*SOURCE) or *DBGVIEW(*LISTING) so you can use the excellent source debugger in RDi. – jmarkmurphy Aug 24 '23 at 19:46
  • Comments are not really for discussion here. – jmarkmurphy Aug 24 '23 at 19:47
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/255041/discussion-between-ojay-and-jmarkmurphy). – ojay Aug 24 '23 at 19:48