Bernd, Now that I have a better understanding of the full dimensions your problem I will give it some further thought, and it may be that I will be abe to make further suggestions.
In passing let me note that the usages <whatever> = null() ; <whatever> = sysnull() ; are necessary and appropriate only in the absence of a declaration of the form declare [sys]null builtin ; When such a declaration is not present they make it clear to the compiler that a BIF reference is meant. (Neither null nor sysnull is a PL/I keyword.) When a declaration for the appropriate BIF is provided the paired parentheses without argument can and should be dispensed with; one of <pointer reference> = null ; <pointer reference> = sysnull ; is sufficient. In my own PL/I programming I avoid the construction <structure> = '' ; I prefer to define/generate and [perhaps only partially] initialize a static structure the value of which can be assigned to instances of a structure at any time. For, say, declare 1 cb based, /* chaining block */ 2 fcp pointer, /* forward chaining */ 2 bcp pointer, /* back chaining */ 2 obp pointer ; /* -> object */ I would write something like declare 1 cb_anfänglich static, 2 fcp pointer initial(sysnull), 2 bcp pointer initial(sysnull), 2 obp pointer initial(sysnull) ; . . . cbp->cb = cb_anfänglich ; Schemes of this sort can be very largely automated; but they are not of course suitable for old code, where introducing them would require too many changes. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
