Hi,
If your material document has specific movement type i.e. 101, if you cancel document using BAPI_GOODSMVT_CANCEL, it automatically picks associated movement type 102 defined in customizing setting, you don't need to pass 102 explicitly while cancelling.
I have not seen reason code in this bapi, but it is required to pass reason code then you may try transaction code MBST using BDC.
Thanks,
Ashok Veer