|
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 ))
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.