In reply to PeteC.

I'd say if you call createParser each time, you should call destroyParser as well. DS2 will clean up at the end of the PROC regardless, but for memory management while the procedure is running, I think that matching create/destroy calls are the best practice.