RE: print ILE built-in functions, V5R3-specific
"Christen, Duane J." <[email protected]>
| Newsgroups | gmane.comp.lang.as400.mi |
|---|---|
| Message-ID | <[email protected]> |
Gene; I hate to ask, but would you know the values for V5R2? Duane Christen -----Original Message----- From: Gene_Gaunt-GDFlLPZ4eRKEK/[email protected] [mailto:Gene_Gaunt-GDFlLPZ4eRKEK/[email protected]] Sent: Tuesday, June 14, 2005 11:20 AM To: mi400-Zwy7GipZuJhWk0Htik3J/[email protected] Subject: [MI400] print ILE built-in functions, V5R3-specific As you know, my old print program for MI built-in functions no longer works, since IBM removed the user space that contained the function names. But, for V5R3 at least, here is my rewrite that *will* work. Note that beyond V5R3, the three specific values below (665, 22A0, and 3980) will probably need changing. /********************************************************************/ /* PROGRAM - PRTBUILTIN */ /* FUNCTION - print the ILE built-in functions, V5R3-specific */ /* LANGUAGE - REXX */ /* AUTHOR - Gene Gaunt */ /********************************************************************/ "crtsavf file(qtemp/stdin)" "savobj obj(qwxcrtmd) ", "lib(qsys) ", "objtype(*pgm) ", "dev(*savf) ", "savf(qtemp/stdin) ", "updhst(*no) ", "dtacpr(*no)" "ovrdbf file(stdin) ", "tofile(qtemp/stdin)" "ovrprtf file(stdout) ", "tofile(qsysprt) ", "splfname(prtbuiltin)" data = '' do forever parse linein record if record == '' then leave data = data || left( record, 512 ) end walk = c2d( substr( data, X( 75 ), 3 )) walk = c2d( substr( data, X( 1D ) + walk, 3 )) walk = c2d( substr( data, X( 75 ) + walk, 3 )) walk = c2d( substr( data, X( 45 ) + walk, 3 )) walk = c2d( substr( data, X( 665 ) + walk, 3 )) + X( 0 ) name = walk + x2d( 22A0 ) code = walk + x2d( 3980 ) do while walk < name AA = c2d( substr( data, walk, 4 )) BB = c2d( substr( data, walk + 4, 2 )) CC = c2d( substr( data, walk + 6, 2 )) DD = c2d( substr( data, walk + 8, 2 )) EE = c2d( substr( data, walk + 10, 2 )) if BB == 0 then leave show = left( substr( data, name + AA, BB ), 20 ) do DD while EE == 0 show = show ||, right( c2d( substr( data, code + CC * 4, 4 )), 6 ) CC = CC + 1 end say show walk = walk + 12 end return X: return x2d( 5001 ) + x2d( arg( 1 )) _______________________________________________ This is the MI Programming on the AS400 / iSeries (MI400) mailing list To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/mi400 or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at http://archive.midrange.com/mi400. NOTICE: This electronic mail transmission may contain confidential information and is intended only for the person(s) named. Any use, copying or disclosure by any other person is strictly prohibited. If you have received this transmission in error, please notify the sender via e-mail. _______________________________________________ This is the MI Programming on the AS400 / iSeries (MI400) mailing list To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/mi400 or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at http://archive.midrange.com/mi400.