Gene;

I hate to ask, but would you know the values for V5R2?

Duane Christen

-----Original Message-----
From: Gene_Gaunt@xxxxxxxxxxxxxxx [mailto:Gene_Gaunt@xxxxxxxxxxxxxxx]
Sent: Tuesday, June 14, 2005 11:20 AM
To: mi400@xxxxxxxxxxxx
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@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request@xxxxxxxxxxxx
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 thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 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].