Because the Workplace Shell objects are implemented using SOM, REXX provides very powerful and flexible direct access to the shell objects, but accessing the shell objects directly requires programmers to have considerably more knowledge of how the Workplace Shell works. In addition, programming Workplace Shell objects always involves some risk of damaging the shell in a way that might require re-installation of OS/2.
As with other SOM classes, the REXX documentation does not include documentation for the workplace classes and methods. These are documented in the OS/2 Technical Library, and the documentation for the methods is in the form of C-language function calls. Before trying any object-oriented REXX programming of the Workplace Shell, you should read this reference material. REXX provides interfaces to the objects, but cannot enforce correct Workplace Shell programming.
Do not use any Workplace Shell methods containing INOUT or OUT parameters (for example, wpQueryProgDetails).
Some Workplace Shell objects by default cannot be deleted. You may want to issue a wpSetup method to the new object and to make it able to be deleted:
wpShredder = .wps~import('WPShredder') xshred = wpShredder~new('myShred','',folder,1) xshred~wpsetup('NODELETE=NO')
REXX currently does not support complex Workplace Shell parameters; it supports only string, integer, or boolean. (For example, it cannot support PPROGDETAILS.)
REXX Workplace Shell initialization adds a hidden object, OrxInit, to your desktop. This is a WPZORXINIT object. You will notice this only if you query the contents of the desktop folder.