|
>Mark Lazarus wrote: >> In that case, can we request he put in XOR? :-) > >Suggestion noted and logged! > >Cheers! Hans > If you are logging suggestions, how about taking care of the following, most admittedly minor, irritants: 1. CVTRPG should drop the CONST keyword when converting a named constant. It's worthless. (This should be trivial - please fix it.) 2. PERRCD should ALWAYS default to 1, not just when CTDATA is specified. (This should be trivial - please fix it.) 3. DIM keyword should be optional when using ALT. It should default to the DIM specified on the primary table or array. (This should be trivial - please fix it.) 4. Permit arithmetic in the %SUBST function in D-specs, e.g. D Combined 30A D Field1 %SUBST(Combined:1:%SIZE:Field1) D Field2 %SUBST(Combined:%SIZE(Field1+1):%SIZE(Field2) D Field3 %SUBST(Combined:%SIZE(Field1+Field2+1):%SIZE(Field3) Where Field1, Field2, and Field3 are fields from an externally defined file defined the F-specs. Or better yet, permit concatenated definitions D Combined %CONCAT(Field1 + Field2 + Field3) This is more than a minor irritant. It is not possible currently. It is, however, one of the few database dependencies which still exists in RPG IV. 5. Permit INDIVIDUAL fields to be externally defined without having to define an externally defined data stucture. D Temp2 S like(field2:filename1:optrecfmt1) D DS D Temp4 like(field4:filename2:optrecfmt4) D Temp3 like(field3:filename1:optrecfmt1) where filename1 and filename2 are not used at all in the program. 6. Permit the name of an externally defined file to optionally show up in DSPPFMREF output. D dsname E DS EXTNAME(filename) LOG(*YES) where filename is NOT defined in F-specs. Or just make it always show up. It is understood this may be non-trivial and may require Rochester cooperation. 7. Permit a file to be read sequentially by key WITHOUT requiring the file to be defined in the F-specs to be keyed. If you want to use OPNQRYF on the DSPOBJD outfile QADSPOBJ (or any other outfile), you must define a dummy logical file to compile the program. This does not make sense. It is understood that you would probably not permit random access, SETLL, SETGT, or any operation which requires a key list to be used on this file. 8. You finally gave us $SCAN in addition to the SCAN operation. We have both CHECK and CHECKR. What about SCANR and %SCANR? 9. When are we going to be able to code ANY CRTBNDRPG or CRTRPGMOD parameter in the H-spec? 10. PREFIX(M2:2) is wonderful. I can't tell you how may people asked for a suffix capability in the RPG IV seminars I have done. Most people name every field in a file using the same characters, e.g. MBNAME, MBCITY, MBDATE, etc. I had no idea how many people use the standard NAMEMB, CITYMB, DATEMB, etc. How about the following: PREFIX(M2:2:*SUFFIX) to replace the last 2 non-blank characters or PREFIX(M2:0:*SUFFIX) to add the suffix after the last non-blank character. 11. You support multiple overlaying arrays. That is an absolutely wonderful and extermely powerful function. I can't tell you how many people asked in the RPG IV seminars I have done whether we can now specify more than one alternate table or array. 12. You added the ALLOC and DEALLOC operation codes to replace the calls to the dynamic storage allocation APIs. These APIs and the new op codes are used by VERY FEW people. EVERYONE who begins coding RPG IV in a true ILE environment has to call the end API to delete an activation group. How about finally giving us the STOP operation code? (This should be trivial - please fix it.) 13. We have ITER and LEAVE to exit a do loop. How do we exit a subroutine without doing a GOTO. What above an operation code to GOTO *ENDSR just like ITER does a GOTO ENDO and LEAVE does a GOTO ENDO+1. I have no idea what to call the op code. I just know we desparately need it. (This should be trivial - please fix it.) 14. Since ALLOC and DEALLOC can be used to extend an array at execution time, what about simply defining an array as extendable, e.g. D Array S 10P 2 DIM(50) EXTEND(50) with EXTEND defaulting to EXTEND(%ELEM(Array)) 15. Ditto multiple occurance data structures. D MultDS DS OCCURS(50) EXTEND(50) These are just a few suggestions which immediately come to mind. Thanks in advance. Charlie Massoglia, Massoglia Technical Consulting, Inc. PO Box 1065, Okemos, MI 48854, USA 517-676-9700 Fax: 517-676-1006 EMAIL: cmassoglia@voyager.net * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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 MAJORDOMO@midrange.com and specify * * 'unsubscribe MIDRANGE-L' in the body of your message. 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-2025 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.