Hi ,
search with keyword CALL CUSTOMER* in the FM L_IDOC_INPUT_WMMBXY. then you can get some User exit for implementing in inside Inbound FM.
when you trigger IDOC from FM then it will be use FM or BAPI for uploading data in the database , if you need to validate any IDOC data then you will implement user exit avaialble in this FM. for creating GR.
when you create any document using MIGO tcode then it is working for that program with program based BADI.
Regards,
Prasenjit