Inventory transfer macro is failing when negative levels allowed

I have a client who needs to run their inventory with negative levels allowed. We are running Sage 300 2021 with update 2

I recorded a macro of doing an inventory transfer from location 1 to 2 with a qty=5.

Location 1 had zero of these items and so it went to -5 and location 2 went to +5 as you would expect. But when I try to run the macro, exactly as recorded, it errors out because the source location has no inventory.

I proved this by running the macro with source and dest locations swapped and no error. In the view IC0730 there is a field called FUNCTION and in the macro this field gets set to "100" just before the process command that fails.

ICTRE1detail1Fields("FROMLOC").Value = "1" ' From Location
ICTRE1detail1Fields("TOLOC").Value = "2" ' To Location
ICTRE1detail1Fields("QTYREQ").Value = "5.0000" ' Quantity Requested
ICTRE1detail1Fields("FUNCTION").PutWithoutVerification ("100") ' Function
ICTRE1detail1.Process

Maybe this "100" function is telling it to check inventory levels? I don't know.

Has anyone experienced this and solved it?