Not allowed (@ UV10.3 on Windows. ISOMODE = 1) :
BEGIN TRANSACTION
. . .
EXECUTE "SETPTR . . . "
. . .
COMMIT
END TRANSACTION
At least vanilla uv does not allow it by default.
That can be overridden by including processor code 'H' in VOC SETPTR <4>.
WHY IS THIS A BAD IDEA?
Is it only because SETPTR ,,,,,3,BANNER UNIQUE XYZ
needs to increment DICT &HOLD& NEXT.HOLD?
If so, either avoiding that or changing DICT &HOLD& to type 19 would make it safe inside a transaction, right?
I'm trying to retrofit TRANSACTION / COMMIT / ROLLBACK into an old module of an old ap. That is something I generally avoid, even though I usually write new code with that method.
TIA,
Chuck Stevenson