The GETMAIN is inessential and usually undesirable. Many statement-level languages use a stack---typically but not always one provided by the LE---for both DSA and automatic (COBOL local) storage, and I do this in assembly language using my own stack(s).
LIFO stacks being very easy to manage, their path lengths are very much shorter than those of either GETMAIN or STORAGE OBTAIN.
