Forcing Cancellation Code when deleting Sales Orders into history through BOI

SOLVED

Good morning all,

So I figured this would have been a relatively easy script but I can't seem to find a way of accomplishing what I need.

I have a customer that would like to force a cancellation reason whenever you delete a Sales Order into history.  They currently have the "Retain Deleted Sales Order" setting to Prompt in SO Options, which first prompts the user if they would like to delete the order (standard), but THEN it asks "Do you want to save the deleted order in history?"  If you say yes, it's all good.  However, you can say No and it will delete the order and not save it (a BIG no no for the customer).  Furthermore, if you do click Yes to save to history, then it bring up this screen to enter the Cancellation Code:

Cancellation Code reason

While I have the Cancellation Code as a required field in Advanced Settings for UDF and Table Maintenance, it will not force an entry unless I validate the field with a list I create, which I would have to make it match the existing lookup on this field.  If I don't have validation, the user can simply click OK without a code and it will delete it.

So I was thinking my quick fix would be to set "Retain Deleted Sales Order" setting to Yes, then create a Table - Pre Delete script that would launch the Cancellation Code screen above BEFORE it asks to delete the order.  I figured that by doing this, the Cancellation Code would be written into the table and then the order would be deleted into history.
Unfortunately, I cannot seem to find the correct UI to bring that screen.  This is the code I had tried but it brings up Cancel and Reason Code Maintenance On The Fly.   

oSOCancel = 0

oSOCancel = oSession.GetObject("SO_CancelReasonCodeOTF_UI")
Set oSOCancel = oSession.AsObject(oSOCancel)
retVal = oSOCancel.Process()

I tried the SO_CancelReasonCode_UI object as well, but that brings up the standard Cancel and Reason Code Maintenance.  
Is there a way of bringing up that specific screen?  I had also tried using the InvokeButton to bring up "fldr.DCANCEL" (Cancellation Code screen in SO_SalesOrder.M4L library) but I had no luck.  Maybe I was using the wrong code?  Any ideas or suggestions would be highly appreciated.

Thanks in advance!
Javier